diff --git a/www/js/zui3/zen-editor/index.esm.js b/www/js/zui3/zen-editor/index.esm.js index 7f90d98498..476efa0fe5 100644 --- a/www/js/zui3/zen-editor/index.esm.js +++ b/www/js/zui3/zen-editor/index.esm.js @@ -1 +1 @@ -export{M as MonacoEditor,Z as ZenEditor}from"./p-898ed1c1.js";import"./p-b9d115dd.js"; \ No newline at end of file +export{M as MonacoEditor,Z as ZenEditor}from"./p-01de9657.js";import"./p-7900c24a.js"; \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-d7573a2c.js b/www/js/zui3/zen-editor/p-017438c7.js similarity index 81% rename from www/js/zui3/zen-editor/p-d7573a2c.js rename to www/js/zui3/zen-editor/p-017438c7.js index 4c4f771470..616eab6149 100644 --- a/www/js/zui3/zen-editor/p-d7573a2c.js +++ b/www/js/zui3/zen-editor/p-017438c7.js @@ -1 +1 @@ -function t(t){this.content=t}function e(t,n,r){for(let i=0;;i++){if(i==t.childCount||i==n.childCount)return t.childCount==n.childCount?null:r;let s=t.child(i),o=n.child(i);if(s!=o){if(!s.sameMarkup(o))return r;if(s.isText&&s.text!=o.text){for(let t=0;s.text[t]==o.text[t];t++)r++;return r}if(s.content.size||o.content.size){let t=e(s.content,o.content,r+1);if(null!=t)return t}r+=s.nodeSize}else r+=s.nodeSize}}function n(t,e,r,i){for(let s=t.childCount,o=e.childCount;;){if(0==s||0==o)return s==o?null:{a:r,b:i};let l=t.child(--s),u=e.child(--o),h=l.nodeSize;if(l!=u){if(!l.sameMarkup(u))return{a:r,b:i};if(l.isText&&l.text!=u.text){let t=0,e=Math.min(l.text.length,u.text.length);for(;t>1}},t.from=function(e){if(e instanceof t)return e;var n=[];if(e)for(var r in e)n.push(r,e[r]);return new t(n)};class r{constructor(t,e){if(this.content=t,this.size=e||0,null==e)for(let e=0;et&&!1!==n(l,r+o,i||null,s)&&l.content.size){let i=o+1;l.nodesBetween(Math.max(0,t-i),Math.min(l.content.size,e-i),n,r+i)}o=u}}descendants(t){this.nodesBetween(0,this.size,t)}textBetween(t,e,n,r){let i="",s=!0;return this.nodesBetween(t,e,((o,l)=>{let u=o.isText?o.text.slice(Math.max(t,l)-l,e-l):o.isLeaf?r?"function"==typeof r?r(o):r:o.type.spec.leafText?o.type.spec.leafText(o):"":"";o.isBlock&&(o.isLeaf&&u||o.isTextblock)&&n&&(s?s=!1:i+=n),i+=u}),0),i}append(t){if(!t.size)return this;if(!this.size)return t;let e=this.lastChild,n=t.firstChild,i=this.content.slice(),s=0;for(e.isText&&e.sameMarkup(n)&&(i[i.length-1]=e.withText(e.text+n.text),s=1);st)for(let r=0,s=0;st&&((se)&&(o=o.isText?o.cut(Math.max(0,t-s),Math.min(o.text.length,e-s)):o.cut(Math.max(0,t-s-1),Math.min(o.content.size,e-s-1))),n.push(o),i+=o.nodeSize),s=l}return new r(n,i)}cutByIndex(t,e){return t==e?r.empty:0==t&&e==this.content.length?this:new r(this.content.slice(t,e))}replaceChild(t,e){let n=this.content[t];if(n==e)return this;let i=this.content.slice(),s=this.size+e.nodeSize-n.nodeSize;return i[t]=e,new r(i,s)}addToStart(t){return new r([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new r(this.content.concat(t),this.size+t.nodeSize)}eq(t){if(this.content.length!=t.content.length)return!1;for(let e=0;ethis.size||t<0)throw new RangeError(`Position ${t} outside of fragment (${this})`);for(let n=0,r=0;;n++){let i=r+this.child(n).nodeSize;if(i>=t)return i==t||e>0?s(n+1,i):s(n,r);r=i}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map((t=>t.toJSON())):null}static fromJSON(t,e){if(!e)return r.empty;if(!Array.isArray(e))throw new RangeError("Invalid input for Fragment.fromJSON");return new r(e.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return r.empty;let e,n=0;for(let r=0;rthis.type.rank&&(e||(e=t.slice(0,r)),e.push(this),n=!0),e&&e.push(i)}}return e||(e=t.slice()),n||e.push(this),e}removeFromSet(t){for(let e=0;et.type.rank-e.type.rank)),e}}l.none=[];class u extends Error{}class h{constructor(t,e,n){this.content=t,this.openStart=e,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,e){let n=a(this.content,t+this.openStart,e);return n&&new h(n,this.openStart,this.openEnd)}removeBetween(t,e){return new h(f(this.content,t+this.openStart,e+this.openStart),this.openStart,this.openEnd)}eq(t){return this.content.eq(t.content)&&this.openStart==t.openStart&&this.openEnd==t.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let t={content:this.content.toJSON()};return this.openStart>0&&(t.openStart=this.openStart),this.openEnd>0&&(t.openEnd=this.openEnd),t}static fromJSON(t,e){if(!e)return h.empty;let n=e.openStart||0,i=e.openEnd||0;if("number"!=typeof n||"number"!=typeof i)throw new RangeError("Invalid input for Slice.fromJSON");return new h(r.fromJSON(t,e.content),n,i)}static maxOpen(t,e=!0){let n=0,r=0;for(let r=t.firstChild;r&&!r.isLeaf&&(e||!r.type.spec.isolating);r=r.firstChild)n++;for(let n=t.lastChild;n&&!n.isLeaf&&(e||!n.type.spec.isolating);n=n.lastChild)r++;return new h(t,n,r)}}function f(t,e,n){let{index:r,offset:i}=t.findIndex(e),s=t.maybeChild(r),{index:o,offset:l}=t.findIndex(n);if(i==e||s.isText){if(l!=n&&!t.child(o).isText)throw new RangeError("Removing non-flat range");return t.cut(0,e).append(t.cut(n))}if(r!=o)throw new RangeError("Removing non-flat range");return t.replaceChild(r,s.copy(f(s.content,e-i-1,n-i-1)))}function a(t,e,n,r){let{index:i,offset:s}=t.findIndex(e),o=t.maybeChild(i);if(s==e||o.isText)return r&&!r.canReplace(i,i,n)?null:t.cut(0,e).append(n).append(t.cut(e));let l=a(o.content,e-s-1,n);return l&&t.replaceChild(i,o.copy(l))}function c(t,e,n){if(n.openStart>t.depth)throw new u("Inserted content deeper than insertion position");if(t.depth-n.openStart!=e.depth-n.openEnd)throw new u("Inconsistent open depths");return d(t,e,n,0)}function d(t,e,n,i){let s=t.index(i),o=t.node(i);if(s==e.index(i)&&i=0;t--)i=e.node(t).copy(r.from(i));return{start:i.resolveNoCache(t.openStart+n),end:i.resolveNoCache(i.content.size-t.openEnd-n)}}(n,t);return g(o,b(t,s,l,e,i))}{let r=t.parent,i=r.content;return g(r,i.cut(0,t.parentOffset).append(n.content).append(i.cut(e.parentOffset)))}}return g(o,y(t,e,i))}function p(t,e){if(!e.type.compatibleContent(t.type))throw new u("Cannot join "+e.type.name+" onto "+t.type.name)}function m(t,e,n){let r=t.node(n);return p(r,e.node(n)),r}function w(t,e){let n=e.length-1;n>=0&&t.isText&&t.sameMarkup(e[n])?e[n]=t.withText(e[n].text+t.text):e.push(t)}function v(t,e,n,r){let i=(e||t).node(n),s=0,o=e?e.index(n):i.childCount;t&&(s=t.index(n),t.depth>n?s++:t.textOffset&&(w(t.nodeAfter,r),s++));for(let t=s;ts&&m(t,e,s+1),l=i.depth>s&&m(n,i,s+1),u=[];return v(null,t,s,u),o&&l&&e.index(s)==n.index(s)?(p(o,l),w(g(o,b(t,e,n,i,s+1)),u)):(o&&w(g(o,y(t,e,s+1)),u),v(e,n,s,u),l&&w(g(l,y(n,i,s+1)),u)),v(i,null,s,u),new r(u)}function y(t,e,n){let i=[];return v(null,t,n,i),t.depth>n&&w(g(m(t,e,n+1),y(t,e,n+1)),i),v(e,null,n,i),new r(i)}h.empty=new h(r.empty,0,0);class k{constructor(t,e,n){this.pos=t,this.path=e,this.parentOffset=n,this.depth=e.length/3-1}resolveDepth(t){return null==t?this.depth:t<0?this.depth+t:t}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(t){return this.path[3*this.resolveDepth(t)]}index(t){return this.path[3*this.resolveDepth(t)+1]}indexAfter(t){return t=this.resolveDepth(t),this.index(t)+(t!=this.depth||this.textOffset?1:0)}start(t){return 0==(t=this.resolveDepth(t))?0:this.path[3*t-1]+1}end(t){return t=this.resolveDepth(t),this.start(t)+this.node(t).content.size}before(t){if(!(t=this.resolveDepth(t)))throw new RangeError("There is no position before the top-level node");return t==this.depth+1?this.pos:this.path[3*t-1]}after(t){if(!(t=this.resolveDepth(t)))throw new RangeError("There is no position after the top-level node");return t==this.depth+1?this.pos:this.path[3*t-1]+this.path[3*t].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let t=this.parent,e=this.index(this.depth);if(e==t.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=t.child(e);return n?t.child(e).cut(n):r}get nodeBefore(){let t=this.index(this.depth),e=this.pos-this.path[this.path.length-1];return e?this.parent.child(t).cut(0,e):0==t?null:this.parent.child(t-1)}posAtIndex(t,e){e=this.resolveDepth(e);let n=this.path[3*e],r=0==e?0:this.path[3*e-1]+1;for(let e=0;e0;e--)if(this.start(e)<=t&&this.end(e)>=t)return e;return 0}blockRange(t=this,e){if(t.pos=0;n--)if(t.pos<=this.end(n)&&(!e||e(this.node(n))))return new S(this,t,n);return null}sameParent(t){return this.pos-this.parentOffset==t.pos-t.parentOffset}max(t){return t.pos>this.pos?t:this}min(t){return t.pos=0&&e<=t.content.size))throw new RangeError("Position "+e+" out of range");let n=[],r=0,i=e;for(let e=t;;){let{index:t,offset:s}=e.content.findIndex(i),o=i-s;if(n.push(e,t,r+s),!o)break;if(e=e.child(t),e.isText)break;i=o-1,r+=s+1}return new k(e,n,i)}static resolveCached(t,e){for(let n=0;nt&&this.nodesBetween(t,e,(t=>(n.isInSet(t.marks)&&(r=!0),!r))),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let t=this.type.name;return this.content.size&&(t+="("+this.content.toStringInner()+")"),R(this.marks,t)}contentMatchAt(t){let e=this.type.contentMatch.matchFragment(this.content,0,t);if(!e)throw new Error("Called contentMatchAt on a node with invalid content");return e}canReplace(t,e,n=r.empty,i=0,s=n.childCount){let o=this.contentMatchAt(t).matchFragment(n,i,s),l=o&&o.matchFragment(this.content,e);if(!l||!l.validEnd)return!1;for(let t=i;tt.type.name))}`);this.content.forEach((t=>t.check()))}toJSON(){let t={type:this.type.name};for(let e in this.attrs){t.attrs=this.attrs;break}return this.content.size&&(t.content=this.content.toJSON()),this.marks.length&&(t.marks=this.marks.map((t=>t.toJSON()))),t}static fromJSON(t,e){if(!e)throw new RangeError("Invalid input for Node.fromJSON");let n=null;if(e.marks){if(!Array.isArray(e.marks))throw new RangeError("Invalid mark data for Node.fromJSON");n=e.marks.map(t.markFromJSON)}if("text"==e.type){if("string"!=typeof e.text)throw new RangeError("Invalid text node in JSON");return t.text(e.text,n)}let i=r.fromJSON(t,e.content);return t.nodeType(e.type).create(e.attrs,i,n)}}N.prototype.text=void 0;class C extends N{constructor(t,e,n,r){if(super(t,e,null,r),!n)throw new RangeError("Empty text nodes are not allowed");this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):R(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(t,e){return this.text.slice(t,e)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new C(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new C(this.type,this.attrs,t,this.marks)}cut(t=0,e=this.text.length){return 0==t&&e==this.text.length?this:this.withText(this.text.slice(t,e))}eq(t){return this.sameMarkup(t)&&this.text==t.text}toJSON(){let t=super.toJSON();return t.text=this.text,t}}function R(t,e){for(let n=t.length-1;n>=0;n--)e=t[n].type.name+"("+e+")";return e}class j{constructor(t){this.validEnd=t,this.next=[],this.wrapCache=[]}static parse(t,e){let n=new T(t,e);if(null==n.next)return j.empty;let r=A(n);n.next&&n.err("Unexpected trailing text");let i=function(t){let e=Object.create(null);return function n(r){let i=[];r.forEach((e=>{t[e].forEach((({term:e,to:n})=>{if(!e)return;let r;for(let t=0;t{r||i.push([e,r=[]]),-1==r.indexOf(t)&&r.push(t)}))}))}));let s=e[r.join(",")]=new j(r.indexOf(t.length-1)>-1);for(let t=0;te.concat(t(n,s))),[]);if("seq"!=e.type){if("star"==e.type){let o=n();return r(s,o),i(t(e.expr,o),o),[r(o)]}if("plus"==e.type){let o=n();return i(t(e.expr,s),o),i(t(e.expr,o),o),[r(o)]}if("opt"==e.type)return[r(s)].concat(t(e.expr,s));if("range"==e.type){let o=s;for(let r=0;rt.to=e))}}(r));return function(t,e){for(let n=0,r=[t];nt.createAndFill())));for(let t=0;t=this.next.length)throw new RangeError(`There's no ${t}th edge in this content match`);return this.next[t]}toString(){let t=[];return function e(n){t.push(n);for(let r=0;r{let r=n+(e.validEnd?"*":" ")+" ";for(let n=0;n"+t.indexOf(e.next[n].next);return r})).join("\n")}}j.empty=new j(!0);class T{constructor(t,e){this.string=t,this.nodeTypes=e,this.inline=null,this.pos=0,this.tokens=t.split(/\s*(?=\b|\W|$)/),""==this.tokens[this.tokens.length-1]&&this.tokens.pop(),""==this.tokens[0]&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(t){return this.next==t&&(this.pos++||!0)}err(t){throw new SyntaxError(t+" (in content expression '"+this.string+"')")}}function A(t){let e=[];do{e.push($(t))}while(t.eat("|"));return 1==e.length?e[0]:{type:"choice",exprs:e}}function $(t){let e=[];do{e.push(D(t))}while(t.next&&")"!=t.next&&"|"!=t.next);return 1==e.length?e[0]:{type:"seq",exprs:e}}function D(t){let e=function(t){if(t.eat("(")){let e=A(t);return t.eat(")")||t.err("Missing closing paren"),e}if(!/\W/.test(t.next)){let e=function(t,e){let n=t.nodeTypes,r=n[e];if(r)return[r];let i=[];for(let t in n){let r=n[t];r.groups.indexOf(e)>-1&&i.push(r)}return 0==i.length&&t.err("No node type or group '"+e+"' found"),i}(t,t.next).map((e=>(null==t.inline?t.inline=e.isInline:t.inline!=e.isInline&&t.err("Mixing inline and block content"),{type:"name",value:e})));return t.pos++,1==e.length?e[0]:{type:"choice",exprs:e}}t.err("Unexpected token '"+t.next+"'")}(t);for(;;)if(t.eat("+"))e={type:"plus",expr:e};else if(t.eat("*"))e={type:"star",expr:e};else if(t.eat("?"))e={type:"opt",expr:e};else{if(!t.eat("{"))break;e=I(t,e)}return e}function P(t){/\D/.test(t.next)&&t.err("Expected number, got '"+t.next+"'");let e=Number(t.next);return t.pos++,e}function I(t,e){let n=P(t),r=n;return t.eat(",")&&(r="}"!=t.next?P(t):-1),t.eat("}")||t.err("Unclosed braced range"),{type:"range",min:n,max:r,expr:e}}function B(t,e){return e-t}function J(t,e){let n=[];return function e(r){let i=t[r];if(1==i.length&&!i[0].term)return e(i[0].to);n.push(r);for(let t=0;t-1}allowsMarks(t){if(null==this.markSet)return!0;for(let e=0;en[t]=new H(t,e,r)));let r=e.spec.topNode||"doc";if(!n[r])throw new RangeError("Schema is missing its top node type ('"+r+"')");if(!n.text)throw new RangeError("Every schema needs a 'text' type");for(let t in n.text.attrs)throw new RangeError("The text node type should not have attributes");return n}}class U{constructor(t){this.hasDefault=Object.prototype.hasOwnProperty.call(t,"default"),this.default=t.default}get isRequired(){return!this.hasDefault}}class W{constructor(t,e,n,r){this.name=t,this.rank=e,this.schema=n,this.spec=r,this.attrs=q(r.attrs),this.excluded=null;let i=F(this.attrs);this.instance=i?new l(this,i):null}create(t=null){return!t&&this.instance?this.instance:new l(this,L(this.attrs,t))}static compile(t,e){let n=Object.create(null),r=0;return t.forEach(((t,i)=>n[t]=new W(t,r++,e,i))),n}removeFromSet(t){for(var e=0;e-1}}class K{constructor(e){this.cached=Object.create(null);let n=this.spec={};for(let t in e)n[t]=e[t];n.nodes=t.from(e.nodes),n.marks=t.from(e.marks||{}),this.nodes=H.compile(this.spec.nodes,this),this.marks=W.compile(this.spec.marks,this);let r=Object.create(null);for(let t in this.nodes){if(t in this.marks)throw new RangeError(t+" can not be both a node and a mark");let e=this.nodes[t],n=e.spec.content||"",i=e.spec.marks;e.contentMatch=r[n]||(r[n]=j.parse(n,this.nodes)),e.inlineContent=e.contentMatch.inlineContent,e.markSet="_"==i?null:i?z(this,i.split(" ")):""!=i&&e.inlineContent?null:[]}for(let t in this.marks){let e=this.marks[t],n=e.spec.excludes;e.excluded=null==n?[e]:""==n?[]:z(this,n.split(" "))}this.nodeFromJSON=this.nodeFromJSON.bind(this),this.markFromJSON=this.markFromJSON.bind(this),this.topNodeType=this.nodes[this.spec.topNode||"doc"],this.cached.wrappings=Object.create(null)}node(t,e=null,n,r){if("string"==typeof t)t=this.nodeType(t);else{if(!(t instanceof H))throw new RangeError("Invalid node type: "+t);if(t.schema!=this)throw new RangeError("Node type from different schema used ("+t.name+")")}return t.createChecked(e,n,r)}text(t,e){let n=this.nodes.text;return new C(n,n.defaultAttrs,t,l.setFrom(e))}mark(t,e){return"string"==typeof t&&(t=this.marks[t]),t.create(e)}nodeFromJSON(t){return N.fromJSON(this,t)}markFromJSON(t){return l.fromJSON(this,t)}nodeType(t){let e=this.nodes[t];if(!e)throw new RangeError("Unknown node type: "+t);return e}}function z(t,e){let n=[];for(let r=0;r-1)&&n.push(o=r)}if(!o)throw new SyntaxError("Unknown mark type: '"+e[r]+"'")}return n}class G{constructor(t,e){this.schema=t,this.rules=e,this.tags=[],this.styles=[],e.forEach((t=>{!function(t){return null!=t.tag}(t)?function(t){return null!=t.style}(t)&&this.styles.push(t):this.tags.push(t)})),this.normalizeLists=!this.tags.some((e=>{if(!/^(ul|ol)\b/.test(e.tag)||!e.node)return!1;let n=t.nodes[e.node];return n.contentMatch.matchType(n)}))}parse(t,e={}){let n=new Z(this,e,!1);return n.addAll(t,e.from,e.to),n.finish()}parseSlice(t,e={}){let n=new Z(this,e,!0);return n.addAll(t,e.from,e.to),h.maxOpen(n.finish())}matchTag(t,e,n){for(let r=n?this.tags.indexOf(n)+1:0;rt.length&&(61!=s.charCodeAt(t.length)||s.slice(t.length+1)!=e))){if(r.getAttrs){let t=r.getAttrs(e);if(!1===t)continue;r.attrs=t||void 0}return r}}}static schemaRules(t){let e=[];function n(t){let n=null==t.priority?50:t.priority,r=0;for(;r{n(t=et(t)),t.mark||t.ignore||t.clearMark||(t.mark=e)}))}for(let e in t.nodes){let r=t.nodes[e].spec.parseDOM;r&&r.forEach((t=>{n(t=et(t)),t.node||t.ignore||t.mark||(t.node=e)}))}return e}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new G(t,G.schemaRules(t)))}}const V={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},_={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},Y={ol:!0,ul:!0};function Q(t,e,n){return null!=e?(e?1:0)|("full"===e?2:0):t&&"pre"==t.whitespace?3:-5&n}class X{constructor(t,e,n,r,i,s,o){this.type=t,this.attrs=e,this.marks=n,this.pendingMarks=r,this.solid=i,this.options=o,this.content=[],this.activeMarks=l.none,this.stashMarks=[],this.match=s||(4&o?null:t.contentMatch)}findWrapping(t){if(!this.match){if(!this.type)return[];let e=this.type.contentMatch.fillBefore(r.from(t));if(!e){let e,n=this.type.contentMatch;return(e=n.findWrapping(t.type))?(this.match=n,e):null}this.match=this.type.contentMatch.matchFragment(e)}return this.match.findWrapping(t.type)}finish(t){if(!(1&this.options)){let t,e=this.content[this.content.length-1];if(e&&e.isText&&(t=/[ \t\r\n\u000c]+$/.exec(e.text))){let n=e;e.text.length==t[0].length?this.content.pop():this.content[this.content.length-1]=n.withText(n.text.slice(0,n.text.length-t[0].length))}}let e=r.from(this.content);return!t&&this.match&&(e=e.append(this.match.fillBefore(r.empty,!0))),this.type?this.type.create(this.attrs,e,this.marks):e}popFromStashMark(t){for(let e=this.stashMarks.length-1;e>=0;e--)if(t.eq(this.stashMarks[e]))return this.stashMarks.splice(e,1)[0]}applyPending(t){for(let e=0,n=this.pendingMarks;ethis.addAll(t))),e&&this.sync(n),this.needsBlock=s}else this.withStyleRules(t,(()=>{this.addElementByRule(t,i,!1===i.consuming?n:void 0)}))}leafFallback(t){"BR"==t.nodeName&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(t.ownerDocument.createTextNode("\n"))}ignoreFallback(t){"BR"!=t.nodeName||this.top.type&&this.top.type.inlineContent||this.findPlace(this.parser.schema.text("-"))}readStyles(t){let e=l.none,n=l.none;for(let r=0;r{s.clearMark(t)&&(n=t.addToSet(n))})):e=this.parser.schema.marks[s.mark].create(s.attrs).addToSet(e),!1!==s.consuming)break;i=s}return[e,n]}addElementByRule(t,e,n){let r,i,s;e.node?(i=this.parser.schema.nodes[e.node],i.isLeaf?this.insertNode(i.create(e.attrs))||this.leafFallback(t):r=this.enter(i,e.attrs||null,e.preserveWhitespace)):(s=this.parser.schema.marks[e.mark].create(e.attrs),this.addPendingMark(s));let o=this.top;if(i&&i.isLeaf)this.findInside(t);else if(n)this.addElement(t,n);else if(e.getContent)this.findInside(t),e.getContent(t,this.parser.schema).forEach((t=>this.insertNode(t)));else{let n=t;"string"==typeof e.contentElement?n=t.querySelector(e.contentElement):"function"==typeof e.contentElement?n=e.contentElement(t):e.contentElement&&(n=e.contentElement),this.findAround(t,n,!0),this.addAll(n)}r&&this.sync(o)&&this.open--,s&&this.removePendingMark(s,o)}addAll(t,e,n){let r=e||0;for(let i=e?t.childNodes[e]:t.firstChild,s=null==n?null:t.childNodes[n];i!=s;i=i.nextSibling,++r)this.findAtPoint(t,r),this.addDOM(i);this.findAtPoint(t,r)}findPlace(t){let e,n;for(let r=this.open;r>=0;r--){let i=this.nodes[r],s=i.findWrapping(t);if(s&&(!e||e.length>s.length)&&(e=s,n=i,!s.length))break;if(i.solid)break}if(!e)return!1;this.sync(n);for(let t=0;tthis.open){for(;e>this.open;e--)this.nodes[e-1].content.push(this.nodes[e].finish(t));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(this.isOpen||this.options.topOpen)}sync(t){for(let e=this.open;e>=0;e--)if(this.nodes[e]==t)return this.open=e,!0;return!1}get currentPos(){this.closeExtra();let t=0;for(let e=this.open;e>=0;e--){let n=this.nodes[e].content;for(let e=n.length-1;e>=0;e--)t+=n[e].nodeSize;e&&t++}return t}findAtPoint(t,e){if(this.find)for(let n=0;n-1)return t.split(/\s*\|\s*/).some(this.matchesContext,this);let e=t.split("/"),n=this.options.context,r=!(this.isOpen||n&&n.parent.type!=this.nodes[0].type),i=(r?0:1)-(n?n.depth+1:0),s=(t,o)=>{for(;t>=0;t--){let l=e[t];if(""==l){if(t==e.length-1||0==t)continue;for(;o>=i;o--)if(s(t-1,o))return!0;return!1}{let t=o>0||0==o&&r?this.nodes[o].type:n&&o>=i?n.node(o-i).type:null;if(!t||t.name!=l&&-1==t.groups.indexOf(l))return!1;o--}}return!0};return s(e.length-1,this.open)}textblockFromContext(){let t=this.options.context;if(t)for(let e=t.depth;e>=0;e--){let n=t.node(e).contentMatchAt(t.indexAfter(e)).defaultType;if(n&&n.isTextblock&&n.defaultAttrs)return n}for(let t in this.parser.schema.nodes){let e=this.parser.schema.nodes[t];if(e.isTextblock&&e.defaultAttrs)return e}}addPendingMark(t){let e=function(t,e){for(let n=0;n=0;n--){let r=this.nodes[n];if(r.pendingMarks.lastIndexOf(t)>-1)r.pendingMarks=t.removeFromSet(r.pendingMarks);else{r.activeMarks=t.removeFromSet(r.activeMarks);let e=r.popFromStashMark(t);e&&r.type&&r.type.allowsMarkType(e.type)&&(r.activeMarks=e.addToSet(r.activeMarks))}if(r==e)break}}}function tt(t,e){return(t.matches||t.msMatchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector).call(t,e)}function et(t){let e={};for(let n in t)e[n]=t[n];return e}function nt(t,e){let n=e.schema.nodes;for(let r in n){let i=n[r];if(!i.allowsMarkType(t))continue;let s=[],o=t=>{s.push(t);for(let n=0;n{if(i.length||t.marks.length){let n=0,s=0;for(;n=0;r--){let i=this.serializeMark(t.marks[r],t.isInline,e);i&&((i.contentDOM||i.dom).appendChild(n),n=i.dom)}return n}serializeMark(t,e,n={}){let r=this.marks[t.type.name];return r&&rt.renderSpec(st(n),r(t,e))}static renderSpec(t,e,n=null){if("string"==typeof e)return{dom:t.createTextNode(e)};if(null!=e.nodeType)return{dom:e};if(e.dom&&null!=e.dom.nodeType)return e;let r,i=e[0],s=i.indexOf(" ");s>0&&(n=i.slice(0,s),i=i.slice(s+1));let o=n?t.createElementNS(n,i):t.createElement(i),l=e[1],u=1;if(l&&"object"==typeof l&&null==l.nodeType&&!Array.isArray(l)){u=2;for(let t in l)if(null!=l[t]){let e=t.indexOf(" ");e>0?o.setAttributeNS(t.slice(0,e),t.slice(e+1),l[t]):o.setAttribute(t,l[t])}}for(let i=u;iu)throw new RangeError("Content hole must be the only child of its parent node");return{dom:o,contentDOM:o}}{let{dom:e,contentDOM:i}=rt.renderSpec(t,s,n);if(o.appendChild(e),i){if(r)throw new RangeError("Multiple content holes");r=i}}}return{dom:o,contentDOM:r}}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new rt(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(t){let e=it(t.nodes);return e.text||(e.text=t=>t.text),e}static marksFromSchema(t){return it(t.marks)}}function it(t){let e={};for(let n in t){let r=t[n].spec.toDOM;r&&(e[n]=r)}return e}function st(t){return t.document||window.document}const ot=Math.pow(2,16);function lt(t){return 65535&t}class ut{constructor(t,e,n){this.pos=t,this.delInfo=e,this.recover=n}get deleted(){return(8&this.delInfo)>0}get deletedBefore(){return(5&this.delInfo)>0}get deletedAfter(){return(6&this.delInfo)>0}get deletedAcross(){return(4&this.delInfo)>0}}class ht{constructor(t,e=!1){if(this.ranges=t,this.inverted=e,!t.length&&ht.empty)return ht.empty}recover(t){let e=0,n=lt(t);if(!this.inverted)for(let t=0;tt)break;let u=this.ranges[o+i],h=this.ranges[o+s],f=l+u;if(t<=f){let i=l+r+((u?t==l?-1:t==f?1:e:e)<0?0:h);if(n)return i;let s=t==(e<0?l:f)?null:o/3+(t-l)*ot,a=t==l?2:t==f?1:4;return(e<0?t!=l:t!=f)&&(a|=8),new ut(i,a,s)}r+=h-u}return n?t+r:new ut(t+r,0,null)}touches(t,e){let n=0,r=lt(e),i=this.inverted?2:1,s=this.inverted?1:2;for(let e=0;et)break;let l=this.ranges[e+i];if(t<=o+l&&e==3*r)return!0;n+=this.ranges[e+s]-l}return!1}forEach(t){let e=this.inverted?2:1,n=this.inverted?1:2;for(let r=0,i=0;r=0;e--){let r=t.getMirror(e);this.appendMap(t.maps[e].invert(),null!=r&&r>e?n-r-1:void 0)}}invert(){let t=new ft;return t.appendMappingInverted(this),t}map(t,e=1){if(this.mirror)return this._map(t,e,!0);for(let n=this.from;nn&&et.isAtom&&e.type.allowsMarkType(this.mark.type)?t.mark(this.mark.addToSet(t.marks)):t),r),e.openStart,e.openEnd);return dt.fromReplace(t,this.from,this.to,i)}invert(){return new wt(this.from,this.to,this.mark)}map(t){let e=t.mapResult(this.from,1),n=t.mapResult(this.to,-1);return e.deleted&&n.deleted||e.pos>=n.pos?null:new mt(e.pos,n.pos,this.mark)}merge(t){return t instanceof mt&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new mt(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,e){if("number"!=typeof e.from||"number"!=typeof e.to)throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new mt(e.from,e.to,t.markFromJSON(e.mark))}}ct.jsonID("addMark",mt);class wt extends ct{constructor(t,e,n){super(),this.from=t,this.to=e,this.mark=n}apply(t){let e=t.slice(this.from,this.to),n=new h(pt(e.content,(t=>t.mark(this.mark.removeFromSet(t.marks))),t),e.openStart,e.openEnd);return dt.fromReplace(t,this.from,this.to,n)}invert(){return new mt(this.from,this.to,this.mark)}map(t){let e=t.mapResult(this.from,1),n=t.mapResult(this.to,-1);return e.deleted&&n.deleted||e.pos>=n.pos?null:new wt(e.pos,n.pos,this.mark)}merge(t){return t instanceof wt&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new wt(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,e){if("number"!=typeof e.from||"number"!=typeof e.to)throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new wt(e.from,e.to,t.markFromJSON(e.mark))}}ct.jsonID("removeMark",wt);class vt extends ct{constructor(t,e){super(),this.pos=t,this.mark=e}apply(t){let e=t.nodeAt(this.pos);if(!e)return dt.fail("No node at mark step's position");let n=e.type.create(e.attrs,null,this.mark.addToSet(e.marks));return dt.fromReplace(t,this.pos,this.pos+1,new h(r.from(n),0,e.isLeaf?0:1))}invert(t){let e=t.nodeAt(this.pos);if(e){let t=this.mark.addToSet(e.marks);if(t.length==e.marks.length){for(let n=0;nn.pos?null:new yt(e.pos,n.pos,r,i,this.slice,this.insert,this.structure)}toJSON(){let t={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(t.slice=this.slice.toJSON()),this.structure&&(t.structure=!0),t}static fromJSON(t,e){if("number"!=typeof e.from||"number"!=typeof e.to||"number"!=typeof e.gapFrom||"number"!=typeof e.gapTo||"number"!=typeof e.insert)throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new yt(e.from,e.to,e.gapFrom,e.gapTo,h.fromJSON(t,e.slice),e.insert,!!e.structure)}}function kt(t,e,n){let r=t.resolve(e),i=n-e,s=r.depth;for(;i>0&&s>0&&r.indexAfter(s)==r.node(s).childCount;)s--,i--;if(i>0){let t=r.node(s).maybeChild(r.indexAfter(s));for(;i>0;){if(!t||t.isLeaf)return!0;t=t.firstChild,i--}}return!1}function xt(t,e,n){return(0==e||t.canReplace(e,t.childCount))&&(n==t.childCount||t.canReplace(0,n))}function Mt(t){let e=t.parent.content.cutByIndex(t.startIndex,t.endIndex);for(let n=t.depth;;--n){let r=t.$from.node(n),i=t.$from.index(n),s=t.$to.indexAfter(n);if(ns;t--,e--){let n=i.node(t),s=i.index(t);if(n.type.spec.isolating)return!1;let o=n.content.cutByIndex(s,n.childCount),l=r&&r[e+1];l&&(o=o.replaceChild(0,l.type.create(l.attrs)));let u=r&&r[e]||n;if(!n.canReplace(s+1,n.childCount)||!u.type.validContent(o))return!1}let l=i.indexAfter(s),u=r&&r[0];return i.node(s).canReplaceWith(l,l,u?u.type:i.node(s+1).type)}function Nt(t,e){let n=t.resolve(e),r=n.index();return Ct(n.nodeBefore,n.nodeAfter)&&n.parent.canReplace(r,r+1)}function Ct(t,e){return!(!t||!e||t.isLeaf||!t.canAppend(e))}function Rt(t,e,n=-1){let r=t.resolve(e);for(let t=r.depth;;t--){let i,s,o=r.index(t);if(t==r.depth?(i=r.nodeBefore,s=r.nodeAfter):n>0?(i=r.node(t+1),o++,s=r.node(t).maybeChild(o)):(i=r.node(t).maybeChild(o-1),s=r.node(t+1)),i&&!i.isTextblock&&Ct(i,s)&&r.node(t).canReplace(o,o+1))return e;if(0==t)break;e=n<0?r.before(t):r.after(t)}}function jt(t,e,n){let r=t.resolve(e);if(!n.content.size)return e;let i=n.content;for(let t=0;t=0;e--){let n=e==r.depth?0:r.pos<=(r.start(e+1)+r.end(e+1))/2?-1:1,s=r.index(e)+(n>0?1:0),o=r.node(e),l=!1;if(1==t)l=o.canReplace(s,s,i);else{let t=o.contentMatchAt(s).findWrapping(i.firstChild.type);l=t&&o.canReplaceWith(s,s,t[0])}if(l)return 0==n?r.pos:n<0?r.before(e+1):r.after(e+1)}return null}function Tt(t,e,n=e,r=h.empty){if(e==n&&!r.size)return null;let i=t.resolve(e),s=t.resolve(n);return At(i,s,r)?new bt(e,n,r):new $t(i,s,r).fit()}function At(t,e,n){return!n.openStart&&!n.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),n.content)}ct.jsonID("replaceAround",yt);class $t{constructor(t,e,n){this.$from=t,this.$to=e,this.unplaced=n,this.frontier=[],this.placed=r.empty;for(let e=0;e<=t.depth;e++){let n=t.node(e);this.frontier.push({type:n.type,match:n.contentMatchAt(t.indexAfter(e))})}for(let e=t.depth;e>0;e--)this.placed=r.from(t.node(e).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let t=this.findFittable();t?this.placeNodes(t):this.openMore()||this.dropNode()}let t=this.mustMoveInline(),e=this.placed.size-this.depth-this.$from.depth,n=this.$from,r=this.close(t<0?this.$to:n.doc.resolve(t));if(!r)return null;let i=this.placed,s=n.depth,o=r.depth;for(;s&&o&&1==i.childCount;)i=i.firstChild.content,s--,o--;let l=new h(i,s,o);return t>-1?new yt(n.pos,t,this.$to.pos,this.$to.end(),l,e):l.size||n.pos!=this.$to.pos?new bt(n.pos,r.pos,l):null}findFittable(){let t=this.unplaced.openStart;for(let e=this.unplaced.content,n=0,r=this.unplaced.openEnd;n1&&(r=0),i.type.spec.isolating&&r<=n){t=n;break}e=i.content}for(let e=1;e<=2;e++)for(let n=1==e?t:this.unplaced.openStart;n>=0;n--){let t,i=null;n?(i=It(this.unplaced.content,n-1).firstChild,t=i.content):t=this.unplaced.content;let s=t.firstChild;for(let t=this.depth;t>=0;t--){let o,{type:l,match:u}=this.frontier[t],h=null;if(1==e&&(s?u.matchType(s.type)||(h=u.fillBefore(r.from(s),!1)):i&&l.compatibleContent(i.type)))return{sliceDepth:n,frontierDepth:t,parent:i,inject:h};if(2==e&&s&&(o=u.findWrapping(s.type)))return{sliceDepth:n,frontierDepth:t,parent:i,wrap:o};if(i&&u.matchType(i.type))break}}}openMore(){let{content:t,openStart:e,openEnd:n}=this.unplaced,r=It(t,e);return!(!r.childCount||r.firstChild.isLeaf||(this.unplaced=new h(t,e+1,Math.max(n,r.size+e>=t.size-n?e+1:0)),0))}dropNode(){let{content:t,openStart:e,openEnd:n}=this.unplaced,r=It(t,e);if(r.childCount<=1&&e>0){let i=t.size-e<=e+r.size;this.unplaced=new h(Dt(t,e-1,1),e-1,i?e-1:n)}else this.unplaced=new h(Dt(t,e,1),e,n)}placeNodes({sliceDepth:t,frontierDepth:e,parent:n,inject:i,wrap:s}){for(;this.depth>e;)this.closeFrontierNode();if(s)for(let t=0;t1||0==u||t.content.size)&&(c=e,a.push(Bt(t.mark(d.allowedMarks(t.marks)),1==f?u:0,f==l.childCount?p:-1)))}let m=f==l.childCount;m||(p=-1),this.placed=Pt(this.placed,e,r.from(a)),this.frontier[e].match=c,m&&p<0&&n&&n.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let t=0,e=l;t1&&r==this.$to.end(--n);)++r;return r}findCloseLevel(t){t:for(let e=Math.min(this.depth,t.depth);e>=0;e--){let{match:n,type:r}=this.frontier[e],i=e=0;n--){let{match:e,type:r}=this.frontier[n],i=Jt(t,n,r,e,!0);if(!i||i.childCount)continue t}return{depth:e,fit:s,move:i?t.doc.resolve(t.after(e+1)):t}}}}close(t){let e=this.findCloseLevel(t);if(!e)return null;for(;this.depth>e.depth;)this.closeFrontierNode();e.fit.childCount&&(this.placed=Pt(this.placed,e.depth,e.fit)),t=e.move;for(let n=e.depth+1;n<=t.depth;n++){let e=t.node(n),r=e.type.contentMatch.fillBefore(e.content,!0,t.index(n));this.openFrontierNode(e.type,e.attrs,r)}return t}openFrontierNode(t,e=null,n){let i=this.frontier[this.depth];i.match=i.match.matchType(t),this.placed=Pt(this.placed,this.depth,r.from(t.create(e,n))),this.frontier.push({type:t,match:t.contentMatch})}closeFrontierNode(){let t=this.frontier.pop().match.fillBefore(r.empty,!0);t.childCount&&(this.placed=Pt(this.placed,this.frontier.length,t))}}function Dt(t,e,n){return 0==e?t.cutByIndex(n,t.childCount):t.replaceChild(0,t.firstChild.copy(Dt(t.firstChild.content,e-1,n)))}function Pt(t,e,n){return 0==e?t.append(n):t.replaceChild(t.childCount-1,t.lastChild.copy(Pt(t.lastChild.content,e-1,n)))}function It(t,e){for(let n=0;n1&&(i=i.replaceChild(0,Bt(i.firstChild,e-1,1==i.childCount?n-1:0))),e>0&&(i=t.type.contentMatch.fillBefore(i).append(i),n<=0&&(i=i.append(t.type.contentMatch.matchFragment(i).fillBefore(r.empty,!0)))),t.copy(i)}function Jt(t,e,n,r,i){let s=t.node(e),o=i?t.indexAfter(e):t.index(e);if(o==s.childCount&&!n.compatibleContent(s.type))return null;let l=r.fillBefore(s.content,!0,o);return l&&!function(t,e,n){for(let r=n;ri){let e=s.contentMatchAt(0),n=e.fillBefore(t).append(t);t=n.append(e.matchFragment(n).fillBefore(r.empty,!0))}return t}function Lt(t,e){let n=[];for(let r=Math.min(t.depth,e.depth);r>=0;r--){let i=t.start(r);if(ie.pos+(e.depth-r)||t.node(r).type.spec.isolating||e.node(r).type.spec.isolating)break;(i==e.start(r)||r==t.depth&&r==e.depth&&t.parent.inlineContent&&e.parent.inlineContent&&r&&e.start(r-1)==i-1)&&n.push(r)}return n}class qt extends ct{constructor(t,e,n){super(),this.pos=t,this.attr=e,this.value=n}apply(t){let e=t.nodeAt(this.pos);if(!e)return dt.fail("No node at attribute step's position");let n=Object.create(null);for(let t in e.attrs)n[t]=e.attrs[t];n[this.attr]=this.value;let i=e.type.create(n,null,e.marks);return dt.fromReplace(t,this.pos,this.pos+1,new h(r.from(i),0,e.isLeaf?0:1))}getMap(){return ht.empty}invert(t){return new qt(this.pos,this.attr,t.nodeAt(this.pos).attrs[this.attr])}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new qt(e.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(t,e){if("number"!=typeof e.pos||"string"!=typeof e.attr)throw new RangeError("Invalid input for AttrStep.fromJSON");return new qt(e.pos,e.attr,e.value)}}ct.jsonID("attr",qt);class Ht extends ct{constructor(t,e){super(),this.attr=t,this.value=e}apply(t){let e=Object.create(null);for(let n in t.attrs)e[n]=t.attrs[n];e[this.attr]=this.value;let n=t.type.create(e,t.content,t.marks);return dt.ok(n)}getMap(){return ht.empty}invert(t){return new Ht(this.attr,t.attrs[this.attr])}map(t){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(t,e){if("string"!=typeof e.attr)throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new Ht(e.attr,e.value)}}ct.jsonID("docAttr",Ht);let Ut=class extends Error{};Ut=function t(e){let n=Error.call(this,e);return n.__proto__=t.prototype,n},(Ut.prototype=Object.create(Error.prototype)).constructor=Ut,Ut.prototype.name="TransformError";class Wt{constructor(t){this.doc=t,this.steps=[],this.docs=[],this.mapping=new ft}get before(){return this.docs.length?this.docs[0]:this.doc}step(t){let e=this.maybeStep(t);if(e.failed)throw new Ut(e.failed);return this}maybeStep(t){let e=t.apply(this.doc);return e.failed||this.addStep(t,e.doc),e}get docChanged(){return this.steps.length>0}addStep(t,e){this.docs.push(this.doc),this.steps.push(t),this.mapping.appendMap(t.getMap()),this.doc=e}replace(t,e=t,n=h.empty){let r=Tt(this.doc,t,e,n);return r&&this.step(r),this}replaceWith(t,e,n){return this.replace(t,e,new h(r.from(n),0,0))}delete(t,e){return this.replace(t,e,h.empty)}insert(t,e){return this.replaceWith(t,t,e)}replaceRange(t,e,n){return function(t,e,n,r){if(!r.size)return t.deleteRange(e,n);let i=t.doc.resolve(e),s=t.doc.resolve(n);if(At(i,s,r))return t.step(new bt(e,n,r));let o=Lt(i,t.doc.resolve(n));0==o[o.length-1]&&o.pop();let l=-(i.depth+1);o.unshift(l);for(let t=i.depth,e=i.pos-1;t>0;t--,e--){let n=i.node(t).type.spec;if(n.defining||n.definingAsContext||n.isolating)break;o.indexOf(t)>-1?l=t:i.before(t)==e&&o.splice(1,0,-t)}let u=o.indexOf(l),f=[],a=r.openStart;for(let t=r.content,e=0;;e++){let n=t.firstChild;if(f.push(n),e==r.openStart)break;t=n.content}for(let t=a-1;t>=0;t--){let e=f[t],n=(c=e.type).spec.defining||c.spec.definingForContent;if(n&&!e.sameMarkup(i.node(Math.abs(l)-1)))a=t;else if(n||!e.type.isTextblock)break}var c;for(let e=r.openStart;e>=0;e--){let l=(e+a+1)%(r.openStart+1),c=f[l];if(c)for(let e=0;e=0&&(t.replace(e,n,r),!(t.steps.length>d));l--){let t=o[l];t<0||(e=i.before(t),n=s.after(t))}}(this,t,e,n),this}replaceRangeWith(t,e,n){return function(t,e,n,i){if(!i.isInline&&e==n&&t.doc.resolve(e).parent.content.size){let r=function(t,e,n){let r=t.resolve(e);if(r.parent.canReplaceWith(r.index(),r.index(),n))return e;if(0==r.parentOffset)for(let t=r.depth-1;t>=0;t--){let e=r.index(t);if(r.node(t).canReplaceWith(e,e,n))return r.before(t+1);if(e>0)return null}if(r.parentOffset==r.parent.content.size)for(let t=r.depth-1;t>=0;t--){let e=r.indexAfter(t);if(r.node(t).canReplaceWith(e,e,n))return r.after(t+1);if(e0&&(o||r.node(n-1).canReplace(r.index(n-1),i.indexAfter(n-1))))return t.delete(r.before(n),i.after(n))}for(let s=1;s<=r.depth&&s<=i.depth;s++)if(e-r.start(s)==r.depth-s&&n>r.end(s)&&i.end(s)-n!=i.depth-s)return t.delete(r.before(s),n);t.delete(e,n)}(this,t,e),this}lift(t,e){return function(t,e,n){let{$from:i,$to:s,depth:o}=e,l=i.before(o+1),u=s.after(o+1),f=l,a=u,c=r.empty,d=0;for(let t=o,e=!1;t>n;t--)e||i.index(t)>0?(e=!0,c=r.from(i.node(t).copy(c)),d++):f--;let p=r.empty,m=0;for(let t=o,e=!1;t>n;t--)e||s.after(t+1)=0;t--){if(i.size){let e=n[t].type.contentMatch.matchFragment(i);if(!e||!e.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}i=r.from(n[t].type.create(n[t].attrs,i))}let s=e.start,o=e.end;t.step(new yt(s,o,s,o,new h(i,0,0),n.length,!0))}(this,t,e),this}setBlockType(t,e=t,n,i=null){return function(t,e,n,i,s){if(!i.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let o=t.steps.length;t.doc.nodesBetween(e,n,((e,n)=>{if(e.isTextblock&&!e.hasMarkup(i,s)&&function(t,e,n){let r=t.resolve(e),i=r.index();return r.parent.canReplaceWith(i,i+1,n)}(t.doc,t.mapping.slice(o).map(n),i)){t.clearIncompatible(t.mapping.slice(o).map(n,1),i);let l=t.mapping.slice(o),u=l.map(n,1),f=l.map(n+e.nodeSize,1);return t.step(new yt(u,f,u+1,f-1,new h(r.from(i.create(s,null,e.marks)),0,0),1,!0)),!1}}))}(this,t,e,n,i),this}setNodeMarkup(t,e,n=null,i){return function(t,e,n,i,s){let o=t.doc.nodeAt(e);if(!o)throw new RangeError("No node at given position");n||(n=o.type);let l=n.create(i,null,s||o.marks);if(o.isLeaf)return t.replaceWith(e,e+o.nodeSize,l);if(!n.validContent(o.content))throw new RangeError("Invalid content for node type "+n.name);t.step(new yt(e,e+o.nodeSize,e+1,e+o.nodeSize-1,new h(r.from(l),0,0),1,!0))}(this,t,e,n,i),this}setNodeAttribute(t,e,n){return this.step(new qt(t,e,n)),this}setDocAttribute(t,e){return this.step(new Ht(t,e)),this}addNodeMark(t,e){return this.step(new vt(t,e)),this}removeNodeMark(t,e){if(!(e instanceof l)){let n=this.doc.nodeAt(t);if(!n)throw new RangeError("No node at position "+t);if(!(e=e.isInSet(n.marks)))return this}return this.step(new gt(t,e)),this}split(t,e=1,n){return function(t,e,n=1,i){let s=t.doc.resolve(e),o=r.empty,l=r.empty;for(let t=s.depth,e=s.depth-n,u=n-1;t>e;t--,u--){o=r.from(s.node(t).copy(o));let e=i&&i[u];l=r.from(e?e.type.create(e.attrs,l):s.node(t).copy(l))}t.step(new bt(e,e,new h(o.append(l),n,n),!0))}(this,t,e,n),this}addMark(t,e,n){return function(t,e,n,r){let i,s,o=[],l=[];t.doc.nodesBetween(e,n,((t,u,h)=>{if(!t.isInline)return;let f=t.marks;if(!r.isInSet(f)&&h.type.allowsMarkType(r.type)){let h=Math.max(u,e),a=Math.min(u+t.nodeSize,n),c=r.addToSet(f);for(let t=0;tt.step(e))),l.forEach((e=>t.step(e)))}(this,t,e,n),this}removeMark(t,e,n){return function(t,e,n,r){let i=[],s=0;t.doc.nodesBetween(e,n,((t,o)=>{if(!t.isInline)return;s++;let l=null;if(r instanceof W){let e,n=t.marks;for(;e=r.isInSet(n);)(l||(l=[])).push(e),n=e.removeFromSet(n)}else r?r.isInSet(t.marks)&&(l=[r]):l=t.marks;if(l&&l.length){let r=Math.min(o+t.nodeSize,n);for(let t=0;tt.step(new wt(e.from,e.to,e.style))))}(this,t,e,n),this}clearIncompatible(t,e,n){return function(t,e,n,i=n.contentMatch){let s=t.doc.nodeAt(e),o=[],l=e+1;for(let e=0;e=0;e--)t.step(o[e])}(this,t,e,n),this}}const Kt=Object.create(null);class zt{constructor(t,e,n){this.$anchor=t,this.$head=e,this.ranges=n||[new Gt(t.min(e),t.max(e))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let t=this.ranges;for(let e=0;e=0;r--){let i=e<0?ne(t.node(0),t.node(r),t.before(r+1),t.index(r),e,n):ne(t.node(0),t.node(r),t.after(r+1),t.index(r)+1,e,n);if(i)return i}return null}static near(t,e=1){return this.findFrom(t,e)||this.findFrom(t,-e)||new te(t.node(0))}static atStart(t){return ne(t,t,0,0,1)||new te(t)}static atEnd(t){return ne(t,t,t.content.size,t.childCount,-1)||new te(t)}static fromJSON(t,e){if(!e||!e.type)throw new RangeError("Invalid input for Selection.fromJSON");let n=Kt[e.type];if(!n)throw new RangeError(`No selection type ${e.type} defined`);return n.fromJSON(t,e)}static jsonID(t,e){if(t in Kt)throw new RangeError("Duplicate use of selection JSON ID "+t);return Kt[t]=e,e.prototype.jsonID=t,e}getBookmark(){return Yt.between(this.$anchor,this.$head).getBookmark()}}zt.prototype.visible=!0;class Gt{constructor(t,e){this.$from=t,this.$to=e}}let Vt=!1;function _t(t){Vt||t.parent.inlineContent||(Vt=!0,console.warn("TextSelection endpoint not pointing into a node with inline content ("+t.parent.type.name+")"))}class Yt extends zt{constructor(t,e=t){_t(t),_t(e),super(t,e)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(t,e){let n=t.resolve(e.map(this.head));if(!n.parent.inlineContent)return zt.near(n);let r=t.resolve(e.map(this.anchor));return new Yt(r.parent.inlineContent?r:n,n)}replace(t,e=h.empty){if(super.replace(t,e),e==h.empty){let e=this.$from.marksAcross(this.$to);e&&t.ensureMarks(e)}}eq(t){return t instanceof Yt&&t.anchor==this.anchor&&t.head==this.head}getBookmark(){return new Qt(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(t,e){if("number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid input for TextSelection.fromJSON");return new Yt(t.resolve(e.anchor),t.resolve(e.head))}static create(t,e,n=e){let r=t.resolve(e);return new this(r,n==e?r:t.resolve(n))}static between(t,e,n){let r=t.pos-e.pos;if(n&&!r||(n=r>=0?1:-1),!e.parent.inlineContent){let t=zt.findFrom(e,n,!0)||zt.findFrom(e,-n,!0);if(!t)return zt.near(e,n);e=t.$head}return t.parent.inlineContent||(0==r||(t=(zt.findFrom(t,-n,!0)||zt.findFrom(t,n,!0)).$anchor).posnew te(t)};function ne(t,e,n,r,i,s=!1){if(e.inlineContent)return Yt.create(t,n);for(let o=r-(i>0?0:1);i>0?o=0;o+=i){let r=e.child(o);if(r.isAtom){if(!s&&Xt.isSelectable(r))return Xt.create(t,n-(i<0?r.nodeSize:0))}else{let e=ne(t,r,n+i,i<0?r.childCount:0,i,s);if(e)return e}n+=r.nodeSize*i}return null}function re(t,e,n){let r=t.steps.length-1;if(r{null==i&&(i=r)})),t.setSelection(zt.near(t.doc.resolve(i),n)))}class ie extends Wt{constructor(t){super(t.doc),this.curSelectionFor=0,this.updated=0,this.meta=Object.create(null),this.time=Date.now(),this.curSelection=t.selection,this.storedMarks=t.storedMarks}get selection(){return this.curSelectionFor0}setStoredMarks(t){return this.storedMarks=t,this.updated|=2,this}ensureMarks(t){return l.sameSet(this.storedMarks||this.selection.$from.marks(),t)||this.setStoredMarks(t),this}addStoredMark(t){return this.ensureMarks(t.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(t){return this.ensureMarks(t.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(2&this.updated)>0}addStep(t,e){super.addStep(t,e),this.updated=-3&this.updated,this.storedMarks=null}setTime(t){return this.time=t,this}replaceSelection(t){return this.selection.replace(this,t),this}replaceSelectionWith(t,e=!0){let n=this.selection;return e&&(t=t.mark(this.storedMarks||(n.empty?n.$from.marks():n.$from.marksAcross(n.$to)||l.none))),n.replaceWith(this,t),this}deleteSelection(){return this.selection.replace(this),this}insertText(t,e,n){let r=this.doc.type.schema;if(null==e)return t?this.replaceSelectionWith(r.text(t),!0):this.deleteSelection();{if(null==n&&(n=e),n=null==n?e:n,!t)return this.deleteRange(e,n);let i=this.storedMarks;if(!i){let t=this.doc.resolve(e);i=n==e?t.marks():t.marksAcross(this.doc.resolve(n))}return this.replaceRangeWith(e,n,r.text(t,i)),this.selection.empty||this.setSelection(zt.near(this.selection.$to)),this}}setMeta(t,e){return this.meta["string"==typeof t?t:t.key]=e,this}getMeta(t){return this.meta["string"==typeof t?t:t.key]}get isGeneric(){for(let t in this.meta)return!1;return!0}scrollIntoView(){return this.updated|=4,this}get scrolledIntoView(){return(4&this.updated)>0}}function se(t,e){return e&&t?t.bind(e):t}class oe{constructor(t,e,n){this.name=t,this.init=se(e.init,n),this.apply=se(e.apply,n)}}const le=[new oe("doc",{init:t=>t.doc||t.schema.topNodeType.createAndFill(),apply:t=>t.doc}),new oe("selection",{init:(t,e)=>t.selection||zt.atStart(e.doc),apply:t=>t.selection}),new oe("storedMarks",{init:t=>t.storedMarks||null,apply:(t,e,n,r)=>r.selection.$cursor?t.storedMarks:null}),new oe("scrollToSelection",{init:()=>0,apply:(t,e)=>t.scrolledIntoView?e+1:e})];class ue{constructor(t,e){this.schema=t,this.plugins=[],this.pluginsByKey=Object.create(null),this.fields=le.slice(),e&&e.forEach((t=>{if(this.pluginsByKey[t.key])throw new RangeError("Adding different instances of a keyed plugin ("+t.key+")");this.plugins.push(t),this.pluginsByKey[t.key]=t,t.spec.state&&this.fields.push(new oe(t.key,t.spec.state,t))}))}}class he{constructor(t){this.config=t}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(t){return this.applyTransaction(t).state}filterTransaction(t,e=-1){for(let n=0;nt.toJSON()))),t&&"object"==typeof t)for(let n in t){if("doc"==n||"selection"==n)throw new RangeError("The JSON fields `doc` and `selection` are reserved");let r=t[n],i=r.spec.state;i&&i.toJSON&&(e[n]=i.toJSON.call(r,this[r.key]))}return e}static fromJSON(t,e,n){if(!e)throw new RangeError("Invalid input for EditorState.fromJSON");if(!t.schema)throw new RangeError("Required config field 'schema' missing");let r=new ue(t.schema,t.plugins),i=new he(r);return r.fields.forEach((r=>{if("doc"==r.name)i.doc=N.fromJSON(t.schema,e.doc);else if("selection"==r.name)i.selection=zt.fromJSON(i.doc,e.selection);else if("storedMarks"==r.name)e.storedMarks&&(i.storedMarks=e.storedMarks.map(t.schema.markFromJSON));else{if(n)for(let s in n){let o=n[s],l=o.spec.state;if(o.key==r.name&&l&&l.fromJSON&&Object.prototype.hasOwnProperty.call(e,s))return void(i[r.name]=l.fromJSON.call(o,t,e[s],i))}i[r.name]=r.init(t,i)}})),i}}function fe(t,e,n){for(let r in t){let i=t[r];i instanceof Function?i=i.bind(e):"handleDOMEvents"==r&&(i=fe(i,e,{})),n[r]=i}return n}class ae{constructor(t){this.spec=t,this.props={},t.props&&fe(t.props,this,this.props),this.key=t.key?t.key.key:de("plugin")}getState(t){return t[this.key]}}const ce=Object.create(null);function de(t){return t in ce?t+"$"+ ++ce[t]:(ce[t]=0,t+"$")}class pe{constructor(t="key"){this.key=de(t)}get(t){return t.config.pluginsByKey[this.key]}getState(t){return t[this.key]}}const me=function(t){for(var e=0;;e++)if(!(t=t.previousSibling))return e},we=function(t){let e=t.assignedSlot||t.parentNode;return e&&11==e.nodeType?e.host:e};let ve=null;const ge=function(t,e,n){let r=ve||(ve=document.createRange());return r.setEnd(t,null==n?t.nodeValue.length:n),r.setStart(t,e||0),r},be=function(t,e,n,r){return n&&(ke(t,e,n,r,-1)||ke(t,e,n,r,1))},ye=/^(img|br|input|textarea|hr)$/i;function ke(t,e,n,r,i){for(;;){if(t==n&&e==r)return!0;if(e==(i<0?0:xe(t))){let n=t.parentNode;if(!n||1!=n.nodeType||Me(t)||ye.test(t.nodeName)||"false"==t.contentEditable)return!1;e=me(t)+(i<0?0:1),t=n}else{if(1!=t.nodeType)return!1;if("false"==(t=t.childNodes[e+(i<0?-1:0)]).contentEditable)return!1;e=i<0?xe(t):0}}}function xe(t){return 3==t.nodeType?t.nodeValue.length:t.childNodes.length}function Me(t){let e;for(let n=t;n&&!(e=n.pmViewDesc);n=n.parentNode);return e&&e.node&&e.node.isBlock&&(e.dom==t||e.contentDOM==t)}const Oe=function(t){return t.focusNode&&be(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)};function Se(t,e){let n=document.createEvent("Event");return n.initEvent("keydown",!0,!0),n.keyCode=t,n.key=n.code=e,n}const Ee="undefined"!=typeof navigator?navigator:null,Ne="undefined"!=typeof document?document:null,Ce=Ee&&Ee.userAgent||"",Re=/Edge\/(\d+)/.exec(Ce),je=/MSIE \d/.exec(Ce),Te=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Ce),Ae=!!(je||Te||Re),$e=je?document.documentMode:Te?+Te[1]:Re?+Re[1]:0,De=!Ae&&/gecko\/(\d+)/i.test(Ce);De&&/Firefox\/(\d+)/.exec(Ce);const Pe=!Ae&&/Chrome\/(\d+)/.exec(Ce),Ie=!!Pe,Be=Pe?+Pe[1]:0,Je=!Ae&&!!Ee&&/Apple Computer/.test(Ee.vendor),Fe=Je&&(/Mobile\/\w+/.test(Ce)||!!Ee&&Ee.maxTouchPoints>2),Le=Fe||!!Ee&&/Mac/.test(Ee.platform),qe=!!Ee&&/Win/.test(Ee.platform),He=/Android \d/.test(Ce),Ue=!!Ne&&"webkitFontSmoothing"in Ne.documentElement.style,We=Ue?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function Ke(t){let e=t.defaultView&&t.defaultView.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.documentElement.clientWidth,top:0,bottom:t.documentElement.clientHeight}}function ze(t,e){return"number"==typeof t?t:t[e]}function Ge(t){let e=t.getBoundingClientRect();return{left:e.left,right:e.left+t.clientWidth*(e.width/t.offsetWidth||1),top:e.top,bottom:e.top+t.clientHeight*(e.height/t.offsetHeight||1)}}function Ve(t,e,n){let r=t.someProp("scrollThreshold")||0,i=t.someProp("scrollMargin")||5,s=t.dom.ownerDocument;for(let o=n||t.dom;o;o=we(o)){if(1!=o.nodeType)continue;let t=o,n=t==s.body,l=n?Ke(s):Ge(t),u=0,h=0;if(e.topl.bottom-ze(r,"bottom")&&(h=e.bottom-e.top>l.bottom-l.top?e.top+ze(i,"top")-l.top:e.bottom-l.bottom+ze(i,"bottom")),e.leftl.right-ze(r,"right")&&(u=e.right-l.right+ze(i,"right")),u||h)if(n)s.defaultView.scrollBy(u,h);else{let n=t.scrollLeft,r=t.scrollTop;h&&(t.scrollTop+=h),u&&(t.scrollLeft+=u);let i=t.scrollLeft-n,s=t.scrollTop-r;e={left:e.left-i,top:e.top-s,right:e.right-i,bottom:e.bottom-s}}if(n||/^(fixed|sticky)$/.test(getComputedStyle(o).position))break}}function _e(t){let e=[],n=t.ownerDocument;for(let r=t;r&&(e.push({dom:r,top:r.scrollTop,left:r.scrollLeft}),t!=n);r=we(r));return e}function Ye(t,e){for(let n=0;n=h){u=Math.max(d.bottom,u),h=Math.min(d.top,h);let t=d.left>e.left?d.left-e.left:d.right=(d.left+d.right)/2?1:0));continue}}else d.top>e.top&&!i&&d.left<=e.left&&d.right>=e.left&&(i=f,s={left:Math.max(d.left,Math.min(d.right,e.left)),top:d.top});!n&&(e.left>=d.right&&e.top>=d.top||e.left>=d.left&&e.top>=d.bottom)&&(l=a+1)}}return!n&&i&&(n=i,r=s,o=0),n&&3==n.nodeType?function(t,e){let n=t.nodeValue.length,r=document.createRange();for(let i=0;i=(n.left+n.right)/2?1:0)}}return{node:t,offset:0}}(n,r):!n||o&&1==n.nodeType?{node:t,offset:l}:Xe(n,r)}function Ze(t,e){return t.left>=e.left-1&&t.left<=e.right+1&&t.top>=e.top-1&&t.top<=e.bottom+1}function tn(t,e,n){let r=t.childNodes.length;if(r&&n.tope.top&&i++}let r;Ue&&i&&1==n.nodeType&&1==(r=n.childNodes[i-1]).nodeType&&"false"==r.contentEditable&&r.getBoundingClientRect().top>=e.top&&i--,n==t.dom&&i==n.childNodes.length-1&&1==n.lastChild.nodeType&&e.top>n.lastChild.getBoundingClientRect().bottom?o=t.state.doc.content.size:0!=i&&1==n.nodeType&&"BR"==n.childNodes[i-1].nodeName||(o=function(t,e,n,r){let i=-1;for(let n=e,s=!1;n!=t.dom;){let e=t.docView.nearestDesc(n,!0);if(!e)return null;if(1==e.dom.nodeType&&(e.node.isBlock&&e.parent&&!s||!e.contentDOM)){let t=e.dom.getBoundingClientRect();if(e.node.isBlock&&e.parent&&!s&&(s=!0,t.left>r.left||t.top>r.top?i=e.posBefore:(t.right-1?i:t.docView.posFromDOM(e,n,-1)}(t,n,i,e))}null==o&&(o=function(t,e,n){let{node:r,offset:i}=Xe(e,n),s=-1;if(1==r.nodeType&&!r.firstChild){let t=r.getBoundingClientRect();s=t.left!=t.right&&n.left>(t.left+t.right)/2?1:-1}return t.docView.posFromDOM(r,i,s)}(t,l,e));let u=t.docView.nearestDesc(l,!0);return{pos:o,inside:u?u.posAtStart-u.border:-1}}function nn(t){return t.top=0&&i==r.nodeValue.length?(t--,s=1):n<0?t--:e++,ln(rn(ge(r,t,e),s),s<0)}{let t=rn(ge(r,i,i),n);if(De&&i&&/\s/.test(r.nodeValue[i-1])&&i=0)}if(null==s&&i&&(n<0||i==xe(r))){let t=r.childNodes[i-1],e=3==t.nodeType?ge(t,xe(t)-(o?0:1)):1!=t.nodeType||"BR"==t.nodeName&&t.nextSibling?null:t;if(e)return ln(rn(e,1),!1)}if(null==s&&i=0)}function ln(t,e){if(0==t.width)return t;let n=e?t.left:t.right;return{top:t.top,bottom:t.bottom,left:n,right:n}}function un(t,e){if(0==t.height)return t;let n=e?t.top:t.bottom;return{top:n,bottom:n,left:t.left,right:t.right}}function hn(t,e,n){let r=t.state,i=t.root.activeElement;r!=e&&t.updateState(e),i!=t.dom&&t.focus();try{return n()}finally{r!=e&&t.updateState(r),i!=t.dom&&i&&i.focus()}}const fn=/[\u0590-\u08ac]/;let an=null,cn=null,dn=!1;class pn{constructor(t,e,n,r){this.parent=t,this.children=e,this.dom=n,this.contentDOM=r,this.dirty=0,n.pmViewDesc=this}matchesWidget(t){return!1}matchesMark(t){return!1}matchesNode(t,e,n){return!1}matchesHack(t){return!1}parseRule(){return null}stopEvent(t){return!1}get size(){let t=0;for(let e=0;eme(this.contentDOM);else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM))r=2&t.compareDocumentPosition(this.contentDOM);else if(this.dom.firstChild){if(0==e)for(let e=t;;e=e.parentNode){if(e==this.dom){r=!1;break}if(e.previousSibling)break}if(null==r&&e==t.childNodes.length)for(let e=t;;e=e.parentNode){if(e==this.dom){r=!0;break}if(e.nextSibling)break}}return(null==r?n>0:r)?this.posAtEnd:this.posAtStart}nearestDesc(t,e=!1){for(let n=!0,r=t;r;r=r.parentNode){let i,s=this.getDesc(r);if(s&&(!e||s.node)){if(!n||!(i=s.nodeDOM)||(1==i.nodeType?i.contains(1==t.nodeType?t:t.parentNode):i==t))return s;n=!1}}}getDesc(t){let e=t.pmViewDesc;for(let t=e;t;t=t.parent)if(t==this)return e}posFromDOM(t,e,n){for(let r=t;r;r=r.parentNode){let i=this.getDesc(r);if(i)return i.localPosFromDOM(t,e,n)}return-1}descAt(t){for(let e=0,n=0;et||i instanceof kn){r=t-e;break}e=s}if(r)return this.children[n].domFromPos(r-this.children[n].border,e);for(let t;n&&!(t=this.children[n-1]).size&&t instanceof mn&&t.side>=0;n--);if(e<=0){let t,r=!0;for(;t=n?this.children[n-1]:null,t&&t.dom.parentNode!=this.contentDOM;n--,r=!1);return t&&e&&r&&!t.border&&!t.domAtom?t.domFromPos(t.size,e):{node:this.contentDOM,offset:t?me(t.dom)+1:0}}{let t,r=!0;for(;t=n=i&&e<=l-n.border&&n.node&&n.contentDOM&&this.contentDOM.contains(n.contentDOM))return n.parseRange(t,e,i);t=s;for(let e=o;e>0;e--){let n=this.children[e-1];if(n.size&&n.dom.parentNode==this.contentDOM&&!n.emptyChildAt(1)){r=me(n.dom)+1;break}t-=n.size}-1==r&&(r=0)}if(r>-1&&(l>e||o==this.children.length-1)){e=l;for(let t=o+1;tl&&se){let t=o;o=l,l=t}let n=document.createRange();n.setEnd(l.node,l.offset),n.setStart(o.node,o.offset),u.removeAllRanges(),u.addRange(n)}}ignoreMutation(t){return!this.contentDOM&&"selection"!=t.type}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(t,e){for(let n=0,r=0;r=n:tn){let r=n+i.border,o=s-i.border;if(t>=r&&e<=o)return this.dirty=t==n||e==s?2:1,void(t!=r||e!=o||!i.contentLost&&i.dom.parentNode==this.contentDOM?i.markDirty(t-r,e-r):i.dirty=3);i.dirty=i.dom!=i.contentDOM||i.dom.parentNode!=this.contentDOM||i.children.length?3:2}n=s}this.dirty=2}markParentsDirty(){let t=1;for(let e=this.parent;e;e=e.parent,t++){let n=1==t?2:1;e.dirtyi?i.parent?i.parent.posBeforeChild(i):void 0:r))),!e.type.spec.raw){if(1!=s.nodeType){let t=document.createElement("span");t.appendChild(s),s=t}s.contentEditable="false",s.classList.add("ProseMirror-widget")}super(t,[],s,null),this.widget=e,this.widget=e,i=this}matchesWidget(t){return 0==this.dirty&&t.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(t){let e=this.widget.spec.stopEvent;return!!e&&e(t)}ignoreMutation(t){return"selection"!=t.type||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get side(){return this.widget.type.side}}class wn extends pn{constructor(t,e,n,r){super(t,[],e,null),this.textDOM=n,this.text=r}get size(){return this.text.length}localPosFromDOM(t,e){return t!=this.textDOM?this.posAtStart+(e?this.size:0):this.posAtStart+e}domFromPos(t){return{node:this.textDOM,offset:t}}ignoreMutation(t){return"characterData"===t.type&&t.target.nodeValue==t.oldValue}}class vn extends pn{constructor(t,e,n,r){super(t,[],n,r),this.mark=e}static create(t,e,n,r){let i=r.nodeViews[e.type.name],s=i&&i(e,r,n);return s&&s.dom||(s=rt.renderSpec(document,e.type.spec.toDOM(e,n))),new vn(t,e,s.dom,s.contentDOM||s.dom)}parseRule(){return 3&this.dirty||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(t){return 3!=this.dirty&&this.mark.eq(t)}markDirty(t,e){if(super.markDirty(t,e),0!=this.dirty){let t=this.parent;for(;!t.node;)t=t.parent;t.dirty0&&(i=Dn(i,0,t,n));for(let t=0;to?o.parent?o.parent.posBeforeChild(o):void 0:s),n,r),h=u&&u.dom,f=u&&u.contentDOM;if(e.isText)if(h){if(3!=h.nodeType)throw new RangeError("Text must be rendered as a DOM text node")}else h=document.createTextNode(e.text);else h||({dom:h,contentDOM:f}=rt.renderSpec(document,e.type.spec.toDOM(e)));f||e.isText||"BR"==h.nodeName||(h.hasAttribute("contenteditable")||(h.contentEditable="false"),e.type.spec.draggable&&(h.draggable=!0));let a=h;return h=Rn(h,n,e),u?o=new xn(t,e,n,r,h,f||null,a,u,i,s+1):e.isText?new yn(t,e,n,r,h,a,i):new gn(t,e,n,r,h,f||null,a,i,s+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let t={node:this.node.type.name,attrs:this.node.attrs};if("pre"==this.node.type.whitespace&&(t.preserveWhitespace="full"),this.contentDOM)if(this.contentLost){for(let e=this.children.length-1;e>=0;e--){let n=this.children[e];if(this.dom.contains(n.dom.parentNode)){t.contentElement=n.dom.parentNode;break}}t.contentElement||(t.getContent=()=>r.empty)}else t.contentElement=this.contentDOM;else t.getContent=()=>this.node.content;return t}matchesNode(t,e,n){return 0==this.dirty&&t.eq(this.node)&&jn(e,this.outerDeco)&&n.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(t,e){let n=this.node.inlineContent,r=e,i=t.composing?this.localCompositionInfo(t,e):null,s=i&&i.pos>-1?i:null,o=i&&i.pos<0,u=new An(this,s&&s.node,t);!function(t,e,n,r){let i=e.locals(t),s=0;if(0==i.length){for(let n=0;ns;)l.push(i[o++]);let p=s+c.nodeSize;if(c.isText){let t=p;o!t.inline)):l.slice(),e.forChild(s,c),d),s=p}}(this.node,this.innerDeco,((e,i,s)=>{e.spec.marks?u.syncToMarks(e.spec.marks,n,t):e.type.side>=0&&!s&&u.syncToMarks(i==this.node.childCount?l.none:this.node.child(i).marks,n,t),u.placeWidget(e,t,r)}),((e,s,l,h)=>{let f;u.syncToMarks(e.marks,n,t),u.findNodeMatch(e,s,l,h)||o&&t.state.selection.from>r&&t.state.selection.to-1&&u.updateNodeAt(e,s,l,f,t)||u.updateNextNode(e,s,l,t,h,r)||u.addNode(e,s,l,t,r),r+=e.nodeSize})),u.syncToMarks([],n,t),this.node.isTextblock&&u.addTextblockHacks(),u.destroyRest(),(u.changed||2==this.dirty)&&(s&&this.protectLocalComposition(t,s),Mn(this.contentDOM,this.children,t),Fe&&function(t){if("UL"==t.nodeName||"OL"==t.nodeName){let e=t.style.cssText;t.style.cssText=e+"; list-style: square !important",window.getComputedStyle(t),t.style.cssText=e}}(this.dom))}localCompositionInfo(t,e){let{from:n,to:r}=t.state.selection;if(!(t.state.selection instanceof Yt)||ne+this.node.content.size)return null;let i=t.input.compositionNode;if(!i||!this.dom.contains(i.parentNode))return null;if(this.node.inlineContent){let t=i.nodeValue,s=function(t,e,n,r){for(let i=0,s=0;i=n){if(s>=r&&u.slice(r-e.length-l,r-l)==e)return r-e.length;let t=l=0&&t+e.length+l>=n)return l+t;if(n==r&&u.length>=r+e.length-l&&u.slice(r-l,r-l+e.length)==e)return r}}return-1}(this.node.content,t,n-e,r-e);return s<0?null:{node:i,pos:s,text:t}}return{node:i,pos:-1,text:""}}protectLocalComposition(t,{node:e,pos:n,text:r}){if(this.getDesc(e))return;let i=e;for(;i.parentNode!=this.contentDOM;i=i.parentNode){for(;i.previousSibling;)i.parentNode.removeChild(i.previousSibling);for(;i.nextSibling;)i.parentNode.removeChild(i.nextSibling);i.pmViewDesc&&(i.pmViewDesc=void 0)}let s=new wn(this,i,e,r);t.input.compositionNodes.push(s),this.children=Dn(this.children,n,n+r.length,t,s)}update(t,e,n,r){return!(3==this.dirty||!t.sameMarkup(this.node)||(this.updateInner(t,e,n,r),0))}updateInner(t,e,n,r){this.updateOuterDeco(e),this.node=t,this.innerDeco=n,this.contentDOM&&this.updateChildren(r,this.posAtStart),this.dirty=0}updateOuterDeco(t){if(jn(t,this.outerDeco))return;let e=1!=this.nodeDOM.nodeType,n=this.dom;this.dom=Nn(this.dom,this.nodeDOM,En(this.outerDeco,this.node,e),En(t,this.node,e)),this.dom!=n&&(n.pmViewDesc=void 0,this.dom.pmViewDesc=this),this.outerDeco=t}selectNode(){1==this.nodeDOM.nodeType&&this.nodeDOM.classList.add("ProseMirror-selectednode"),!this.contentDOM&&this.node.type.spec.draggable||(this.dom.draggable=!0)}deselectNode(){1==this.nodeDOM.nodeType&&this.nodeDOM.classList.remove("ProseMirror-selectednode"),!this.contentDOM&&this.node.type.spec.draggable||this.dom.removeAttribute("draggable")}get domAtom(){return this.node.isAtom}}function bn(t,e,n,r,i){Rn(r,e,t);let s=new gn(void 0,t,e,n,r,r,r,i,0);return s.contentDOM&&s.updateChildren(i,0),s}class yn extends gn{constructor(t,e,n,r,i,s,o){super(t,e,n,r,i,null,s,o,0)}parseRule(){let t=this.nodeDOM.parentNode;for(;t&&t!=this.dom&&!t.pmIsDeco;)t=t.parentNode;return{skip:t||!0}}update(t,e,n,r){return!(3==this.dirty||0!=this.dirty&&!this.inParent()||!t.sameMarkup(this.node)||(this.updateOuterDeco(e),0==this.dirty&&t.text==this.node.text||t.text==this.nodeDOM.nodeValue||(this.nodeDOM.nodeValue=t.text,r.trackWrites==this.nodeDOM&&(r.trackWrites=null)),this.node=t,this.dirty=0,0))}inParent(){let t=this.parent.contentDOM;for(let e=this.nodeDOM;e;e=e.parentNode)if(e==t)return!0;return!1}domFromPos(t){return{node:this.nodeDOM,offset:t}}localPosFromDOM(t,e,n){return t==this.nodeDOM?this.posAtStart+Math.min(e,this.node.text.length):super.localPosFromDOM(t,e,n)}ignoreMutation(t){return"characterData"!=t.type&&"selection"!=t.type}slice(t,e,n){let r=this.node.cut(t,e),i=document.createTextNode(r.text);return new yn(this.parent,r,this.outerDeco,this.innerDeco,i,i,n)}markDirty(t,e){super.markDirty(t,e),this.dom==this.nodeDOM||0!=t&&e!=this.nodeDOM.nodeValue.length||(this.dirty=3)}get domAtom(){return!1}isText(t){return this.node.text==t}}class kn extends pn{parseRule(){return{ignore:!0}}matchesHack(t){return 0==this.dirty&&this.dom.nodeName==t}get domAtom(){return!0}get ignoreForCoords(){return"IMG"==this.dom.nodeName}}class xn extends gn{constructor(t,e,n,r,i,s,o,l,u,h){super(t,e,n,r,i,s,o,u,h),this.spec=l}update(t,e,n,r){if(3==this.dirty)return!1;if(this.spec.update){let i=this.spec.update(t,e,n);return i&&this.updateInner(t,e,n,r),i}return!(!this.contentDOM&&!t.isLeaf)&&super.update(t,e,n,r)}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(t,e,n,r){this.spec.setSelection?this.spec.setSelection(t,e,n):super.setSelection(t,e,n,r)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}stopEvent(t){return!!this.spec.stopEvent&&this.spec.stopEvent(t)}ignoreMutation(t){return this.spec.ignoreMutation?this.spec.ignoreMutation(t):super.ignoreMutation(t)}}function Mn(t,e,n){let r=t.firstChild,i=!1;for(let s=0;s0;){let l;for(;;)if(r){let t=n.children[r-1];if(!(t instanceof vn)){l=t,r--;break}n=t,r=t.children.length}else{if(n==e)break t;r=n.parent.children.indexOf(n),n=n.parent}let u=l.node;if(u){if(u!=t.child(i-1))break;--i,s.set(l,i),o.push(l)}}return{index:i,matched:s,matches:o.reverse()}}(t.node.content,t)}destroyBetween(t,e){if(t!=e){for(let n=t;n>1,s=Math.min(i,t.length);for(;r-1)r>this.index&&(this.changed=!0,this.destroyBetween(this.index,r)),this.top=this.top.children[this.index];else{let r=vn.create(this.top,t[i],e,n);this.top.children.splice(this.index,0,r),this.top=r,this.changed=!0}this.index=0,i++}}findNodeMatch(t,e,n,r){let i,s=-1;if(r>=this.preMatch.index&&(i=this.preMatch.matches[r-this.preMatch.index]).parent==this.top&&i.matchesNode(t,e,n))s=this.top.children.indexOf(i,this.index);else for(let r=this.index,i=Math.min(this.top.children.length,r+5);r=n||f<=e?s.push(u):(hn&&s.push(u.slice(n-h,u.size,r)))}return s}function Pn(t,e=null){let n=t.domSelectionRange(),r=t.state.doc;if(!n.focusNode)return null;let i=t.docView.nearestDesc(n.focusNode),s=i&&0==i.size,o=t.docView.posFromDOM(n.focusNode,n.focusOffset,1);if(o<0)return null;let l,u,h=r.resolve(o);if(Oe(n)){for(l=h;i&&!i.node;)i=i.parent;let t=i.node;if(i&&t.isAtom&&Xt.isSelectable(t)&&i.parent&&(!t.isInline||!function(t,e,n){for(let r=0==e,i=e==xe(t);r||i;){if(t==n)return!0;let e=me(t);if(!(t=t.parentNode))return!1;r=r&&0==e,i=i&&e==xe(t)}}(n.focusNode,n.focusOffset,i.dom))){let t=i.posBefore;u=new Xt(o==t?h:r.resolve(t))}}else{let e=t.docView.posFromDOM(n.anchorNode,n.anchorOffset,1);if(e<0)return null;l=r.resolve(e)}return u||(u=Wn(t,l,h,"pointer"==e||t.state.selection.head{n.anchorNode==r&&n.anchorOffset==i||(e.removeEventListener("selectionchange",t.input.hideSelectionGuard),setTimeout((()=>{In(t)&&!t.state.selection.visible||t.dom.classList.remove("ProseMirror-hideselection")}),20))})}(t))}t.domObserver.setCurSelection(),t.domObserver.connectSelection()}}const Jn=Je||Ie&&Be<63;function Fn(t,e){let{node:n,offset:r}=t.docView.domFromPos(e,0),i=rr(t,e,n)))||Yt.between(e,n,r)}function Kn(t){return!(t.editable&&!t.hasFocus())&&zn(t)}function zn(t){let e=t.domSelectionRange();if(!e.anchorNode)return!1;try{return t.dom.contains(3==e.anchorNode.nodeType?e.anchorNode.parentNode:e.anchorNode)&&(t.editable||t.dom.contains(3==e.focusNode.nodeType?e.focusNode.parentNode:e.focusNode))}catch(t){return!1}}function Gn(t,e){let{$anchor:n,$head:r}=t.selection,i=e>0?n.max(r):n.min(r),s=i.parent.inlineContent?i.depth?t.doc.resolve(e>0?i.after():i.before()):null:i;return s&&zt.findFrom(s,e)}function Vn(t,e){return t.dispatch(t.state.tr.setSelection(e).scrollIntoView()),!0}function _n(t,e,n){let r=t.state.selection;if(!(r instanceof Yt)){if(r instanceof Xt&&r.node.isInline)return Vn(t,new Yt(e>0?r.$to:r.$from));{let n=Gn(t.state,e);return!!n&&Vn(t,n)}}if(n.indexOf("s")>-1){let{$head:n}=r,i=n.textOffset?null:e<0?n.nodeBefore:n.nodeAfter;if(!i||i.isText||!i.isLeaf)return!1;let s=t.state.doc.resolve(n.pos+i.nodeSize*(e<0?-1:1));return Vn(t,new Yt(r.$anchor,s))}if(!r.empty)return!1;if(t.endOfTextblock(e>0?"forward":"backward")){let n=Gn(t.state,e);return!!(n&&n instanceof Xt)&&Vn(t,n)}if(!(Le&&n.indexOf("m")>-1)){let n,i=r.$head,s=i.textOffset?null:e<0?i.nodeBefore:i.nodeAfter;if(!s||s.isText)return!1;let o=e<0?i.pos-s.nodeSize:i.pos;return!!(s.isAtom||(n=t.docView.descAt(o))&&!n.contentDOM)&&(Xt.isSelectable(s)?Vn(t,new Xt(e<0?t.state.doc.resolve(i.pos-s.nodeSize):i)):!!Ue&&Vn(t,new Yt(t.state.doc.resolve(e<0?o:o+s.nodeSize))))}}function Yn(t){return 3==t.nodeType?t.nodeValue.length:t.childNodes.length}function Qn(t,e){let n=t.pmViewDesc;return n&&0==n.size&&(e<0||t.nextSibling||"BR"!=t.nodeName)}function Xn(t,e){return e<0?function(t){let e=t.domSelectionRange(),n=e.focusNode,r=e.focusOffset;if(!n)return;let i,s,o=!1;for(De&&1==n.nodeType&&r0){if(1!=n.nodeType)break;{let t=n.childNodes[r-1];if(Qn(t,-1))i=n,s=--r;else{if(3!=t.nodeType)break;n=t,r=n.nodeValue.length}}}else{if(Zn(n))break;{let e=n.previousSibling;for(;e&&Qn(e,-1);)i=n.parentNode,s=me(e),e=e.previousSibling;if(e)n=e,r=Yn(n);else{if(n=n.parentNode,n==t.dom)break;r=0}}}o?tr(t,n,r):i&&tr(t,i,s)}(t):function(t){let e=t.domSelectionRange(),n=e.focusNode,r=e.focusOffset;if(!n)return;let i,s,o=Yn(n);for(;;)if(r{t.state==i&&Bn(t)}),50)}function er(t,e){let n=t.state.doc.resolve(e);if(!Ie&&!qe&&n.parent.inlineContent){let r=t.coordsAtPos(e);if(e>n.start()){let n=t.coordsAtPos(e-1),i=(n.top+n.bottom)/2;if(i>r.top&&i1)return n.leftr.top&&i1)return n.left>r.left?"ltr":"rtl"}}return"rtl"==getComputedStyle(t.dom).direction?"rtl":"ltr"}function nr(t,e,n){let r=t.state.selection;if(r instanceof Yt&&!r.empty||n.indexOf("s")>-1)return!1;if(Le&&n.indexOf("m")>-1)return!1;let{$from:i,$to:s}=r;if(!i.parent.inlineContent||t.endOfTextblock(e<0?"up":"down")){let n=Gn(t.state,e);if(n&&n instanceof Xt)return Vn(t,n)}if(!i.parent.inlineContent){let n=e<0?i:s,o=r instanceof te?zt.near(n,e):zt.findFrom(n,e);return!!o&&Vn(t,o)}return!1}function rr(t,e){if(!(t.state.selection instanceof Yt))return!0;let{$head:n,$anchor:r,empty:i}=t.state.selection;if(!n.sameParent(r))return!0;if(!i)return!1;if(t.endOfTextblock(e>0?"forward":"backward"))return!0;let s=!n.textOffset&&(e<0?n.nodeBefore:n.nodeAfter);if(s&&!s.isText){let r=t.state.tr;return e<0?r.delete(n.pos-s.nodeSize,n.pos):r.delete(n.pos,n.pos+s.nodeSize),t.dispatch(r),!0}return!1}function ir(t,e,n){t.domObserver.stop(),e.contentEditable=n,t.domObserver.start()}function sr(t,e){t.someProp("transformCopied",(n=>{e=n(e,t)}));let n=[],{content:r,openStart:i,openEnd:s}=e;for(;i>1&&s>1&&1==r.childCount&&1==r.firstChild.childCount;){i--,s--;let t=r.firstChild;n.push(t.type.name,t.attrs!=t.type.defaultAttrs?t.attrs:null),r=t.content}let o=t.someProp("clipboardSerializer")||rt.fromSchema(t.state.schema),l=mr(),u=l.createElement("div");u.appendChild(o.serializeFragment(r,{document:l}));let h,f=u.firstChild,a=0;for(;f&&1==f.nodeType&&(h=dr[f.nodeName.toLowerCase()]);){for(let t=h.length-1;t>=0;t--){let e=l.createElement(h[t]);for(;u.firstChild;)e.appendChild(u.firstChild);u.appendChild(e),a++}f=u.firstChild}return f&&1==f.nodeType&&f.setAttribute("data-pm-slice",`${i} ${s}${a?` -${a}`:""} ${JSON.stringify(n)}`),{dom:u,text:t.someProp("clipboardTextSerializer",(n=>n(e,t)))||e.content.textBetween(0,e.content.size,"\n\n")}}function or(t,e,n,i,s){let o,l,u=s.parent.type.spec.code;if(!n&&!e)return null;let f=e&&(i||u||!n);if(f){if(t.someProp("transformPastedText",(n=>{e=n(e,u||i,t)})),u)return e?new h(r.from(t.state.schema.text(e.replace(/\r\n?/g,"\n"))),0,0):h.empty;let n=t.someProp("clipboardTextParser",(n=>n(e,s,i,t)));if(n)l=n;else{let n=s.marks(),{schema:r}=t.state,i=rt.fromSchema(r);o=document.createElement("div"),e.split(/(?:\r\n?|\n)+/).forEach((t=>{let e=o.appendChild(document.createElement("p"));t&&e.appendChild(i.serializeNode(r.text(t,n)))}))}}else t.someProp("transformPastedHTML",(e=>{n=e(n,t)})),o=function(t){let e=/^(\s*]*>)*/.exec(t);e&&(t=t.slice(e[0].length));let n,r=mr().createElement("div"),i=/<([a-z][^>\s]+)/i.exec(t);if((n=i&&dr[i[1].toLowerCase()])&&(t=n.map((t=>"<"+t+">")).join("")+t+n.map((t=>"")).reverse().join("")),r.innerHTML=t,n)for(let t=0;t0;t--){let t=o.firstChild;for(;t&&1!=t.nodeType;)t=t.nextSibling;if(!t)break;o=t}if(!l){let e=t.someProp("clipboardParser")||t.someProp("domParser")||G.fromSchema(t.state.schema);l=e.parseSlice(o,{preserveWhitespace:!(!f&&!c),context:s,ruleFromNode:t=>"BR"!=t.nodeName||t.nextSibling||!t.parentNode||lr.test(t.parentNode.nodeName)?null:{ignore:!0}})}if(c)l=function(t,e){if(!t.size)return t;let n,i=t.content.firstChild.type.schema;try{n=JSON.parse(e)}catch(e){return t}let{content:s,openStart:o,openEnd:l}=t;for(let t=n.length-2;t>=0;t-=2){let e=i.nodes[n[t]];if(!e||e.hasRequiredAttrs())break;s=r.from(e.create(n[t+1],s)),o++,l++}return new h(s,o,l)}(cr(l,+c[1],+c[2]),c[4]);else if(l=h.maxOpen(function(t,e){if(t.childCount<2)return t;for(let n=e.depth;n>=0;n--){let i,s=e.node(n).contentMatchAt(e.index(n)),o=[];if(t.forEach((t=>{if(!o)return;let e,n=s.findWrapping(t.type);if(!n)return o=null;if(e=o.length&&i.length&&hr(n,i,t,o[o.length-1],0))o[o.length-1]=e;else{o.length&&(o[o.length-1]=fr(o[o.length-1],i.length));let e=ur(t,n);o.push(e),s=s.matchType(e.type),i=n}})),o)return r.from(o)}return t}(l.content,s),!0),l.openStart||l.openEnd){let t=0,e=0;for(let e=l.content.firstChild;t{l=e(l,t)})),l}const lr=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function ur(t,e,n=0){for(let i=e.length-1;i>=n;i--)t=e[i].create(null,r.from(t));return t}function hr(t,e,n,i,s){if(s1&&(o=0),s=n&&(u=e<0?l.contentMatchAt(0).fillBefore(u,o<=s).append(u):u.append(l.contentMatchAt(l.childCount).fillBefore(r.empty,!0))),t.replaceChild(e<0?0:t.childCount-1,l.copy(u))}function cr(t,e,n){return e{for(let n in e)t.input.eventHandlers[n]||t.dom.addEventListener(n,t.input.eventHandlers[n]=e=>xr(t,e))}))}function xr(t,e){return t.someProp("handleDOMEvents",(n=>{let r=n[e.type];return!!r&&(r(t,e)||e.defaultPrevented)}))}function Mr(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let n=e.target;n!=t.dom;n=n.parentNode)if(!n||11==n.nodeType||n.pmViewDesc&&n.pmViewDesc.stopEvent(e))return!1;return!0}function Or(t){return{left:t.clientX,top:t.clientY}}function Sr(t,e,n,r,i){if(-1==r)return!1;let s=t.state.doc.resolve(r);for(let r=s.depth+1;r>0;r--)if(t.someProp(e,(e=>r>s.depth?e(t,n,s.nodeAfter,s.before(r),i,!0):e(t,n,s.node(r),s.before(r),i,!1))))return!0;return!1}function Er(t,e,n){t.focused||t.focus();let r=t.state.tr.setSelection(e);"pointer"==n&&r.setMeta("pointer",!0),t.dispatch(r)}function Nr(t,e,n,r){return Sr(t,"handleDoubleClickOn",e,n,r)||t.someProp("handleDoubleClick",(n=>n(t,e,r)))}function Cr(t,e,n,r){return Sr(t,"handleTripleClickOn",e,n,r)||t.someProp("handleTripleClick",(n=>n(t,e,r)))||function(t,e,n){if(0!=n.button)return!1;let r=t.state.doc;if(-1==e)return!!r.inlineContent&&(Er(t,Yt.create(r,0,r.content.size),"pointer"),!0);let i=r.resolve(e);for(let e=i.depth+1;e>0;e--){let n=e>i.depth?i.nodeAfter:i.node(e),s=i.before(e);if(n.inlineContent)Er(t,Yt.create(r,s+1,s+1+n.content.size),"pointer");else{if(!Xt.isSelectable(n))continue;Er(t,Xt.create(r,s),"pointer")}return!0}}(t,n,r)}function Rr(t){return Ir(t)}vr.keydown=(t,e)=>{let n=e;if(t.input.shiftKey=16==n.keyCode||n.shiftKey,!Ar(t,n)&&(t.input.lastKeyCode=n.keyCode,t.input.lastKeyCodeTime=Date.now(),!He||!Ie||13!=n.keyCode))if(229!=n.keyCode&&t.domObserver.forceFlush(),!Fe||13!=n.keyCode||n.ctrlKey||n.altKey||n.metaKey)t.someProp("handleKeyDown",(e=>e(t,n)))||function(t,e){let n=e.keyCode,r=function(t){let e="";return t.ctrlKey&&(e+="c"),t.metaKey&&(e+="m"),t.altKey&&(e+="a"),t.shiftKey&&(e+="s"),e}(e);if(8==n||Le&&72==n&&"c"==r)return rr(t,-1)||Xn(t,-1);if(46==n&&!e.shiftKey||Le&&68==n&&"c"==r)return rr(t,1)||Xn(t,1);if(13==n||27==n)return!0;if(37==n||Le&&66==n&&"c"==r){let e=37==n?"ltr"==er(t,t.state.selection.from)?-1:1:-1;return _n(t,e,r)||Xn(t,e)}if(39==n||Le&&70==n&&"c"==r){let e=39==n?"ltr"==er(t,t.state.selection.from)?1:-1:1;return _n(t,e,r)||Xn(t,e)}return 38==n||Le&&80==n&&"c"==r?nr(t,-1,r)||Xn(t,-1):40==n||Le&&78==n&&"c"==r?function(t){if(!Je||t.state.selection.$head.parentOffset>0)return!1;let{focusNode:e,focusOffset:n}=t.domSelectionRange();if(e&&1==e.nodeType&&0==n&&e.firstChild&&"false"==e.firstChild.contentEditable){let n=e.firstChild;ir(t,n,"true"),setTimeout((()=>ir(t,n,"false")),20)}return!1}(t)||nr(t,1,r)||Xn(t,1):r==(Le?"m":"c")&&(66==n||73==n||89==n||90==n)}(t,n)?n.preventDefault():yr(t,"key");else{let e=Date.now();t.input.lastIOSEnter=e,t.input.lastIOSEnterFallbackTimeout=setTimeout((()=>{t.input.lastIOSEnter==e&&(t.someProp("handleKeyDown",(e=>e(t,Se(13,"Enter")))),t.input.lastIOSEnter=0)}),200)}},vr.keyup=(t,e)=>{16==e.keyCode&&(t.input.shiftKey=!1)},vr.keypress=(t,e)=>{let n=e;if(Ar(t,n)||!n.charCode||n.ctrlKey&&!n.altKey||Le&&n.metaKey)return;if(t.someProp("handleKeyPress",(e=>e(t,n))))return void n.preventDefault();let r=t.state.selection;if(!(r instanceof Yt&&r.$from.sameParent(r.$to))){let e=String.fromCharCode(n.charCode);/[\r\n]/.test(e)||t.someProp("handleTextInput",(n=>n(t,r.$from.pos,r.$to.pos,e)))||t.dispatch(t.state.tr.insertText(e).scrollIntoView()),n.preventDefault()}};const jr=Le?"metaKey":"ctrlKey";wr.mousedown=(t,e)=>{let n=e;t.input.shiftKey=n.shiftKey;let r=Rr(t),i=Date.now(),s="singleClick";i-t.input.lastClick.time<500&&function(t,e){let n=e.x-t.clientX,r=e.y-t.clientY;return n*n+r*r<100}(n,t.input.lastClick)&&!n[jr]&&("singleClick"==t.input.lastClick.type?s="doubleClick":"doubleClick"==t.input.lastClick.type&&(s="tripleClick")),t.input.lastClick={time:i,x:n.clientX,y:n.clientY,type:s};let o=t.posAtCoords(Or(n));o&&("singleClick"==s?(t.input.mouseDown&&t.input.mouseDown.done(),t.input.mouseDown=new Tr(t,o,n,!!r)):("doubleClick"==s?Nr:Cr)(t,o.pos,o.inside,n)?n.preventDefault():yr(t,"pointer"))};class Tr{constructor(t,e,n,r){let i,s;if(this.view=t,this.pos=e,this.event=n,this.flushed=r,this.delayedSelectionSync=!1,this.mightDrag=null,this.startDoc=t.state.doc,this.selectNode=!!n[jr],this.allowDefault=n.shiftKey,e.inside>-1)i=t.state.doc.nodeAt(e.inside),s=e.inside;else{let n=t.state.doc.resolve(e.pos);i=n.parent,s=n.depth?n.before():0}const o=r?null:n.target,l=o?t.docView.nearestDesc(o,!0):null;this.target=l?l.dom:null;let{selection:u}=t.state;(0==n.button&&i.type.spec.draggable&&!1!==i.type.spec.selectable||u instanceof Xt&&u.from<=s&&u.to>s)&&(this.mightDrag={node:i,pos:s,addAttr:!(!this.target||this.target.draggable),setUneditable:!(!this.target||!De||this.target.hasAttribute("contentEditable"))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout((()=>{this.view.input.mouseDown==this&&this.target.setAttribute("contentEditable","false")}),20),this.view.domObserver.start()),t.root.addEventListener("mouseup",this.up=this.up.bind(this)),t.root.addEventListener("mousemove",this.move=this.move.bind(this)),yr(t,"pointer")}done(){this.view.root.removeEventListener("mouseup",this.up),this.view.root.removeEventListener("mousemove",this.move),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute("draggable"),this.mightDrag.setUneditable&&this.target.removeAttribute("contentEditable"),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout((()=>Bn(this.view))),this.view.input.mouseDown=null}up(t){if(this.done(),!this.view.dom.contains(t.target))return;let e=this.pos;this.view.state.doc!=this.startDoc&&(e=this.view.posAtCoords(Or(t))),this.updateAllowDefault(t),this.allowDefault||!e?yr(this.view,"pointer"):function(t,e,n,r,i){return Sr(t,"handleClickOn",e,n,r)||t.someProp("handleClick",(n=>n(t,e,r)))||(i?function(t,e){if(-1==e)return!1;let n,r,i=t.state.selection;i instanceof Xt&&(n=i.node);let s=t.state.doc.resolve(e);for(let t=s.depth+1;t>0;t--){let e=t>s.depth?s.nodeAfter:s.node(t);if(Xt.isSelectable(e)){r=n&&i.$from.depth>0&&t>=i.$from.depth&&s.before(i.$from.depth+1)==i.$from.pos?s.before(i.$from.depth):s.before(t);break}}return null!=r&&(Er(t,Xt.create(t.state.doc,r),"pointer"),!0)}(t,n):function(t,e){if(-1==e)return!1;let n=t.state.doc.resolve(e),r=n.nodeAfter;return!!(r&&r.isAtom&&Xt.isSelectable(r))&&(Er(t,new Xt(n),"pointer"),!0)}(t,n))}(this.view,e.pos,e.inside,t,this.selectNode)?t.preventDefault():0==t.button&&(this.flushed||Je&&this.mightDrag&&!this.mightDrag.node.isAtom||Ie&&!this.view.state.selection.visible&&Math.min(Math.abs(e.pos-this.view.state.selection.from),Math.abs(e.pos-this.view.state.selection.to))<=2)?(Er(this.view,zt.near(this.view.state.doc.resolve(e.pos)),"pointer"),t.preventDefault()):yr(this.view,"pointer")}move(t){this.updateAllowDefault(t),yr(this.view,"pointer"),0==t.buttons&&this.done()}updateAllowDefault(t){!this.allowDefault&&(Math.abs(this.event.x-t.clientX)>4||Math.abs(this.event.y-t.clientY)>4)&&(this.allowDefault=!0)}}function Ar(t,e){return!!t.composing||!!(Je&&Math.abs(e.timeStamp-t.input.compositionEndedAt)<500)&&(t.input.compositionEndedAt=-2e8,!0)}wr.touchstart=t=>{t.input.lastTouch=Date.now(),Rr(t),yr(t,"pointer")},wr.touchmove=t=>{t.input.lastTouch=Date.now(),yr(t,"pointer")},wr.contextmenu=t=>Rr(t);const $r=He?5e3:-1;function Dr(t,e){clearTimeout(t.input.composingTimeout),e>-1&&(t.input.composingTimeout=setTimeout((()=>Ir(t)),e))}function Pr(t){for(t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=function(){let t=document.createEvent("Event");return t.initEvent("event",!0,!0),t.timeStamp}());t.input.compositionNodes.length>0;)t.input.compositionNodes.pop().markParentsDirty()}function Ir(t,e=!1){if(!(He&&t.domObserver.flushingSoon>=0)){if(t.domObserver.forceFlush(),Pr(t),e||t.docView&&t.docView.dirty){let e=Pn(t);return e&&!e.eq(t.state.selection)?t.dispatch(t.state.tr.setSelection(e)):t.updateState(t.state),!0}return!1}}vr.compositionstart=vr.compositionupdate=t=>{if(!t.composing){t.domObserver.flush();let{state:e}=t,n=e.selection.$from;if(e.selection.empty&&(e.storedMarks||!n.textOffset&&n.parentOffset&&n.nodeBefore.marks.some((t=>!1===t.type.spec.inclusive))))t.markCursor=t.state.storedMarks||n.marks(),Ir(t,!0),t.markCursor=null;else if(Ir(t),De&&e.selection.empty&&n.parentOffset&&!n.textOffset&&n.nodeBefore.marks.length){let e=t.domSelectionRange();for(let n=e.focusNode,r=e.focusOffset;n&&1==n.nodeType&&0!=r;){let e=r<0?n.lastChild:n.childNodes[r-1];if(!e)break;if(3==e.nodeType){t.domSelection().collapse(e,e.nodeValue.length);break}n=e,r=-1}}t.input.composing=!0}Dr(t,$r)},vr.compositionend=(t,e)=>{t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=e.timeStamp,t.input.compositionPendingChanges=t.domObserver.pendingRecords().length?t.input.compositionID:0,t.input.compositionNode=null,t.input.compositionPendingChanges&&Promise.resolve().then((()=>t.domObserver.flush())),t.input.compositionID++,Dr(t,20))};const Br=Ae&&$e<15||Fe&&We<604;function Jr(t,e,n,r,i){let s=or(t,e,n,r,t.state.selection.$from);if(t.someProp("handlePaste",(e=>e(t,i,s||h.empty))))return!0;if(!s)return!1;let o=function(t){return 0==t.openStart&&0==t.openEnd&&1==t.content.childCount?t.content.firstChild:null}(s),l=o?t.state.tr.replaceSelectionWith(o,r):t.state.tr.replaceSelection(s);return t.dispatch(l.scrollIntoView().setMeta("paste",!0).setMeta("uiEvent","paste")),!0}function Fr(t){let e=t.getData("text/plain")||t.getData("Text");if(e)return e;let n=t.getData("text/uri-list");return n?n.replace(/\r?\n/g," "):""}wr.copy=vr.cut=(t,e)=>{let n=e,r=t.state.selection,i="cut"==n.type;if(r.empty)return;let s=Br?null:n.clipboardData,o=r.content(),{dom:l,text:u}=sr(t,o);s?(n.preventDefault(),s.clearData(),s.setData("text/html",l.innerHTML),s.setData("text/plain",u)):function(t,e){if(!t.dom.parentNode)return;let n=t.dom.parentNode.appendChild(document.createElement("div"));n.appendChild(e),n.style.cssText="position: fixed; left: -10000px; top: 10px";let r=getSelection(),i=document.createRange();i.selectNodeContents(e),t.dom.blur(),r.removeAllRanges(),r.addRange(i),setTimeout((()=>{n.parentNode&&n.parentNode.removeChild(n),t.focus()}),50)}(t,l),i&&t.dispatch(t.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))},vr.paste=(t,e)=>{let n=e;if(t.composing&&!He)return;let r=Br?null:n.clipboardData,i=t.input.shiftKey&&45!=t.input.lastKeyCode;r&&Jr(t,Fr(r),r.getData("text/html"),i,n)?n.preventDefault():function(t,e){if(!t.dom.parentNode)return;let n=t.input.shiftKey||t.state.selection.$from.parent.type.spec.code,r=t.dom.parentNode.appendChild(document.createElement(n?"textarea":"div"));n||(r.contentEditable="true"),r.style.cssText="position: fixed; left: -10000px; top: 10px",r.focus();let i=t.input.shiftKey&&45!=t.input.lastKeyCode;setTimeout((()=>{t.focus(),r.parentNode&&r.parentNode.removeChild(r),n?Jr(t,r.value,null,i,e):Jr(t,r.textContent,r.innerHTML,i,e)}),50)}(t,n)};class Lr{constructor(t,e,n){this.slice=t,this.move=e,this.node=n}}const qr=Le?"altKey":"ctrlKey";wr.dragstart=(t,e)=>{let n=e,r=t.input.mouseDown;if(r&&r.done(),!n.dataTransfer)return;let i,s=t.state.selection,o=s.empty?null:t.posAtCoords(Or(n));if(o&&o.pos>=s.from&&o.pos<=(s instanceof Xt?s.to-1:s.to));else if(r&&r.mightDrag)i=Xt.create(t.state.doc,r.mightDrag.pos);else if(n.target&&1==n.target.nodeType){let e=t.docView.nearestDesc(n.target,!0);e&&e.node.type.spec.draggable&&e!=t.docView&&(i=Xt.create(t.state.doc,e.posBefore))}let l=(i||t.state.selection).content(),{dom:u,text:h}=sr(t,l);n.dataTransfer.clearData(),n.dataTransfer.setData(Br?"Text":"text/html",u.innerHTML),n.dataTransfer.effectAllowed="copyMove",Br||n.dataTransfer.setData("text/plain",h),t.dragging=new Lr(l,!n[qr],i)},wr.dragend=t=>{let e=t.dragging;window.setTimeout((()=>{t.dragging==e&&(t.dragging=null)}),50)},vr.dragover=vr.dragenter=(t,e)=>e.preventDefault(),vr.drop=(t,e)=>{let n=e,r=t.dragging;if(t.dragging=null,!n.dataTransfer)return;let i=t.posAtCoords(Or(n));if(!i)return;let s=t.state.doc.resolve(i.pos),o=r&&r.slice;o?t.someProp("transformPasted",(e=>{o=e(o,t)})):o=or(t,Fr(n.dataTransfer),Br?null:n.dataTransfer.getData("text/html"),!1,s);let l=!(!r||n[qr]);if(t.someProp("handleDrop",(e=>e(t,n,o||h.empty,l))))return void n.preventDefault();if(!o)return;n.preventDefault();let u=o?jt(t.state.doc,s.pos,o):s.pos;null==u&&(u=s.pos);let f=t.state.tr;if(l){let{node:t}=r;t?t.replace(f):f.deleteSelection()}let a=f.mapping.map(u),c=0==o.openStart&&0==o.openEnd&&1==o.content.childCount,d=f.doc;if(c?f.replaceRangeWith(a,a,o.content.firstChild):f.replaceRange(a,a,o),f.doc.eq(d))return;let p=f.doc.resolve(a);if(c&&Xt.isSelectable(o.content.firstChild)&&p.nodeAfter&&p.nodeAfter.sameMarkup(o.content.firstChild))f.setSelection(new Xt(p));else{let e=f.mapping.map(u);f.mapping.maps[f.mapping.maps.length-1].forEach(((t,n,r,i)=>e=i)),f.setSelection(Wn(t,p,f.doc.resolve(e)))}t.focus(),t.dispatch(f.setMeta("uiEvent","drop"))},wr.focus=t=>{t.input.lastFocus=Date.now(),t.focused||(t.domObserver.stop(),t.dom.classList.add("ProseMirror-focused"),t.domObserver.start(),t.focused=!0,setTimeout((()=>{t.docView&&t.hasFocus()&&!t.domObserver.currentSelection.eq(t.domSelectionRange())&&Bn(t)}),20))},wr.blur=(t,e)=>{let n=e;t.focused&&(t.domObserver.stop(),t.dom.classList.remove("ProseMirror-focused"),t.domObserver.start(),n.relatedTarget&&t.dom.contains(n.relatedTarget)&&t.domObserver.currentSelection.clear(),t.focused=!1)},wr.beforeinput=(t,e)=>{if(Ie&&He&&"deleteContentBackward"==e.inputType){t.domObserver.flushSoon();let{domChangeCount:e}=t.input;setTimeout((()=>{if(t.input.domChangeCount!=e)return;if(t.dom.blur(),t.focus(),t.someProp("handleKeyDown",(e=>e(t,Se(8,"Backspace")))))return;let{$cursor:n}=t.state.selection;n&&n.pos>0&&t.dispatch(t.state.tr.delete(n.pos-1,n.pos).scrollIntoView())}),50)}};for(let t in vr)wr[t]=vr[t];function Hr(t,e){if(t==e)return!0;for(let n in t)if(t[n]!==e[n])return!1;for(let n in e)if(!(n in t))return!1;return!0}class Ur{constructor(t,e){this.toDOM=t,this.spec=e||Vr,this.side=this.spec.side||0}map(t,e,n,r){let{pos:i,deleted:s}=t.mapResult(e.from+r,this.side<0?-1:1);return s?null:new zr(i-n,i-n,this)}valid(){return!0}eq(t){return this==t||t instanceof Ur&&(this.spec.key&&this.spec.key==t.spec.key||this.toDOM==t.toDOM&&Hr(this.spec,t.spec))}destroy(t){this.spec.destroy&&this.spec.destroy(t)}}class Wr{constructor(t,e){this.attrs=t,this.spec=e||Vr}map(t,e,n,r){let i=t.map(e.from+r,this.spec.inclusiveStart?-1:1)-n,s=t.map(e.to+r,this.spec.inclusiveEnd?1:-1)-n;return i>=s?null:new zr(i,s,this)}valid(t,e){return e.from=t&&(!i||i(o.spec))&&n.push(o.copy(o.from+r,o.to+r))}for(let s=0;st){let o=this.children[s]+1;this.children[s+2].findInner(t-o,e-o,n,r+o,i)}}map(t,e,n){return this==Yr||0==t.maps.length?this:this.mapInner(t,e,0,0,n||Vr)}mapInner(t,e,n,r,i){let s;for(let o=0;o{let o=s-i-(n-t);for(let i=0;is+e-r)continue;let u=l[i]+e-r;n>=u?l[i+1]=t<=u?-2:-1:t>=e&&o&&(l[i]+=o,l[i+1]+=o)}r+=o})),e=n.maps[t].map(e,-1)}let u=!1;for(let e=0;e=r.content.size){u=!0;continue}let a=n.map(t[e+1]+s,-1)-i,{index:c,offset:d}=r.content.findIndex(f),p=r.maybeChild(c);if(p&&d==f&&d+p.nodeSize==a){let r=l[e+2].mapInner(n,p,h+1,t[e]+s+1,o);r!=Yr?(l[e]=f,l[e+1]=a,l[e+2]=r):(l[e+1]=-2,u=!0)}else u=!0}if(u){let u=function(t,e,n,r,i,s,o){function l(t,e){for(let s=0;s{let o,l=s+n;if(o=Zr(e,t,l)){for(r||(r=this.children.slice());is&&e.to=t){this.children[e]==t&&(n=this.children[e+2]);break}let i=t+1,s=i+e.content.size;for(let t=0;ti&&e.type instanceof Wr){let t=Math.max(i,e.from)-i,n=Math.min(s,e.to)-i;tn.map(t,e,Vr)));return Qr.from(n)}forChild(t,e){if(e.isLeaf)return _r.empty;let n=[];for(let r=0;rt instanceof _r))?t:t.reduce(((t,e)=>t.concat(e instanceof _r?e:e.members)),[]))}}}function Xr(t,e){if(!e||!t.length)return t;let n=[];for(let r=0;rn&&e.to{let l=Zr(t,e,o+n);if(l){s=!0;let t=ei(l,e,n+o+1,r);t!=Yr&&i.push(o,o+e.nodeSize,t)}}));let o=Xr(s?ti(t):t,-n).sort(ni);for(let t=0;t0;)e++;t.splice(e,0,n)}function si(t){let e=[];return t.someProp("decorations",(n=>{let r=n(t.state);r&&r!=Yr&&e.push(r)})),t.cursorWrapper&&e.push(_r.create(t.state.doc,[t.cursorWrapper.deco])),Qr.from(e)}const oi={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},li=Ae&&$e<=11;class ui{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(t){this.anchorNode=t.anchorNode,this.anchorOffset=t.anchorOffset,this.focusNode=t.focusNode,this.focusOffset=t.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(t){return t.anchorNode==this.anchorNode&&t.anchorOffset==this.anchorOffset&&t.focusNode==this.focusNode&&t.focusOffset==this.focusOffset}}class hi{constructor(t,e){this.view=t,this.handleDOMChange=e,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new ui,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.observer=window.MutationObserver&&new window.MutationObserver((t=>{for(let e=0;e"childList"==t.type&&t.removedNodes.length||"characterData"==t.type&&t.oldValue.length>t.target.nodeValue.length))?this.flushSoon():this.flush()})),li&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout((()=>{this.flushingSoon=-1,this.flush()}),20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,oi)),this.onCharData&&this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.connectSelection()}stop(){if(this.observer){let t=this.observer.takeRecords();if(t.length){for(let e=0;ethis.flush()),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout((()=>this.suppressingSelectionUpdates=!1),50)}onSelectionChange(){if(Kn(this.view)){if(this.suppressingSelectionUpdates)return Bn(this.view);if(Ae&&$e<=11&&!this.view.state.selection.empty){let t=this.view.domSelectionRange();if(t.focusNode&&be(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(t){if(!t.focusNode)return!0;let e,n=new Set;for(let e=t.focusNode;e;e=we(e))n.add(e);for(let r=t.anchorNode;r;r=we(r))if(n.has(r)){e=r;break}let r=e&&this.view.docView.nearestDesc(e);return r&&r.ignoreMutation({type:"selection",target:3==e.nodeType?e.parentNode:e})?(this.setCurSelection(),!0):void 0}pendingRecords(){if(this.observer)for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}flush(){let{view:t}=this;if(!t.docView||this.flushingSoon>-1)return;let e=this.pendingRecords();e.length&&(this.queue=[]);let n=t.domSelectionRange(),r=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(n)&&Kn(t)&&!this.ignoreSelectionChange(n),i=-1,s=-1,o=!1,l=[];if(t.editable)for(let t=0;t1){let t=l.filter((t=>"BR"==t.nodeName));if(2==t.length){let e=t[0],n=t[1];e.parentNode&&e.parentNode.parentNode==n.parentNode?n.remove():e.remove()}}let u=null;i<0&&r&&t.input.lastFocus>Date.now()-200&&Math.max(t.input.lastTouch,t.input.lastClick.time)-1||r)&&(i>-1&&(t.docView.markDirty(i,s),function(t){if(!fi.has(t)&&(fi.set(t,null),-1!==["normal","nowrap","pre-line"].indexOf(getComputedStyle(t.dom).whiteSpace))){if(t.requiresGeckoHackNode=De,ai)return;console.warn("ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package."),ai=!0}}(t)),this.handleDOMChange(i,s,o,l),t.docView&&t.docView.dirty?t.updateState(t.state):this.currentSelection.eq(n)||Bn(t),this.currentSelection.set(n))}registerMutation(t,e){if(e.indexOf(t.target)>-1)return null;let n=this.view.docView.nearestDesc(t.target);if("attributes"==t.type&&(n==this.view.docView||"contenteditable"==t.attributeName||"style"==t.attributeName&&!t.oldValue&&!t.target.getAttribute("style")))return null;if(!n||n.ignoreMutation(t))return null;if("childList"==t.type){for(let n=0;ne.content.size?null:Wn(t,e.resolve(n.anchor),e.resolve(n.head))}function wi(t,e,n){let r=t.depth,i=e?t.end():t.pos;for(;r>0&&(e||t.indexAfter(r)==t.node(r).childCount);)r--,i++,e=!1;if(n){let e=t.node(r).maybeChild(t.indexAfter(r));for(;e&&!e.isLeaf;)e=e.firstChild,i++}return i}function vi(t){if(2!=t.length)return!1;let e=t.charCodeAt(0),n=t.charCodeAt(1);return e>=56320&&e<=57343&&n>=55296&&n<=56319}class gi{constructor(t,e){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new br,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=e,this.state=e.state,this.directPlugins=e.plugins||[],this.directPlugins.forEach(Mi),this.dispatch=this.dispatch.bind(this),this.dom=t&&t.mount||document.createElement("div"),t&&(t.appendChild?t.appendChild(this.dom):"function"==typeof t?t(this.dom):t.mount&&(this.mounted=!0)),this.editable=ki(this),yi(this),this.nodeViews=xi(this),this.docView=bn(this.state.doc,bi(this),si(this),this.dom,this),this.domObserver=new hi(this,((t,e,n,i)=>function(t,e,n,i,s){let o=t.input.compositionPendingChanges||(t.composing?t.input.compositionID:0);if(t.input.compositionPendingChanges=0,e<0){let e=t.input.lastSelectionTime>Date.now()-50?t.input.lastSelectionOrigin:null,n=Pn(t,e);if(n&&!t.state.selection.eq(n)){if(Ie&&He&&13===t.input.lastKeyCode&&Date.now()-100e(t,Se(13,"Enter")))))return;let r=t.state.tr.setSelection(n);"pointer"==e?r.setMeta("pointer",!0):"key"==e&&r.scrollIntoView(),o&&r.setMeta("composition",o),t.dispatch(r)}return}let l=t.state.doc.resolve(e),u=l.sharedDepth(n);e=l.before(u+1),n=t.state.doc.resolve(n).after(u+1);let h,f,a=t.state.selection,c=function(t,e,n){let r,{node:i,fromOffset:s,toOffset:o,from:l,to:u}=t.docView.parseRange(e,n),h=t.domSelectionRange(),f=h.anchorNode;if(f&&t.dom.contains(1==f.nodeType?f:f.parentNode)&&(r=[{node:f,offset:h.anchorOffset}],Oe(h)||r.push({node:h.focusNode,offset:h.focusOffset})),Ie&&8===t.input.lastKeyCode)for(let t=o;t>s;t--){let e=i.childNodes[t-1],n=e.pmViewDesc;if("BR"==e.nodeName&&!n){o=t;break}if(!n||n.size)break}let a=t.state.doc,c=t.someProp("domParser")||G.fromSchema(t.state.schema),d=a.resolve(l),p=null,m=c.parse(i,{topNode:d.parent,topMatch:d.parent.contentMatchAt(d.index()),topOpen:!0,from:s,to:o,preserveWhitespace:"pre"!=d.parent.type.whitespace||"full",findPositions:r,ruleFromNode:di,context:d});if(r&&null!=r[0].pos){let t=r[0].pos,e=r[1]&&r[1].pos;null==e&&(e=t),p={anchor:t+l,head:e+l}}return{doc:m,sel:p,from:l,to:u}}(t,e,n),d=t.state.doc,p=d.slice(c.from,c.to);8===t.input.lastKeyCode&&Date.now()-100=o?s-r:0;s-=t,s&&s=l?s-r:0;s-=e,s&&sDate.now()-225||He)&&s.some((t=>1==t.nodeType&&!pi.test(t.nodeName)))&&(!m||m.endA>=m.endB)&&t.someProp("handleKeyDown",(e=>e(t,Se(13,"Enter")))))return void(t.input.lastIOSEnter=0);if(!m){if(!(i&&a instanceof Yt&&!a.empty&&a.$head.sameParent(a.$anchor))||t.composing||c.sel&&c.sel.anchor!=c.sel.head){if(c.sel){let e=mi(t,t.state.doc,c.sel);if(e&&!e.eq(t.state.selection)){let n=t.state.tr.setSelection(e);o&&n.setMeta("composition",o),t.dispatch(n)}}return}m={start:a.from,endA:a.to,endB:a.to}}t.input.domChangeCount++,t.state.selection.fromt.state.selection.from&&m.start<=t.state.selection.from+2&&t.state.selection.from>=c.from?m.start=t.state.selection.from:m.endA=t.state.selection.to-2&&t.state.selection.to<=c.to&&(m.endB+=t.state.selection.to-m.endA,m.endA=t.state.selection.to)),Ae&&$e<=11&&m.endB==m.start+1&&m.endA==m.start&&m.start>c.from&&"  "==c.doc.textBetween(m.start-c.from-1,m.start-c.from+1)&&(m.start--,m.endA--,m.endB--);let w,v=c.doc.resolveNoCache(m.start-c.from),g=c.doc.resolveNoCache(m.endB-c.from),b=d.resolve(m.start),y=v.sameParent(g)&&v.parent.inlineContent&&b.end()>=m.endA;if((Fe&&t.input.lastIOSEnter>Date.now()-225&&(!y||s.some((t=>"DIV"==t.nodeName||"P"==t.nodeName)))||!y&&v.pose(t,Se(13,"Enter")))))return void(t.input.lastIOSEnter=0);if(t.state.selection.anchor>m.start&&function(t,e,n,r,i){if(n-e<=i.pos-r.pos||wi(r,!0,!1)n||wi(o,!0,!1)e(t,Se(8,"Backspace")))))return void(He&&Ie&&t.domObserver.suppressSelectionUpdates());Ie&&He&&m.endB==m.start&&(t.input.lastAndroidDelete=Date.now()),He&&!y&&v.start()!=g.start()&&0==g.parentOffset&&v.depth==g.depth&&c.sel&&c.sel.anchor==c.sel.head&&c.sel.head==m.endA&&(m.endB-=2,g=c.doc.resolveNoCache(m.endB-c.from),setTimeout((()=>{t.someProp("handleKeyDown",(function(e){return e(t,Se(13,"Enter"))}))}),20));let k,x,M,O=m.start,S=m.endA;if(y)if(v.pos==g.pos)Ae&&$e<=11&&0==v.parentOffset&&(t.domObserver.suppressSelectionUpdates(),setTimeout((()=>Bn(t)),20)),k=t.state.tr.delete(O,S),x=d.resolve(m.start).marksAcross(d.resolve(m.endA));else if(m.endA==m.endB&&(M=function(t,e){let n,i,s,o=t.firstChild.marks,l=e.firstChild.marks,u=o,h=l;for(let t=0;tt.mark(i.addToSet(t.marks));else{if(0!=u.length||1!=h.length)return null;i=h[0],n="remove",s=t=>t.mark(i.removeFromSet(t.marks))}let f=[];for(let t=0;tn(t,O,S,e))))return;k=t.state.tr.insertText(e,O,S)}if(k||(k=t.state.tr.replace(O,S,c.doc.slice(m.start-c.from,m.endB-c.from))),c.sel){let e=mi(t,k.doc,c.sel);e&&!(Ie&&He&&t.composing&&e.empty&&(m.start!=m.endB||t.input.lastAndroidDelete{!Mr(t,e)||xr(t,e)||!t.editable&&e.type in vr||n(t,e)},gr[e]?{passive:!0}:void 0)}Je&&t.dom.addEventListener("input",(()=>null)),kr(t)}(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let t=this._props;this._props={};for(let e in t)this._props[e]=t[e];this._props.state=this.state}return this._props}update(t){t.handleDOMEvents!=this._props.handleDOMEvents&&kr(this);let e=this._props;this._props=t,t.plugins&&(t.plugins.forEach(Mi),this.directPlugins=t.plugins),this.updateStateInner(t.state,e)}setProps(t){let e={};for(let t in this._props)e[t]=this._props[t];e.state=this.state;for(let n in t)e[n]=t[n];this.update(e)}updateState(t){this.updateStateInner(t,this._props)}updateStateInner(t,e){var n;let r=this.state,i=!1,s=!1;t.storedMarks&&this.composing&&(Pr(this),s=!0),this.state=t;let o=r.plugins!=t.plugins||this._props.plugins!=e.plugins;if(o||this._props.plugins!=e.plugins||this._props.nodeViews!=e.nodeViews){let t=xi(this);(function(t,e){let n=0,r=0;for(let r in t){if(t[r]!=e[r])return!0;n++}for(let t in e)r++;return n!=r})(t,this.nodeViews)&&(this.nodeViews=t,i=!0)}(o||e.handleDOMEvents!=this._props.handleDOMEvents)&&kr(this),this.editable=ki(this),yi(this);let l=si(this),u=bi(this),h=r.plugins==t.plugins||r.doc.eq(t.doc)?t.scrollToSelection>r.scrollToSelection?"to selection":"preserve":"reset",f=i||!this.docView.matchesNode(t.doc,u,l);!f&&t.selection.eq(r.selection)||(s=!0);let a="preserve"==h&&s&&null==this.dom.style.overflowAnchor&&function(t){let e,n,r=t.dom.getBoundingClientRect(),i=Math.max(0,r.top);for(let s=(r.left+r.right)/2,o=i+1;o=i-20){e=r,n=l.top;break}}return{refDOM:e,refTop:n,stack:_e(t.dom)}}(this);if(s){this.domObserver.stop();let e=f&&(Ae||Ie)&&!this.composing&&!r.selection.empty&&!t.selection.empty&&function(t,e){let n=Math.min(t.$anchor.sharedDepth(t.head),e.$anchor.sharedDepth(e.head));return t.$anchor.start(n)!=e.$anchor.start(n)}(r.selection,t.selection);if(f){let n=Ie?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=function(t){let e=t.domSelectionRange();if(!e.focusNode)return null;let n=function(t,e){for(;;){if(3==t.nodeType&&e)return t;if(1==t.nodeType&&e>0){if("false"==t.contentEditable)return null;e=xe(t=t.childNodes[e-1])}else{if(!t.parentNode||Me(t))return null;e=me(t),t=t.parentNode}}}(e.focusNode,e.focusOffset),r=function(t,e){for(;;){if(3==t.nodeType&&et(this))));else if(this.state.selection instanceof Xt){let e=this.docView.domAfterPos(this.state.selection.from);1==e.nodeType&&Ve(this,e.getBoundingClientRect(),t)}else Ve(this,this.coordsAtPos(this.state.selection.head,1),t)}destroyPluginViews(){let t;for(;t=this.pluginViews.pop();)t.destroy&&t.destroy()}updatePluginViews(t){if(t&&t.plugins==this.state.plugins&&this.directPlugins==this.prevDirectPlugins)for(let e=0;e0&&this.state.doc.nodeAt(t))==n.node&&(r=t)}this.dragging=new Lr(t.slice,t.move,r<0?void 0:Xt.create(this.state.doc,r))}someProp(t,e){let n,r=this._props&&this._props[t];if(null!=r&&(n=e?e(r):r))return n;for(let r=0;rt.ownerDocument.getSelection()),this._root=t;return t||document}updateRoot(){this._root=null}posAtCoords(t){return en(this,t)}coordsAtPos(t,e=1){return on(this,t,e)}domAtPos(t,e=0){return this.docView.domFromPos(t,e)}nodeDOM(t){let e=this.docView.descAt(t);return e?e.nodeDOM:null}posAtDOM(t,e,n=-1){let r=this.docView.posFromDOM(t,e,n);if(null==r)throw new RangeError("DOM position not inside the editor");return r}endOfTextblock(t,e){return function(t,e,n){return an==e&&cn==n?dn:(an=e,cn=n,dn="up"==n||"down"==n?function(t,e,n){let r=e.selection,i="up"==n?r.$from:r.$to;return hn(t,e,(()=>{let{node:e}=t.docView.domFromPos(i.pos,"up"==n?-1:1);for(;;){let n=t.docView.nearestDesc(e,!0);if(!n)break;if(n.node.isBlock){e=n.contentDOM||n.dom;break}e=n.dom.parentNode}let r=on(t,i.pos,1);for(let t=e.firstChild;t;t=t.nextSibling){let e;if(1==t.nodeType)e=t.getClientRects();else{if(3!=t.nodeType)continue;e=ge(t,0,t.nodeValue.length).getClientRects()}for(let t=0;ti.top+1&&("up"==n?r.top-i.top>2*(i.bottom-r.top):i.bottom-r.bottom>2*(r.bottom-i.top)))return!1}}return!0}))}(t,e,n):function(t,e,n){let{$head:r}=e.selection;if(!r.parent.isTextblock)return!1;let i=r.parentOffset,s=!i,o=i==r.parent.content.size,l=t.domSelection();return fn.test(r.parent.textContent)&&l.modify?hn(t,e,(()=>{let{focusNode:e,focusOffset:i,anchorNode:s,anchorOffset:o}=t.domSelectionRange(),u=l.caretBidiLevel;l.modify("move",n,"character");let h=r.depth?t.docView.domAfterPos(r.before()):t.dom,{focusNode:f,focusOffset:a}=t.domSelectionRange(),c=f&&!h.contains(1==f.nodeType?f:f.parentNode)||e==f&&i==a;try{l.collapse(s,o),e&&(e!=s||i!=o)&&l.extend&&l.extend(e,i)}catch(t){}return null!=u&&(l.caretBidiLevel=u),c})):"left"==n||"backward"==n?s:o}(t,e,n))}(this,e||this.state,t)}pasteHTML(t,e){return Jr(this,"",t,!1,e||new ClipboardEvent("paste"))}pasteText(t,e){return Jr(this,t,null,!0,e||new ClipboardEvent("paste"))}destroy(){this.docView&&(function(t){t.domObserver.stop();for(let e in t.input.eventHandlers)t.dom.removeEventListener(e,t.input.eventHandlers[e]);clearTimeout(t.input.composingTimeout),clearTimeout(t.input.lastIOSEnterFallbackTimeout)}(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],si(this),this),this.dom.textContent=""):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,ve=null)}get isDestroyed(){return null==this.docView}dispatchEvent(t){return function(t,e){xr(t,e)||!wr[e.type]||!t.editable&&e.type in vr||wr[e.type](t,e)}(this,t)}dispatch(t){let e=this._props.dispatchTransaction;e?e.call(this,t):this.updateState(this.state.apply(t))}domSelectionRange(){let t=this.domSelection();return Je&&11===this.root.nodeType&&function(t){let e=t.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}(this.dom.ownerDocument)==this.dom&&function(t,e){if(e.getComposedRanges){let n=e.getComposedRanges(t.root)[0];if(n)return ci(t,n)}let n;function r(t){t.preventDefault(),t.stopImmediatePropagation(),n=t.getTargetRanges()[0]}return t.dom.addEventListener("beforeinput",r,!0),document.execCommand("indent"),t.dom.removeEventListener("beforeinput",r,!0),n?ci(t,n):null}(this,t)||t}domSelection(){return this.root.getSelection()}}function bi(t){let e=Object.create(null);return e.class="ProseMirror",e.contenteditable=String(t.editable),t.someProp("attributes",(n=>{if("function"==typeof n&&(n=n(t.state)),n)for(let t in n)"class"==t?e.class+=" "+n[t]:"style"==t?e.style=(e.style?e.style+";":"")+n[t]:e[t]||"contenteditable"==t||"nodeName"==t||(e[t]=String(n[t]))})),e.translate||(e.translate="no"),[zr.node(0,t.state.doc.content.size,e)]}function yi(t){if(t.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator",e.setAttribute("mark-placeholder","true"),e.setAttribute("alt",""),t.cursorWrapper={dom:e,deco:zr.widget(t.state.selection.head,e,{raw:!0,marks:t.markCursor})}}else t.cursorWrapper=null}function ki(t){return!t.someProp("editable",(e=>!1===e(t.state)))}function xi(t){let e=Object.create(null);function n(t){for(let n in t)Object.prototype.hasOwnProperty.call(e,n)||(e[n]=t[n])}return t.someProp("nodeViews",n),t.someProp("markViews",n),e}function Mi(t){if(t.spec.state||t.spec.filterTransaction||t.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}for(var Oi={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Si={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Ei="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),Ni="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Ci=0;Ci<10;Ci++)Oi[48+Ci]=Oi[96+Ci]=String(Ci);for(Ci=1;Ci<=24;Ci++)Oi[Ci+111]="F"+Ci;for(Ci=65;Ci<=90;Ci++)Oi[Ci]=String.fromCharCode(Ci+32),Si[Ci]=String.fromCharCode(Ci);for(var Ri in Oi)Si.hasOwnProperty(Ri)||(Si[Ri]=Oi[Ri]);const ji="undefined"!=typeof navigator&&/Mac|iP(hone|[oa]d)/.test(navigator.platform);function Ti(t){let e,n,r,i,s=t.split(/-(?!$)/),o=s[s.length-1];"Space"==o&&(o=" ");for(let t=0;t127)&&(r=Oi[n.keyCode])&&r!=i){let i=e[Ai(r,n)];if(i&&i(t.state,t.dispatch,t))return!0}}return!1}}const Di=(t,e)=>!t.selection.empty&&(e&&e(t.tr.deleteSelection().scrollIntoView()),!0);function Pi(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("backward",t):n.parentOffset>0)?null:n}const Ii=(t,e,n)=>{let r=Pi(t,n);if(!r)return!1;let i=Li(r);if(!i){let n=r.blockRange(),i=n&&Mt(n);return null!=i&&(e&&e(t.tr.lift(n,i).scrollIntoView()),!0)}let s=i.nodeBefore;if(!s.type.spec.isolating&&Qi(t,i,e))return!0;if(0==r.parent.content.size&&(Ji(s,"end")||Xt.isSelectable(s))){let n=Tt(t.doc,r.before(),r.after(),h.empty);if(n&&n.slice.size=o-i)return!1;if(n){let e=t.tr.step(l);e.setSelection(Yt.create(e.doc,i)),n(e.scrollIntoView())}return!0}function Ji(t,e,n=!1){for(let r=t;r;r="start"==e?r.firstChild:r.lastChild){if(r.isTextblock)return!0;if(n&&1!=r.childCount)return!1}return!1}const Fi=(t,e,n)=>{let{$head:r,empty:i}=t.selection,s=r;if(!i)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock("backward",t):r.parentOffset>0)return!1;s=Li(r)}let o=s&&s.nodeBefore;return!(!o||!Xt.isSelectable(o)||(e&&e(t.tr.setSelection(Xt.create(t.doc,s.pos-o.nodeSize)).scrollIntoView()),0))};function Li(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){if(t.index(e)>0)return t.doc.resolve(t.before(e+1));if(t.node(e).type.spec.isolating)break}return null}function qi(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("forward",t):n.parentOffset{let r=qi(t,n);if(!r)return!1;let i=Wi(r);if(!i)return!1;let s=i.nodeAfter;if(Qi(t,i,e))return!0;if(0==r.parent.content.size&&(Ji(s,"start")||Xt.isSelectable(s))){let n=Tt(t.doc,r.before(),r.after(),h.empty);if(n&&n.slice.size{let{$head:r,empty:i}=t.selection,s=r;if(!i)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock("forward",t):r.parentOffset=0;e--){let n=t.node(e);if(t.index(e)+1{let{$head:n,$anchor:r}=t.selection;return!(!n.parent.type.spec.code||!n.sameParent(r)||(e&&e(t.tr.insertText("\n").scrollIntoView()),0))};function zi(t){for(let e=0;e{let{$head:n,$anchor:r}=t.selection;if(!n.parent.type.spec.code||!n.sameParent(r))return!1;let i=n.node(-1),s=n.indexAfter(-1),o=zi(i.contentMatchAt(s));if(!o||!i.canReplaceWith(s,s,o))return!1;if(e){let r=n.after(),i=t.tr.replaceWith(r,r,o.createAndFill());i.setSelection(zt.near(i.doc.resolve(r),1)),e(i.scrollIntoView())}return!0},Vi=(t,e)=>{let n=t.selection,{$from:r,$to:i}=n;if(n instanceof te||r.parent.inlineContent||i.parent.inlineContent)return!1;let s=zi(i.parent.contentMatchAt(i.indexAfter()));if(!s||!s.isTextblock)return!1;if(e){let n=(!r.parentOffset&&i.index(){let{$cursor:n}=t.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let r=n.before();if(Et(t.doc,r))return e&&e(t.tr.split(r).scrollIntoView()),!0}let r=n.blockRange(),i=r&&Mt(r);return null!=i&&(e&&e(t.tr.lift(r,i).scrollIntoView()),!0)};var Yi;function Qi(t,e,n){let i,s,o=e.nodeBefore,l=e.nodeAfter;if(o.type.spec.isolating||l.type.spec.isolating)return!1;if(function(t,e,n){let r=e.nodeBefore,i=e.nodeAfter,s=e.index();return!(!(r&&i&&r.type.compatibleContent(i.type))||(!r.content.size&&e.parent.canReplace(s-1,s)?(n&&n(t.tr.delete(e.pos-r.nodeSize,e.pos).scrollIntoView()),0):!e.parent.canReplace(s,s+1)||!i.isTextblock&&!Nt(t.doc,e.pos)||(n&&n(t.tr.clearIncompatible(e.pos,r.type,r.contentMatchAt(r.childCount)).join(e.pos).scrollIntoView()),0)))}(t,e,n))return!0;let u=e.parent.canReplace(e.index(),e.index()+1);if(u&&(i=(s=o.contentMatchAt(o.childCount)).findWrapping(l.type))&&s.matchType(i[0]||l.type).validEnd){if(n){let s=e.pos+l.nodeSize,u=r.empty;for(let t=i.length-1;t>=0;t--)u=r.from(i[t].create(null,u));u=r.from(o.copy(u));let f=t.tr.step(new yt(e.pos-1,s,e.pos,s,new h(u,1,0),i.length,!0)),a=s+2*i.length;Nt(f.doc,a)&&f.join(a),n(f.scrollIntoView())}return!0}let f=zt.findFrom(e,1),a=f&&f.$from.blockRange(f.$to),c=a&&Mt(a);if(null!=c&&c>=e.depth)return n&&n(t.tr.lift(a,c).scrollIntoView()),!0;if(u&&Ji(l,"start",!0)&&Ji(o,"end")){let i=o,s=[];for(;s.push(i),!i.isTextblock;)i=i.lastChild;let u=l,f=1;for(;!u.isTextblock;u=u.firstChild)f++;if(i.canReplace(i.childCount,i.childCount,u.content)){if(n){let i=r.empty;for(let t=s.length-1;t>=0;t--)i=r.from(s[t].copy(i));n(t.tr.step(new yt(e.pos-s.length,e.pos+l.nodeSize,e.pos+f,e.pos+l.nodeSize-f,new h(i,s.length,0),0,!0)).scrollIntoView())}return!0}}return!1}function Xi(t){return function(e,n){let r=e.selection,i=t<0?r.$from:r.$to,s=i.depth;for(;i.node(s).isInline;){if(!s)return!1;s--}return!!i.node(s).isTextblock&&(n&&n(e.tr.setSelection(Yt.create(e.doc,t<0?i.start(s):i.end(s)))),!0)}}const Zi=Xi(-1),ts=Xi(1);function es(t,e=null){return function(n,r){let i=!1;for(let r=0;r{if(i)return!1;if(r.isTextblock&&!r.hasMarkup(t,e))if(r.type==t)i=!0;else{let e=n.doc.resolve(s),r=e.index();i=e.parent.canReplaceWith(r,r+1,t)}}))}if(!i)return!1;if(r){let i=n.tr;for(let r=0;r{let{$from:n,$to:r}=t.selection;if(t.selection instanceof Xt&&t.selection.node.isBlock)return!(!n.parentOffset||!Et(t.doc,n.pos)||(e&&e(t.tr.split(n.pos).scrollIntoView()),0));if(!n.parent.isBlock)return!1;if(e){let i=r.parentOffset==r.parent.content.size,s=t.tr;(t.selection instanceof Yt||t.selection instanceof te)&&s.deleteSelection();let o=0==n.depth?null:zi(n.node(-1).contentMatchAt(n.indexAfter(-1))),l=Yi?[Yi]:i&&o?[{type:o}]:void 0,u=Et(s.doc,s.mapping.map(n.pos),1,l);if(l||u||!Et(s.doc,s.mapping.map(n.pos),1,o?[{type:o}]:void 0)||(o&&(l=[{type:o}]),u=!0),u&&(s.split(s.mapping.map(n.pos),1,l),!i&&!n.parentOffset&&n.parent.type!=o)){let t=s.mapping.map(n.before()),e=s.doc.resolve(t);o&&n.node(-1).canReplaceWith(e.index(),e.index()+1,o)&&s.setNodeMarkup(s.mapping.map(n.before()),o)}e(s.scrollIntoView())}return!0})),"Mod-Enter":Gi,Backspace:rs,"Mod-Backspace":rs,"Shift-Backspace":rs,Delete:is,"Mod-Delete":is,"Mod-a":(t,e)=>(e&&e(t.tr.setSelection(new te(t.doc))),!0)},ls={"Ctrl-h":ss.Backspace,"Alt-Backspace":ss["Mod-Backspace"],"Ctrl-d":ss.Delete,"Ctrl-Alt-Backspace":ss["Mod-Delete"],"Alt-Delete":ss["Mod-Delete"],"Alt-d":ss["Mod-Delete"],"Ctrl-a":Zi,"Ctrl-e":ts};for(let t in ss)ls[t]=ss[t];function us(t){const{state:e,transaction:n}=t;let{selection:r}=n,{doc:i}=n,{storedMarks:s}=n;return{...e,apply:e.apply.bind(e),applyTransaction:e.applyTransaction.bind(e),plugins:e.plugins,schema:e.schema,reconfigure:e.reconfigure.bind(e),toJSON:e.toJSON.bind(e),get storedMarks(){return s},get selection(){return r},get doc(){return i},get tr(){return r=n.selection,i=n.doc,s=n.storedMarks,n}}}"undefined"!=typeof navigator?/Mac|iP(hone|[oa]d)/.test(navigator.platform):"undefined"!=typeof os&&os.platform&&os.platform();class hs{constructor(t){this.editor=t.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=t.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){const{rawCommands:t,editor:e,state:n}=this,{view:r}=e,{tr:i}=n,s=this.buildProps(i);return Object.fromEntries(Object.entries(t).map((([t,e])=>[t,(...t)=>{const n=e(...t)(s);return i.getMeta("preventDispatch")||this.hasCustomState||r.dispatch(i),n}])))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(t,e=!0){const{rawCommands:n,editor:r,state:i}=this,{view:s}=r,o=[],l=!!t,u=t||i.tr,h={...Object.fromEntries(Object.entries(n).map((([t,n])=>[t,(...t)=>{const r=this.buildProps(u,e),i=n(...t)(r);return o.push(i),h}]))),run:()=>(l||!e||u.getMeta("preventDispatch")||this.hasCustomState||s.dispatch(u),o.every((t=>!0===t)))};return h}createCan(t){const{rawCommands:e,state:n}=this,r=!1,i=t||n.tr,s=this.buildProps(i,r);return{...Object.fromEntries(Object.entries(e).map((([t,e])=>[t,(...t)=>e(...t)({...s,dispatch:void 0})]))),chain:()=>this.createChain(i,r)}}buildProps(t,e=!0){const{rawCommands:n,editor:r,state:i}=this,{view:s}=r,o={tr:t,editor:r,view:s,state:us({state:i,transaction:t}),dispatch:e?()=>{}:void 0,chain:()=>this.createChain(t,e),can:()=>this.createCan(t),get commands(){return Object.fromEntries(Object.entries(n).map((([t,e])=>[t,(...t)=>e(...t)(o)])))}};return o}}class fs{constructor(){this.callbacks={}}on(t,e){return this.callbacks[t]||(this.callbacks[t]=[]),this.callbacks[t].push(e),this}emit(t,...e){const n=this.callbacks[t];return n&&n.forEach((t=>t.apply(this,e))),this}off(t,e){const n=this.callbacks[t];return n&&(e?this.callbacks[t]=n.filter((t=>t!==e)):delete this.callbacks[t]),this}removeAllListeners(){this.callbacks={}}}function as(t,e,n){return void 0===t.config[e]&&t.parent?as(t.parent,e,n):"function"==typeof t.config[e]?t.config[e].bind({...n,parent:t.parent?as(t.parent,e,n):null}):t.config[e]}function cs(t){return{baseExtensions:t.filter((t=>"extension"===t.type)),nodeExtensions:t.filter((t=>"node"===t.type)),markExtensions:t.filter((t=>"mark"===t.type))}}function ds(t){const e=[],{nodeExtensions:n,markExtensions:r}=cs(t),i=[...n,...r],s={default:null,rendered:!0,renderHTML:null,parseHTML:null,keepOnSplit:!0,isRequired:!1};return t.forEach((t=>{const n=as(t,"addGlobalAttributes",{name:t.name,options:t.options,storage:t.storage});n&&n().forEach((t=>{t.types.forEach((n=>{Object.entries(t.attributes).forEach((([t,r])=>{e.push({type:n,name:t,attribute:{...s,...r}})}))}))}))})),i.forEach((t=>{const n=as(t,"addAttributes",{name:t.name,options:t.options,storage:t.storage});if(!n)return;const r=n();Object.entries(r).forEach((([n,r])=>{const i={...s,...r};"function"==typeof(null==i?void 0:i.default)&&(i.default=i.default()),(null==i?void 0:i.isRequired)&&void 0===(null==i?void 0:i.default)&&delete i.default,e.push({type:t.name,name:n,attribute:i})}))})),e}function ps(t,e){if("string"==typeof t){if(!e.nodes[t])throw Error(`There is no node type named '${t}'. Maybe you forgot to add the extension?`);return e.nodes[t]}return t}function ms(...t){return t.filter((t=>!!t)).reduce(((t,e)=>{const n={...t};return Object.entries(e).forEach((([t,e])=>{if(n[t])if("class"===t){const r=e?e.split(" "):[],i=n[t]?n[t].split(" "):[],s=r.filter((t=>!i.includes(t)));n[t]=[...i,...s].join(" ")}else n[t]="style"===t?[n[t],e].join("; "):e;else n[t]=e})),n}),{})}function ws(t,e){return e.filter((t=>t.attribute.rendered)).map((e=>e.attribute.renderHTML?e.attribute.renderHTML(t.attrs)||{}:{[e.name]:t.attrs[e.name]})).reduce(((t,e)=>ms(t,e)),{})}function vs(t){return"function"==typeof t}function gs(t,e,...n){return vs(t)?e?t.bind(e)(...n):t(...n):t}function bs(t,e){return t.style?t:{...t,getAttrs:n=>{const r=t.getAttrs?t.getAttrs(n):t.attrs;if(!1===r)return!1;const i=e.reduce(((t,e)=>{const r=e.attribute.parseHTML?e.attribute.parseHTML(n):function(t){return"string"!=typeof t?t:t.match(/^[+-]?(?:\d*\.)?\d+$/)?Number(t):"true"===t||"false"!==t&&t}(n.getAttribute(e.name));return null==r?t:{...t,[e.name]:r}}),{});return{...r,...i}}}}function ys(t){return Object.fromEntries(Object.entries(t).filter((([t,e])=>("attrs"!==t||!function(t={}){return 0===Object.keys(t).length&&t.constructor===Object}(e))&&null!=e)))}function ks(t,e){return e.nodes[t]||e.marks[t]||null}function xs(t,e){return Array.isArray(e)?e.some((e=>("string"==typeof e?e:e.name)===t.name)):e}const Ms=(t,e=500)=>{let n="";const r=t.parentOffset;return t.parent.nodesBetween(Math.max(0,r-e),r,((t,e,i,s)=>{var o,l;const u=(null===(l=(o=t.type.spec).toText)||void 0===l?void 0:l.call(o,{node:t,pos:e,parent:i,index:s}))||t.textContent||"%leaf%";n+=u.slice(0,Math.max(0,r-e))})),n};function Os(t){return"[object RegExp]"===Object.prototype.toString.call(t)}class Ss{constructor(t){this.find=t.find,this.handler=t.handler}}const Es=(t,e)=>{if(Os(e))return e.exec(t);const n=e(t);if(!n)return null;const r=[n.text];return r.index=n.index,r.input=t,r.data=n.data,n.replaceWith&&(n.text.includes(n.replaceWith)||console.warn('[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".'),r.push(n.replaceWith)),r};function Ns(t){var e;const{editor:n,from:r,to:i,text:s,rules:o,plugin:l}=t,{view:u}=n;if(u.composing)return!1;const h=u.state.doc.resolve(r);if(h.parent.type.spec.code||(null===(e=h.nodeBefore||h.nodeAfter)||void 0===e?void 0:e.marks.find((t=>t.type.spec.code))))return!1;let f=!1;const a=Ms(h)+s;return o.forEach((t=>{if(f)return;const e=Es(a,t.find);if(!e)return;const o=u.state.tr,h=us({state:u.state,transaction:o}),c={from:r-(e[0].length-s.length),to:i},{commands:d,chain:p,can:m}=new hs({editor:n,state:h});null!==t.handler({state:h,range:c,match:e,commands:d,chain:p,can:m})&&o.steps.length&&(o.setMeta(l,{transform:o,from:r,to:i,text:s}),u.dispatch(o),f=!0)})),f}function Cs(t){const{editor:e,rules:n}=t,r=new ae({state:{init:()=>null,apply(t,i){const s=t.getMeta(r);if(s)return s;const o=t.getMeta("applyInputRules");return!!o&&setTimeout((()=>{const{from:t,text:i}=o;Ns({editor:e,from:t,to:t+i.length,text:i,rules:n,plugin:r})})),t.selectionSet||t.docChanged?null:i}},props:{handleTextInput:(t,i,s,o)=>Ns({editor:e,from:i,to:s,text:o,rules:n,plugin:r}),handleDOMEvents:{compositionend:t=>(setTimeout((()=>{const{$cursor:i}=t.state.selection;i&&Ns({editor:e,from:i.pos,to:i.pos,text:"",rules:n,plugin:r})})),!1)},handleKeyDown(t,i){if("Enter"!==i.key)return!1;const{$cursor:s}=t.state.selection;return!!s&&Ns({editor:e,from:s.pos,to:s.pos,text:"\n",rules:n,plugin:r})}},isInputRules:!0});return r}class Rs{constructor(t){this.find=t.find,this.handler=t.handler}}function js(t){const{editor:e,rules:n}=t;let r=null,i=!1,s=!1,o="undefined"!=typeof ClipboardEvent?new ClipboardEvent("paste"):null,l="undefined"!=typeof DragEvent?new DragEvent("drop"):null;const u=({state:t,from:n,to:r,rule:i,pasteEvt:s})=>{const u=t.tr,h=us({state:t,transaction:u}),f=function(t){const{editor:e,state:n,from:r,to:i,rule:s,pasteEvent:o,dropEvent:l}=t,{commands:u,chain:h,can:f}=new hs({editor:e,state:n}),a=[];return n.doc.nodesBetween(r,i,((t,e)=>{if(!t.isTextblock||t.type.spec.code)return;const c=Math.max(r,e),d=Math.min(i,e+t.content.size);((t,e,n)=>{if(Os(e))return[...t.matchAll(e)];const r=e(t,n);return r?r.map((e=>{const n=[e.text];return n.index=e.index,n.input=t,n.data=e.data,e.replaceWith&&(e.text.includes(e.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),n.push(e.replaceWith)),n})):[]})(t.textBetween(c-e,d-e,void 0,""),s.find,o).forEach((t=>{if(void 0===t.index)return;const e=c+t.index+1,r=e+t[0].length,i={from:n.tr.mapping.map(e),to:n.tr.mapping.map(r)},d=s.handler({state:n,range:i,match:t,commands:u,chain:h,can:f,pasteEvent:o,dropEvent:l});a.push(d)}))})),a.every((t=>null!==t))}({editor:e,state:h,from:Math.max(n-1,0),to:r.b-1,rule:i,pasteEvent:s,dropEvent:l});if(f&&u.steps.length)return l="undefined"!=typeof DragEvent?new DragEvent("drop"):null,o="undefined"!=typeof ClipboardEvent?new ClipboardEvent("paste"):null,u};return n.map((t=>new ae({view(t){const e=e=>{var n;r=(null===(n=t.dom.parentElement)||void 0===n?void 0:n.contains(e.target))?t.dom.parentElement:null};return window.addEventListener("dragstart",e),{destroy(){window.removeEventListener("dragstart",e)}}},props:{handleDOMEvents:{drop:(t,e)=>(s=r===t.dom.parentElement,l=e,!1),paste:(t,e)=>{var n;const r=null===(n=e.clipboardData)||void 0===n?void 0:n.getData("text/html");return o=e,i=!!(null==r?void 0:r.includes("data-pm-slice")),!1}}},appendTransaction:(e,n,r)=>{const l=e[0],h="paste"===l.getMeta("uiEvent")&&!i,f="drop"===l.getMeta("uiEvent")&&!s,a=l.getMeta("applyPasteRules"),c=!!a;if(!h&&!f&&!c)return;if(c){const{from:e,text:n}=a,i=e+n.length,s=(t=>{var e;const n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});return null===(e=n.clipboardData)||void 0===e||e.setData("text/html",t),n})(n);return u({rule:t,state:r,from:e,to:{b:i},pasteEvt:s})}const d=n.doc.content.findDiffStart(r.doc.content),p=n.doc.content.findDiffEnd(r.doc.content);return"number"==typeof d&&p&&d!==p.b?u({rule:t,state:r,from:d,to:p,pasteEvt:o}):void 0}})))}class Ts{constructor(t,e){this.splittableMarks=[],this.editor=e,this.extensions=Ts.resolve(t),this.schema=function(t,e){var n;const r=ds(t),{nodeExtensions:i,markExtensions:s}=cs(t),o=null===(n=i.find((t=>as(t,"topNode"))))||void 0===n?void 0:n.name,l=Object.fromEntries(i.map((n=>{const i=r.filter((t=>t.type===n.name)),s={name:n.name,options:n.options,storage:n.storage,editor:e},o=ys({...t.reduce(((t,e)=>{const r=as(e,"extendNodeSchema",s);return{...t,...r?r(n):{}}}),{}),content:gs(as(n,"content",s)),marks:gs(as(n,"marks",s)),group:gs(as(n,"group",s)),inline:gs(as(n,"inline",s)),atom:gs(as(n,"atom",s)),selectable:gs(as(n,"selectable",s)),draggable:gs(as(n,"draggable",s)),code:gs(as(n,"code",s)),defining:gs(as(n,"defining",s)),isolating:gs(as(n,"isolating",s)),attrs:Object.fromEntries(i.map((t=>{var e;return[t.name,{default:null===(e=null==t?void 0:t.attribute)||void 0===e?void 0:e.default}]})))}),l=gs(as(n,"parseHTML",s));l&&(o.parseDOM=l.map((t=>bs(t,i))));const u=as(n,"renderHTML",s);u&&(o.toDOM=t=>u({node:t,HTMLAttributes:ws(t,i)}));const h=as(n,"renderText",s);return h&&(o.toText=h),[n.name,o]}))),u=Object.fromEntries(s.map((n=>{const i=r.filter((t=>t.type===n.name)),s={name:n.name,options:n.options,storage:n.storage,editor:e},o=ys({...t.reduce(((t,e)=>{const r=as(e,"extendMarkSchema",s);return{...t,...r?r(n):{}}}),{}),inclusive:gs(as(n,"inclusive",s)),excludes:gs(as(n,"excludes",s)),group:gs(as(n,"group",s)),spanning:gs(as(n,"spanning",s)),code:gs(as(n,"code",s)),attrs:Object.fromEntries(i.map((t=>{var e;return[t.name,{default:null===(e=null==t?void 0:t.attribute)||void 0===e?void 0:e.default}]})))}),l=gs(as(n,"parseHTML",s));l&&(o.parseDOM=l.map((t=>bs(t,i))));const u=as(n,"renderHTML",s);return u&&(o.toDOM=t=>u({mark:t,HTMLAttributes:ws(t,i)})),[n.name,o]})));return new K({topNode:o,nodes:l,marks:u})}(this.extensions,e),this.extensions.forEach((t=>{var e;this.editor.extensionStorage[t.name]=t.storage;const n={name:t.name,options:t.options,storage:t.storage,editor:this.editor,type:ks(t.name,this.schema)};"mark"===t.type&&(null===(e=gs(as(t,"keepOnSplit",n)))||void 0===e||e)&&this.splittableMarks.push(t.name);const r=as(t,"onBeforeCreate",n);r&&this.editor.on("beforeCreate",r);const i=as(t,"onCreate",n);i&&this.editor.on("create",i);const s=as(t,"onUpdate",n);s&&this.editor.on("update",s);const o=as(t,"onSelectionUpdate",n);o&&this.editor.on("selectionUpdate",o);const l=as(t,"onTransaction",n);l&&this.editor.on("transaction",l);const u=as(t,"onFocus",n);u&&this.editor.on("focus",u);const h=as(t,"onBlur",n);h&&this.editor.on("blur",h);const f=as(t,"onDestroy",n);f&&this.editor.on("destroy",f)}))}static resolve(t){const e=Ts.sort(Ts.flatten(t)),n=function(t){const e=t.filter(((e,n)=>t.indexOf(e)!==n));return[...new Set(e)]}(e.map((t=>t.name)));return n.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${n.map((t=>`'${t}'`)).join(", ")}]. This can lead to issues.`),e}static flatten(t){return t.map((t=>{const e=as(t,"addExtensions",{name:t.name,options:t.options,storage:t.storage});return e?[t,...this.flatten(e())]:t})).flat(10)}static sort(t){return t.sort(((t,e)=>{const n=as(t,"priority")||100,r=as(e,"priority")||100;return n>r?-1:n{const n=as(e,"addCommands",{name:e.name,options:e.options,storage:e.storage,editor:this.editor,type:ks(e.name,this.schema)});return n?{...t,...n()}:t}),{})}get plugins(){const{editor:t}=this,e=Ts.sort([...this.extensions].reverse()),n=[],r=[],i=e.map((e=>{const i={name:e.name,options:e.options,storage:e.storage,editor:t,type:ks(e.name,this.schema)},s=[],o=as(e,"addKeyboardShortcuts",i);let l={};if("mark"===e.type&&e.config.exitable&&(l.ArrowRight=()=>Ao.handleExit({editor:t,mark:e})),o){const e=Object.fromEntries(Object.entries(o()).map((([e,n])=>[e,()=>n({editor:t})])));l={...l,...e}}const u=new ae({props:{handleKeyDown:$i(l)}});s.push(u);const h=as(e,"addInputRules",i);xs(e,t.options.enableInputRules)&&h&&n.push(...h());const f=as(e,"addPasteRules",i);xs(e,t.options.enablePasteRules)&&f&&r.push(...f());const a=as(e,"addProseMirrorPlugins",i);if(a){const t=a();s.push(...t)}return s})).flat();return[Cs({editor:t,rules:n}),...js({editor:t,rules:r}),...i]}get attributes(){return ds(this.extensions)}get nodeViews(){const{editor:t}=this,{nodeExtensions:e}=cs(this.extensions);return Object.fromEntries(e.filter((t=>!!as(t,"addNodeView"))).map((e=>{const n=this.attributes.filter((t=>t.type===e.name)),r={name:e.name,options:e.options,storage:e.storage,editor:t,type:ps(e.name,this.schema)},i=as(e,"addNodeView",r);return i?[e.name,(r,s,o,l)=>{const u=ws(r,n);return i()({editor:t,node:r,getPos:o,decorations:l,HTMLAttributes:u,extension:e})}]:[]})))}}function As(t){return"Object"===function(t){return Object.prototype.toString.call(t).slice(8,-1)}(t)&&t.constructor===Object&&Object.getPrototypeOf(t)===Object.prototype}function $s(t,e){const n={...t};return As(t)&&As(e)&&Object.keys(e).forEach((r=>{As(e[r])?r in t?n[r]=$s(t[r],e[r]):Object.assign(n,{[r]:e[r]}):Object.assign(n,{[r]:e[r]})})),n}class Ds{constructor(t={}){this.type="extension",this.name="extension",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=gs(as(this,"addOptions",{name:this.name}))),this.storage=gs(as(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(t={}){return new Ds(t)}configure(t={}){const e=this.extend();return e.options=$s(this.options,t),e.storage=gs(as(e,"addStorage",{name:e.name,options:e.options})),e}extend(t={}){const e=new Ds({...this.config,...t});return e.parent=this,this.child=e,e.name=t.name?t.name:e.parent.name,t.defaultOptions&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${e.name}".`),e.options=gs(as(e,"addOptions",{name:e.name})),e.storage=gs(as(e,"addStorage",{name:e.name,options:e.options})),e}}function Ps(t,e,n){const{from:r,to:i}=e,{blockSeparator:s="\n\n",textSerializers:o={}}=n||{};let l="",u=!0;return t.nodesBetween(r,i,((t,n,h,f)=>{var a;const c=null==o?void 0:o[t.type.name];if(c)return t.isBlock&&!u&&(l+=s,u=!0),h&&(l+=c({node:t,pos:n,parent:h,index:f,range:e})),!1;t.isText?(l+=null===(a=null==t?void 0:t.text)||void 0===a?void 0:a.slice(Math.max(r,n)-n,i-n),u=!1):t.isBlock&&!u&&(l+=s,u=!0)})),l}function Is(t){return Object.fromEntries(Object.entries(t.nodes).filter((([,t])=>t.spec.toText)).map((([t,e])=>[t,e.spec.toText])))}const Bs=Ds.create({name:"clipboardTextSerializer",addOptions:()=>({blockSeparator:void 0}),addProseMirrorPlugins(){return[new ae({key:new pe("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{const{editor:t}=this,{state:e,schema:n}=t,{doc:r,selection:i}=e,{ranges:s}=i,o=Math.min(...s.map((t=>t.$from.pos))),l=Math.max(...s.map((t=>t.$to.pos))),u=Is(n);return Ps(r,{from:o,to:l},{...void 0!==this.options.blockSeparator?{blockSeparator:this.options.blockSeparator}:{},textSerializers:u})}}})]}});function Js(t,e,n={strict:!0}){const r=Object.keys(e);return!r.length||r.every((r=>n.strict?e[r]===t[r]:Os(e[r])?e[r].test(t[r]):e[r]===t[r]))}function Fs(t,e,n={}){return t.find((t=>t.type===e&&Js(t.attrs,n)))}function Ls(t,e,n={}){return!!Fs(t,e,n)}function qs(t,e,n={}){if(!t||!e)return;let r=t.parent.childAfter(t.parentOffset);if(t.parentOffset===r.offset&&0!==r.offset&&(r=t.parent.childBefore(t.parentOffset)),!r.node)return;const i=Fs([...r.node.marks],e,n);if(!i)return;let s=r.index,o=t.start()+r.offset,l=s+1,u=o+r.node.nodeSize;for(Fs([...r.node.marks],e,n);s>0&&i.isInSet(t.parent.child(s-1).marks);)s-=1,o-=t.parent.child(s).nodeSize;for(;l{const e=t.childNodes;for(let n=e.length-1;n>=0;n-=1){const r=e[n];3===r.nodeType&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?t.removeChild(r):1===r.nodeType&&Gs(r)}return t};function Vs(t){const e=`${t}`,n=(new window.DOMParser).parseFromString(e,"text/html").body;return Gs(n)}function _s(t,e,n){if(n={slice:!0,parseOptions:{},...n},"object"==typeof t&&null!==t)try{return Array.isArray(t)&&t.length>0?r.fromArray(t.map((t=>e.nodeFromJSON(t)))):e.nodeFromJSON(t)}catch(r){return console.warn("[tiptap warn]: Invalid content.","Passed value:",t,"Error:",r),_s("",e,n)}if("string"==typeof t){const r=G.fromSchema(e);return n.slice?r.parseSlice(Vs(t),n.parseOptions).content:r.parse(Vs(t),n.parseOptions)}return _s("",e,n)}function Ys(){return"undefined"!=typeof navigator&&/Mac/.test(navigator.platform)}function Qs(t,e,n={}){const{from:r,to:i,empty:s}=t.selection,o=e?ps(e,t.schema):null,l=[];t.doc.nodesBetween(r,i,((t,e)=>{if(t.isText)return;const n=Math.max(r,e),s=Math.min(i,e+t.nodeSize);l.push({node:t,from:n,to:s})}));const u=i-r,h=l.filter((t=>!o||o.name===t.node.type.name)).filter((t=>Js(t.node.attrs,n,{strict:!1})));return s?!!h.length:h.reduce(((t,e)=>t+e.to-e.from),0)>=u}function Xs(t,e){return e.nodes[t]?"node":e.marks[t]?"mark":null}function Zs(t,e){const n="string"==typeof e?[e]:e;return Object.keys(t).reduce(((e,r)=>(n.includes(r)||(e[r]=t[r]),e)),{})}function to(t,e,n={}){return _s(t,e,{slice:!1,parseOptions:n})}function eo(t,e){const n=Hs(e,t.schema),{from:r,to:i,empty:s}=t.selection,o=[];s?(t.storedMarks&&o.push(...t.storedMarks),o.push(...t.selection.$head.marks())):t.doc.nodesBetween(r,i,(t=>{o.push(...t.marks)}));const l=o.find((t=>t.type.name===n.name));return l?{...l.attrs}:{}}function no(t,e){const n=new Wt(t);return e.forEach((t=>{t.steps.forEach((t=>{n.step(t)}))})),n}function ro(t,e){const n=[];return t.descendants(((t,r)=>{e(t)&&n.push({node:t,pos:r})})),n}function io(t,e,n){const r=[];return t.nodesBetween(e.from,e.to,((t,e)=>{n(t)&&r.push({node:t,pos:e})})),r}function so(t,e){for(let n=t.depth;n>0;n-=1){const r=t.node(n);if(e(r))return{pos:n>0?t.before(n):0,start:t.start(n),depth:n,node:r}}}function oo(t){return e=>so(e.$from,t)}function lo(t,e){const n=Xs("string"==typeof e?e:e.name,t.schema);return"node"===n?function(t,e){const n=ps(e,t.schema),{from:r,to:i}=t.selection,s=[];t.doc.nodesBetween(r,i,(t=>{s.push(t)}));const o=s.reverse().find((t=>t.type.name===n.name));return o?{...o.attrs}:{}}(t,e):"mark"===n?eo(t,e):{}}function uo(t){const{mapping:e,steps:n}=t,r=[];return e.maps.forEach(((t,i)=>{const s=[];if(t.ranges.length)t.forEach(((t,e)=>{s.push({from:t,to:e})}));else{const{from:t,to:e}=n[i];if(void 0===t||void 0===e)return;s.push({from:t,to:e})}s.forEach((({from:t,to:n})=>{const s=e.slice(i).map(t,-1),o=e.slice(i).map(n),l=e.invert().map(s,-1),u=e.invert().map(o);r.push({oldRange:{from:l,to:u},newRange:{from:s,to:o}})}))})),function(t){const e=function(t,e=JSON.stringify){const n={};return t.filter((t=>{const r=e(t);return!Object.prototype.hasOwnProperty.call(n,r)&&(n[r]=!0)}))}(t);return 1===e.length?e:e.filter(((t,n)=>{const r=e.filter(((t,e)=>e!==n));return!r.some((e=>t.oldRange.from>=e.oldRange.from&&t.oldRange.to<=e.oldRange.to&&t.newRange.from>=e.newRange.from&&t.newRange.to<=e.newRange.to))}))}(r)}function ho(t,e,n){const r=[];return t===e?n.resolve(t).marks().forEach((e=>{const i=qs(n.resolve(t-1),e.type);i&&r.push({mark:e,...i})})):n.nodesBetween(t,e,((t,e)=>{t&&void 0!==(null==t?void 0:t.nodeSize)&&r.push(...t.marks.map((n=>({from:e,to:e+t.nodeSize,mark:n}))))})),r}function fo(t,e,n){return Object.fromEntries(Object.entries(n).filter((([n])=>{const r=t.find((t=>t.type===e&&t.name===n));return!!r&&r.attribute.keepOnSplit})))}function ao(t,e,n={}){const{empty:r,ranges:i}=t.selection,s=e?Hs(e,t.schema):null;if(r)return!!(t.storedMarks||t.selection.$from.marks()).filter((t=>!s||s.name===t.type.name)).find((t=>Js(t.attrs,n,{strict:!1})));let o=0;const l=[];if(i.forEach((({$from:e,$to:n})=>{const r=e.pos,i=n.pos;t.doc.nodesBetween(r,i,((t,e)=>{if(!t.isText&&!t.marks.length)return;const n=Math.max(r,e),s=Math.min(i,e+t.nodeSize);o+=s-n,l.push(...t.marks.map((t=>({mark:t,from:n,to:s}))))}))})),0===o)return!1;const u=l.filter((t=>!s||s.name===t.mark.type.name)).filter((t=>Js(t.mark.attrs,n,{strict:!1}))).reduce(((t,e)=>t+e.to-e.from),0),h=l.filter((t=>!s||t.mark.type!==s&&t.mark.type.excludes(s))).reduce(((t,e)=>t+e.to-e.from),0);return(u>0?u+h:u)>=o}function co(t,e){const{nodeExtensions:n}=cs(e),r=n.find((e=>e.name===t));if(!r)return!1;const i=gs(as(r,"group",{name:r.name,options:r.options,storage:r.storage}));return"string"==typeof i&&i.split(" ").includes("list")}function po(t){return t instanceof Xt}function mo(t,e,n){const r=t.state.doc.content.size,i=Ws(e,0,r),s=Ws(n,0,r),o=t.coordsAtPos(i),l=t.coordsAtPos(s,-1),u=Math.min(o.top,l.top),h=Math.max(o.bottom,l.bottom),f=Math.min(o.left,l.left),a=Math.max(o.right,l.right),c={top:u,bottom:h,left:f,right:a,width:a-f,height:h-u,x:f,y:u};return{...c,toJSON:()=>c}}function wo(t,e){const n=t.storedMarks||t.selection.$to.parentOffset&&t.selection.$from.marks();if(n){const r=n.filter((t=>null==e?void 0:e.includes(t.type.name)));t.tr.ensureMarks(r)}}const vo=(t,e)=>{const n=oo((t=>t.type===e))(t.selection);if(!n)return!0;const r=t.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(void 0===r)return!0;const i=t.doc.nodeAt(r);return n.node.type!==(null==i?void 0:i.type)||!Nt(t.doc,n.pos)||(t.join(n.pos),!0)},go=(t,e)=>{const n=oo((t=>t.type===e))(t.selection);if(!n)return!0;const r=t.doc.resolve(n.start).after(n.depth);if(void 0===r)return!0;const i=t.doc.nodeAt(r);return n.node.type!==(null==i?void 0:i.type)||!Nt(t.doc,r)||(t.join(r),!0)};var bo=Object.freeze({__proto__:null,blur:()=>({editor:t,view:e})=>(requestAnimationFrame((()=>{var n;t.isDestroyed||(e.dom.blur(),null===(n=null===window||void 0===window?void 0:window.getSelection())||void 0===n||n.removeAllRanges())})),!0),clearContent:(t=!1)=>({commands:e})=>e.setContent("",t),clearNodes:()=>({state:t,tr:e,dispatch:n})=>{const{selection:r}=e,{ranges:i}=r;return!n||(i.forEach((({$from:n,$to:r})=>{t.doc.nodesBetween(n.pos,r.pos,((t,n)=>{if(t.type.isText)return;const{doc:r,mapping:i}=e,s=r.resolve(i.map(n)),o=r.resolve(i.map(n+t.nodeSize)),l=s.blockRange(o);if(!l)return;const u=Mt(l);if(t.type.isTextblock){const{defaultType:t}=s.parent.contentMatchAt(s.index());e.setNodeMarkup(l.start,t)}(u||0===u)&&e.lift(l,u)}))})),!0)},command:t=>e=>t(e),createParagraphNear:()=>({state:t,dispatch:e})=>Vi(t,e),cut:(t,e)=>({editor:n,tr:r})=>{const{state:i}=n,s=i.doc.slice(t.from,t.to);r.deleteRange(t.from,t.to);const o=r.mapping.map(e);return r.insert(o,s.content),r.setSelection(new Yt(r.doc.resolve(o-1))),!0},deleteCurrentNode:()=>({tr:t,dispatch:e})=>{const{selection:n}=t,r=n.$anchor.node();if(r.content.size>0)return!1;const i=t.selection.$anchor;for(let n=i.depth;n>0;n-=1)if(i.node(n).type===r.type){if(e){const e=i.before(n),r=i.after(n);t.delete(e,r).scrollIntoView()}return!0}return!1},deleteNode:t=>({tr:e,state:n,dispatch:r})=>{const i=ps(t,n.schema),s=e.selection.$anchor;for(let t=s.depth;t>0;t-=1)if(s.node(t).type===i){if(r){const n=s.before(t),r=s.after(t);e.delete(n,r).scrollIntoView()}return!0}return!1},deleteRange:t=>({tr:e,dispatch:n})=>{const{from:r,to:i}=t;return n&&e.delete(r,i),!0},deleteSelection:()=>({state:t,dispatch:e})=>Di(t,e),enter:()=>({commands:t})=>t.keyboardShortcut("Enter"),exitCode:()=>({state:t,dispatch:e})=>Gi(t,e),extendMarkRange:(t,e={})=>({tr:n,state:r,dispatch:i})=>{const s=Hs(t,r.schema),{doc:o,selection:l}=n,{$from:u,from:h,to:f}=l;if(i){const t=qs(u,s,e);if(t&&t.from<=h&&t.to>=f){const e=Yt.create(o,t.from,t.to);n.setSelection(e)}}return!0},first:t=>e=>{const n="function"==typeof t?t(e):t;for(let t=0;t({editor:n,view:r,tr:i,dispatch:s})=>{e={scrollIntoView:!0,...e};const o=()=>{zs()&&r.dom.focus(),requestAnimationFrame((()=>{n.isDestroyed||(r.focus(),(null==e?void 0:e.scrollIntoView)&&n.commands.scrollIntoView())}))};if(r.hasFocus()&&null===t||!1===t)return!0;if(s&&null===t&&!Us(n.state.selection))return o(),!0;const l=Ks(i.doc,t)||n.state.selection,u=n.state.selection.eq(l);return s&&(u||i.setSelection(l),u&&i.storedMarks&&i.setStoredMarks(i.storedMarks),o()),!0},forEach:(t,e)=>n=>t.every(((t,r)=>e(t,{...n,index:r}))),insertContent:(t,e)=>({tr:n,commands:r})=>r.insertContentAt({from:n.selection.from,to:n.selection.to},t,e),insertContentAt:(t,e,n)=>({tr:r,dispatch:i,editor:s})=>{if(i){n={parseOptions:{},updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n};const i=_s(e,s.schema,{parseOptions:{preserveWhitespace:"full",...n.parseOptions}});if("<>"===i.toString())return!0;let o,{from:l,to:u}="number"==typeof t?{from:t,to:t}:{from:t.from,to:t.to},h=!0,f=!0;if((i.toString().startsWith("<")?i:[i]).forEach((t=>{t.check(),h=!!h&&t.isText&&0===t.marks.length,f=!!f&&t.isBlock})),l===u&&f){const{parent:t}=r.doc.resolve(l);t.isTextblock&&!t.type.spec.code&&!t.childCount&&(l-=1,u+=1)}h?(o=Array.isArray(e)?e.map((t=>t.text||"")).join(""):"object"==typeof e&&e&&e.text?e.text:e,r.insertText(o,l,u)):(o=i,r.replaceWith(l,u,o)),n.updateSelection&&function(t,e){const n=t.steps.length-1;if(n{0===i&&(i=r)})),t.setSelection(zt.near(t.doc.resolve(i),-1))}(r,r.steps.length-1),n.applyInputRules&&r.setMeta("applyInputRules",{from:l,text:o}),n.applyPasteRules&&r.setMeta("applyPasteRules",{from:l,text:o})}return!0},joinUp:()=>({state:t,dispatch:e})=>((t,e)=>{let n,r=t.selection,i=r instanceof Xt;if(i){if(r.node.isTextblock||!Nt(t.doc,r.from))return!1;n=r.from}else if(n=Rt(t.doc,r.from,-1),null==n)return!1;if(e){let r=t.tr.join(n);i&&r.setSelection(Xt.create(r.doc,n-t.doc.resolve(n).nodeBefore.nodeSize)),e(r.scrollIntoView())}return!0})(t,e),joinDown:()=>({state:t,dispatch:e})=>((t,e)=>{let n,r=t.selection;if(r instanceof Xt){if(r.node.isTextblock||!Nt(t.doc,r.to))return!1;n=r.to}else if(n=Rt(t.doc,r.to,1),null==n)return!1;return e&&e(t.tr.join(n).scrollIntoView()),!0})(t,e),joinBackward:()=>({state:t,dispatch:e})=>Ii(t,e),joinForward:()=>({state:t,dispatch:e})=>Hi(t,e),joinItemBackward:()=>({tr:t,state:e,dispatch:n})=>{try{const r=Rt(e.doc,e.selection.$from.pos,-1);return null!=r&&(t.join(r,2),n&&n(t),!0)}catch{return!1}},joinItemForward:()=>({state:t,dispatch:e,tr:n})=>{try{const r=Rt(t.doc,t.selection.$from.pos,1);return null!=r&&(n.join(r,2),e&&e(n),!0)}catch(t){return!1}},joinTextblockBackward:()=>({state:t,dispatch:e})=>((t,e)=>{let n=Pi(t,void 0);if(!n)return!1;let r=Li(n);return!!r&&Bi(t,r,e)})(t,e),joinTextblockForward:()=>({state:t,dispatch:e})=>((t,e)=>{let n=qi(t,void 0);if(!n)return!1;let r=Wi(n);return!!r&&Bi(t,r,e)})(t,e),keyboardShortcut:t=>({editor:e,view:n,tr:r,dispatch:i})=>{const s=function(t){const e=t.split(/-(?!$)/);let n,r,i,s,o=e[e.length-1];"Space"===o&&(o=" ");for(let t=0;t!["Alt","Ctrl","Meta","Shift"].includes(t))),l=new KeyboardEvent("keydown",{key:"Space"===o?" ":o,altKey:s.includes("Alt"),ctrlKey:s.includes("Ctrl"),metaKey:s.includes("Meta"),shiftKey:s.includes("Shift"),bubbles:!0,cancelable:!0}),u=e.captureTransaction((()=>{n.someProp("handleKeyDown",(t=>t(n,l)))}));return null==u||u.steps.forEach((t=>{const e=t.map(r.mapping);e&&i&&r.maybeStep(e)})),!0},lift:(t,e={})=>({state:n,dispatch:r})=>!!Qs(n,ps(t,n.schema),e)&&((t,e)=>{let{$from:n,$to:r}=t.selection,i=n.blockRange(r),s=i&&Mt(i);return null!=s&&(e&&e(t.tr.lift(i,s).scrollIntoView()),!0)})(n,r),liftEmptyBlock:()=>({state:t,dispatch:e})=>_i(t,e),liftListItem:t=>({state:e,dispatch:n})=>{return(i=ps(t,e.schema),function(t,e){let{$from:n,$to:s}=t.selection,o=n.blockRange(s,(t=>t.childCount>0&&t.firstChild.type==i));return!!o&&(!e||(n.node(o.depth-1).type==i?function(t,e,n,i){let s=t.tr,o=i.end,l=i.$to.end(i.depth);or;e--)t-=s.child(e).nodeSize,i.delete(t-1,t+1);let o=i.doc.resolve(n.start),l=o.nodeAfter;if(i.mapping.map(n.end)!=n.start+o.nodeAfter.nodeSize)return!1;let u=0==n.startIndex,f=n.endIndex==s.childCount,a=o.node(-1),c=o.index(-1);if(!a.canReplace(c+(u?0:1),c+1,l.content.append(f?r.empty:r.from(s))))return!1;let d=o.pos,p=d+l.nodeSize;return i.step(new yt(d-(u?1:0),p+(f?1:0),d+1,p-1,new h((u?r.empty:r.from(s.copy(r.empty))).append(f?r.empty:r.from(s.copy(r.empty))),u?0:1,f?0:1),u?0:1)),e(i.scrollIntoView()),!0}(t,e,o)))})(e,n);var i},newlineInCode:()=>({state:t,dispatch:e})=>Ki(t,e),resetAttributes:(t,e)=>({tr:n,state:r,dispatch:i})=>{let s=null,o=null;const l=Xs("string"==typeof t?t:t.name,r.schema);return!!l&&("node"===l&&(s=ps(t,r.schema)),"mark"===l&&(o=Hs(t,r.schema)),i&&n.selection.ranges.forEach((t=>{r.doc.nodesBetween(t.$from.pos,t.$to.pos,((t,r)=>{s&&s===t.type&&n.setNodeMarkup(r,void 0,Zs(t.attrs,e)),o&&t.marks.length&&t.marks.forEach((i=>{o===i.type&&n.addMark(r,r+t.nodeSize,o.create(Zs(i.attrs,e)))}))}))})),!0)},scrollIntoView:()=>({tr:t,dispatch:e})=>(e&&t.scrollIntoView(),!0),selectAll:()=>({tr:t,commands:e})=>e.setTextSelection({from:0,to:t.doc.content.size}),selectNodeBackward:()=>({state:t,dispatch:e})=>Fi(t,e),selectNodeForward:()=>({state:t,dispatch:e})=>Ui(t,e),selectParentNode:()=>({state:t,dispatch:e})=>((t,e)=>{let n,{$from:r,to:i}=t.selection,s=r.sharedDepth(i);return 0!=s&&(n=r.before(s),e&&e(t.tr.setSelection(Xt.create(t.doc,n))),!0)})(t,e),selectTextblockEnd:()=>({state:t,dispatch:e})=>ts(t,e),selectTextblockStart:()=>({state:t,dispatch:e})=>Zi(t,e),setContent:(t,e=!1,n={})=>({tr:r,editor:i,dispatch:s})=>{const{doc:o}=r,l=to(t,i.schema,n);return s&&r.replaceWith(0,o.content.size,l).setMeta("preventUpdate",!e),!0},setMark:(t,e={})=>({tr:n,state:r,dispatch:i})=>{const{selection:s}=n,{empty:o,ranges:l}=s,u=Hs(t,r.schema);if(i)if(o){const t=eo(r,u);n.addStoredMark(u.create({...t,...e}))}else l.forEach((t=>{const i=t.$from.pos,s=t.$to.pos;r.doc.nodesBetween(i,s,((t,r)=>{const o=Math.max(r,i),l=Math.min(r+t.nodeSize,s);t.marks.find((t=>t.type===u))?t.marks.forEach((t=>{u===t.type&&n.addMark(o,l,u.create({...t.attrs,...e}))})):n.addMark(o,l,u.create(e))}))}));return function(t,e,n){var r;const{selection:i}=e;let s=null;if(Us(i)&&(s=i.$cursor),s){const e=null!==(r=t.storedMarks)&&void 0!==r?r:s.marks();return!!n.isInSet(e)||!e.some((t=>t.type.excludes(n)))}const{ranges:o}=i;return o.some((({$from:e,$to:r})=>{let i=0===e.depth&&t.doc.inlineContent&&t.doc.type.allowsMarkType(n);return t.doc.nodesBetween(e.pos,r.pos,((t,e,r)=>{if(i)return!1;if(t.isInline){const e=!r||r.type.allowsMarkType(n),s=!!n.isInSet(t.marks)||!t.marks.some((t=>t.type.excludes(n)));i=e&&s}return!i})),i}))}(r,n,u)},setMeta:(t,e)=>({tr:n})=>(n.setMeta(t,e),!0),setNode:(t,e={})=>({state:n,dispatch:r,chain:i})=>{const s=ps(t,n.schema);return s.isTextblock?i().command((({commands:t})=>!!es(s,e)(n)||t.clearNodes())).command((({state:t})=>es(s,e)(t,r))).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},setNodeSelection:t=>({tr:e,dispatch:n})=>{if(n){const{doc:n}=e,r=Ws(t,0,n.content.size),i=Xt.create(n,r);e.setSelection(i)}return!0},setTextSelection:t=>({tr:e,dispatch:n})=>{if(n){const{doc:n}=e,{from:r,to:i}="number"==typeof t?{from:t,to:t}:t,s=Yt.atStart(n).from,o=Yt.atEnd(n).to,l=Ws(r,s,o),u=Ws(i,s,o),h=Yt.create(n,l,u);e.setSelection(h)}return!0},sinkListItem:t=>({state:e,dispatch:n})=>{const i=ps(t,e.schema);return(s=i,function(t,e){let{$from:n,$to:i}=t.selection,o=n.blockRange(i,(t=>t.childCount>0&&t.firstChild.type==s));if(!o)return!1;let l=o.startIndex;if(0==l)return!1;let u=o.parent,f=u.child(l-1);if(f.type!=s)return!1;if(e){let n=f.lastChild&&f.lastChild.type==u.type,i=r.from(n?s.create():null),l=new h(r.from(s.create(null,r.from(u.type.create(null,i)))),n?3:1,0),a=o.start,c=o.end;e(t.tr.step(new yt(a-(n?3:1),c,a,c,l,1,!0)).scrollIntoView())}return!0})(e,n);var s},splitBlock:({keepMarks:t=!0}={})=>({tr:e,state:n,dispatch:r,editor:i})=>{const{selection:s,doc:o}=e,{$from:l,$to:u}=s,h=fo(i.extensionManager.attributes,l.node().type.name,l.node().attrs);if(s instanceof Xt&&s.node.isBlock)return!(!l.parentOffset||!Et(o,l.pos)||(r&&(t&&wo(n,i.extensionManager.splittableMarks),e.split(l.pos).scrollIntoView()),0));if(!l.parent.isBlock)return!1;if(r){const r=u.parentOffset===u.parent.content.size;s instanceof Yt&&e.deleteSelection();const o=0===l.depth?void 0:function(t){for(let e=0;e({tr:e,state:n,dispatch:i,editor:s})=>{var o;const l=ps(t,n.schema),{$from:u,$to:f}=n.selection,a=n.selection.node;if(a&&a.isBlock||u.depth<2||!u.sameParent(f))return!1;const c=u.node(-1);if(c.type!==l)return!1;const d=s.extensionManager.attributes;if(0===u.parent.content.size&&u.node(-1).childCount===u.indexAfter(-1)){if(2===u.depth||u.node(-3).type!==l||u.index(-2)!==u.node(-2).childCount-1)return!1;if(i){let t=r.empty;const n=u.index(-1)?1:u.index(-2)?2:3;for(let e=u.depth-n;e>=u.depth-3;e-=1)t=r.from(u.node(e).copy(t));const i=u.indexAfter(-1){if(c>-1)return!1;t.isTextblock&&0===t.content.size&&(c=e+1)})),c>-1&&e.setSelection(Yt.near(e.doc.resolve(c))),e.scrollIntoView()}return!0}const p=f.pos===u.end()?c.contentMatchAt(0).defaultType:null,m=fo(d,c.type.name,c.attrs),w=fo(d,u.node().type.name,u.node().attrs);e.delete(u.pos,f.pos);const v=p?[{type:l,attrs:m},{type:p,attrs:w}]:[{type:l,attrs:m}];if(!Et(e.doc,u.pos,2))return!1;if(i){const{selection:t,storedMarks:r}=n,{splittableMarks:o}=s.extensionManager,l=r||t.$to.parentOffset&&t.$from.marks();if(e.split(u.pos,2,v).scrollIntoView(),!l||!i)return!0;const h=l.filter((t=>o.includes(t.type.name)));e.ensureMarks(h)}return!0},toggleList:(t,e,n,r={})=>({editor:i,tr:s,state:o,dispatch:l,chain:u,commands:h,can:f})=>{const{extensions:a,splittableMarks:c}=i.extensionManager,d=ps(t,o.schema),p=ps(e,o.schema),{selection:m,storedMarks:w}=o,{$from:v,$to:g}=m,b=v.blockRange(g),y=w||m.$to.parentOffset&&m.$from.marks();if(!b)return!1;const k=oo((t=>co(t.type.name,a)))(m);if(b.depth>=1&&k&&b.depth-k.depth<=1){if(k.node.type===d)return h.liftListItem(p);if(co(k.node.type.name,a)&&d.validContent(k.node.content)&&l)return u().command((()=>(s.setNodeMarkup(k.pos,d),!0))).command((()=>vo(s,d))).command((()=>go(s,d))).run()}return n&&y&&l?u().command((()=>{const t=f().wrapInList(d,r),e=y.filter((t=>c.includes(t.type.name)));return s.ensureMarks(e),!!t||h.clearNodes()})).wrapInList(d,r).command((()=>vo(s,d))).command((()=>go(s,d))).run():u().command((()=>!!f().wrapInList(d,r)||h.clearNodes())).wrapInList(d,r).command((()=>vo(s,d))).command((()=>go(s,d))).run()},toggleMark:(t,e={},n={})=>({state:r,commands:i})=>{const{extendEmptyMarkRange:s=!1}=n,o=Hs(t,r.schema);return ao(r,o,e)?i.unsetMark(o,{extendEmptyMarkRange:s}):i.setMark(o,e)},toggleNode:(t,e,n={})=>({state:r,commands:i})=>{const s=ps(t,r.schema),o=ps(e,r.schema);return Qs(r,s,n)?i.setNode(o):i.setNode(s,n)},toggleWrap:(t,e={})=>({state:n,commands:r})=>{const i=ps(t,n.schema);return Qs(n,i,e)?r.lift(i):r.wrapIn(i,e)},undoInputRule:()=>({state:t,dispatch:e})=>{const n=t.plugins;for(let r=0;r=0;t-=1)e.step(n.steps[t].invert(n.docs[t]));if(s.text){const n=e.doc.resolve(s.from).marks();e.replaceWith(s.from,s.to,t.schema.text(s.text,n))}else e.delete(s.from,s.to)}return!0}}return!1},unsetAllMarks:()=>({tr:t,dispatch:e})=>{const{selection:n}=t,{empty:r,ranges:i}=n;return r||e&&i.forEach((e=>{t.removeMark(e.$from.pos,e.$to.pos)})),!0},unsetMark:(t,e={})=>({tr:n,state:r,dispatch:i})=>{var s;const{extendEmptyMarkRange:o=!1}=e,{selection:l}=n,u=Hs(t,r.schema),{$from:h,empty:f,ranges:a}=l;if(!i)return!0;if(f&&o){let{from:t,to:e}=l;const r=null===(s=h.marks().find((t=>t.type===u)))||void 0===s?void 0:s.attrs,i=qs(h,u,r);i&&(t=i.from,e=i.to),n.removeMark(t,e,u)}else a.forEach((t=>{n.removeMark(t.$from.pos,t.$to.pos,u)}));return n.removeStoredMark(u),!0},updateAttributes:(t,e={})=>({tr:n,state:r,dispatch:i})=>{let s=null,o=null;const l=Xs("string"==typeof t?t:t.name,r.schema);return!!l&&("node"===l&&(s=ps(t,r.schema)),"mark"===l&&(o=Hs(t,r.schema)),i&&n.selection.ranges.forEach((t=>{const i=t.$from.pos,l=t.$to.pos;r.doc.nodesBetween(i,l,((t,r)=>{s&&s===t.type&&n.setNodeMarkup(r,void 0,{...t.attrs,...e}),o&&t.marks.length&&t.marks.forEach((s=>{if(o===s.type){const u=Math.max(r,i),h=Math.min(r+t.nodeSize,l);n.addMark(u,h,o.create({...s.attrs,...e}))}}))}))})),!0)},wrapIn:(t,e={})=>({state:n,dispatch:r})=>function(t,e=null){return function(n,r){let{$from:i,$to:s}=n.selection,o=i.blockRange(s),l=o&&Ot(o,t,e);return!!l&&(r&&r(n.tr.wrap(o,l).scrollIntoView()),!0)}}(ps(t,n.schema),e)(n,r),wrapInList:(t,e={})=>({state:n,dispatch:i})=>function(t,e=null){return function(n,i){let{$from:s,$to:o}=n.selection,l=s.blockRange(o),u=!1,f=l;if(!l)return!1;if(l.depth>=2&&s.node(l.depth-1).type.compatibleContent(t)&&0==l.startIndex){if(0==s.index(l.depth-1))return!1;let t=n.doc.resolve(l.start-2);f=new S(t,t,l.depth),l.endIndex=0;t--)o=r.from(n[t].type.create(n[t].attrs,o));t.step(new yt(e.start-(i?2:0),e.end,e.start,e.end,new h(o,0,0),n.length,!0));let l=0;for(let t=0;t({...bo})}),ko=Ds.create({name:"editable",addProseMirrorPlugins(){return[new ae({key:new pe("editable"),props:{editable:()=>this.editor.options.editable}})]}}),xo=Ds.create({name:"focusEvents",addProseMirrorPlugins(){const{editor:t}=this;return[new ae({key:new pe("focusEvents"),props:{handleDOMEvents:{focus:(e,n)=>{t.isFocused=!0;const r=t.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1},blur:(e,n)=>{t.isFocused=!1;const r=t.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1}}}})]}}),Mo=Ds.create({name:"keymap",addKeyboardShortcuts(){const t=()=>this.editor.commands.first((({commands:t})=>[()=>t.undoInputRule(),()=>t.command((({tr:e})=>{const{selection:n,doc:r}=e,{empty:i,$anchor:s}=n,{pos:o,parent:l}=s,u=s.parent.isTextblock&&o>0?e.doc.resolve(o-1):s,h=u.parent.type.spec.isolating&&1===u.parent.childCount?s.pos-s.parentOffset===s.pos:zt.atStart(r).from===o;return!(!(i&&h&&l.type.isTextblock)||l.textContent.length)&&t.clearNodes()})),()=>t.deleteSelection(),()=>t.joinBackward(),()=>t.selectNodeBackward()])),e=()=>this.editor.commands.first((({commands:t})=>[()=>t.deleteSelection(),()=>t.deleteCurrentNode(),()=>t.joinForward(),()=>t.selectNodeForward()])),n={Enter:()=>this.editor.commands.first((({commands:t})=>[()=>t.newlineInCode(),()=>t.createParagraphNear(),()=>t.liftEmptyBlock(),()=>t.splitBlock()])),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:t,"Mod-Backspace":t,"Shift-Backspace":t,Delete:e,"Mod-Delete":e,"Mod-a":()=>this.editor.commands.selectAll()},r={...n},i={...n,"Ctrl-h":t,"Alt-Backspace":t,"Ctrl-d":e,"Ctrl-Alt-Backspace":e,"Alt-Delete":e,"Alt-d":e,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return zs()||Ys()?i:r},addProseMirrorPlugins(){return[new ae({key:new pe("clearDocument"),appendTransaction:(t,e,n)=>{if(!t.some((t=>t.docChanged))||e.doc.eq(n.doc))return;const{empty:r,from:i,to:s}=e.selection,o=zt.atStart(e.doc).from,l=zt.atEnd(e.doc).to;if(r||i!==o||s!==l)return;if(0!==n.doc.textBetween(0,n.doc.content.size," "," ").length)return;const u=n.tr,h=us({state:n,transaction:u}),{commands:f}=new hs({editor:this.editor,state:h});return f.clearNodes(),u.steps.length?u:void 0}})]}}),Oo=Ds.create({name:"tabindex",addProseMirrorPlugins(){return[new ae({key:new pe("tabindex"),props:{attributes:this.editor.isEditable?{tabindex:"0"}:{}}})]}});class So{constructor(t,e,n=!1,r=null){this.currentNode=null,this.actualDepth=null,this.isBlock=n,this.resolvedPos=t,this.editor=e,this.currentNode=r}get name(){return this.node.type.name}get node(){return this.currentNode||this.resolvedPos.node()}get element(){return this.editor.view.domAtPos(this.pos).node}get depth(){var t;return null!==(t=this.actualDepth)&&void 0!==t?t:this.resolvedPos.depth}get pos(){return this.resolvedPos.pos}get content(){return this.node.content}set content(t){let e=this.from,n=this.to;if(this.isBlock){if(0===this.content.size)return void console.error(`You can’t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);e=this.from+1,n=this.to-1}this.editor.commands.insertContentAt({from:e,to:n},t)}get attributes(){return this.node.attrs}get textContent(){return this.node.textContent}get size(){return this.node.nodeSize}get from(){return this.isBlock?this.pos:this.resolvedPos.start(this.resolvedPos.depth)}get range(){return{from:this.from,to:this.to}}get to(){return this.isBlock?this.pos+this.size:this.resolvedPos.end(this.resolvedPos.depth)+(this.node.isText?0:1)}get parent(){if(0===this.depth)return null;const t=this.resolvedPos.start(this.resolvedPos.depth-1),e=this.resolvedPos.doc.resolve(t);return new So(e,this.editor)}get before(){let t=this.resolvedPos.doc.resolve(this.from-(this.isBlock?1:2));return t.depth!==this.depth&&(t=this.resolvedPos.doc.resolve(this.from-3)),new So(t,this.editor)}get after(){let t=this.resolvedPos.doc.resolve(this.to+(this.isBlock?2:1));return t.depth!==this.depth&&(t=this.resolvedPos.doc.resolve(this.to+3)),new So(t,this.editor)}get children(){const t=[];return this.node.content.forEach(((e,n)=>{const r=e.isBlock&&!e.isTextblock,i=this.resolvedPos.doc.resolve(this.pos+n+1);if(!r&&i.depth<=this.depth)return;const s=new So(i,this.editor,r,r?e:null);r&&(s.actualDepth=this.depth+1),t.push(new So(i,this.editor,r,r?e:null))})),t}get firstChild(){return this.children[0]||null}get lastChild(){const t=this.children;return t[t.length-1]||null}closest(t,e={}){let n=null,r=this.parent;for(;r&&!n;)r.node.type.name===t&&(Object.keys(e).length>0||(n=r)),r=r.parent;return n}querySelector(t,e={}){return this.querySelectorAll(t,e,!0)[0]||null}querySelectorAll(t,e={},n=!1){let r=[];return this.children&&0!==this.children.length?(this.children.forEach((i=>{if(i.node.type.name===t){if(Object.keys(e).length>0){const t=i.node.attrs,n=Object.keys(e);for(let r=0;rnull,onCreate:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.setOptions(t),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on("beforeCreate",this.options.onBeforeCreate),this.emit("beforeCreate",{editor:this}),this.createView(),this.injectCSS(),this.on("create",this.options.onCreate),this.on("update",this.options.onUpdate),this.on("selectionUpdate",this.options.onSelectionUpdate),this.on("transaction",this.options.onTransaction),this.on("focus",this.options.onFocus),this.on("blur",this.options.onBlur),this.on("destroy",this.options.onDestroy),window.setTimeout((()=>{this.isDestroyed||(this.commands.focus(this.options.autofocus),this.emit("create",{editor:this}))}),0)}get storage(){return this.extensionStorage}get commands(){return this.commandManager.commands}chain(){return this.commandManager.chain()}can(){return this.commandManager.can()}injectCSS(){this.options.injectCSS&&document&&(this.css=function(t,e){const n=document.querySelector("style[data-tiptap-style]");if(null!==n)return n;const r=document.createElement("style");return e&&r.setAttribute("nonce",e),r.setAttribute("data-tiptap-style",""),r.innerHTML='.ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: "liga" 0; /* the above doesn\'t seem to work in Edge */\n}\n\n.ProseMirror [contenteditable="false"] {\n white-space: normal;\n}\n\n.ProseMirror [contenteditable="false"] [contenteditable="true"] {\n white-space: pre-wrap;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\nimg.ProseMirror-separator {\n display: inline !important;\n border: none !important;\n margin: 0 !important;\n width: 1px !important;\n height: 1px !important;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n margin: 0;\n}\n\n.ProseMirror-gapcursor:after {\n content: "";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection * {\n caret-color: transparent;\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n.tippy-box[data-animation=fade][data-state=hidden] {\n opacity: 0\n}',document.getElementsByTagName("head")[0].appendChild(r),r}(0,this.options.injectNonce))}setOptions(t={}){this.options={...this.options,...t},this.view&&this.state&&!this.isDestroyed&&(this.options.editorProps&&this.view.setProps(this.options.editorProps),this.view.updateState(this.state))}setEditable(t,e=!0){this.setOptions({editable:t}),e&&this.emit("update",{editor:this,transaction:this.state.tr})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get state(){return this.view.state}registerPlugin(t,e){const n=vs(e)?e(t,[...this.state.plugins]):[...this.state.plugins,t],r=this.state.reconfigure({plugins:n});this.view.updateState(r)}unregisterPlugin(t){if(this.isDestroyed)return;const e="string"==typeof t?`${t}$`:t.key,n=this.state.reconfigure({plugins:this.state.plugins.filter((t=>!t.key.startsWith(e)))});this.view.updateState(n)}createExtensionManager(){var t,e;const n=[...this.options.enableCoreExtensions?[ko,Bs.configure({blockSeparator:null===(e=null===(t=this.options.coreExtensionOptions)||void 0===t?void 0:t.clipboardTextSerializer)||void 0===e?void 0:e.blockSeparator}),yo,xo,Mo,Oo]:[],...this.options.extensions].filter((t=>["extension","node","mark"].includes(null==t?void 0:t.type)));this.extensionManager=new Ts(n,this)}createCommandManager(){this.commandManager=new hs({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createView(){const t=to(this.options.content,this.schema,this.options.parseOptions),e=Ks(t,this.options.autofocus);this.view=new gi(this.options.element,{...this.options.editorProps,dispatchTransaction:this.dispatchTransaction.bind(this),state:he.create({doc:t,selection:e||void 0})});const n=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(n),this.createNodeViews(),this.prependClass(),this.view.dom.editor=this}createNodeViews(){this.view.setProps({nodeViews:this.extensionManager.nodeViews})}prependClass(){this.view.dom.className=`tiptap ${this.view.dom.className}`}captureTransaction(t){this.isCapturingTransaction=!0,t(),this.isCapturingTransaction=!1;const e=this.capturedTransaction;return this.capturedTransaction=null,e}dispatchTransaction(t){if(this.view.isDestroyed)return;if(this.isCapturingTransaction)return this.capturedTransaction?void t.steps.forEach((t=>{var e;return null===(e=this.capturedTransaction)||void 0===e?void 0:e.step(t)})):void(this.capturedTransaction=t);const e=this.state.apply(t),n=!this.state.selection.eq(e.selection);this.view.updateState(e),this.emit("transaction",{editor:this,transaction:t}),n&&this.emit("selectionUpdate",{editor:this,transaction:t});const r=t.getMeta("focus"),i=t.getMeta("blur");r&&this.emit("focus",{editor:this,event:r.event,transaction:t}),i&&this.emit("blur",{editor:this,event:i.event,transaction:t}),t.docChanged&&!t.getMeta("preventUpdate")&&this.emit("update",{editor:this,transaction:t})}getAttributes(t){return lo(this.state,t)}isActive(t,e){return function(t,e,n={}){if(!e)return Qs(t,null,n)||ao(t,null,n);const r=Xs(e,t.schema);return"node"===r?Qs(t,e,n):"mark"===r&&ao(t,e,n)}(this.state,"string"==typeof t?t:null,"string"==typeof t?e:t)}getJSON(){return this.state.doc.toJSON()}getHTML(){return function(t,e){const n=rt.fromSchema(e).serializeFragment(t),r=document.implementation.createHTMLDocument().createElement("div");return r.appendChild(n),r.innerHTML}(this.state.doc.content,this.schema)}getText(t){const{blockSeparator:e="\n\n",textSerializers:n={}}=t||{};return function(t,e){return Ps(t,{from:0,to:t.content.size},e)}(this.state.doc,{blockSeparator:e,textSerializers:{...Is(this.schema),...n}})}get isEmpty(){return function(t){var e;const n=null===(e=t.type.createAndFill())||void 0===e?void 0:e.toJSON(),r=t.toJSON();return JSON.stringify(n)===JSON.stringify(r)}(this.state.doc)}getCharacterCount(){return console.warn('[tiptap warn]: "editor.getCharacterCount()" is deprecated. Please use "editor.storage.characterCount.characters()" instead.'),this.state.doc.content.size-2}destroy(){this.emit("destroy"),this.view&&this.view.destroy(),this.removeAllListeners()}get isDestroyed(){var t;return!(null===(t=this.view)||void 0===t?void 0:t.docView)}$node(t,e){var n;return(null===(n=this.$doc)||void 0===n?void 0:n.querySelector(t,e))||null}$nodes(t,e){var n;return(null===(n=this.$doc)||void 0===n?void 0:n.querySelectorAll(t,e))||null}$pos(t){const e=this.state.doc.resolve(t);return new So(e,this)}get $doc(){return this.$pos(0)}}function No(t){return new Ss({find:t.find,handler:({state:e,range:n,match:r})=>{const i=gs(t.getAttributes,void 0,r);if(!1===i||null===i)return null;const{tr:s}=e,o=r[r.length-1],l=r[0];if(o){const r=l.search(/\S/),u=n.from+l.indexOf(o),h=u+o.length;if(ho(n.from,n.to,e.doc).filter((e=>e.mark.type.excluded.find((n=>n===t.type&&n!==e.mark.type)))).filter((t=>t.to>u)).length)return null;hn.from&&s.delete(n.from+r,u),s.addMark(n.from+r,n.from+r+o.length,t.type.create(i||{})),s.removeStoredMark(t.type)}}})}function Co(t){return new Ss({find:t.find,handler:({state:e,range:n,match:r})=>{const i=gs(t.getAttributes,void 0,r)||{},{tr:s}=e,o=n.from;let l=n.to;const u=t.type.create(i);if(r[1]){let t=o+r[0].lastIndexOf(r[1]);t>l?t=l:l=t+r[1].length,s.insertText(r[0][r[0].length-1],o+r[0].length-1),s.replaceWith(t,l,u)}else r[0]&&s.insert(o-1,t.type.create(i)).delete(s.mapping.map(o),s.mapping.map(l));s.scrollIntoView()}})}function Ro(t){return new Ss({find:t.find,handler:({state:e,range:n,match:r})=>{const i=e.doc.resolve(n.from),s=gs(t.getAttributes,void 0,r)||{};if(!i.node(-1).canReplaceWith(i.index(-1),i.indexAfter(-1),t.type))return null;e.tr.delete(n.from,n.to).setBlockType(n.from,n.from,t.type,s)}})}function jo(t){return new Ss({find:t.find,handler:({state:e,range:n,match:r})=>{let i=t.replace,s=n.from;const o=n.to;if(r[1]){const t=r[0].lastIndexOf(r[1]);i+=r[0].slice(t+r[1].length),s+=t;const e=s-o;e>0&&(i=r[0].slice(t-e,t)+i,s=o)}e.tr.insertText(i,s,o)}})}function To(t){return new Ss({find:t.find,handler:({state:e,range:n,match:r,chain:i})=>{const s=gs(t.getAttributes,void 0,r)||{},o=e.tr.delete(n.from,n.to),l=o.doc.resolve(n.from).blockRange(),u=l&&Ot(l,t.type,s);if(!u)return null;if(o.wrap(l,u),t.keepMarks&&t.editor){const{selection:n,storedMarks:r}=e,{splittableMarks:i}=t.editor.extensionManager,s=r||n.$to.parentOffset&&n.$from.marks();if(s){const t=s.filter((t=>i.includes(t.type.name)));o.ensureMarks(t)}}if(t.keepAttributes){const e="bulletList"===t.type.name||"orderedList"===t.type.name?"listItem":"taskList";i().updateAttributes(e,s).run()}const h=o.doc.resolve(n.from-1).nodeBefore;h&&h.type===t.type&&Nt(o.doc,n.from-1)&&(!t.joinPredicate||t.joinPredicate(r,h))&&o.join(n.from-1)}})}class Ao{constructor(t={}){this.type="mark",this.name="mark",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=gs(as(this,"addOptions",{name:this.name}))),this.storage=gs(as(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(t={}){return new Ao(t)}configure(t={}){const e=this.extend();return e.options=$s(this.options,t),e.storage=gs(as(e,"addStorage",{name:e.name,options:e.options})),e}extend(t={}){const e=new Ao({...this.config,...t});return e.parent=this,this.child=e,e.name=t.name?t.name:e.parent.name,t.defaultOptions&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${e.name}".`),e.options=gs(as(e,"addOptions",{name:e.name})),e.storage=gs(as(e,"addStorage",{name:e.name,options:e.options})),e}static handleExit({editor:t,mark:e}){const{tr:n}=t.state,r=t.state.selection.$from;if(r.pos===r.end()){const i=r.marks();if(!i.find((t=>(null==t?void 0:t.type.name)===e.name)))return!1;const s=i.find((t=>(null==t?void 0:t.type.name)===e.name));return s&&n.removeStoredMark(s),n.insertText(" ",r.pos),t.view.dispatch(n),!0}return!1}}class $o{constructor(t={}){this.type="node",this.name="node",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=gs(as(this,"addOptions",{name:this.name}))),this.storage=gs(as(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(t={}){return new $o(t)}configure(t={}){const e=this.extend();return e.options=$s(this.options,t),e.storage=gs(as(e,"addStorage",{name:e.name,options:e.options})),e}extend(t={}){const e=new $o({...this.config,...t});return e.parent=this,this.child=e,e.name=t.name?t.name:e.parent.name,t.defaultOptions&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${e.name}".`),e.options=gs(as(e,"addOptions",{name:e.name})),e.storage=gs(as(e,"addStorage",{name:e.name,options:e.options})),e}}function Do(t){return new Rs({find:t.find,handler:({state:e,range:n,match:r,pasteEvent:i})=>{const s=gs(t.getAttributes,void 0,r,i);if(!1===s||null===s)return null;const{tr:o}=e,l=r[r.length-1],u=r[0];let h=n.to;if(l){const r=u.search(/\S/),i=n.from+u.indexOf(l),f=i+l.length;if(ho(n.from,n.to,e.doc).filter((e=>e.mark.type.excluded.find((n=>n===t.type&&n!==e.mark.type)))).filter((t=>t.to>i)).length)return null;fn.from&&o.delete(n.from+r,i),h=n.from+r+l.length,o.addMark(n.from+r,h,t.type.create(s||{})),o.removeStoredMark(t.type)}}})}var Po="top",Io="bottom",Bo="right",Jo="left",Fo="auto",Lo=[Po,Io,Bo,Jo],qo="start",Ho="end",Uo="clippingParents",Wo="viewport",Ko="popper",zo="reference",Go=Lo.reduce((function(t,e){return t.concat([e+"-"+qo,e+"-"+Ho])}),[]),Vo=[].concat(Lo,[Fo]).reduce((function(t,e){return t.concat([e,e+"-"+qo,e+"-"+Ho])}),[]),_o=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Yo(t){return t?(t.nodeName||"").toLowerCase():null}function Qo(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Xo(t){return t instanceof Qo(t).Element||t instanceof Element}function Zo(t){return t instanceof Qo(t).HTMLElement||t instanceof HTMLElement}function tl(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Qo(t).ShadowRoot||t instanceof ShadowRoot)}const el={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var n=e.styles[t]||{},r=e.attributes[t]||{},i=e.elements[t];Zo(i)&&Yo(i)&&(Object.assign(i.style,n),Object.keys(r).forEach((function(t){var e=r[t];!1===e?i.removeAttribute(t):i.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow),function(){Object.keys(e.elements).forEach((function(t){var r=e.elements[t],i=e.attributes[t]||{},s=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:n[t]).reduce((function(t,e){return t[e]="",t}),{});Zo(r)&&Yo(r)&&(Object.assign(r.style,s),Object.keys(i).forEach((function(t){r.removeAttribute(t)})))}))}},requires:["computeStyles"]};function nl(t){return t.split("-")[0]}var rl=Math.max,il=Math.min,sl=Math.round;function ol(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function ll(){return!/^((?!chrome|android).)*safari/i.test(ol())}function ul(t,e,n){void 0===e&&(e=!1),void 0===n&&(n=!1);var r=t.getBoundingClientRect(),i=1,s=1;e&&Zo(t)&&(i=t.offsetWidth>0&&sl(r.width)/t.offsetWidth||1,s=t.offsetHeight>0&&sl(r.height)/t.offsetHeight||1);var o=(Xo(t)?Qo(t):window).visualViewport,l=!ll()&&n,u=(r.left+(l&&o?o.offsetLeft:0))/i,h=(r.top+(l&&o?o.offsetTop:0))/s,f=r.width/i,a=r.height/s;return{width:f,height:a,top:h,right:u+f,bottom:h+a,left:u,x:u,y:h}}function hl(t){var e=ul(t),n=t.offsetWidth,r=t.offsetHeight;return Math.abs(e.width-n)<=1&&(n=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:t.offsetLeft,y:t.offsetTop,width:n,height:r}}function fl(t,e){var n=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(n&&tl(n)){var r=e;do{if(r&&t.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function al(t){return Qo(t).getComputedStyle(t)}function cl(t){return["table","td","th"].indexOf(Yo(t))>=0}function dl(t){return((Xo(t)?t.ownerDocument:t.document)||window.document).documentElement}function pl(t){return"html"===Yo(t)?t:t.assignedSlot||t.parentNode||(tl(t)?t.host:null)||dl(t)}function ml(t){return Zo(t)&&"fixed"!==al(t).position?t.offsetParent:null}function wl(t){for(var e=Qo(t),n=ml(t);n&&cl(n)&&"static"===al(n).position;)n=ml(n);return n&&("html"===Yo(n)||"body"===Yo(n)&&"static"===al(n).position)?e:n||function(t){var e=/firefox/i.test(ol());if(/Trident/i.test(ol())&&Zo(t)&&"fixed"===al(t).position)return null;var n=pl(t);for(tl(n)&&(n=n.host);Zo(n)&&["html","body"].indexOf(Yo(n))<0;){var r=al(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||e&&"filter"===r.willChange||e&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(t)||e}function vl(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function gl(t,e,n){return rl(t,il(e,n))}function bl(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function yl(t,e){return e.reduce((function(e,n){return e[n]=t,e}),{})}function kl(t){return t.split("-")[1]}var xl={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Ml(t){var e,n=t.popper,r=t.popperRect,i=t.placement,s=t.variation,o=t.offsets,l=t.position,u=t.gpuAcceleration,h=t.adaptive,f=t.roundOffsets,a=t.isFixed,c=o.x,d=void 0===c?0:c,p=o.y,m=void 0===p?0:p,w="function"==typeof f?f({x:d,y:m}):{x:d,y:m};d=w.x,m=w.y;var v=o.hasOwnProperty("x"),g=o.hasOwnProperty("y"),b=Jo,y=Po,k=window;if(h){var x=wl(n),M="clientHeight",O="clientWidth";x===Qo(n)&&"static"!==al(x=dl(n)).position&&"absolute"===l&&(M="scrollHeight",O="scrollWidth"),(i===Po||(i===Jo||i===Bo)&&s===Ho)&&(y=Io,m-=(a&&x===k&&k.visualViewport?k.visualViewport.height:x[M])-r.height,m*=u?1:-1),i!==Jo&&(i!==Po&&i!==Io||s!==Ho)||(b=Bo,d-=(a&&x===k&&k.visualViewport?k.visualViewport.width:x[O])-r.width,d*=u?1:-1)}var S,E=Object.assign({position:l},h&&xl),N=!0===f?function(t,e){var n=t.y,r=e.devicePixelRatio||1;return{x:sl(t.x*r)/r||0,y:sl(n*r)/r||0}}({x:d,y:m},Qo(n)):{x:d,y:m};return d=N.x,m=N.y,Object.assign({},E,u?((S={})[y]=g?"0":"",S[b]=v?"0":"",S.transform=(k.devicePixelRatio||1)<=1?"translate("+d+"px, "+m+"px)":"translate3d("+d+"px, "+m+"px, 0)",S):((e={})[y]=g?m+"px":"",e[b]=v?d+"px":"",e.transform="",e))}var Ol={passive:!0},Sl={left:"right",right:"left",bottom:"top",top:"bottom"};function El(t){return t.replace(/left|right|bottom|top/g,(function(t){return Sl[t]}))}var Nl={start:"end",end:"start"};function Cl(t){return t.replace(/start|end/g,(function(t){return Nl[t]}))}function Rl(t){var e=Qo(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function jl(t){return ul(dl(t)).left+Rl(t).scrollLeft}function Tl(t){var e=al(t);return/auto|scroll|overlay|hidden/.test(e.overflow+e.overflowY+e.overflowX)}function Al(t){return["html","body","#document"].indexOf(Yo(t))>=0?t.ownerDocument.body:Zo(t)&&Tl(t)?t:Al(pl(t))}function $l(t,e){var n;void 0===e&&(e=[]);var r=Al(t),i=r===(null==(n=t.ownerDocument)?void 0:n.body),s=Qo(r),o=i?[s].concat(s.visualViewport||[],Tl(r)?r:[]):r,l=e.concat(o);return i?l:l.concat($l(pl(o)))}function Dl(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Pl(t,e,n){return e===Wo?Dl(function(t,e){var n=Qo(t),r=dl(t),i=n.visualViewport,s=r.clientWidth,o=r.clientHeight,l=0,u=0;if(i){s=i.width,o=i.height;var h=ll();(h||!h&&"fixed"===e)&&(l=i.offsetLeft,u=i.offsetTop)}return{width:s,height:o,x:l+jl(t),y:u}}(t,n)):Xo(e)?function(t,e){var n=ul(t,!1,"fixed"===e);return n.top=n.top+t.clientTop,n.left=n.left+t.clientLeft,n.bottom=n.top+t.clientHeight,n.right=n.left+t.clientWidth,n.width=t.clientWidth,n.height=t.clientHeight,n.x=n.left,n.y=n.top,n}(e,n):Dl(function(t){var e,n=dl(t),r=Rl(t),i=null==(e=t.ownerDocument)?void 0:e.body,s=rl(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),o=rl(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),l=-r.scrollLeft+jl(t),u=-r.scrollTop;return"rtl"===al(i||n).direction&&(l+=rl(n.clientWidth,i?i.clientWidth:0)-s),{width:s,height:o,x:l,y:u}}(dl(t)))}function Il(t){var e,n=t.reference,r=t.element,i=t.placement,s=i?nl(i):null,o=i?kl(i):null,l=n.x+n.width/2-r.width/2,u=n.y+n.height/2-r.height/2;switch(s){case Po:e={x:l,y:n.y-r.height};break;case Io:e={x:l,y:n.y+n.height};break;case Bo:e={x:n.x+n.width,y:u};break;case Jo:e={x:n.x-r.width,y:u};break;default:e={x:n.x,y:n.y}}var h=s?vl(s):null;if(null!=h){var f="y"===h?"height":"width";switch(o){case qo:e[h]=e[h]-(n[f]/2-r[f]/2);break;case Ho:e[h]=e[h]+(n[f]/2-r[f]/2)}}return e}function Bl(t,e){void 0===e&&(e={});var n=e.placement,r=void 0===n?t.placement:n,i=e.strategy,s=void 0===i?t.strategy:i,o=e.boundary,l=void 0===o?Uo:o,u=e.rootBoundary,h=void 0===u?Wo:u,f=e.elementContext,a=void 0===f?Ko:f,c=e.altBoundary,d=void 0!==c&&c,p=e.padding,m=void 0===p?0:p,w=bl("number"!=typeof m?m:yl(m,Lo)),v=t.rects.popper,g=t.elements[d?a===Ko?zo:Ko:a],b=function(t,e,n,r){var i="clippingParents"===e?function(t){var e=$l(pl(t)),n=["absolute","fixed"].indexOf(al(t).position)>=0&&Zo(t)?wl(t):t;return Xo(n)?e.filter((function(t){return Xo(t)&&fl(t,n)&&"body"!==Yo(t)})):[]}(t):[].concat(e),s=[].concat(i,[n]),o=s.reduce((function(e,n){var i=Pl(t,n,r);return e.top=rl(i.top,e.top),e.right=il(i.right,e.right),e.bottom=il(i.bottom,e.bottom),e.left=rl(i.left,e.left),e}),Pl(t,s[0],r));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}(Xo(g)?g:g.contextElement||dl(t.elements.popper),l,h,s),y=ul(t.elements.reference),k=Il({reference:y,element:v,strategy:"absolute",placement:r}),x=Dl(Object.assign({},v,k)),M=a===Ko?x:y,O={top:b.top-M.top+w.top,bottom:M.bottom-b.bottom+w.bottom,left:b.left-M.left+w.left,right:M.right-b.right+w.right},S=t.modifiersData.offset;if(a===Ko&&S){var E=S[r];Object.keys(O).forEach((function(t){var e=[Bo,Io].indexOf(t)>=0?1:-1,n=[Po,Io].indexOf(t)>=0?"y":"x";O[t]+=E[n]*e}))}return O}function Jl(t,e){void 0===e&&(e={});var n=e.boundary,r=e.rootBoundary,i=e.padding,s=e.flipVariations,o=e.allowedAutoPlacements,l=void 0===o?Vo:o,u=kl(e.placement),h=u?s?Go:Go.filter((function(t){return kl(t)===u})):Lo,f=h.filter((function(t){return l.indexOf(t)>=0}));0===f.length&&(f=h);var a=f.reduce((function(e,s){return e[s]=Bl(t,{placement:s,boundary:n,rootBoundary:r,padding:i})[nl(s)],e}),{});return Object.keys(a).sort((function(t,e){return a[t]-a[e]}))}const Fl={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,n=t.options,r=t.name;if(!e.modifiersData[r]._skip){for(var i=n.mainAxis,s=void 0===i||i,o=n.altAxis,l=void 0===o||o,u=n.fallbackPlacements,h=n.padding,f=n.boundary,a=n.rootBoundary,c=n.altBoundary,d=n.flipVariations,p=void 0===d||d,m=n.allowedAutoPlacements,w=e.options.placement,v=nl(w),g=u||(v!==w&&p?function(t){if(nl(t)===Fo)return[];var e=El(t);return[Cl(t),e,Cl(e)]}(w):[El(w)]),b=[w].concat(g).reduce((function(t,n){return t.concat(nl(n)===Fo?Jl(e,{placement:n,boundary:f,rootBoundary:a,padding:h,flipVariations:p,allowedAutoPlacements:m}):n)}),[]),y=e.rects.reference,k=e.rects.popper,x=new Map,M=!0,O=b[0],S=0;S=0,j=R?"width":"height",T=Bl(e,{placement:E,boundary:f,rootBoundary:a,altBoundary:c,padding:h}),A=R?C?Bo:Jo:C?Io:Po;y[j]>k[j]&&(A=El(A));var $=El(A),D=[];if(s&&D.push(T[N]<=0),l&&D.push(T[A]<=0,T[$]<=0),D.every((function(t){return t}))){O=E,M=!1;break}x.set(E,D)}if(M)for(var P=function(t){var e=b.find((function(e){var n=x.get(e);if(n)return n.slice(0,t).every((function(t){return t}))}));if(e)return O=e,"break"},I=p?3:1;I>0&&"break"!==P(I);I--);e.placement!==O&&(e.modifiersData[r]._skip=!0,e.placement=O,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Ll(t,e,n){return void 0===n&&(n={x:0,y:0}),{top:t.top-e.height-n.y,right:t.right-e.width+n.x,bottom:t.bottom-e.height+n.y,left:t.left-e.width-n.x}}function ql(t){return[Po,Bo,Io,Jo].some((function(e){return t[e]>=0}))}function Hl(t,e,n){void 0===n&&(n=!1);var r,i,s=Zo(e),o=Zo(e)&&function(t){var e=t.getBoundingClientRect(),n=sl(e.width)/t.offsetWidth||1,r=sl(e.height)/t.offsetHeight||1;return 1!==n||1!==r}(e),l=dl(e),u=ul(t,o,n),h={scrollLeft:0,scrollTop:0},f={x:0,y:0};return(s||!s&&!n)&&(("body"!==Yo(e)||Tl(l))&&(h=(r=e)!==Qo(r)&&Zo(r)?{scrollLeft:(i=r).scrollLeft,scrollTop:i.scrollTop}:Rl(r)),Zo(e)?((f=ul(e,!0)).x+=e.clientLeft,f.y+=e.clientTop):l&&(f.x=jl(l))),{x:u.left+h.scrollLeft-f.x,y:u.top+h.scrollTop-f.y,width:u.width,height:u.height}}function Ul(t){var e=new Map,n=new Set,r=[];function i(t){n.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!n.has(t)){var r=e.get(t);r&&i(r)}})),r.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){n.has(t.name)||i(t)})),r}var Wl={placement:"bottom",modifiers:[],strategy:"absolute"};function Kl(){for(var t=arguments.length,e=new Array(t),n=0;n=0?-1:1,s="function"==typeof n?n(Object.assign({},e,{placement:t})):n,o=s[0],l=s[1];return o=o||0,l=(l||0)*i,[Jo,Bo].indexOf(r)>=0?{x:l,y:o}:{x:o,y:l}}(n,e.rects,i),t}),{}),o=s[e.placement],l=o.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=o.x,e.modifiersData.popperOffsets.y+=l),e.modifiersData[n]=s}},Fl,{name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,n=t.options,r=t.name,i=n.mainAxis,s=void 0===i||i,o=n.altAxis,l=void 0!==o&&o,u=n.tether,h=void 0===u||u,f=n.tetherOffset,a=void 0===f?0:f,c=Bl(e,{boundary:n.boundary,rootBoundary:n.rootBoundary,padding:n.padding,altBoundary:n.altBoundary}),d=nl(e.placement),p=kl(e.placement),m=!p,w=vl(d),v="x"===w?"y":"x",g=e.modifiersData.popperOffsets,b=e.rects.reference,y=e.rects.popper,k="function"==typeof a?a(Object.assign({},e.rects,{placement:e.placement})):a,x="number"==typeof k?{mainAxis:k,altAxis:k}:Object.assign({mainAxis:0,altAxis:0},k),M=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,O={x:0,y:0};if(g){if(s){var S,E="y"===w?Po:Jo,N="y"===w?Io:Bo,C="y"===w?"height":"width",R=g[w],j=R+c[E],T=R-c[N],A=h?-y[C]/2:0,$=p===qo?b[C]:y[C],D=p===qo?-y[C]:-b[C],P=e.elements.arrow,I=h&&P?hl(P):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},J=B[E],F=B[N],L=gl(0,b[C],I[C]),q=m?b[C]/2-A-L-J-x.mainAxis:$-L-J-x.mainAxis,H=m?-b[C]/2+A+L+F+x.mainAxis:D+L+F+x.mainAxis,U=e.elements.arrow&&wl(e.elements.arrow),W=null!=(S=null==M?void 0:M[w])?S:0,K=R+H-W,z=gl(h?il(j,R+q-W-(U?"y"===w?U.clientTop||0:U.clientLeft||0:0)):j,R,h?rl(T,K):T);g[w]=z,O[w]=z-R}if(l){var G,V=g[v],_="y"===v?"height":"width",Y=V+c["x"===w?Po:Jo],Q=V-c["x"===w?Io:Bo],X=-1!==[Po,Jo].indexOf(d),Z=null!=(G=null==M?void 0:M[v])?G:0,tt=X?Y:V-b[_]-y[_]-Z+x.altAxis,et=X?V+b[_]+y[_]-Z-x.altAxis:Q,nt=h&&X?function(t,e,n){var r=gl(t,e,n);return r>n?n:r}(tt,V,et):gl(h?tt:Y,V,h?et:Q);g[v]=nt,O[v]=nt-V}e.modifiersData[r]=O}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,n=t.state,r=t.name,i=t.options,s=n.elements.arrow,o=n.modifiersData.popperOffsets,l=nl(n.placement),u=vl(l),h=[Jo,Bo].indexOf(l)>=0?"height":"width";if(s&&o){var f=function(t,e){return bl("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:yl(t,Lo))}(i.padding,n),a=hl(s),c="y"===u?Po:Jo,d="y"===u?Io:Bo,p=n.rects.reference[h]+n.rects.reference[u]-o[u]-n.rects.popper[h],m=o[u]-n.rects.reference[u],w=wl(s),v=w?"y"===u?w.clientHeight||0:w.clientWidth||0:0,g=v/2-a[h]/2+(p/2-m/2),b=gl(f[c],g,v-a[h]-f[d]);n.modifiersData[r]=((e={})[u]=b,e.centerOffset=b-g,e)}},effect:function(t){var e=t.state,n=t.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=e.elements.popper.querySelector(r)))&&fl(e.elements.popper,r)&&(e.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,n=t.name,r=e.rects.reference,i=e.rects.popper,s=e.modifiersData.preventOverflow,o=Bl(e,{elementContext:"reference"}),l=Bl(e,{altBoundary:!0}),u=Ll(o,r),h=Ll(l,i,s),f=ql(u),a=ql(h);e.modifiersData[n]={referenceClippingOffsets:u,popperEscapeOffsets:h,isReferenceHidden:f,hasPopperEscaped:a},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":f,"data-popper-escaped":a})}}]}),Vl="tippy-content",_l="tippy-backdrop",Yl="tippy-arrow",Ql="tippy-svg-arrow",Xl={passive:!0,capture:!0},Zl=function(){return document.body};function tu(t,e,n){if(Array.isArray(t)){var r=t[e];return null==r?Array.isArray(n)?n[e]:n:r}return t}function eu(t,e){var n={}.toString.call(t);return 0===n.indexOf("[object")&&n.indexOf(e+"]")>-1}function nu(t,e){return"function"==typeof t?t.apply(void 0,e):t}function ru(t,e){return 0===e?t:function(r){clearTimeout(n),n=setTimeout((function(){t(r)}),e)};var n}function iu(t){return[].concat(t)}function su(t,e){-1===t.indexOf(e)&&t.push(e)}function ou(t){return[].slice.call(t)}function lu(t){return Object.keys(t).reduce((function(e,n){return void 0!==t[n]&&(e[n]=t[n]),e}),{})}function uu(){return document.createElement("div")}function hu(t){return["Element","Fragment"].some((function(e){return eu(t,e)}))}function fu(t,e){t.forEach((function(t){t&&(t.style.transitionDuration=e+"ms")}))}function au(t,e){t.forEach((function(t){t&&t.setAttribute("data-state",e)}))}function cu(t,e,n){var r=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(e){t[r](e,n)}))}function du(t,e){for(var n=e;n;){var r;if(t.contains(n))return!0;n=null==n.getRootNode||null==(r=n.getRootNode())?void 0:r.host}return!1}var pu={isTouch:!1},mu=0;function wu(){pu.isTouch||(pu.isTouch=!0,window.performance&&document.addEventListener("mousemove",vu))}function vu(){var t=performance.now();t-mu<20&&(pu.isTouch=!1,document.removeEventListener("mousemove",vu)),mu=t}function gu(){var t,e=document.activeElement;(t=e)&&t._tippy&&t._tippy.reference===t&&e.blur&&!e._tippy.state.isVisible&&e.blur()}var bu=!("undefined"==typeof window||"undefined"==typeof document||!window.msCrypto),yu=Object.assign({appendTo:Zl,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),ku=Object.keys(yu);function xu(t){var e=(t.plugins||[]).reduce((function(e,n){var r,i=n.name;return i&&(e[i]=void 0!==t[i]?t[i]:null!=(r=yu[i])?r:n.defaultValue),e}),{});return Object.assign({},t,e)}function Mu(t,e){var n=Object.assign({},e,{content:nu(e.content,[t])},e.ignoreAttributes?{}:function(t,e){return(e?Object.keys(xu(Object.assign({},yu,{plugins:e}))):ku).reduce((function(e,n){var r=(t.getAttribute("data-tippy-"+n)||"").trim();if(!r)return e;if("content"===n)e[n]=r;else try{e[n]=JSON.parse(r)}catch(t){e[n]=r}return e}),{})}(t,e.plugins));return n.aria=Object.assign({},yu.aria,n.aria),n.aria={expanded:"auto"===n.aria.expanded?e.interactive:n.aria.expanded,content:"auto"===n.aria.content?e.interactive?null:"describedby":n.aria.content},n}var Ou=function(){return"innerHTML"};function Su(t,e){t[Ou()]=e}function Eu(t){var e=uu();return!0===t?e.className=Yl:(e.className=Ql,hu(t)?e.appendChild(t):Su(e,t)),e}function Nu(t,e){hu(e.content)?(Su(t,""),t.appendChild(e.content)):"function"!=typeof e.content&&(e.allowHTML?Su(t,e.content):t.textContent=e.content)}function Cu(t){var e=t.firstElementChild,n=ou(e.children);return{box:e,content:n.find((function(t){return t.classList.contains(Vl)})),arrow:n.find((function(t){return t.classList.contains(Yl)||t.classList.contains(Ql)})),backdrop:n.find((function(t){return t.classList.contains(_l)}))}}function Ru(t){var e=uu(),n=uu();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=uu();function i(n,r){var i=Cu(e),s=i.box,o=i.content,l=i.arrow;r.theme?s.setAttribute("data-theme",r.theme):s.removeAttribute("data-theme"),"string"==typeof r.animation?s.setAttribute("data-animation",r.animation):s.removeAttribute("data-animation"),r.inertia?s.setAttribute("data-inertia",""):s.removeAttribute("data-inertia"),s.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?s.setAttribute("role",r.role):s.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||Nu(o,t.props),r.arrow?l?n.arrow!==r.arrow&&(s.removeChild(l),s.appendChild(Eu(r.arrow))):s.appendChild(Eu(r.arrow)):l&&s.removeChild(l)}return r.className=Vl,r.setAttribute("data-state","hidden"),Nu(r,t.props),e.appendChild(n),n.appendChild(r),i(t.props,t.props),{popper:e,onUpdate:i}}Ru.$$tippy=!0;var ju=1,Tu=[],Au=[];function $u(t,e){var n,r,i,s,o,l,u,h,f=Mu(t,Object.assign({},yu,xu(lu(e)))),a=!1,c=!1,d=!1,p=!1,m=[],w=ru(G,f.interactiveDebounce),v=ju++,g=(h=f.plugins).filter((function(t,e){return h.indexOf(t)===e})),b={id:v,reference:t,popper:uu(),popperInstance:null,props:f,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:g,clearDelayTimeouts:function(){clearTimeout(n),clearTimeout(r),cancelAnimationFrame(i)},setProps:function(e){if(!b.state.isDestroyed){$("onBeforeUpdate",[b,e]),K();var n=b.props,r=Mu(t,Object.assign({},n,lu(e),{ignoreAttributes:!0}));b.props=r,W(),n.interactiveDebounce!==r.interactiveDebounce&&(I(),w=ru(G,r.interactiveDebounce)),n.triggerTarget&&!r.triggerTarget?iu(n.triggerTarget).forEach((function(t){t.removeAttribute("aria-expanded")})):r.triggerTarget&&t.removeAttribute("aria-expanded"),P(),A(),x&&x(n,r),b.popperInstance&&(Q(),Z().forEach((function(t){requestAnimationFrame(t._tippy.popperInstance.forceUpdate)}))),$("onAfterUpdate",[b,e])}},setContent:function(t){b.setProps({content:t})},show:function(){var t=b.state.isVisible,e=b.state.isDestroyed,n=!b.state.isEnabled,r=pu.isTouch&&!b.props.touch,i=tu(b.props.duration,0,yu.duration);if(!(t||e||n||r||C().hasAttribute("disabled")||($("onShow",[b],!1),!1===b.props.onShow(b)))){if(b.state.isVisible=!0,N()&&(k.style.visibility="visible"),A(),L(),b.state.isMounted||(k.style.transition="none"),N()){var s=j();fu([s.box,s.content],0)}l=function(){var t;if(b.state.isVisible&&!p){if(p=!0,k.style.transition=b.props.moveTransition,N()&&b.props.animation){var e=j(),n=e.box,r=e.content;fu([n,r],i),au([n,r],"visible")}D(),P(),su(Au,b),null==(t=b.popperInstance)||t.forceUpdate(),$("onMount",[b]),b.props.animation&&N()&&function(t){H(t,(function(){b.state.isShown=!0,$("onShown",[b])}))}(i)}},function(){var t,e=b.props.appendTo,n=C();(t=b.props.interactive&&e===Zl||"parent"===e?n.parentNode:nu(e,[n])).contains(k)||t.appendChild(k),b.state.isMounted=!0,Q()}()}},hide:function(){var t=!b.state.isVisible,e=b.state.isDestroyed,n=!b.state.isEnabled,r=tu(b.props.duration,1,yu.duration);if(!(t||e||n)&&($("onHide",[b],!1),!1!==b.props.onHide(b))){if(b.state.isVisible=!1,b.state.isShown=!1,p=!1,a=!1,N()&&(k.style.visibility="hidden"),I(),q(),A(!0),N()){var i=j(),s=i.box,o=i.content;b.props.animation&&(fu([s,o],r),au([s,o],"hidden"))}D(),P(),b.props.animation?N()&&function(t,e){H(t,(function(){!b.state.isVisible&&k.parentNode&&k.parentNode.contains(k)&&e()}))}(r,b.unmount):b.unmount()}},hideWithInteractivity:function(t){R().addEventListener("mousemove",w),su(Tu,w),w(t)},enable:function(){b.state.isEnabled=!0},disable:function(){b.hide(),b.state.isEnabled=!1},unmount:function(){b.state.isVisible&&b.hide(),b.state.isMounted&&(X(),Z().forEach((function(t){t._tippy.unmount()})),k.parentNode&&k.parentNode.removeChild(k),Au=Au.filter((function(t){return t!==b})),b.state.isMounted=!1,$("onHidden",[b]))},destroy:function(){b.state.isDestroyed||(b.clearDelayTimeouts(),b.unmount(),K(),delete t._tippy,b.state.isDestroyed=!0,$("onDestroy",[b]))}};if(!f.render)return b;var y=f.render(b),k=y.popper,x=y.onUpdate;k.setAttribute("data-tippy-root",""),k.id="tippy-"+b.id,b.popper=k,t._tippy=b,k._tippy=b;var M=g.map((function(t){return t.fn(b)})),O=t.hasAttribute("aria-expanded");return W(),P(),A(),$("onCreate",[b]),f.showOnCreate&&tt(),k.addEventListener("mouseenter",(function(){b.props.interactive&&b.state.isVisible&&b.clearDelayTimeouts()})),k.addEventListener("mouseleave",(function(){b.props.interactive&&b.props.trigger.indexOf("mouseenter")>=0&&R().addEventListener("mousemove",w)})),b;function S(){var t=b.props.touch;return Array.isArray(t)?t:[t,0]}function E(){return"hold"===S()[0]}function N(){var t;return!(null==(t=b.props.render)||!t.$$tippy)}function C(){return u||t}function R(){var t,e,n=C().parentNode;return n&&null!=(e=iu(n)[0])&&null!=(t=e.ownerDocument)&&t.body?e.ownerDocument:document}function j(){return Cu(k)}function T(t){return b.state.isMounted&&!b.state.isVisible||pu.isTouch||s&&"focus"===s.type?0:tu(b.props.delay,t?0:1,yu.delay)}function A(t){void 0===t&&(t=!1),k.style.pointerEvents=b.props.interactive&&!t?"":"none",k.style.zIndex=""+b.props.zIndex}function $(t,e,n){var r;void 0===n&&(n=!0),M.forEach((function(n){n[t]&&n[t].apply(n,e)})),n&&(r=b.props)[t].apply(r,e)}function D(){var e=b.props.aria;if(e.content){var n="aria-"+e.content,r=k.id;iu(b.props.triggerTarget||t).forEach((function(t){var e=t.getAttribute(n);if(b.state.isVisible)t.setAttribute(n,e?e+" "+r:r);else{var i=e&&e.replace(r,"").trim();i?t.setAttribute(n,i):t.removeAttribute(n)}}))}}function P(){!O&&b.props.aria.expanded&&iu(b.props.triggerTarget||t).forEach((function(t){b.props.interactive?t.setAttribute("aria-expanded",b.state.isVisible&&t===C()?"true":"false"):t.removeAttribute("aria-expanded")}))}function I(){R().removeEventListener("mousemove",w),Tu=Tu.filter((function(t){return t!==w}))}function B(e){if(!pu.isTouch||!d&&"mousedown"!==e.type){var n=e.composedPath&&e.composedPath()[0]||e.target;if(!b.props.interactive||!du(k,n)){if(iu(b.props.triggerTarget||t).some((function(t){return du(t,n)}))){if(pu.isTouch)return;if(b.state.isVisible&&b.props.trigger.indexOf("click")>=0)return}else $("onClickOutside",[b,e]);!0===b.props.hideOnClick&&(b.clearDelayTimeouts(),b.hide(),c=!0,setTimeout((function(){c=!1})),b.state.isMounted||q())}}}function J(){d=!0}function F(){d=!1}function L(){var t=R();t.addEventListener("mousedown",B,!0),t.addEventListener("touchend",B,Xl),t.addEventListener("touchstart",F,Xl),t.addEventListener("touchmove",J,Xl)}function q(){var t=R();t.removeEventListener("mousedown",B,!0),t.removeEventListener("touchend",B,Xl),t.removeEventListener("touchstart",F,Xl),t.removeEventListener("touchmove",J,Xl)}function H(t,e){var n=j().box;function r(t){t.target===n&&(cu(n,"remove",r),e())}if(0===t)return e();cu(n,"remove",o),cu(n,"add",r),o=r}function U(e,n,r){void 0===r&&(r=!1),iu(b.props.triggerTarget||t).forEach((function(t){t.addEventListener(e,n,r),m.push({node:t,eventType:e,handler:n,options:r})}))}function W(){var t;E()&&(U("touchstart",z,{passive:!0}),U("touchend",V,{passive:!0})),(t=b.props.trigger,t.split(/\s+/).filter(Boolean)).forEach((function(t){if("manual"!==t)switch(U(t,z),t){case"mouseenter":U("mouseleave",V);break;case"focus":U(bu?"focusout":"blur",_);break;case"focusin":U("focusout",_)}}))}function K(){m.forEach((function(t){t.node.removeEventListener(t.eventType,t.handler,t.options)})),m=[]}function z(t){var e,n=!1;if(b.state.isEnabled&&!Y(t)&&!c){var r="focus"===(null==(e=s)?void 0:e.type);s=t,u=t.currentTarget,P(),!b.state.isVisible&&eu(t,"MouseEvent")&&Tu.forEach((function(e){return e(t)})),"click"===t.type&&(b.props.trigger.indexOf("mouseenter")<0||a)&&!1!==b.props.hideOnClick&&b.state.isVisible?n=!0:tt(t),"click"===t.type&&(a=!n),n&&!r&&et(t)}}function G(t){var e=t.target,n=C().contains(e)||k.contains(e);if("mousemove"!==t.type||!n){var r=Z().concat(k).map((function(t){var e,n=null==(e=t._tippy.popperInstance)?void 0:e.state;return n?{popperRect:t.getBoundingClientRect(),popperState:n,props:f}:null})).filter(Boolean);(function(t,e){var n=e.clientX,r=e.clientY;return t.every((function(t){var e=t.popperRect,i=t.popperState,s=t.props.interactiveBorder,o=i.placement.split("-")[0],l=i.modifiersData.offset;return!l||e.top-r+("bottom"===o?l.top.y:0)>s||r-e.bottom-("top"===o?l.bottom.y:0)>s||e.left-n+("right"===o?l.left.x:0)>s||n-e.right-("left"===o?l.right.x:0)>s}))})(r,t)&&(I(),et(t))}}function V(t){Y(t)||b.props.trigger.indexOf("click")>=0&&a||(b.props.interactive?b.hideWithInteractivity(t):et(t))}function _(t){b.props.trigger.indexOf("focusin")<0&&t.target!==C()||b.props.interactive&&t.relatedTarget&&k.contains(t.relatedTarget)||et(t)}function Y(t){return!!pu.isTouch&&E()!==t.type.indexOf("touch")>=0}function Q(){X();var e=b.props,n=e.popperOptions,r=e.placement,i=e.offset,s=e.getReferenceClientRect,o=e.moveTransition,u=N()?Cu(k).arrow:null,h=s?{getBoundingClientRect:s,contextElement:s.contextElement||C()}:t,f=[{name:"offset",options:{offset:i}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!o}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(t){var e=t.state;if(N()){var n=j().box;["placement","reference-hidden","escaped"].forEach((function(t){"placement"===t?n.setAttribute("data-placement",e.placement):e.attributes.popper["data-popper-"+t]?n.setAttribute("data-"+t,""):n.removeAttribute("data-"+t)})),e.attributes.popper={}}}}];N()&&u&&f.push({name:"arrow",options:{element:u,padding:3}}),f.push.apply(f,(null==n?void 0:n.modifiers)||[]),b.popperInstance=Gl(h,k,Object.assign({},n,{placement:r,onFirstUpdate:l,modifiers:f}))}function X(){b.popperInstance&&(b.popperInstance.destroy(),b.popperInstance=null)}function Z(){return ou(k.querySelectorAll("[data-tippy-root]"))}function tt(t){b.clearDelayTimeouts(),t&&$("onTrigger",[b,t]),L();var e=T(!0),r=S(),i=r[1];pu.isTouch&&"hold"===r[0]&&i&&(e=i),e?n=setTimeout((function(){b.show()}),e):b.show()}function et(t){if(b.clearDelayTimeouts(),$("onUntrigger",[b,t]),b.state.isVisible){if(!(b.props.trigger.indexOf("mouseenter")>=0&&b.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(t.type)>=0&&a)){var e=T(!1);e?r=setTimeout((function(){b.state.isVisible&&b.hide()}),e):i=requestAnimationFrame((function(){b.hide()}))}}else q()}}function Du(t,e){void 0===e&&(e={});var n=yu.plugins.concat(e.plugins||[]);document.addEventListener("touchstart",wu,Xl),window.addEventListener("blur",gu);var r,i=Object.assign({},e,{plugins:n}),s=(r=t,hu(r)?[r]:function(t){return eu(t,"NodeList")}(r)?ou(r):Array.isArray(r)?r:ou(document.querySelectorAll(r))).reduce((function(t,e){var n=e&&$u(e,i);return n&&t.push(n),t}),[]);return hu(t)?s[0]:s}Du.defaultProps=yu,Du.setDefaultProps=function(t){Object.keys(t).forEach((function(e){yu[e]=t[e]}))},Du.currentInput=pu,Object.assign({},el,{effect:function(t){var e=t.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow)}}),Du.setDefaultProps({render:Ru});export{ft as A,Ys as B,Gt as C,_r as D,Ds as E,r as F,Wt as G,so as H,Eo as I,Ao as M,$o as N,ae as P,zt as S,Yt as T,pe as a,po as b,No as c,Do as d,jo as e,Ro as f,eo as g,ro as h,Us as i,zr as j,no as k,uo as l,ms as m,Co as n,io as o,mo as p,ho as q,lo as r,jt as s,Du as t,h as u,Xt as v,To as w,$i as x,gs as y,as as z} \ No newline at end of file +function t(t){this.content=t}function e(t,n,r){for(let i=0;;i++){if(i==t.childCount||i==n.childCount)return t.childCount==n.childCount?null:r;let s=t.child(i),o=n.child(i);if(s!=o){if(!s.sameMarkup(o))return r;if(s.isText&&s.text!=o.text){for(let t=0;s.text[t]==o.text[t];t++)r++;return r}if(s.content.size||o.content.size){let t=e(s.content,o.content,r+1);if(null!=t)return t}r+=s.nodeSize}else r+=s.nodeSize}}function n(t,e,r,i){for(let s=t.childCount,o=e.childCount;;){if(0==s||0==o)return s==o?null:{a:r,b:i};let l=t.child(--s),u=e.child(--o),h=l.nodeSize;if(l!=u){if(!l.sameMarkup(u))return{a:r,b:i};if(l.isText&&l.text!=u.text){let t=0,e=Math.min(l.text.length,u.text.length);for(;t>1}},t.from=function(e){if(e instanceof t)return e;var n=[];if(e)for(var r in e)n.push(r,e[r]);return new t(n)};class r{constructor(t,e){if(this.content=t,this.size=e||0,null==e)for(let e=0;et&&!1!==n(l,r+o,i||null,s)&&l.content.size){let i=o+1;l.nodesBetween(Math.max(0,t-i),Math.min(l.content.size,e-i),n,r+i)}o=u}}descendants(t){this.nodesBetween(0,this.size,t)}textBetween(t,e,n,r){let i="",s=!0;return this.nodesBetween(t,e,((o,l)=>{let u=o.isText?o.text.slice(Math.max(t,l)-l,e-l):o.isLeaf?r?"function"==typeof r?r(o):r:o.type.spec.leafText?o.type.spec.leafText(o):"":"";o.isBlock&&(o.isLeaf&&u||o.isTextblock)&&n&&(s?s=!1:i+=n),i+=u}),0),i}append(t){if(!t.size)return this;if(!this.size)return t;let e=this.lastChild,n=t.firstChild,i=this.content.slice(),s=0;for(e.isText&&e.sameMarkup(n)&&(i[i.length-1]=e.withText(e.text+n.text),s=1);st)for(let r=0,s=0;st&&((se)&&(o=o.isText?o.cut(Math.max(0,t-s),Math.min(o.text.length,e-s)):o.cut(Math.max(0,t-s-1),Math.min(o.content.size,e-s-1))),n.push(o),i+=o.nodeSize),s=l}return new r(n,i)}cutByIndex(t,e){return t==e?r.empty:0==t&&e==this.content.length?this:new r(this.content.slice(t,e))}replaceChild(t,e){let n=this.content[t];if(n==e)return this;let i=this.content.slice(),s=this.size+e.nodeSize-n.nodeSize;return i[t]=e,new r(i,s)}addToStart(t){return new r([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new r(this.content.concat(t),this.size+t.nodeSize)}eq(t){if(this.content.length!=t.content.length)return!1;for(let e=0;ethis.size||t<0)throw new RangeError(`Position ${t} outside of fragment (${this})`);for(let n=0,r=0;;n++){let i=r+this.child(n).nodeSize;if(i>=t)return i==t||e>0?s(n+1,i):s(n,r);r=i}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map((t=>t.toJSON())):null}static fromJSON(t,e){if(!e)return r.empty;if(!Array.isArray(e))throw new RangeError("Invalid input for Fragment.fromJSON");return new r(e.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return r.empty;let e,n=0;for(let r=0;rthis.type.rank&&(e||(e=t.slice(0,r)),e.push(this),n=!0),e&&e.push(i)}}return e||(e=t.slice()),n||e.push(this),e}removeFromSet(t){for(let e=0;et.type.rank-e.type.rank)),e}}l.none=[];class u extends Error{}class h{constructor(t,e,n){this.content=t,this.openStart=e,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,e){let n=a(this.content,t+this.openStart,e);return n&&new h(n,this.openStart,this.openEnd)}removeBetween(t,e){return new h(f(this.content,t+this.openStart,e+this.openStart),this.openStart,this.openEnd)}eq(t){return this.content.eq(t.content)&&this.openStart==t.openStart&&this.openEnd==t.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let t={content:this.content.toJSON()};return this.openStart>0&&(t.openStart=this.openStart),this.openEnd>0&&(t.openEnd=this.openEnd),t}static fromJSON(t,e){if(!e)return h.empty;let n=e.openStart||0,i=e.openEnd||0;if("number"!=typeof n||"number"!=typeof i)throw new RangeError("Invalid input for Slice.fromJSON");return new h(r.fromJSON(t,e.content),n,i)}static maxOpen(t,e=!0){let n=0,r=0;for(let r=t.firstChild;r&&!r.isLeaf&&(e||!r.type.spec.isolating);r=r.firstChild)n++;for(let n=t.lastChild;n&&!n.isLeaf&&(e||!n.type.spec.isolating);n=n.lastChild)r++;return new h(t,n,r)}}function f(t,e,n){let{index:r,offset:i}=t.findIndex(e),s=t.maybeChild(r),{index:o,offset:l}=t.findIndex(n);if(i==e||s.isText){if(l!=n&&!t.child(o).isText)throw new RangeError("Removing non-flat range");return t.cut(0,e).append(t.cut(n))}if(r!=o)throw new RangeError("Removing non-flat range");return t.replaceChild(r,s.copy(f(s.content,e-i-1,n-i-1)))}function a(t,e,n,r){let{index:i,offset:s}=t.findIndex(e),o=t.maybeChild(i);if(s==e||o.isText)return r&&!r.canReplace(i,i,n)?null:t.cut(0,e).append(n).append(t.cut(e));let l=a(o.content,e-s-1,n);return l&&t.replaceChild(i,o.copy(l))}function c(t,e,n){if(n.openStart>t.depth)throw new u("Inserted content deeper than insertion position");if(t.depth-n.openStart!=e.depth-n.openEnd)throw new u("Inconsistent open depths");return d(t,e,n,0)}function d(t,e,n,i){let s=t.index(i),o=t.node(i);if(s==e.index(i)&&i=0;t--)i=e.node(t).copy(r.from(i));return{start:i.resolveNoCache(t.openStart+n),end:i.resolveNoCache(i.content.size-t.openEnd-n)}}(n,t);return g(o,b(t,s,l,e,i))}{let r=t.parent,i=r.content;return g(r,i.cut(0,t.parentOffset).append(n.content).append(i.cut(e.parentOffset)))}}return g(o,y(t,e,i))}function p(t,e){if(!e.type.compatibleContent(t.type))throw new u("Cannot join "+e.type.name+" onto "+t.type.name)}function m(t,e,n){let r=t.node(n);return p(r,e.node(n)),r}function w(t,e){let n=e.length-1;n>=0&&t.isText&&t.sameMarkup(e[n])?e[n]=t.withText(e[n].text+t.text):e.push(t)}function v(t,e,n,r){let i=(e||t).node(n),s=0,o=e?e.index(n):i.childCount;t&&(s=t.index(n),t.depth>n?s++:t.textOffset&&(w(t.nodeAfter,r),s++));for(let t=s;ts&&m(t,e,s+1),l=i.depth>s&&m(n,i,s+1),u=[];return v(null,t,s,u),o&&l&&e.index(s)==n.index(s)?(p(o,l),w(g(o,b(t,e,n,i,s+1)),u)):(o&&w(g(o,y(t,e,s+1)),u),v(e,n,s,u),l&&w(g(l,y(n,i,s+1)),u)),v(i,null,s,u),new r(u)}function y(t,e,n){let i=[];return v(null,t,n,i),t.depth>n&&w(g(m(t,e,n+1),y(t,e,n+1)),i),v(e,null,n,i),new r(i)}h.empty=new h(r.empty,0,0);class k{constructor(t,e,n){this.pos=t,this.path=e,this.parentOffset=n,this.depth=e.length/3-1}resolveDepth(t){return null==t?this.depth:t<0?this.depth+t:t}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(t){return this.path[3*this.resolveDepth(t)]}index(t){return this.path[3*this.resolveDepth(t)+1]}indexAfter(t){return t=this.resolveDepth(t),this.index(t)+(t!=this.depth||this.textOffset?1:0)}start(t){return 0==(t=this.resolveDepth(t))?0:this.path[3*t-1]+1}end(t){return t=this.resolveDepth(t),this.start(t)+this.node(t).content.size}before(t){if(!(t=this.resolveDepth(t)))throw new RangeError("There is no position before the top-level node");return t==this.depth+1?this.pos:this.path[3*t-1]}after(t){if(!(t=this.resolveDepth(t)))throw new RangeError("There is no position after the top-level node");return t==this.depth+1?this.pos:this.path[3*t-1]+this.path[3*t].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let t=this.parent,e=this.index(this.depth);if(e==t.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=t.child(e);return n?t.child(e).cut(n):r}get nodeBefore(){let t=this.index(this.depth),e=this.pos-this.path[this.path.length-1];return e?this.parent.child(t).cut(0,e):0==t?null:this.parent.child(t-1)}posAtIndex(t,e){e=this.resolveDepth(e);let n=this.path[3*e],r=0==e?0:this.path[3*e-1]+1;for(let e=0;e0;e--)if(this.start(e)<=t&&this.end(e)>=t)return e;return 0}blockRange(t=this,e){if(t.pos=0;n--)if(t.pos<=this.end(n)&&(!e||e(this.node(n))))return new S(this,t,n);return null}sameParent(t){return this.pos-this.parentOffset==t.pos-t.parentOffset}max(t){return t.pos>this.pos?t:this}min(t){return t.pos=0&&e<=t.content.size))throw new RangeError("Position "+e+" out of range");let n=[],r=0,i=e;for(let e=t;;){let{index:t,offset:s}=e.content.findIndex(i),o=i-s;if(n.push(e,t,r+s),!o)break;if(e=e.child(t),e.isText)break;i=o-1,r+=s+1}return new k(e,n,i)}static resolveCached(t,e){for(let n=0;nt&&this.nodesBetween(t,e,(t=>(n.isInSet(t.marks)&&(r=!0),!r))),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let t=this.type.name;return this.content.size&&(t+="("+this.content.toStringInner()+")"),R(this.marks,t)}contentMatchAt(t){let e=this.type.contentMatch.matchFragment(this.content,0,t);if(!e)throw new Error("Called contentMatchAt on a node with invalid content");return e}canReplace(t,e,n=r.empty,i=0,s=n.childCount){let o=this.contentMatchAt(t).matchFragment(n,i,s),l=o&&o.matchFragment(this.content,e);if(!l||!l.validEnd)return!1;for(let t=i;tt.type.name))}`);this.content.forEach((t=>t.check()))}toJSON(){let t={type:this.type.name};for(let e in this.attrs){t.attrs=this.attrs;break}return this.content.size&&(t.content=this.content.toJSON()),this.marks.length&&(t.marks=this.marks.map((t=>t.toJSON()))),t}static fromJSON(t,e){if(!e)throw new RangeError("Invalid input for Node.fromJSON");let n=null;if(e.marks){if(!Array.isArray(e.marks))throw new RangeError("Invalid mark data for Node.fromJSON");n=e.marks.map(t.markFromJSON)}if("text"==e.type){if("string"!=typeof e.text)throw new RangeError("Invalid text node in JSON");return t.text(e.text,n)}let i=r.fromJSON(t,e.content);return t.nodeType(e.type).create(e.attrs,i,n)}}N.prototype.text=void 0;class C extends N{constructor(t,e,n,r){if(super(t,e,null,r),!n)throw new RangeError("Empty text nodes are not allowed");this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):R(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(t,e){return this.text.slice(t,e)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new C(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new C(this.type,this.attrs,t,this.marks)}cut(t=0,e=this.text.length){return 0==t&&e==this.text.length?this:this.withText(this.text.slice(t,e))}eq(t){return this.sameMarkup(t)&&this.text==t.text}toJSON(){let t=super.toJSON();return t.text=this.text,t}}function R(t,e){for(let n=t.length-1;n>=0;n--)e=t[n].type.name+"("+e+")";return e}class T{constructor(t){this.validEnd=t,this.next=[],this.wrapCache=[]}static parse(t,e){let n=new j(t,e);if(null==n.next)return T.empty;let r=A(n);n.next&&n.err("Unexpected trailing text");let i=function(t){let e=Object.create(null);return function n(r){let i=[];r.forEach((e=>{t[e].forEach((({term:e,to:n})=>{if(!e)return;let r;for(let t=0;t{r||i.push([e,r=[]]),-1==r.indexOf(t)&&r.push(t)}))}))}));let s=e[r.join(",")]=new T(r.indexOf(t.length-1)>-1);for(let t=0;te.concat(t(n,s))),[]);if("seq"!=e.type){if("star"==e.type){let o=n();return r(s,o),i(t(e.expr,o),o),[r(o)]}if("plus"==e.type){let o=n();return i(t(e.expr,s),o),i(t(e.expr,o),o),[r(o)]}if("opt"==e.type)return[r(s)].concat(t(e.expr,s));if("range"==e.type){let o=s;for(let r=0;rt.to=e))}}(r));return function(t,e){for(let n=0,r=[t];nt.createAndFill())));for(let t=0;t=this.next.length)throw new RangeError(`There's no ${t}th edge in this content match`);return this.next[t]}toString(){let t=[];return function e(n){t.push(n);for(let r=0;r{let r=n+(e.validEnd?"*":" ")+" ";for(let n=0;n"+t.indexOf(e.next[n].next);return r})).join("\n")}}T.empty=new T(!0);class j{constructor(t,e){this.string=t,this.nodeTypes=e,this.inline=null,this.pos=0,this.tokens=t.split(/\s*(?=\b|\W|$)/),""==this.tokens[this.tokens.length-1]&&this.tokens.pop(),""==this.tokens[0]&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(t){return this.next==t&&(this.pos++||!0)}err(t){throw new SyntaxError(t+" (in content expression '"+this.string+"')")}}function A(t){let e=[];do{e.push($(t))}while(t.eat("|"));return 1==e.length?e[0]:{type:"choice",exprs:e}}function $(t){let e=[];do{e.push(D(t))}while(t.next&&")"!=t.next&&"|"!=t.next);return 1==e.length?e[0]:{type:"seq",exprs:e}}function D(t){let e=function(t){if(t.eat("(")){let e=A(t);return t.eat(")")||t.err("Missing closing paren"),e}if(!/\W/.test(t.next)){let e=function(t,e){let n=t.nodeTypes,r=n[e];if(r)return[r];let i=[];for(let t in n){let r=n[t];r.groups.indexOf(e)>-1&&i.push(r)}return 0==i.length&&t.err("No node type or group '"+e+"' found"),i}(t,t.next).map((e=>(null==t.inline?t.inline=e.isInline:t.inline!=e.isInline&&t.err("Mixing inline and block content"),{type:"name",value:e})));return t.pos++,1==e.length?e[0]:{type:"choice",exprs:e}}t.err("Unexpected token '"+t.next+"'")}(t);for(;;)if(t.eat("+"))e={type:"plus",expr:e};else if(t.eat("*"))e={type:"star",expr:e};else if(t.eat("?"))e={type:"opt",expr:e};else{if(!t.eat("{"))break;e=I(t,e)}return e}function P(t){/\D/.test(t.next)&&t.err("Expected number, got '"+t.next+"'");let e=Number(t.next);return t.pos++,e}function I(t,e){let n=P(t),r=n;return t.eat(",")&&(r="}"!=t.next?P(t):-1),t.eat("}")||t.err("Unclosed braced range"),{type:"range",min:n,max:r,expr:e}}function B(t,e){return e-t}function J(t,e){let n=[];return function e(r){let i=t[r];if(1==i.length&&!i[0].term)return e(i[0].to);n.push(r);for(let t=0;t-1}allowsMarks(t){if(null==this.markSet)return!0;for(let e=0;en[t]=new H(t,e,r)));let r=e.spec.topNode||"doc";if(!n[r])throw new RangeError("Schema is missing its top node type ('"+r+"')");if(!n.text)throw new RangeError("Every schema needs a 'text' type");for(let t in n.text.attrs)throw new RangeError("The text node type should not have attributes");return n}}class U{constructor(t){this.hasDefault=Object.prototype.hasOwnProperty.call(t,"default"),this.default=t.default}get isRequired(){return!this.hasDefault}}class W{constructor(t,e,n,r){this.name=t,this.rank=e,this.schema=n,this.spec=r,this.attrs=q(r.attrs),this.excluded=null;let i=F(this.attrs);this.instance=i?new l(this,i):null}create(t=null){return!t&&this.instance?this.instance:new l(this,L(this.attrs,t))}static compile(t,e){let n=Object.create(null),r=0;return t.forEach(((t,i)=>n[t]=new W(t,r++,e,i))),n}removeFromSet(t){for(var e=0;e-1}}class K{constructor(e){this.cached=Object.create(null);let n=this.spec={};for(let t in e)n[t]=e[t];n.nodes=t.from(e.nodes),n.marks=t.from(e.marks||{}),this.nodes=H.compile(this.spec.nodes,this),this.marks=W.compile(this.spec.marks,this);let r=Object.create(null);for(let t in this.nodes){if(t in this.marks)throw new RangeError(t+" can not be both a node and a mark");let e=this.nodes[t],n=e.spec.content||"",i=e.spec.marks;e.contentMatch=r[n]||(r[n]=T.parse(n,this.nodes)),e.inlineContent=e.contentMatch.inlineContent,e.markSet="_"==i?null:i?z(this,i.split(" ")):""!=i&&e.inlineContent?null:[]}for(let t in this.marks){let e=this.marks[t],n=e.spec.excludes;e.excluded=null==n?[e]:""==n?[]:z(this,n.split(" "))}this.nodeFromJSON=this.nodeFromJSON.bind(this),this.markFromJSON=this.markFromJSON.bind(this),this.topNodeType=this.nodes[this.spec.topNode||"doc"],this.cached.wrappings=Object.create(null)}node(t,e=null,n,r){if("string"==typeof t)t=this.nodeType(t);else{if(!(t instanceof H))throw new RangeError("Invalid node type: "+t);if(t.schema!=this)throw new RangeError("Node type from different schema used ("+t.name+")")}return t.createChecked(e,n,r)}text(t,e){let n=this.nodes.text;return new C(n,n.defaultAttrs,t,l.setFrom(e))}mark(t,e){return"string"==typeof t&&(t=this.marks[t]),t.create(e)}nodeFromJSON(t){return N.fromJSON(this,t)}markFromJSON(t){return l.fromJSON(this,t)}nodeType(t){let e=this.nodes[t];if(!e)throw new RangeError("Unknown node type: "+t);return e}}function z(t,e){let n=[];for(let r=0;r-1)&&n.push(o=r)}if(!o)throw new SyntaxError("Unknown mark type: '"+e[r]+"'")}return n}class G{constructor(t,e){this.schema=t,this.rules=e,this.tags=[],this.styles=[],e.forEach((t=>{!function(t){return null!=t.tag}(t)?function(t){return null!=t.style}(t)&&this.styles.push(t):this.tags.push(t)})),this.normalizeLists=!this.tags.some((e=>{if(!/^(ul|ol)\b/.test(e.tag)||!e.node)return!1;let n=t.nodes[e.node];return n.contentMatch.matchType(n)}))}parse(t,e={}){let n=new Z(this,e,!1);return n.addAll(t,e.from,e.to),n.finish()}parseSlice(t,e={}){let n=new Z(this,e,!0);return n.addAll(t,e.from,e.to),h.maxOpen(n.finish())}matchTag(t,e,n){for(let r=n?this.tags.indexOf(n)+1:0;rt.length&&(61!=s.charCodeAt(t.length)||s.slice(t.length+1)!=e))){if(r.getAttrs){let t=r.getAttrs(e);if(!1===t)continue;r.attrs=t||void 0}return r}}}static schemaRules(t){let e=[];function n(t){let n=null==t.priority?50:t.priority,r=0;for(;r{n(t=et(t)),t.mark||t.ignore||t.clearMark||(t.mark=e)}))}for(let e in t.nodes){let r=t.nodes[e].spec.parseDOM;r&&r.forEach((t=>{n(t=et(t)),t.node||t.ignore||t.mark||(t.node=e)}))}return e}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new G(t,G.schemaRules(t)))}}const V={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},_={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},Y={ol:!0,ul:!0};function Q(t,e,n){return null!=e?(e?1:0)|("full"===e?2:0):t&&"pre"==t.whitespace?3:-5&n}class X{constructor(t,e,n,r,i,s,o){this.type=t,this.attrs=e,this.marks=n,this.pendingMarks=r,this.solid=i,this.options=o,this.content=[],this.activeMarks=l.none,this.stashMarks=[],this.match=s||(4&o?null:t.contentMatch)}findWrapping(t){if(!this.match){if(!this.type)return[];let e=this.type.contentMatch.fillBefore(r.from(t));if(!e){let e,n=this.type.contentMatch;return(e=n.findWrapping(t.type))?(this.match=n,e):null}this.match=this.type.contentMatch.matchFragment(e)}return this.match.findWrapping(t.type)}finish(t){if(!(1&this.options)){let t,e=this.content[this.content.length-1];if(e&&e.isText&&(t=/[ \t\r\n\u000c]+$/.exec(e.text))){let n=e;e.text.length==t[0].length?this.content.pop():this.content[this.content.length-1]=n.withText(n.text.slice(0,n.text.length-t[0].length))}}let e=r.from(this.content);return!t&&this.match&&(e=e.append(this.match.fillBefore(r.empty,!0))),this.type?this.type.create(this.attrs,e,this.marks):e}popFromStashMark(t){for(let e=this.stashMarks.length-1;e>=0;e--)if(t.eq(this.stashMarks[e]))return this.stashMarks.splice(e,1)[0]}applyPending(t){for(let e=0,n=this.pendingMarks;ethis.addAll(t))),e&&this.sync(n),this.needsBlock=s}else this.withStyleRules(t,(()=>{this.addElementByRule(t,i,!1===i.consuming?n:void 0)}))}leafFallback(t){"BR"==t.nodeName&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(t.ownerDocument.createTextNode("\n"))}ignoreFallback(t){"BR"!=t.nodeName||this.top.type&&this.top.type.inlineContent||this.findPlace(this.parser.schema.text("-"))}readStyles(t){let e=l.none,n=l.none;for(let r=0;r{s.clearMark(t)&&(n=t.addToSet(n))})):e=this.parser.schema.marks[s.mark].create(s.attrs).addToSet(e),!1!==s.consuming)break;i=s}return[e,n]}addElementByRule(t,e,n){let r,i,s;e.node?(i=this.parser.schema.nodes[e.node],i.isLeaf?this.insertNode(i.create(e.attrs))||this.leafFallback(t):r=this.enter(i,e.attrs||null,e.preserveWhitespace)):(s=this.parser.schema.marks[e.mark].create(e.attrs),this.addPendingMark(s));let o=this.top;if(i&&i.isLeaf)this.findInside(t);else if(n)this.addElement(t,n);else if(e.getContent)this.findInside(t),e.getContent(t,this.parser.schema).forEach((t=>this.insertNode(t)));else{let n=t;"string"==typeof e.contentElement?n=t.querySelector(e.contentElement):"function"==typeof e.contentElement?n=e.contentElement(t):e.contentElement&&(n=e.contentElement),this.findAround(t,n,!0),this.addAll(n)}r&&this.sync(o)&&this.open--,s&&this.removePendingMark(s,o)}addAll(t,e,n){let r=e||0;for(let i=e?t.childNodes[e]:t.firstChild,s=null==n?null:t.childNodes[n];i!=s;i=i.nextSibling,++r)this.findAtPoint(t,r),this.addDOM(i);this.findAtPoint(t,r)}findPlace(t){let e,n;for(let r=this.open;r>=0;r--){let i=this.nodes[r],s=i.findWrapping(t);if(s&&(!e||e.length>s.length)&&(e=s,n=i,!s.length))break;if(i.solid)break}if(!e)return!1;this.sync(n);for(let t=0;tthis.open){for(;e>this.open;e--)this.nodes[e-1].content.push(this.nodes[e].finish(t));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(this.isOpen||this.options.topOpen)}sync(t){for(let e=this.open;e>=0;e--)if(this.nodes[e]==t)return this.open=e,!0;return!1}get currentPos(){this.closeExtra();let t=0;for(let e=this.open;e>=0;e--){let n=this.nodes[e].content;for(let e=n.length-1;e>=0;e--)t+=n[e].nodeSize;e&&t++}return t}findAtPoint(t,e){if(this.find)for(let n=0;n-1)return t.split(/\s*\|\s*/).some(this.matchesContext,this);let e=t.split("/"),n=this.options.context,r=!(this.isOpen||n&&n.parent.type!=this.nodes[0].type),i=(r?0:1)-(n?n.depth+1:0),s=(t,o)=>{for(;t>=0;t--){let l=e[t];if(""==l){if(t==e.length-1||0==t)continue;for(;o>=i;o--)if(s(t-1,o))return!0;return!1}{let t=o>0||0==o&&r?this.nodes[o].type:n&&o>=i?n.node(o-i).type:null;if(!t||t.name!=l&&-1==t.groups.indexOf(l))return!1;o--}}return!0};return s(e.length-1,this.open)}textblockFromContext(){let t=this.options.context;if(t)for(let e=t.depth;e>=0;e--){let n=t.node(e).contentMatchAt(t.indexAfter(e)).defaultType;if(n&&n.isTextblock&&n.defaultAttrs)return n}for(let t in this.parser.schema.nodes){let e=this.parser.schema.nodes[t];if(e.isTextblock&&e.defaultAttrs)return e}}addPendingMark(t){let e=function(t,e){for(let n=0;n=0;n--){let r=this.nodes[n];if(r.pendingMarks.lastIndexOf(t)>-1)r.pendingMarks=t.removeFromSet(r.pendingMarks);else{r.activeMarks=t.removeFromSet(r.activeMarks);let e=r.popFromStashMark(t);e&&r.type&&r.type.allowsMarkType(e.type)&&(r.activeMarks=e.addToSet(r.activeMarks))}if(r==e)break}}}function tt(t,e){return(t.matches||t.msMatchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector).call(t,e)}function et(t){let e={};for(let n in t)e[n]=t[n];return e}function nt(t,e){let n=e.schema.nodes;for(let r in n){let i=n[r];if(!i.allowsMarkType(t))continue;let s=[],o=t=>{s.push(t);for(let n=0;n{if(i.length||t.marks.length){let n=0,s=0;for(;n=0;r--){let i=this.serializeMark(t.marks[r],t.isInline,e);i&&((i.contentDOM||i.dom).appendChild(n),n=i.dom)}return n}serializeMark(t,e,n={}){let r=this.marks[t.type.name];return r&&rt.renderSpec(st(n),r(t,e))}static renderSpec(t,e,n=null){if("string"==typeof e)return{dom:t.createTextNode(e)};if(null!=e.nodeType)return{dom:e};if(e.dom&&null!=e.dom.nodeType)return e;let r,i=e[0],s=i.indexOf(" ");s>0&&(n=i.slice(0,s),i=i.slice(s+1));let o=n?t.createElementNS(n,i):t.createElement(i),l=e[1],u=1;if(l&&"object"==typeof l&&null==l.nodeType&&!Array.isArray(l)){u=2;for(let t in l)if(null!=l[t]){let e=t.indexOf(" ");e>0?o.setAttributeNS(t.slice(0,e),t.slice(e+1),l[t]):o.setAttribute(t,l[t])}}for(let i=u;iu)throw new RangeError("Content hole must be the only child of its parent node");return{dom:o,contentDOM:o}}{let{dom:e,contentDOM:i}=rt.renderSpec(t,s,n);if(o.appendChild(e),i){if(r)throw new RangeError("Multiple content holes");r=i}}}return{dom:o,contentDOM:r}}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new rt(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(t){let e=it(t.nodes);return e.text||(e.text=t=>t.text),e}static marksFromSchema(t){return it(t.marks)}}function it(t){let e={};for(let n in t){let r=t[n].spec.toDOM;r&&(e[n]=r)}return e}function st(t){return t.document||window.document}const ot=Math.pow(2,16);function lt(t){return 65535&t}class ut{constructor(t,e,n){this.pos=t,this.delInfo=e,this.recover=n}get deleted(){return(8&this.delInfo)>0}get deletedBefore(){return(5&this.delInfo)>0}get deletedAfter(){return(6&this.delInfo)>0}get deletedAcross(){return(4&this.delInfo)>0}}class ht{constructor(t,e=!1){if(this.ranges=t,this.inverted=e,!t.length&&ht.empty)return ht.empty}recover(t){let e=0,n=lt(t);if(!this.inverted)for(let t=0;tt)break;let u=this.ranges[o+i],h=this.ranges[o+s],f=l+u;if(t<=f){let i=l+r+((u?t==l?-1:t==f?1:e:e)<0?0:h);if(n)return i;let s=t==(e<0?l:f)?null:o/3+(t-l)*ot,a=t==l?2:t==f?1:4;return(e<0?t!=l:t!=f)&&(a|=8),new ut(i,a,s)}r+=h-u}return n?t+r:new ut(t+r,0,null)}touches(t,e){let n=0,r=lt(e),i=this.inverted?2:1,s=this.inverted?1:2;for(let e=0;et)break;let l=this.ranges[e+i];if(t<=o+l&&e==3*r)return!0;n+=this.ranges[e+s]-l}return!1}forEach(t){let e=this.inverted?2:1,n=this.inverted?1:2;for(let r=0,i=0;r=0;e--){let r=t.getMirror(e);this.appendMap(t.maps[e].invert(),null!=r&&r>e?n-r-1:void 0)}}invert(){let t=new ft;return t.appendMappingInverted(this),t}map(t,e=1){if(this.mirror)return this._map(t,e,!0);for(let n=this.from;nn&&et.isAtom&&e.type.allowsMarkType(this.mark.type)?t.mark(this.mark.addToSet(t.marks)):t),r),e.openStart,e.openEnd);return dt.fromReplace(t,this.from,this.to,i)}invert(){return new wt(this.from,this.to,this.mark)}map(t){let e=t.mapResult(this.from,1),n=t.mapResult(this.to,-1);return e.deleted&&n.deleted||e.pos>=n.pos?null:new mt(e.pos,n.pos,this.mark)}merge(t){return t instanceof mt&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new mt(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,e){if("number"!=typeof e.from||"number"!=typeof e.to)throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new mt(e.from,e.to,t.markFromJSON(e.mark))}}ct.jsonID("addMark",mt);class wt extends ct{constructor(t,e,n){super(),this.from=t,this.to=e,this.mark=n}apply(t){let e=t.slice(this.from,this.to),n=new h(pt(e.content,(t=>t.mark(this.mark.removeFromSet(t.marks))),t),e.openStart,e.openEnd);return dt.fromReplace(t,this.from,this.to,n)}invert(){return new mt(this.from,this.to,this.mark)}map(t){let e=t.mapResult(this.from,1),n=t.mapResult(this.to,-1);return e.deleted&&n.deleted||e.pos>=n.pos?null:new wt(e.pos,n.pos,this.mark)}merge(t){return t instanceof wt&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new wt(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,e){if("number"!=typeof e.from||"number"!=typeof e.to)throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new wt(e.from,e.to,t.markFromJSON(e.mark))}}ct.jsonID("removeMark",wt);class vt extends ct{constructor(t,e){super(),this.pos=t,this.mark=e}apply(t){let e=t.nodeAt(this.pos);if(!e)return dt.fail("No node at mark step's position");let n=e.type.create(e.attrs,null,this.mark.addToSet(e.marks));return dt.fromReplace(t,this.pos,this.pos+1,new h(r.from(n),0,e.isLeaf?0:1))}invert(t){let e=t.nodeAt(this.pos);if(e){let t=this.mark.addToSet(e.marks);if(t.length==e.marks.length){for(let n=0;nn.pos?null:new yt(e.pos,n.pos,r,i,this.slice,this.insert,this.structure)}toJSON(){let t={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(t.slice=this.slice.toJSON()),this.structure&&(t.structure=!0),t}static fromJSON(t,e){if("number"!=typeof e.from||"number"!=typeof e.to||"number"!=typeof e.gapFrom||"number"!=typeof e.gapTo||"number"!=typeof e.insert)throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new yt(e.from,e.to,e.gapFrom,e.gapTo,h.fromJSON(t,e.slice),e.insert,!!e.structure)}}function kt(t,e,n){let r=t.resolve(e),i=n-e,s=r.depth;for(;i>0&&s>0&&r.indexAfter(s)==r.node(s).childCount;)s--,i--;if(i>0){let t=r.node(s).maybeChild(r.indexAfter(s));for(;i>0;){if(!t||t.isLeaf)return!0;t=t.firstChild,i--}}return!1}function xt(t,e,n){return(0==e||t.canReplace(e,t.childCount))&&(n==t.childCount||t.canReplace(0,n))}function Mt(t){let e=t.parent.content.cutByIndex(t.startIndex,t.endIndex);for(let n=t.depth;;--n){let r=t.$from.node(n),i=t.$from.index(n),s=t.$to.indexAfter(n);if(ns;t--,e--){let n=i.node(t),s=i.index(t);if(n.type.spec.isolating)return!1;let o=n.content.cutByIndex(s,n.childCount),l=r&&r[e+1];l&&(o=o.replaceChild(0,l.type.create(l.attrs)));let u=r&&r[e]||n;if(!n.canReplace(s+1,n.childCount)||!u.type.validContent(o))return!1}let l=i.indexAfter(s),u=r&&r[0];return i.node(s).canReplaceWith(l,l,u?u.type:i.node(s+1).type)}function Nt(t,e){let n=t.resolve(e),r=n.index();return Ct(n.nodeBefore,n.nodeAfter)&&n.parent.canReplace(r,r+1)}function Ct(t,e){return!(!t||!e||t.isLeaf||!t.canAppend(e))}function Rt(t,e,n=-1){let r=t.resolve(e);for(let t=r.depth;;t--){let i,s,o=r.index(t);if(t==r.depth?(i=r.nodeBefore,s=r.nodeAfter):n>0?(i=r.node(t+1),o++,s=r.node(t).maybeChild(o)):(i=r.node(t).maybeChild(o-1),s=r.node(t+1)),i&&!i.isTextblock&&Ct(i,s)&&r.node(t).canReplace(o,o+1))return e;if(0==t)break;e=n<0?r.before(t):r.after(t)}}function Tt(t,e,n){let r=t.resolve(e);if(!n.content.size)return e;let i=n.content;for(let t=0;t=0;e--){let n=e==r.depth?0:r.pos<=(r.start(e+1)+r.end(e+1))/2?-1:1,s=r.index(e)+(n>0?1:0),o=r.node(e),l=!1;if(1==t)l=o.canReplace(s,s,i);else{let t=o.contentMatchAt(s).findWrapping(i.firstChild.type);l=t&&o.canReplaceWith(s,s,t[0])}if(l)return 0==n?r.pos:n<0?r.before(e+1):r.after(e+1)}return null}function jt(t,e,n=e,r=h.empty){if(e==n&&!r.size)return null;let i=t.resolve(e),s=t.resolve(n);return At(i,s,r)?new bt(e,n,r):new $t(i,s,r).fit()}function At(t,e,n){return!n.openStart&&!n.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),n.content)}ct.jsonID("replaceAround",yt);class $t{constructor(t,e,n){this.$from=t,this.$to=e,this.unplaced=n,this.frontier=[],this.placed=r.empty;for(let e=0;e<=t.depth;e++){let n=t.node(e);this.frontier.push({type:n.type,match:n.contentMatchAt(t.indexAfter(e))})}for(let e=t.depth;e>0;e--)this.placed=r.from(t.node(e).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let t=this.findFittable();t?this.placeNodes(t):this.openMore()||this.dropNode()}let t=this.mustMoveInline(),e=this.placed.size-this.depth-this.$from.depth,n=this.$from,r=this.close(t<0?this.$to:n.doc.resolve(t));if(!r)return null;let i=this.placed,s=n.depth,o=r.depth;for(;s&&o&&1==i.childCount;)i=i.firstChild.content,s--,o--;let l=new h(i,s,o);return t>-1?new yt(n.pos,t,this.$to.pos,this.$to.end(),l,e):l.size||n.pos!=this.$to.pos?new bt(n.pos,r.pos,l):null}findFittable(){let t=this.unplaced.openStart;for(let e=this.unplaced.content,n=0,r=this.unplaced.openEnd;n1&&(r=0),i.type.spec.isolating&&r<=n){t=n;break}e=i.content}for(let e=1;e<=2;e++)for(let n=1==e?t:this.unplaced.openStart;n>=0;n--){let t,i=null;n?(i=It(this.unplaced.content,n-1).firstChild,t=i.content):t=this.unplaced.content;let s=t.firstChild;for(let t=this.depth;t>=0;t--){let o,{type:l,match:u}=this.frontier[t],h=null;if(1==e&&(s?u.matchType(s.type)||(h=u.fillBefore(r.from(s),!1)):i&&l.compatibleContent(i.type)))return{sliceDepth:n,frontierDepth:t,parent:i,inject:h};if(2==e&&s&&(o=u.findWrapping(s.type)))return{sliceDepth:n,frontierDepth:t,parent:i,wrap:o};if(i&&u.matchType(i.type))break}}}openMore(){let{content:t,openStart:e,openEnd:n}=this.unplaced,r=It(t,e);return!(!r.childCount||r.firstChild.isLeaf||(this.unplaced=new h(t,e+1,Math.max(n,r.size+e>=t.size-n?e+1:0)),0))}dropNode(){let{content:t,openStart:e,openEnd:n}=this.unplaced,r=It(t,e);if(r.childCount<=1&&e>0){let i=t.size-e<=e+r.size;this.unplaced=new h(Dt(t,e-1,1),e-1,i?e-1:n)}else this.unplaced=new h(Dt(t,e,1),e,n)}placeNodes({sliceDepth:t,frontierDepth:e,parent:n,inject:i,wrap:s}){for(;this.depth>e;)this.closeFrontierNode();if(s)for(let t=0;t1||0==u||t.content.size)&&(c=e,a.push(Bt(t.mark(d.allowedMarks(t.marks)),1==f?u:0,f==l.childCount?p:-1)))}let m=f==l.childCount;m||(p=-1),this.placed=Pt(this.placed,e,r.from(a)),this.frontier[e].match=c,m&&p<0&&n&&n.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let t=0,e=l;t1&&r==this.$to.end(--n);)++r;return r}findCloseLevel(t){t:for(let e=Math.min(this.depth,t.depth);e>=0;e--){let{match:n,type:r}=this.frontier[e],i=e=0;n--){let{match:e,type:r}=this.frontier[n],i=Jt(t,n,r,e,!0);if(!i||i.childCount)continue t}return{depth:e,fit:s,move:i?t.doc.resolve(t.after(e+1)):t}}}}close(t){let e=this.findCloseLevel(t);if(!e)return null;for(;this.depth>e.depth;)this.closeFrontierNode();e.fit.childCount&&(this.placed=Pt(this.placed,e.depth,e.fit)),t=e.move;for(let n=e.depth+1;n<=t.depth;n++){let e=t.node(n),r=e.type.contentMatch.fillBefore(e.content,!0,t.index(n));this.openFrontierNode(e.type,e.attrs,r)}return t}openFrontierNode(t,e=null,n){let i=this.frontier[this.depth];i.match=i.match.matchType(t),this.placed=Pt(this.placed,this.depth,r.from(t.create(e,n))),this.frontier.push({type:t,match:t.contentMatch})}closeFrontierNode(){let t=this.frontier.pop().match.fillBefore(r.empty,!0);t.childCount&&(this.placed=Pt(this.placed,this.frontier.length,t))}}function Dt(t,e,n){return 0==e?t.cutByIndex(n,t.childCount):t.replaceChild(0,t.firstChild.copy(Dt(t.firstChild.content,e-1,n)))}function Pt(t,e,n){return 0==e?t.append(n):t.replaceChild(t.childCount-1,t.lastChild.copy(Pt(t.lastChild.content,e-1,n)))}function It(t,e){for(let n=0;n1&&(i=i.replaceChild(0,Bt(i.firstChild,e-1,1==i.childCount?n-1:0))),e>0&&(i=t.type.contentMatch.fillBefore(i).append(i),n<=0&&(i=i.append(t.type.contentMatch.matchFragment(i).fillBefore(r.empty,!0)))),t.copy(i)}function Jt(t,e,n,r,i){let s=t.node(e),o=i?t.indexAfter(e):t.index(e);if(o==s.childCount&&!n.compatibleContent(s.type))return null;let l=r.fillBefore(s.content,!0,o);return l&&!function(t,e,n){for(let r=n;ri){let e=s.contentMatchAt(0),n=e.fillBefore(t).append(t);t=n.append(e.matchFragment(n).fillBefore(r.empty,!0))}return t}function Lt(t,e){let n=[];for(let r=Math.min(t.depth,e.depth);r>=0;r--){let i=t.start(r);if(ie.pos+(e.depth-r)||t.node(r).type.spec.isolating||e.node(r).type.spec.isolating)break;(i==e.start(r)||r==t.depth&&r==e.depth&&t.parent.inlineContent&&e.parent.inlineContent&&r&&e.start(r-1)==i-1)&&n.push(r)}return n}class qt extends ct{constructor(t,e,n){super(),this.pos=t,this.attr=e,this.value=n}apply(t){let e=t.nodeAt(this.pos);if(!e)return dt.fail("No node at attribute step's position");let n=Object.create(null);for(let t in e.attrs)n[t]=e.attrs[t];n[this.attr]=this.value;let i=e.type.create(n,null,e.marks);return dt.fromReplace(t,this.pos,this.pos+1,new h(r.from(i),0,e.isLeaf?0:1))}getMap(){return ht.empty}invert(t){return new qt(this.pos,this.attr,t.nodeAt(this.pos).attrs[this.attr])}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new qt(e.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(t,e){if("number"!=typeof e.pos||"string"!=typeof e.attr)throw new RangeError("Invalid input for AttrStep.fromJSON");return new qt(e.pos,e.attr,e.value)}}ct.jsonID("attr",qt);class Ht extends ct{constructor(t,e){super(),this.attr=t,this.value=e}apply(t){let e=Object.create(null);for(let n in t.attrs)e[n]=t.attrs[n];e[this.attr]=this.value;let n=t.type.create(e,t.content,t.marks);return dt.ok(n)}getMap(){return ht.empty}invert(t){return new Ht(this.attr,t.attrs[this.attr])}map(t){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(t,e){if("string"!=typeof e.attr)throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new Ht(e.attr,e.value)}}ct.jsonID("docAttr",Ht);let Ut=class extends Error{};Ut=function t(e){let n=Error.call(this,e);return n.__proto__=t.prototype,n},(Ut.prototype=Object.create(Error.prototype)).constructor=Ut,Ut.prototype.name="TransformError";class Wt{constructor(t){this.doc=t,this.steps=[],this.docs=[],this.mapping=new ft}get before(){return this.docs.length?this.docs[0]:this.doc}step(t){let e=this.maybeStep(t);if(e.failed)throw new Ut(e.failed);return this}maybeStep(t){let e=t.apply(this.doc);return e.failed||this.addStep(t,e.doc),e}get docChanged(){return this.steps.length>0}addStep(t,e){this.docs.push(this.doc),this.steps.push(t),this.mapping.appendMap(t.getMap()),this.doc=e}replace(t,e=t,n=h.empty){let r=jt(this.doc,t,e,n);return r&&this.step(r),this}replaceWith(t,e,n){return this.replace(t,e,new h(r.from(n),0,0))}delete(t,e){return this.replace(t,e,h.empty)}insert(t,e){return this.replaceWith(t,t,e)}replaceRange(t,e,n){return function(t,e,n,r){if(!r.size)return t.deleteRange(e,n);let i=t.doc.resolve(e),s=t.doc.resolve(n);if(At(i,s,r))return t.step(new bt(e,n,r));let o=Lt(i,t.doc.resolve(n));0==o[o.length-1]&&o.pop();let l=-(i.depth+1);o.unshift(l);for(let t=i.depth,e=i.pos-1;t>0;t--,e--){let n=i.node(t).type.spec;if(n.defining||n.definingAsContext||n.isolating)break;o.indexOf(t)>-1?l=t:i.before(t)==e&&o.splice(1,0,-t)}let u=o.indexOf(l),f=[],a=r.openStart;for(let t=r.content,e=0;;e++){let n=t.firstChild;if(f.push(n),e==r.openStart)break;t=n.content}for(let t=a-1;t>=0;t--){let e=f[t],n=(c=e.type).spec.defining||c.spec.definingForContent;if(n&&!e.sameMarkup(i.node(Math.abs(l)-1)))a=t;else if(n||!e.type.isTextblock)break}var c;for(let e=r.openStart;e>=0;e--){let l=(e+a+1)%(r.openStart+1),c=f[l];if(c)for(let e=0;e=0&&(t.replace(e,n,r),!(t.steps.length>d));l--){let t=o[l];t<0||(e=i.before(t),n=s.after(t))}}(this,t,e,n),this}replaceRangeWith(t,e,n){return function(t,e,n,i){if(!i.isInline&&e==n&&t.doc.resolve(e).parent.content.size){let r=function(t,e,n){let r=t.resolve(e);if(r.parent.canReplaceWith(r.index(),r.index(),n))return e;if(0==r.parentOffset)for(let t=r.depth-1;t>=0;t--){let e=r.index(t);if(r.node(t).canReplaceWith(e,e,n))return r.before(t+1);if(e>0)return null}if(r.parentOffset==r.parent.content.size)for(let t=r.depth-1;t>=0;t--){let e=r.indexAfter(t);if(r.node(t).canReplaceWith(e,e,n))return r.after(t+1);if(e0&&(o||r.node(n-1).canReplace(r.index(n-1),i.indexAfter(n-1))))return t.delete(r.before(n),i.after(n))}for(let s=1;s<=r.depth&&s<=i.depth;s++)if(e-r.start(s)==r.depth-s&&n>r.end(s)&&i.end(s)-n!=i.depth-s)return t.delete(r.before(s),n);t.delete(e,n)}(this,t,e),this}lift(t,e){return function(t,e,n){let{$from:i,$to:s,depth:o}=e,l=i.before(o+1),u=s.after(o+1),f=l,a=u,c=r.empty,d=0;for(let t=o,e=!1;t>n;t--)e||i.index(t)>0?(e=!0,c=r.from(i.node(t).copy(c)),d++):f--;let p=r.empty,m=0;for(let t=o,e=!1;t>n;t--)e||s.after(t+1)=0;t--){if(i.size){let e=n[t].type.contentMatch.matchFragment(i);if(!e||!e.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}i=r.from(n[t].type.create(n[t].attrs,i))}let s=e.start,o=e.end;t.step(new yt(s,o,s,o,new h(i,0,0),n.length,!0))}(this,t,e),this}setBlockType(t,e=t,n,i=null){return function(t,e,n,i,s){if(!i.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let o=t.steps.length;t.doc.nodesBetween(e,n,((e,n)=>{if(e.isTextblock&&!e.hasMarkup(i,s)&&function(t,e,n){let r=t.resolve(e),i=r.index();return r.parent.canReplaceWith(i,i+1,n)}(t.doc,t.mapping.slice(o).map(n),i)){t.clearIncompatible(t.mapping.slice(o).map(n,1),i);let l=t.mapping.slice(o),u=l.map(n,1),f=l.map(n+e.nodeSize,1);return t.step(new yt(u,f,u+1,f-1,new h(r.from(i.create(s,null,e.marks)),0,0),1,!0)),!1}}))}(this,t,e,n,i),this}setNodeMarkup(t,e,n=null,i){return function(t,e,n,i,s){let o=t.doc.nodeAt(e);if(!o)throw new RangeError("No node at given position");n||(n=o.type);let l=n.create(i,null,s||o.marks);if(o.isLeaf)return t.replaceWith(e,e+o.nodeSize,l);if(!n.validContent(o.content))throw new RangeError("Invalid content for node type "+n.name);t.step(new yt(e,e+o.nodeSize,e+1,e+o.nodeSize-1,new h(r.from(l),0,0),1,!0))}(this,t,e,n,i),this}setNodeAttribute(t,e,n){return this.step(new qt(t,e,n)),this}setDocAttribute(t,e){return this.step(new Ht(t,e)),this}addNodeMark(t,e){return this.step(new vt(t,e)),this}removeNodeMark(t,e){if(!(e instanceof l)){let n=this.doc.nodeAt(t);if(!n)throw new RangeError("No node at position "+t);if(!(e=e.isInSet(n.marks)))return this}return this.step(new gt(t,e)),this}split(t,e=1,n){return function(t,e,n=1,i){let s=t.doc.resolve(e),o=r.empty,l=r.empty;for(let t=s.depth,e=s.depth-n,u=n-1;t>e;t--,u--){o=r.from(s.node(t).copy(o));let e=i&&i[u];l=r.from(e?e.type.create(e.attrs,l):s.node(t).copy(l))}t.step(new bt(e,e,new h(o.append(l),n,n),!0))}(this,t,e,n),this}addMark(t,e,n){return function(t,e,n,r){let i,s,o=[],l=[];t.doc.nodesBetween(e,n,((t,u,h)=>{if(!t.isInline)return;let f=t.marks;if(!r.isInSet(f)&&h.type.allowsMarkType(r.type)){let h=Math.max(u,e),a=Math.min(u+t.nodeSize,n),c=r.addToSet(f);for(let t=0;tt.step(e))),l.forEach((e=>t.step(e)))}(this,t,e,n),this}removeMark(t,e,n){return function(t,e,n,r){let i=[],s=0;t.doc.nodesBetween(e,n,((t,o)=>{if(!t.isInline)return;s++;let l=null;if(r instanceof W){let e,n=t.marks;for(;e=r.isInSet(n);)(l||(l=[])).push(e),n=e.removeFromSet(n)}else r?r.isInSet(t.marks)&&(l=[r]):l=t.marks;if(l&&l.length){let r=Math.min(o+t.nodeSize,n);for(let t=0;tt.step(new wt(e.from,e.to,e.style))))}(this,t,e,n),this}clearIncompatible(t,e,n){return function(t,e,n,i=n.contentMatch){let s=t.doc.nodeAt(e),o=[],l=e+1;for(let e=0;e=0;e--)t.step(o[e])}(this,t,e,n),this}}const Kt=Object.create(null);class zt{constructor(t,e,n){this.$anchor=t,this.$head=e,this.ranges=n||[new Gt(t.min(e),t.max(e))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let t=this.ranges;for(let e=0;e=0;r--){let i=e<0?ne(t.node(0),t.node(r),t.before(r+1),t.index(r),e,n):ne(t.node(0),t.node(r),t.after(r+1),t.index(r)+1,e,n);if(i)return i}return null}static near(t,e=1){return this.findFrom(t,e)||this.findFrom(t,-e)||new te(t.node(0))}static atStart(t){return ne(t,t,0,0,1)||new te(t)}static atEnd(t){return ne(t,t,t.content.size,t.childCount,-1)||new te(t)}static fromJSON(t,e){if(!e||!e.type)throw new RangeError("Invalid input for Selection.fromJSON");let n=Kt[e.type];if(!n)throw new RangeError(`No selection type ${e.type} defined`);return n.fromJSON(t,e)}static jsonID(t,e){if(t in Kt)throw new RangeError("Duplicate use of selection JSON ID "+t);return Kt[t]=e,e.prototype.jsonID=t,e}getBookmark(){return Yt.between(this.$anchor,this.$head).getBookmark()}}zt.prototype.visible=!0;class Gt{constructor(t,e){this.$from=t,this.$to=e}}let Vt=!1;function _t(t){Vt||t.parent.inlineContent||(Vt=!0,console.warn("TextSelection endpoint not pointing into a node with inline content ("+t.parent.type.name+")"))}class Yt extends zt{constructor(t,e=t){_t(t),_t(e),super(t,e)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(t,e){let n=t.resolve(e.map(this.head));if(!n.parent.inlineContent)return zt.near(n);let r=t.resolve(e.map(this.anchor));return new Yt(r.parent.inlineContent?r:n,n)}replace(t,e=h.empty){if(super.replace(t,e),e==h.empty){let e=this.$from.marksAcross(this.$to);e&&t.ensureMarks(e)}}eq(t){return t instanceof Yt&&t.anchor==this.anchor&&t.head==this.head}getBookmark(){return new Qt(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(t,e){if("number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid input for TextSelection.fromJSON");return new Yt(t.resolve(e.anchor),t.resolve(e.head))}static create(t,e,n=e){let r=t.resolve(e);return new this(r,n==e?r:t.resolve(n))}static between(t,e,n){let r=t.pos-e.pos;if(n&&!r||(n=r>=0?1:-1),!e.parent.inlineContent){let t=zt.findFrom(e,n,!0)||zt.findFrom(e,-n,!0);if(!t)return zt.near(e,n);e=t.$head}return t.parent.inlineContent||(0==r||(t=(zt.findFrom(t,-n,!0)||zt.findFrom(t,n,!0)).$anchor).posnew te(t)};function ne(t,e,n,r,i,s=!1){if(e.inlineContent)return Yt.create(t,n);for(let o=r-(i>0?0:1);i>0?o=0;o+=i){let r=e.child(o);if(r.isAtom){if(!s&&Xt.isSelectable(r))return Xt.create(t,n-(i<0?r.nodeSize:0))}else{let e=ne(t,r,n+i,i<0?r.childCount:0,i,s);if(e)return e}n+=r.nodeSize*i}return null}function re(t,e,n){let r=t.steps.length-1;if(r{null==i&&(i=r)})),t.setSelection(zt.near(t.doc.resolve(i),n)))}class ie extends Wt{constructor(t){super(t.doc),this.curSelectionFor=0,this.updated=0,this.meta=Object.create(null),this.time=Date.now(),this.curSelection=t.selection,this.storedMarks=t.storedMarks}get selection(){return this.curSelectionFor0}setStoredMarks(t){return this.storedMarks=t,this.updated|=2,this}ensureMarks(t){return l.sameSet(this.storedMarks||this.selection.$from.marks(),t)||this.setStoredMarks(t),this}addStoredMark(t){return this.ensureMarks(t.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(t){return this.ensureMarks(t.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(2&this.updated)>0}addStep(t,e){super.addStep(t,e),this.updated=-3&this.updated,this.storedMarks=null}setTime(t){return this.time=t,this}replaceSelection(t){return this.selection.replace(this,t),this}replaceSelectionWith(t,e=!0){let n=this.selection;return e&&(t=t.mark(this.storedMarks||(n.empty?n.$from.marks():n.$from.marksAcross(n.$to)||l.none))),n.replaceWith(this,t),this}deleteSelection(){return this.selection.replace(this),this}insertText(t,e,n){let r=this.doc.type.schema;if(null==e)return t?this.replaceSelectionWith(r.text(t),!0):this.deleteSelection();{if(null==n&&(n=e),n=null==n?e:n,!t)return this.deleteRange(e,n);let i=this.storedMarks;if(!i){let t=this.doc.resolve(e);i=n==e?t.marks():t.marksAcross(this.doc.resolve(n))}return this.replaceRangeWith(e,n,r.text(t,i)),this.selection.empty||this.setSelection(zt.near(this.selection.$to)),this}}setMeta(t,e){return this.meta["string"==typeof t?t:t.key]=e,this}getMeta(t){return this.meta["string"==typeof t?t:t.key]}get isGeneric(){for(let t in this.meta)return!1;return!0}scrollIntoView(){return this.updated|=4,this}get scrolledIntoView(){return(4&this.updated)>0}}function se(t,e){return e&&t?t.bind(e):t}class oe{constructor(t,e,n){this.name=t,this.init=se(e.init,n),this.apply=se(e.apply,n)}}const le=[new oe("doc",{init:t=>t.doc||t.schema.topNodeType.createAndFill(),apply:t=>t.doc}),new oe("selection",{init:(t,e)=>t.selection||zt.atStart(e.doc),apply:t=>t.selection}),new oe("storedMarks",{init:t=>t.storedMarks||null,apply:(t,e,n,r)=>r.selection.$cursor?t.storedMarks:null}),new oe("scrollToSelection",{init:()=>0,apply:(t,e)=>t.scrolledIntoView?e+1:e})];class ue{constructor(t,e){this.schema=t,this.plugins=[],this.pluginsByKey=Object.create(null),this.fields=le.slice(),e&&e.forEach((t=>{if(this.pluginsByKey[t.key])throw new RangeError("Adding different instances of a keyed plugin ("+t.key+")");this.plugins.push(t),this.pluginsByKey[t.key]=t,t.spec.state&&this.fields.push(new oe(t.key,t.spec.state,t))}))}}class he{constructor(t){this.config=t}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(t){return this.applyTransaction(t).state}filterTransaction(t,e=-1){for(let n=0;nt.toJSON()))),t&&"object"==typeof t)for(let n in t){if("doc"==n||"selection"==n)throw new RangeError("The JSON fields `doc` and `selection` are reserved");let r=t[n],i=r.spec.state;i&&i.toJSON&&(e[n]=i.toJSON.call(r,this[r.key]))}return e}static fromJSON(t,e,n){if(!e)throw new RangeError("Invalid input for EditorState.fromJSON");if(!t.schema)throw new RangeError("Required config field 'schema' missing");let r=new ue(t.schema,t.plugins),i=new he(r);return r.fields.forEach((r=>{if("doc"==r.name)i.doc=N.fromJSON(t.schema,e.doc);else if("selection"==r.name)i.selection=zt.fromJSON(i.doc,e.selection);else if("storedMarks"==r.name)e.storedMarks&&(i.storedMarks=e.storedMarks.map(t.schema.markFromJSON));else{if(n)for(let s in n){let o=n[s],l=o.spec.state;if(o.key==r.name&&l&&l.fromJSON&&Object.prototype.hasOwnProperty.call(e,s))return void(i[r.name]=l.fromJSON.call(o,t,e[s],i))}i[r.name]=r.init(t,i)}})),i}}function fe(t,e,n){for(let r in t){let i=t[r];i instanceof Function?i=i.bind(e):"handleDOMEvents"==r&&(i=fe(i,e,{})),n[r]=i}return n}class ae{constructor(t){this.spec=t,this.props={},t.props&&fe(t.props,this,this.props),this.key=t.key?t.key.key:de("plugin")}getState(t){return t[this.key]}}const ce=Object.create(null);function de(t){return t in ce?t+"$"+ ++ce[t]:(ce[t]=0,t+"$")}class pe{constructor(t="key"){this.key=de(t)}get(t){return t.config.pluginsByKey[this.key]}getState(t){return t[this.key]}}const me=function(t){for(var e=0;;e++)if(!(t=t.previousSibling))return e},we=function(t){let e=t.assignedSlot||t.parentNode;return e&&11==e.nodeType?e.host:e};let ve=null;const ge=function(t,e,n){let r=ve||(ve=document.createRange());return r.setEnd(t,null==n?t.nodeValue.length:n),r.setStart(t,e||0),r},be=function(t,e,n,r){return n&&(ke(t,e,n,r,-1)||ke(t,e,n,r,1))},ye=/^(img|br|input|textarea|hr)$/i;function ke(t,e,n,r,i){for(;;){if(t==n&&e==r)return!0;if(e==(i<0?0:xe(t))){let n=t.parentNode;if(!n||1!=n.nodeType||Me(t)||ye.test(t.nodeName)||"false"==t.contentEditable)return!1;e=me(t)+(i<0?0:1),t=n}else{if(1!=t.nodeType)return!1;if("false"==(t=t.childNodes[e+(i<0?-1:0)]).contentEditable)return!1;e=i<0?xe(t):0}}}function xe(t){return 3==t.nodeType?t.nodeValue.length:t.childNodes.length}function Me(t){let e;for(let n=t;n&&!(e=n.pmViewDesc);n=n.parentNode);return e&&e.node&&e.node.isBlock&&(e.dom==t||e.contentDOM==t)}const Oe=function(t){return t.focusNode&&be(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)};function Se(t,e){let n=document.createEvent("Event");return n.initEvent("keydown",!0,!0),n.keyCode=t,n.key=n.code=e,n}const Ee="undefined"!=typeof navigator?navigator:null,Ne="undefined"!=typeof document?document:null,Ce=Ee&&Ee.userAgent||"",Re=/Edge\/(\d+)/.exec(Ce),Te=/MSIE \d/.exec(Ce),je=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Ce),Ae=!!(Te||je||Re),$e=Te?document.documentMode:je?+je[1]:Re?+Re[1]:0,De=!Ae&&/gecko\/(\d+)/i.test(Ce);De&&/Firefox\/(\d+)/.exec(Ce);const Pe=!Ae&&/Chrome\/(\d+)/.exec(Ce),Ie=!!Pe,Be=Pe?+Pe[1]:0,Je=!Ae&&!!Ee&&/Apple Computer/.test(Ee.vendor),Fe=Je&&(/Mobile\/\w+/.test(Ce)||!!Ee&&Ee.maxTouchPoints>2),Le=Fe||!!Ee&&/Mac/.test(Ee.platform),qe=!!Ee&&/Win/.test(Ee.platform),He=/Android \d/.test(Ce),Ue=!!Ne&&"webkitFontSmoothing"in Ne.documentElement.style,We=Ue?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function Ke(t){let e=t.defaultView&&t.defaultView.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.documentElement.clientWidth,top:0,bottom:t.documentElement.clientHeight}}function ze(t,e){return"number"==typeof t?t:t[e]}function Ge(t){let e=t.getBoundingClientRect();return{left:e.left,right:e.left+t.clientWidth*(e.width/t.offsetWidth||1),top:e.top,bottom:e.top+t.clientHeight*(e.height/t.offsetHeight||1)}}function Ve(t,e,n){let r=t.someProp("scrollThreshold")||0,i=t.someProp("scrollMargin")||5,s=t.dom.ownerDocument;for(let o=n||t.dom;o;o=we(o)){if(1!=o.nodeType)continue;let t=o,n=t==s.body,l=n?Ke(s):Ge(t),u=0,h=0;if(e.topl.bottom-ze(r,"bottom")&&(h=e.bottom-e.top>l.bottom-l.top?e.top+ze(i,"top")-l.top:e.bottom-l.bottom+ze(i,"bottom")),e.leftl.right-ze(r,"right")&&(u=e.right-l.right+ze(i,"right")),u||h)if(n)s.defaultView.scrollBy(u,h);else{let n=t.scrollLeft,r=t.scrollTop;h&&(t.scrollTop+=h),u&&(t.scrollLeft+=u);let i=t.scrollLeft-n,s=t.scrollTop-r;e={left:e.left-i,top:e.top-s,right:e.right-i,bottom:e.bottom-s}}if(n||/^(fixed|sticky)$/.test(getComputedStyle(o).position))break}}function _e(t){let e=[],n=t.ownerDocument;for(let r=t;r&&(e.push({dom:r,top:r.scrollTop,left:r.scrollLeft}),t!=n);r=we(r));return e}function Ye(t,e){for(let n=0;n=h){u=Math.max(d.bottom,u),h=Math.min(d.top,h);let t=d.left>e.left?d.left-e.left:d.right=(d.left+d.right)/2?1:0));continue}}else d.top>e.top&&!i&&d.left<=e.left&&d.right>=e.left&&(i=f,s={left:Math.max(d.left,Math.min(d.right,e.left)),top:d.top});!n&&(e.left>=d.right&&e.top>=d.top||e.left>=d.left&&e.top>=d.bottom)&&(l=a+1)}}return!n&&i&&(n=i,r=s,o=0),n&&3==n.nodeType?function(t,e){let n=t.nodeValue.length,r=document.createRange();for(let i=0;i=(n.left+n.right)/2?1:0)}}return{node:t,offset:0}}(n,r):!n||o&&1==n.nodeType?{node:t,offset:l}:Xe(n,r)}function Ze(t,e){return t.left>=e.left-1&&t.left<=e.right+1&&t.top>=e.top-1&&t.top<=e.bottom+1}function tn(t,e,n){let r=t.childNodes.length;if(r&&n.tope.top&&i++}let r;Ue&&i&&1==n.nodeType&&1==(r=n.childNodes[i-1]).nodeType&&"false"==r.contentEditable&&r.getBoundingClientRect().top>=e.top&&i--,n==t.dom&&i==n.childNodes.length-1&&1==n.lastChild.nodeType&&e.top>n.lastChild.getBoundingClientRect().bottom?o=t.state.doc.content.size:0!=i&&1==n.nodeType&&"BR"==n.childNodes[i-1].nodeName||(o=function(t,e,n,r){let i=-1;for(let n=e,s=!1;n!=t.dom;){let e=t.docView.nearestDesc(n,!0);if(!e)return null;if(1==e.dom.nodeType&&(e.node.isBlock&&e.parent&&!s||!e.contentDOM)){let t=e.dom.getBoundingClientRect();if(e.node.isBlock&&e.parent&&!s&&(s=!0,t.left>r.left||t.top>r.top?i=e.posBefore:(t.right-1?i:t.docView.posFromDOM(e,n,-1)}(t,n,i,e))}null==o&&(o=function(t,e,n){let{node:r,offset:i}=Xe(e,n),s=-1;if(1==r.nodeType&&!r.firstChild){let t=r.getBoundingClientRect();s=t.left!=t.right&&n.left>(t.left+t.right)/2?1:-1}return t.docView.posFromDOM(r,i,s)}(t,l,e));let u=t.docView.nearestDesc(l,!0);return{pos:o,inside:u?u.posAtStart-u.border:-1}}function nn(t){return t.top=0&&i==r.nodeValue.length?(t--,s=1):n<0?t--:e++,ln(rn(ge(r,t,e),s),s<0)}{let t=rn(ge(r,i,i),n);if(De&&i&&/\s/.test(r.nodeValue[i-1])&&i=0)}if(null==s&&i&&(n<0||i==xe(r))){let t=r.childNodes[i-1],e=3==t.nodeType?ge(t,xe(t)-(o?0:1)):1!=t.nodeType||"BR"==t.nodeName&&t.nextSibling?null:t;if(e)return ln(rn(e,1),!1)}if(null==s&&i=0)}function ln(t,e){if(0==t.width)return t;let n=e?t.left:t.right;return{top:t.top,bottom:t.bottom,left:n,right:n}}function un(t,e){if(0==t.height)return t;let n=e?t.top:t.bottom;return{top:n,bottom:n,left:t.left,right:t.right}}function hn(t,e,n){let r=t.state,i=t.root.activeElement;r!=e&&t.updateState(e),i!=t.dom&&t.focus();try{return n()}finally{r!=e&&t.updateState(r),i!=t.dom&&i&&i.focus()}}const fn=/[\u0590-\u08ac]/;let an=null,cn=null,dn=!1;class pn{constructor(t,e,n,r){this.parent=t,this.children=e,this.dom=n,this.contentDOM=r,this.dirty=0,n.pmViewDesc=this}matchesWidget(t){return!1}matchesMark(t){return!1}matchesNode(t,e,n){return!1}matchesHack(t){return!1}parseRule(){return null}stopEvent(t){return!1}get size(){let t=0;for(let e=0;eme(this.contentDOM);else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM))r=2&t.compareDocumentPosition(this.contentDOM);else if(this.dom.firstChild){if(0==e)for(let e=t;;e=e.parentNode){if(e==this.dom){r=!1;break}if(e.previousSibling)break}if(null==r&&e==t.childNodes.length)for(let e=t;;e=e.parentNode){if(e==this.dom){r=!0;break}if(e.nextSibling)break}}return(null==r?n>0:r)?this.posAtEnd:this.posAtStart}nearestDesc(t,e=!1){for(let n=!0,r=t;r;r=r.parentNode){let i,s=this.getDesc(r);if(s&&(!e||s.node)){if(!n||!(i=s.nodeDOM)||(1==i.nodeType?i.contains(1==t.nodeType?t:t.parentNode):i==t))return s;n=!1}}}getDesc(t){let e=t.pmViewDesc;for(let t=e;t;t=t.parent)if(t==this)return e}posFromDOM(t,e,n){for(let r=t;r;r=r.parentNode){let i=this.getDesc(r);if(i)return i.localPosFromDOM(t,e,n)}return-1}descAt(t){for(let e=0,n=0;et||i instanceof kn){r=t-e;break}e=s}if(r)return this.children[n].domFromPos(r-this.children[n].border,e);for(let t;n&&!(t=this.children[n-1]).size&&t instanceof mn&&t.side>=0;n--);if(e<=0){let t,r=!0;for(;t=n?this.children[n-1]:null,t&&t.dom.parentNode!=this.contentDOM;n--,r=!1);return t&&e&&r&&!t.border&&!t.domAtom?t.domFromPos(t.size,e):{node:this.contentDOM,offset:t?me(t.dom)+1:0}}{let t,r=!0;for(;t=n=i&&e<=l-n.border&&n.node&&n.contentDOM&&this.contentDOM.contains(n.contentDOM))return n.parseRange(t,e,i);t=s;for(let e=o;e>0;e--){let n=this.children[e-1];if(n.size&&n.dom.parentNode==this.contentDOM&&!n.emptyChildAt(1)){r=me(n.dom)+1;break}t-=n.size}-1==r&&(r=0)}if(r>-1&&(l>e||o==this.children.length-1)){e=l;for(let t=o+1;tl&&se){let t=o;o=l,l=t}let n=document.createRange();n.setEnd(l.node,l.offset),n.setStart(o.node,o.offset),u.removeAllRanges(),u.addRange(n)}}ignoreMutation(t){return!this.contentDOM&&"selection"!=t.type}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(t,e){for(let n=0,r=0;r=n:tn){let r=n+i.border,o=s-i.border;if(t>=r&&e<=o)return this.dirty=t==n||e==s?2:1,void(t!=r||e!=o||!i.contentLost&&i.dom.parentNode==this.contentDOM?i.markDirty(t-r,e-r):i.dirty=3);i.dirty=i.dom!=i.contentDOM||i.dom.parentNode!=this.contentDOM||i.children.length?3:2}n=s}this.dirty=2}markParentsDirty(){let t=1;for(let e=this.parent;e;e=e.parent,t++){let n=1==t?2:1;e.dirtyi?i.parent?i.parent.posBeforeChild(i):void 0:r))),!e.type.spec.raw){if(1!=s.nodeType){let t=document.createElement("span");t.appendChild(s),s=t}s.contentEditable="false",s.classList.add("ProseMirror-widget")}super(t,[],s,null),this.widget=e,this.widget=e,i=this}matchesWidget(t){return 0==this.dirty&&t.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(t){let e=this.widget.spec.stopEvent;return!!e&&e(t)}ignoreMutation(t){return"selection"!=t.type||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get side(){return this.widget.type.side}}class wn extends pn{constructor(t,e,n,r){super(t,[],e,null),this.textDOM=n,this.text=r}get size(){return this.text.length}localPosFromDOM(t,e){return t!=this.textDOM?this.posAtStart+(e?this.size:0):this.posAtStart+e}domFromPos(t){return{node:this.textDOM,offset:t}}ignoreMutation(t){return"characterData"===t.type&&t.target.nodeValue==t.oldValue}}class vn extends pn{constructor(t,e,n,r){super(t,[],n,r),this.mark=e}static create(t,e,n,r){let i=r.nodeViews[e.type.name],s=i&&i(e,r,n);return s&&s.dom||(s=rt.renderSpec(document,e.type.spec.toDOM(e,n))),new vn(t,e,s.dom,s.contentDOM||s.dom)}parseRule(){return 3&this.dirty||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(t){return 3!=this.dirty&&this.mark.eq(t)}markDirty(t,e){if(super.markDirty(t,e),0!=this.dirty){let t=this.parent;for(;!t.node;)t=t.parent;t.dirty0&&(i=Dn(i,0,t,n));for(let t=0;to?o.parent?o.parent.posBeforeChild(o):void 0:s),n,r),h=u&&u.dom,f=u&&u.contentDOM;if(e.isText)if(h){if(3!=h.nodeType)throw new RangeError("Text must be rendered as a DOM text node")}else h=document.createTextNode(e.text);else h||({dom:h,contentDOM:f}=rt.renderSpec(document,e.type.spec.toDOM(e)));f||e.isText||"BR"==h.nodeName||(h.hasAttribute("contenteditable")||(h.contentEditable="false"),e.type.spec.draggable&&(h.draggable=!0));let a=h;return h=Rn(h,n,e),u?o=new xn(t,e,n,r,h,f||null,a,u,i,s+1):e.isText?new yn(t,e,n,r,h,a,i):new gn(t,e,n,r,h,f||null,a,i,s+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let t={node:this.node.type.name,attrs:this.node.attrs};if("pre"==this.node.type.whitespace&&(t.preserveWhitespace="full"),this.contentDOM)if(this.contentLost){for(let e=this.children.length-1;e>=0;e--){let n=this.children[e];if(this.dom.contains(n.dom.parentNode)){t.contentElement=n.dom.parentNode;break}}t.contentElement||(t.getContent=()=>r.empty)}else t.contentElement=this.contentDOM;else t.getContent=()=>this.node.content;return t}matchesNode(t,e,n){return 0==this.dirty&&t.eq(this.node)&&Tn(e,this.outerDeco)&&n.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(t,e){let n=this.node.inlineContent,r=e,i=t.composing?this.localCompositionInfo(t,e):null,s=i&&i.pos>-1?i:null,o=i&&i.pos<0,u=new An(this,s&&s.node,t);!function(t,e,n,r){let i=e.locals(t),s=0;if(0==i.length){for(let n=0;ns;)l.push(i[o++]);let p=s+c.nodeSize;if(c.isText){let t=p;o!t.inline)):l.slice(),e.forChild(s,c),d),s=p}}(this.node,this.innerDeco,((e,i,s)=>{e.spec.marks?u.syncToMarks(e.spec.marks,n,t):e.type.side>=0&&!s&&u.syncToMarks(i==this.node.childCount?l.none:this.node.child(i).marks,n,t),u.placeWidget(e,t,r)}),((e,s,l,h)=>{let f;u.syncToMarks(e.marks,n,t),u.findNodeMatch(e,s,l,h)||o&&t.state.selection.from>r&&t.state.selection.to-1&&u.updateNodeAt(e,s,l,f,t)||u.updateNextNode(e,s,l,t,h,r)||u.addNode(e,s,l,t,r),r+=e.nodeSize})),u.syncToMarks([],n,t),this.node.isTextblock&&u.addTextblockHacks(),u.destroyRest(),(u.changed||2==this.dirty)&&(s&&this.protectLocalComposition(t,s),Mn(this.contentDOM,this.children,t),Fe&&function(t){if("UL"==t.nodeName||"OL"==t.nodeName){let e=t.style.cssText;t.style.cssText=e+"; list-style: square !important",window.getComputedStyle(t),t.style.cssText=e}}(this.dom))}localCompositionInfo(t,e){let{from:n,to:r}=t.state.selection;if(!(t.state.selection instanceof Yt)||ne+this.node.content.size)return null;let i=t.input.compositionNode;if(!i||!this.dom.contains(i.parentNode))return null;if(this.node.inlineContent){let t=i.nodeValue,s=function(t,e,n,r){for(let i=0,s=0;i=n){if(s>=r&&u.slice(r-e.length-l,r-l)==e)return r-e.length;let t=l=0&&t+e.length+l>=n)return l+t;if(n==r&&u.length>=r+e.length-l&&u.slice(r-l,r-l+e.length)==e)return r}}return-1}(this.node.content,t,n-e,r-e);return s<0?null:{node:i,pos:s,text:t}}return{node:i,pos:-1,text:""}}protectLocalComposition(t,{node:e,pos:n,text:r}){if(this.getDesc(e))return;let i=e;for(;i.parentNode!=this.contentDOM;i=i.parentNode){for(;i.previousSibling;)i.parentNode.removeChild(i.previousSibling);for(;i.nextSibling;)i.parentNode.removeChild(i.nextSibling);i.pmViewDesc&&(i.pmViewDesc=void 0)}let s=new wn(this,i,e,r);t.input.compositionNodes.push(s),this.children=Dn(this.children,n,n+r.length,t,s)}update(t,e,n,r){return!(3==this.dirty||!t.sameMarkup(this.node)||(this.updateInner(t,e,n,r),0))}updateInner(t,e,n,r){this.updateOuterDeco(e),this.node=t,this.innerDeco=n,this.contentDOM&&this.updateChildren(r,this.posAtStart),this.dirty=0}updateOuterDeco(t){if(Tn(t,this.outerDeco))return;let e=1!=this.nodeDOM.nodeType,n=this.dom;this.dom=Nn(this.dom,this.nodeDOM,En(this.outerDeco,this.node,e),En(t,this.node,e)),this.dom!=n&&(n.pmViewDesc=void 0,this.dom.pmViewDesc=this),this.outerDeco=t}selectNode(){1==this.nodeDOM.nodeType&&this.nodeDOM.classList.add("ProseMirror-selectednode"),!this.contentDOM&&this.node.type.spec.draggable||(this.dom.draggable=!0)}deselectNode(){1==this.nodeDOM.nodeType&&this.nodeDOM.classList.remove("ProseMirror-selectednode"),!this.contentDOM&&this.node.type.spec.draggable||this.dom.removeAttribute("draggable")}get domAtom(){return this.node.isAtom}}function bn(t,e,n,r,i){Rn(r,e,t);let s=new gn(void 0,t,e,n,r,r,r,i,0);return s.contentDOM&&s.updateChildren(i,0),s}class yn extends gn{constructor(t,e,n,r,i,s,o){super(t,e,n,r,i,null,s,o,0)}parseRule(){let t=this.nodeDOM.parentNode;for(;t&&t!=this.dom&&!t.pmIsDeco;)t=t.parentNode;return{skip:t||!0}}update(t,e,n,r){return!(3==this.dirty||0!=this.dirty&&!this.inParent()||!t.sameMarkup(this.node)||(this.updateOuterDeco(e),0==this.dirty&&t.text==this.node.text||t.text==this.nodeDOM.nodeValue||(this.nodeDOM.nodeValue=t.text,r.trackWrites==this.nodeDOM&&(r.trackWrites=null)),this.node=t,this.dirty=0,0))}inParent(){let t=this.parent.contentDOM;for(let e=this.nodeDOM;e;e=e.parentNode)if(e==t)return!0;return!1}domFromPos(t){return{node:this.nodeDOM,offset:t}}localPosFromDOM(t,e,n){return t==this.nodeDOM?this.posAtStart+Math.min(e,this.node.text.length):super.localPosFromDOM(t,e,n)}ignoreMutation(t){return"characterData"!=t.type&&"selection"!=t.type}slice(t,e,n){let r=this.node.cut(t,e),i=document.createTextNode(r.text);return new yn(this.parent,r,this.outerDeco,this.innerDeco,i,i,n)}markDirty(t,e){super.markDirty(t,e),this.dom==this.nodeDOM||0!=t&&e!=this.nodeDOM.nodeValue.length||(this.dirty=3)}get domAtom(){return!1}isText(t){return this.node.text==t}}class kn extends pn{parseRule(){return{ignore:!0}}matchesHack(t){return 0==this.dirty&&this.dom.nodeName==t}get domAtom(){return!0}get ignoreForCoords(){return"IMG"==this.dom.nodeName}}class xn extends gn{constructor(t,e,n,r,i,s,o,l,u,h){super(t,e,n,r,i,s,o,u,h),this.spec=l}update(t,e,n,r){if(3==this.dirty)return!1;if(this.spec.update){let i=this.spec.update(t,e,n);return i&&this.updateInner(t,e,n,r),i}return!(!this.contentDOM&&!t.isLeaf)&&super.update(t,e,n,r)}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(t,e,n,r){this.spec.setSelection?this.spec.setSelection(t,e,n):super.setSelection(t,e,n,r)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}stopEvent(t){return!!this.spec.stopEvent&&this.spec.stopEvent(t)}ignoreMutation(t){return this.spec.ignoreMutation?this.spec.ignoreMutation(t):super.ignoreMutation(t)}}function Mn(t,e,n){let r=t.firstChild,i=!1;for(let s=0;s0;){let l;for(;;)if(r){let t=n.children[r-1];if(!(t instanceof vn)){l=t,r--;break}n=t,r=t.children.length}else{if(n==e)break t;r=n.parent.children.indexOf(n),n=n.parent}let u=l.node;if(u){if(u!=t.child(i-1))break;--i,s.set(l,i),o.push(l)}}return{index:i,matched:s,matches:o.reverse()}}(t.node.content,t)}destroyBetween(t,e){if(t!=e){for(let n=t;n>1,s=Math.min(i,t.length);for(;r-1)r>this.index&&(this.changed=!0,this.destroyBetween(this.index,r)),this.top=this.top.children[this.index];else{let r=vn.create(this.top,t[i],e,n);this.top.children.splice(this.index,0,r),this.top=r,this.changed=!0}this.index=0,i++}}findNodeMatch(t,e,n,r){let i,s=-1;if(r>=this.preMatch.index&&(i=this.preMatch.matches[r-this.preMatch.index]).parent==this.top&&i.matchesNode(t,e,n))s=this.top.children.indexOf(i,this.index);else for(let r=this.index,i=Math.min(this.top.children.length,r+5);r=n||f<=e?s.push(u):(hn&&s.push(u.slice(n-h,u.size,r)))}return s}function Pn(t,e=null){let n=t.domSelectionRange(),r=t.state.doc;if(!n.focusNode)return null;let i=t.docView.nearestDesc(n.focusNode),s=i&&0==i.size,o=t.docView.posFromDOM(n.focusNode,n.focusOffset,1);if(o<0)return null;let l,u,h=r.resolve(o);if(Oe(n)){for(l=h;i&&!i.node;)i=i.parent;let t=i.node;if(i&&t.isAtom&&Xt.isSelectable(t)&&i.parent&&(!t.isInline||!function(t,e,n){for(let r=0==e,i=e==xe(t);r||i;){if(t==n)return!0;let e=me(t);if(!(t=t.parentNode))return!1;r=r&&0==e,i=i&&e==xe(t)}}(n.focusNode,n.focusOffset,i.dom))){let t=i.posBefore;u=new Xt(o==t?h:r.resolve(t))}}else{let e=t.docView.posFromDOM(n.anchorNode,n.anchorOffset,1);if(e<0)return null;l=r.resolve(e)}return u||(u=Wn(t,l,h,"pointer"==e||t.state.selection.head{n.anchorNode==r&&n.anchorOffset==i||(e.removeEventListener("selectionchange",t.input.hideSelectionGuard),setTimeout((()=>{In(t)&&!t.state.selection.visible||t.dom.classList.remove("ProseMirror-hideselection")}),20))})}(t))}t.domObserver.setCurSelection(),t.domObserver.connectSelection()}}const Jn=Je||Ie&&Be<63;function Fn(t,e){let{node:n,offset:r}=t.docView.domFromPos(e,0),i=rr(t,e,n)))||Yt.between(e,n,r)}function Kn(t){return!(t.editable&&!t.hasFocus())&&zn(t)}function zn(t){let e=t.domSelectionRange();if(!e.anchorNode)return!1;try{return t.dom.contains(3==e.anchorNode.nodeType?e.anchorNode.parentNode:e.anchorNode)&&(t.editable||t.dom.contains(3==e.focusNode.nodeType?e.focusNode.parentNode:e.focusNode))}catch(t){return!1}}function Gn(t,e){let{$anchor:n,$head:r}=t.selection,i=e>0?n.max(r):n.min(r),s=i.parent.inlineContent?i.depth?t.doc.resolve(e>0?i.after():i.before()):null:i;return s&&zt.findFrom(s,e)}function Vn(t,e){return t.dispatch(t.state.tr.setSelection(e).scrollIntoView()),!0}function _n(t,e,n){let r=t.state.selection;if(!(r instanceof Yt)){if(r instanceof Xt&&r.node.isInline)return Vn(t,new Yt(e>0?r.$to:r.$from));{let n=Gn(t.state,e);return!!n&&Vn(t,n)}}if(n.indexOf("s")>-1){let{$head:n}=r,i=n.textOffset?null:e<0?n.nodeBefore:n.nodeAfter;if(!i||i.isText||!i.isLeaf)return!1;let s=t.state.doc.resolve(n.pos+i.nodeSize*(e<0?-1:1));return Vn(t,new Yt(r.$anchor,s))}if(!r.empty)return!1;if(t.endOfTextblock(e>0?"forward":"backward")){let n=Gn(t.state,e);return!!(n&&n instanceof Xt)&&Vn(t,n)}if(!(Le&&n.indexOf("m")>-1)){let n,i=r.$head,s=i.textOffset?null:e<0?i.nodeBefore:i.nodeAfter;if(!s||s.isText)return!1;let o=e<0?i.pos-s.nodeSize:i.pos;return!!(s.isAtom||(n=t.docView.descAt(o))&&!n.contentDOM)&&(Xt.isSelectable(s)?Vn(t,new Xt(e<0?t.state.doc.resolve(i.pos-s.nodeSize):i)):!!Ue&&Vn(t,new Yt(t.state.doc.resolve(e<0?o:o+s.nodeSize))))}}function Yn(t){return 3==t.nodeType?t.nodeValue.length:t.childNodes.length}function Qn(t,e){let n=t.pmViewDesc;return n&&0==n.size&&(e<0||t.nextSibling||"BR"!=t.nodeName)}function Xn(t,e){return e<0?function(t){let e=t.domSelectionRange(),n=e.focusNode,r=e.focusOffset;if(!n)return;let i,s,o=!1;for(De&&1==n.nodeType&&r0){if(1!=n.nodeType)break;{let t=n.childNodes[r-1];if(Qn(t,-1))i=n,s=--r;else{if(3!=t.nodeType)break;n=t,r=n.nodeValue.length}}}else{if(Zn(n))break;{let e=n.previousSibling;for(;e&&Qn(e,-1);)i=n.parentNode,s=me(e),e=e.previousSibling;if(e)n=e,r=Yn(n);else{if(n=n.parentNode,n==t.dom)break;r=0}}}o?tr(t,n,r):i&&tr(t,i,s)}(t):function(t){let e=t.domSelectionRange(),n=e.focusNode,r=e.focusOffset;if(!n)return;let i,s,o=Yn(n);for(;;)if(r{t.state==i&&Bn(t)}),50)}function er(t,e){let n=t.state.doc.resolve(e);if(!Ie&&!qe&&n.parent.inlineContent){let r=t.coordsAtPos(e);if(e>n.start()){let n=t.coordsAtPos(e-1),i=(n.top+n.bottom)/2;if(i>r.top&&i1)return n.leftr.top&&i1)return n.left>r.left?"ltr":"rtl"}}return"rtl"==getComputedStyle(t.dom).direction?"rtl":"ltr"}function nr(t,e,n){let r=t.state.selection;if(r instanceof Yt&&!r.empty||n.indexOf("s")>-1)return!1;if(Le&&n.indexOf("m")>-1)return!1;let{$from:i,$to:s}=r;if(!i.parent.inlineContent||t.endOfTextblock(e<0?"up":"down")){let n=Gn(t.state,e);if(n&&n instanceof Xt)return Vn(t,n)}if(!i.parent.inlineContent){let n=e<0?i:s,o=r instanceof te?zt.near(n,e):zt.findFrom(n,e);return!!o&&Vn(t,o)}return!1}function rr(t,e){if(!(t.state.selection instanceof Yt))return!0;let{$head:n,$anchor:r,empty:i}=t.state.selection;if(!n.sameParent(r))return!0;if(!i)return!1;if(t.endOfTextblock(e>0?"forward":"backward"))return!0;let s=!n.textOffset&&(e<0?n.nodeBefore:n.nodeAfter);if(s&&!s.isText){let r=t.state.tr;return e<0?r.delete(n.pos-s.nodeSize,n.pos):r.delete(n.pos,n.pos+s.nodeSize),t.dispatch(r),!0}return!1}function ir(t,e,n){t.domObserver.stop(),e.contentEditable=n,t.domObserver.start()}function sr(t,e){t.someProp("transformCopied",(n=>{e=n(e,t)}));let n=[],{content:r,openStart:i,openEnd:s}=e;for(;i>1&&s>1&&1==r.childCount&&1==r.firstChild.childCount;){i--,s--;let t=r.firstChild;n.push(t.type.name,t.attrs!=t.type.defaultAttrs?t.attrs:null),r=t.content}let o=t.someProp("clipboardSerializer")||rt.fromSchema(t.state.schema),l=mr(),u=l.createElement("div");u.appendChild(o.serializeFragment(r,{document:l}));let h,f=u.firstChild,a=0;for(;f&&1==f.nodeType&&(h=dr[f.nodeName.toLowerCase()]);){for(let t=h.length-1;t>=0;t--){let e=l.createElement(h[t]);for(;u.firstChild;)e.appendChild(u.firstChild);u.appendChild(e),a++}f=u.firstChild}return f&&1==f.nodeType&&f.setAttribute("data-pm-slice",`${i} ${s}${a?` -${a}`:""} ${JSON.stringify(n)}`),{dom:u,text:t.someProp("clipboardTextSerializer",(n=>n(e,t)))||e.content.textBetween(0,e.content.size,"\n\n")}}function or(t,e,n,i,s){let o,l,u=s.parent.type.spec.code;if(!n&&!e)return null;let f=e&&(i||u||!n);if(f){if(t.someProp("transformPastedText",(n=>{e=n(e,u||i,t)})),u)return e?new h(r.from(t.state.schema.text(e.replace(/\r\n?/g,"\n"))),0,0):h.empty;let n=t.someProp("clipboardTextParser",(n=>n(e,s,i,t)));if(n)l=n;else{let n=s.marks(),{schema:r}=t.state,i=rt.fromSchema(r);o=document.createElement("div"),e.split(/(?:\r\n?|\n)+/).forEach((t=>{let e=o.appendChild(document.createElement("p"));t&&e.appendChild(i.serializeNode(r.text(t,n)))}))}}else t.someProp("transformPastedHTML",(e=>{n=e(n,t)})),o=function(t){let e=/^(\s*]*>)*/.exec(t);e&&(t=t.slice(e[0].length));let n,r=mr().createElement("div"),i=/<([a-z][^>\s]+)/i.exec(t);if((n=i&&dr[i[1].toLowerCase()])&&(t=n.map((t=>"<"+t+">")).join("")+t+n.map((t=>"")).reverse().join("")),r.innerHTML=t,n)for(let t=0;t0;t--){let t=o.firstChild;for(;t&&1!=t.nodeType;)t=t.nextSibling;if(!t)break;o=t}if(!l){let e=t.someProp("clipboardParser")||t.someProp("domParser")||G.fromSchema(t.state.schema);l=e.parseSlice(o,{preserveWhitespace:!(!f&&!c),context:s,ruleFromNode:t=>"BR"!=t.nodeName||t.nextSibling||!t.parentNode||lr.test(t.parentNode.nodeName)?null:{ignore:!0}})}if(c)l=function(t,e){if(!t.size)return t;let n,i=t.content.firstChild.type.schema;try{n=JSON.parse(e)}catch(e){return t}let{content:s,openStart:o,openEnd:l}=t;for(let t=n.length-2;t>=0;t-=2){let e=i.nodes[n[t]];if(!e||e.hasRequiredAttrs())break;s=r.from(e.create(n[t+1],s)),o++,l++}return new h(s,o,l)}(cr(l,+c[1],+c[2]),c[4]);else if(l=h.maxOpen(function(t,e){if(t.childCount<2)return t;for(let n=e.depth;n>=0;n--){let i,s=e.node(n).contentMatchAt(e.index(n)),o=[];if(t.forEach((t=>{if(!o)return;let e,n=s.findWrapping(t.type);if(!n)return o=null;if(e=o.length&&i.length&&hr(n,i,t,o[o.length-1],0))o[o.length-1]=e;else{o.length&&(o[o.length-1]=fr(o[o.length-1],i.length));let e=ur(t,n);o.push(e),s=s.matchType(e.type),i=n}})),o)return r.from(o)}return t}(l.content,s),!0),l.openStart||l.openEnd){let t=0,e=0;for(let e=l.content.firstChild;t{l=e(l,t)})),l}const lr=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function ur(t,e,n=0){for(let i=e.length-1;i>=n;i--)t=e[i].create(null,r.from(t));return t}function hr(t,e,n,i,s){if(s1&&(o=0),s=n&&(u=e<0?l.contentMatchAt(0).fillBefore(u,o<=s).append(u):u.append(l.contentMatchAt(l.childCount).fillBefore(r.empty,!0))),t.replaceChild(e<0?0:t.childCount-1,l.copy(u))}function cr(t,e,n){return e{for(let n in e)t.input.eventHandlers[n]||t.dom.addEventListener(n,t.input.eventHandlers[n]=e=>xr(t,e))}))}function xr(t,e){return t.someProp("handleDOMEvents",(n=>{let r=n[e.type];return!!r&&(r(t,e)||e.defaultPrevented)}))}function Mr(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let n=e.target;n!=t.dom;n=n.parentNode)if(!n||11==n.nodeType||n.pmViewDesc&&n.pmViewDesc.stopEvent(e))return!1;return!0}function Or(t){return{left:t.clientX,top:t.clientY}}function Sr(t,e,n,r,i){if(-1==r)return!1;let s=t.state.doc.resolve(r);for(let r=s.depth+1;r>0;r--)if(t.someProp(e,(e=>r>s.depth?e(t,n,s.nodeAfter,s.before(r),i,!0):e(t,n,s.node(r),s.before(r),i,!1))))return!0;return!1}function Er(t,e,n){t.focused||t.focus();let r=t.state.tr.setSelection(e);"pointer"==n&&r.setMeta("pointer",!0),t.dispatch(r)}function Nr(t,e,n,r){return Sr(t,"handleDoubleClickOn",e,n,r)||t.someProp("handleDoubleClick",(n=>n(t,e,r)))}function Cr(t,e,n,r){return Sr(t,"handleTripleClickOn",e,n,r)||t.someProp("handleTripleClick",(n=>n(t,e,r)))||function(t,e,n){if(0!=n.button)return!1;let r=t.state.doc;if(-1==e)return!!r.inlineContent&&(Er(t,Yt.create(r,0,r.content.size),"pointer"),!0);let i=r.resolve(e);for(let e=i.depth+1;e>0;e--){let n=e>i.depth?i.nodeAfter:i.node(e),s=i.before(e);if(n.inlineContent)Er(t,Yt.create(r,s+1,s+1+n.content.size),"pointer");else{if(!Xt.isSelectable(n))continue;Er(t,Xt.create(r,s),"pointer")}return!0}}(t,n,r)}function Rr(t){return Ir(t)}vr.keydown=(t,e)=>{let n=e;if(t.input.shiftKey=16==n.keyCode||n.shiftKey,!Ar(t,n)&&(t.input.lastKeyCode=n.keyCode,t.input.lastKeyCodeTime=Date.now(),!He||!Ie||13!=n.keyCode))if(229!=n.keyCode&&t.domObserver.forceFlush(),!Fe||13!=n.keyCode||n.ctrlKey||n.altKey||n.metaKey)t.someProp("handleKeyDown",(e=>e(t,n)))||function(t,e){let n=e.keyCode,r=function(t){let e="";return t.ctrlKey&&(e+="c"),t.metaKey&&(e+="m"),t.altKey&&(e+="a"),t.shiftKey&&(e+="s"),e}(e);if(8==n||Le&&72==n&&"c"==r)return rr(t,-1)||Xn(t,-1);if(46==n&&!e.shiftKey||Le&&68==n&&"c"==r)return rr(t,1)||Xn(t,1);if(13==n||27==n)return!0;if(37==n||Le&&66==n&&"c"==r){let e=37==n?"ltr"==er(t,t.state.selection.from)?-1:1:-1;return _n(t,e,r)||Xn(t,e)}if(39==n||Le&&70==n&&"c"==r){let e=39==n?"ltr"==er(t,t.state.selection.from)?1:-1:1;return _n(t,e,r)||Xn(t,e)}return 38==n||Le&&80==n&&"c"==r?nr(t,-1,r)||Xn(t,-1):40==n||Le&&78==n&&"c"==r?function(t){if(!Je||t.state.selection.$head.parentOffset>0)return!1;let{focusNode:e,focusOffset:n}=t.domSelectionRange();if(e&&1==e.nodeType&&0==n&&e.firstChild&&"false"==e.firstChild.contentEditable){let n=e.firstChild;ir(t,n,"true"),setTimeout((()=>ir(t,n,"false")),20)}return!1}(t)||nr(t,1,r)||Xn(t,1):r==(Le?"m":"c")&&(66==n||73==n||89==n||90==n)}(t,n)?n.preventDefault():yr(t,"key");else{let e=Date.now();t.input.lastIOSEnter=e,t.input.lastIOSEnterFallbackTimeout=setTimeout((()=>{t.input.lastIOSEnter==e&&(t.someProp("handleKeyDown",(e=>e(t,Se(13,"Enter")))),t.input.lastIOSEnter=0)}),200)}},vr.keyup=(t,e)=>{16==e.keyCode&&(t.input.shiftKey=!1)},vr.keypress=(t,e)=>{let n=e;if(Ar(t,n)||!n.charCode||n.ctrlKey&&!n.altKey||Le&&n.metaKey)return;if(t.someProp("handleKeyPress",(e=>e(t,n))))return void n.preventDefault();let r=t.state.selection;if(!(r instanceof Yt&&r.$from.sameParent(r.$to))){let e=String.fromCharCode(n.charCode);/[\r\n]/.test(e)||t.someProp("handleTextInput",(n=>n(t,r.$from.pos,r.$to.pos,e)))||t.dispatch(t.state.tr.insertText(e).scrollIntoView()),n.preventDefault()}};const Tr=Le?"metaKey":"ctrlKey";wr.mousedown=(t,e)=>{let n=e;t.input.shiftKey=n.shiftKey;let r=Rr(t),i=Date.now(),s="singleClick";i-t.input.lastClick.time<500&&function(t,e){let n=e.x-t.clientX,r=e.y-t.clientY;return n*n+r*r<100}(n,t.input.lastClick)&&!n[Tr]&&("singleClick"==t.input.lastClick.type?s="doubleClick":"doubleClick"==t.input.lastClick.type&&(s="tripleClick")),t.input.lastClick={time:i,x:n.clientX,y:n.clientY,type:s};let o=t.posAtCoords(Or(n));o&&("singleClick"==s?(t.input.mouseDown&&t.input.mouseDown.done(),t.input.mouseDown=new jr(t,o,n,!!r)):("doubleClick"==s?Nr:Cr)(t,o.pos,o.inside,n)?n.preventDefault():yr(t,"pointer"))};class jr{constructor(t,e,n,r){let i,s;if(this.view=t,this.pos=e,this.event=n,this.flushed=r,this.delayedSelectionSync=!1,this.mightDrag=null,this.startDoc=t.state.doc,this.selectNode=!!n[Tr],this.allowDefault=n.shiftKey,e.inside>-1)i=t.state.doc.nodeAt(e.inside),s=e.inside;else{let n=t.state.doc.resolve(e.pos);i=n.parent,s=n.depth?n.before():0}const o=r?null:n.target,l=o?t.docView.nearestDesc(o,!0):null;this.target=l?l.dom:null;let{selection:u}=t.state;(0==n.button&&i.type.spec.draggable&&!1!==i.type.spec.selectable||u instanceof Xt&&u.from<=s&&u.to>s)&&(this.mightDrag={node:i,pos:s,addAttr:!(!this.target||this.target.draggable),setUneditable:!(!this.target||!De||this.target.hasAttribute("contentEditable"))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout((()=>{this.view.input.mouseDown==this&&this.target.setAttribute("contentEditable","false")}),20),this.view.domObserver.start()),t.root.addEventListener("mouseup",this.up=this.up.bind(this)),t.root.addEventListener("mousemove",this.move=this.move.bind(this)),yr(t,"pointer")}done(){this.view.root.removeEventListener("mouseup",this.up),this.view.root.removeEventListener("mousemove",this.move),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute("draggable"),this.mightDrag.setUneditable&&this.target.removeAttribute("contentEditable"),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout((()=>Bn(this.view))),this.view.input.mouseDown=null}up(t){if(this.done(),!this.view.dom.contains(t.target))return;let e=this.pos;this.view.state.doc!=this.startDoc&&(e=this.view.posAtCoords(Or(t))),this.updateAllowDefault(t),this.allowDefault||!e?yr(this.view,"pointer"):function(t,e,n,r,i){return Sr(t,"handleClickOn",e,n,r)||t.someProp("handleClick",(n=>n(t,e,r)))||(i?function(t,e){if(-1==e)return!1;let n,r,i=t.state.selection;i instanceof Xt&&(n=i.node);let s=t.state.doc.resolve(e);for(let t=s.depth+1;t>0;t--){let e=t>s.depth?s.nodeAfter:s.node(t);if(Xt.isSelectable(e)){r=n&&i.$from.depth>0&&t>=i.$from.depth&&s.before(i.$from.depth+1)==i.$from.pos?s.before(i.$from.depth):s.before(t);break}}return null!=r&&(Er(t,Xt.create(t.state.doc,r),"pointer"),!0)}(t,n):function(t,e){if(-1==e)return!1;let n=t.state.doc.resolve(e),r=n.nodeAfter;return!!(r&&r.isAtom&&Xt.isSelectable(r))&&(Er(t,new Xt(n),"pointer"),!0)}(t,n))}(this.view,e.pos,e.inside,t,this.selectNode)?t.preventDefault():0==t.button&&(this.flushed||Je&&this.mightDrag&&!this.mightDrag.node.isAtom||Ie&&!this.view.state.selection.visible&&Math.min(Math.abs(e.pos-this.view.state.selection.from),Math.abs(e.pos-this.view.state.selection.to))<=2)?(Er(this.view,zt.near(this.view.state.doc.resolve(e.pos)),"pointer"),t.preventDefault()):yr(this.view,"pointer")}move(t){this.updateAllowDefault(t),yr(this.view,"pointer"),0==t.buttons&&this.done()}updateAllowDefault(t){!this.allowDefault&&(Math.abs(this.event.x-t.clientX)>4||Math.abs(this.event.y-t.clientY)>4)&&(this.allowDefault=!0)}}function Ar(t,e){return!!t.composing||!!(Je&&Math.abs(e.timeStamp-t.input.compositionEndedAt)<500)&&(t.input.compositionEndedAt=-2e8,!0)}wr.touchstart=t=>{t.input.lastTouch=Date.now(),Rr(t),yr(t,"pointer")},wr.touchmove=t=>{t.input.lastTouch=Date.now(),yr(t,"pointer")},wr.contextmenu=t=>Rr(t);const $r=He?5e3:-1;function Dr(t,e){clearTimeout(t.input.composingTimeout),e>-1&&(t.input.composingTimeout=setTimeout((()=>Ir(t)),e))}function Pr(t){for(t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=function(){let t=document.createEvent("Event");return t.initEvent("event",!0,!0),t.timeStamp}());t.input.compositionNodes.length>0;)t.input.compositionNodes.pop().markParentsDirty()}function Ir(t,e=!1){if(!(He&&t.domObserver.flushingSoon>=0)){if(t.domObserver.forceFlush(),Pr(t),e||t.docView&&t.docView.dirty){let e=Pn(t);return e&&!e.eq(t.state.selection)?t.dispatch(t.state.tr.setSelection(e)):t.updateState(t.state),!0}return!1}}vr.compositionstart=vr.compositionupdate=t=>{if(!t.composing){t.domObserver.flush();let{state:e}=t,n=e.selection.$from;if(e.selection.empty&&(e.storedMarks||!n.textOffset&&n.parentOffset&&n.nodeBefore.marks.some((t=>!1===t.type.spec.inclusive))))t.markCursor=t.state.storedMarks||n.marks(),Ir(t,!0),t.markCursor=null;else if(Ir(t),De&&e.selection.empty&&n.parentOffset&&!n.textOffset&&n.nodeBefore.marks.length){let e=t.domSelectionRange();for(let n=e.focusNode,r=e.focusOffset;n&&1==n.nodeType&&0!=r;){let e=r<0?n.lastChild:n.childNodes[r-1];if(!e)break;if(3==e.nodeType){t.domSelection().collapse(e,e.nodeValue.length);break}n=e,r=-1}}t.input.composing=!0}Dr(t,$r)},vr.compositionend=(t,e)=>{t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=e.timeStamp,t.input.compositionPendingChanges=t.domObserver.pendingRecords().length?t.input.compositionID:0,t.input.compositionNode=null,t.input.compositionPendingChanges&&Promise.resolve().then((()=>t.domObserver.flush())),t.input.compositionID++,Dr(t,20))};const Br=Ae&&$e<15||Fe&&We<604;function Jr(t,e,n,r,i){let s=or(t,e,n,r,t.state.selection.$from);if(t.someProp("handlePaste",(e=>e(t,i,s||h.empty))))return!0;if(!s)return!1;let o=function(t){return 0==t.openStart&&0==t.openEnd&&1==t.content.childCount?t.content.firstChild:null}(s),l=o?t.state.tr.replaceSelectionWith(o,r):t.state.tr.replaceSelection(s);return t.dispatch(l.scrollIntoView().setMeta("paste",!0).setMeta("uiEvent","paste")),!0}function Fr(t){let e=t.getData("text/plain")||t.getData("Text");if(e)return e;let n=t.getData("text/uri-list");return n?n.replace(/\r?\n/g," "):""}wr.copy=vr.cut=(t,e)=>{let n=e,r=t.state.selection,i="cut"==n.type;if(r.empty)return;let s=Br?null:n.clipboardData,o=r.content(),{dom:l,text:u}=sr(t,o);s?(n.preventDefault(),s.clearData(),s.setData("text/html",l.innerHTML),s.setData("text/plain",u)):function(t,e){if(!t.dom.parentNode)return;let n=t.dom.parentNode.appendChild(document.createElement("div"));n.appendChild(e),n.style.cssText="position: fixed; left: -10000px; top: 10px";let r=getSelection(),i=document.createRange();i.selectNodeContents(e),t.dom.blur(),r.removeAllRanges(),r.addRange(i),setTimeout((()=>{n.parentNode&&n.parentNode.removeChild(n),t.focus()}),50)}(t,l),i&&t.dispatch(t.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))},vr.paste=(t,e)=>{let n=e;if(t.composing&&!He)return;let r=Br?null:n.clipboardData,i=t.input.shiftKey&&45!=t.input.lastKeyCode;r&&Jr(t,Fr(r),r.getData("text/html"),i,n)?n.preventDefault():function(t,e){if(!t.dom.parentNode)return;let n=t.input.shiftKey||t.state.selection.$from.parent.type.spec.code,r=t.dom.parentNode.appendChild(document.createElement(n?"textarea":"div"));n||(r.contentEditable="true"),r.style.cssText="position: fixed; left: -10000px; top: 10px",r.focus();let i=t.input.shiftKey&&45!=t.input.lastKeyCode;setTimeout((()=>{t.focus(),r.parentNode&&r.parentNode.removeChild(r),n?Jr(t,r.value,null,i,e):Jr(t,r.textContent,r.innerHTML,i,e)}),50)}(t,n)};class Lr{constructor(t,e,n){this.slice=t,this.move=e,this.node=n}}const qr=Le?"altKey":"ctrlKey";wr.dragstart=(t,e)=>{let n=e,r=t.input.mouseDown;if(r&&r.done(),!n.dataTransfer)return;let i,s=t.state.selection,o=s.empty?null:t.posAtCoords(Or(n));if(o&&o.pos>=s.from&&o.pos<=(s instanceof Xt?s.to-1:s.to));else if(r&&r.mightDrag)i=Xt.create(t.state.doc,r.mightDrag.pos);else if(n.target&&1==n.target.nodeType){let e=t.docView.nearestDesc(n.target,!0);e&&e.node.type.spec.draggable&&e!=t.docView&&(i=Xt.create(t.state.doc,e.posBefore))}let l=(i||t.state.selection).content(),{dom:u,text:h}=sr(t,l);n.dataTransfer.clearData(),n.dataTransfer.setData(Br?"Text":"text/html",u.innerHTML),n.dataTransfer.effectAllowed="copyMove",Br||n.dataTransfer.setData("text/plain",h),t.dragging=new Lr(l,!n[qr],i)},wr.dragend=t=>{let e=t.dragging;window.setTimeout((()=>{t.dragging==e&&(t.dragging=null)}),50)},vr.dragover=vr.dragenter=(t,e)=>e.preventDefault(),vr.drop=(t,e)=>{let n=e,r=t.dragging;if(t.dragging=null,!n.dataTransfer)return;let i=t.posAtCoords(Or(n));if(!i)return;let s=t.state.doc.resolve(i.pos),o=r&&r.slice;o?t.someProp("transformPasted",(e=>{o=e(o,t)})):o=or(t,Fr(n.dataTransfer),Br?null:n.dataTransfer.getData("text/html"),!1,s);let l=!(!r||n[qr]);if(t.someProp("handleDrop",(e=>e(t,n,o||h.empty,l))))return void n.preventDefault();if(!o)return;n.preventDefault();let u=o?Tt(t.state.doc,s.pos,o):s.pos;null==u&&(u=s.pos);let f=t.state.tr;if(l){let{node:t}=r;t?t.replace(f):f.deleteSelection()}let a=f.mapping.map(u),c=0==o.openStart&&0==o.openEnd&&1==o.content.childCount,d=f.doc;if(c?f.replaceRangeWith(a,a,o.content.firstChild):f.replaceRange(a,a,o),f.doc.eq(d))return;let p=f.doc.resolve(a);if(c&&Xt.isSelectable(o.content.firstChild)&&p.nodeAfter&&p.nodeAfter.sameMarkup(o.content.firstChild))f.setSelection(new Xt(p));else{let e=f.mapping.map(u);f.mapping.maps[f.mapping.maps.length-1].forEach(((t,n,r,i)=>e=i)),f.setSelection(Wn(t,p,f.doc.resolve(e)))}t.focus(),t.dispatch(f.setMeta("uiEvent","drop"))},wr.focus=t=>{t.input.lastFocus=Date.now(),t.focused||(t.domObserver.stop(),t.dom.classList.add("ProseMirror-focused"),t.domObserver.start(),t.focused=!0,setTimeout((()=>{t.docView&&t.hasFocus()&&!t.domObserver.currentSelection.eq(t.domSelectionRange())&&Bn(t)}),20))},wr.blur=(t,e)=>{let n=e;t.focused&&(t.domObserver.stop(),t.dom.classList.remove("ProseMirror-focused"),t.domObserver.start(),n.relatedTarget&&t.dom.contains(n.relatedTarget)&&t.domObserver.currentSelection.clear(),t.focused=!1)},wr.beforeinput=(t,e)=>{if(Ie&&He&&"deleteContentBackward"==e.inputType){t.domObserver.flushSoon();let{domChangeCount:e}=t.input;setTimeout((()=>{if(t.input.domChangeCount!=e)return;if(t.dom.blur(),t.focus(),t.someProp("handleKeyDown",(e=>e(t,Se(8,"Backspace")))))return;let{$cursor:n}=t.state.selection;n&&n.pos>0&&t.dispatch(t.state.tr.delete(n.pos-1,n.pos).scrollIntoView())}),50)}};for(let t in vr)wr[t]=vr[t];function Hr(t,e){if(t==e)return!0;for(let n in t)if(t[n]!==e[n])return!1;for(let n in e)if(!(n in t))return!1;return!0}class Ur{constructor(t,e){this.toDOM=t,this.spec=e||Vr,this.side=this.spec.side||0}map(t,e,n,r){let{pos:i,deleted:s}=t.mapResult(e.from+r,this.side<0?-1:1);return s?null:new zr(i-n,i-n,this)}valid(){return!0}eq(t){return this==t||t instanceof Ur&&(this.spec.key&&this.spec.key==t.spec.key||this.toDOM==t.toDOM&&Hr(this.spec,t.spec))}destroy(t){this.spec.destroy&&this.spec.destroy(t)}}class Wr{constructor(t,e){this.attrs=t,this.spec=e||Vr}map(t,e,n,r){let i=t.map(e.from+r,this.spec.inclusiveStart?-1:1)-n,s=t.map(e.to+r,this.spec.inclusiveEnd?1:-1)-n;return i>=s?null:new zr(i,s,this)}valid(t,e){return e.from=t&&(!i||i(o.spec))&&n.push(o.copy(o.from+r,o.to+r))}for(let s=0;st){let o=this.children[s]+1;this.children[s+2].findInner(t-o,e-o,n,r+o,i)}}map(t,e,n){return this==Yr||0==t.maps.length?this:this.mapInner(t,e,0,0,n||Vr)}mapInner(t,e,n,r,i){let s;for(let o=0;o{let o=s-i-(n-t);for(let i=0;is+e-r)continue;let u=l[i]+e-r;n>=u?l[i+1]=t<=u?-2:-1:t>=e&&o&&(l[i]+=o,l[i+1]+=o)}r+=o})),e=n.maps[t].map(e,-1)}let u=!1;for(let e=0;e=r.content.size){u=!0;continue}let a=n.map(t[e+1]+s,-1)-i,{index:c,offset:d}=r.content.findIndex(f),p=r.maybeChild(c);if(p&&d==f&&d+p.nodeSize==a){let r=l[e+2].mapInner(n,p,h+1,t[e]+s+1,o);r!=Yr?(l[e]=f,l[e+1]=a,l[e+2]=r):(l[e+1]=-2,u=!0)}else u=!0}if(u){let u=function(t,e,n,r,i,s,o){function l(t,e){for(let s=0;s{let o,l=s+n;if(o=Zr(e,t,l)){for(r||(r=this.children.slice());is&&e.to=t){this.children[e]==t&&(n=this.children[e+2]);break}let i=t+1,s=i+e.content.size;for(let t=0;ti&&e.type instanceof Wr){let t=Math.max(i,e.from)-i,n=Math.min(s,e.to)-i;tn.map(t,e,Vr)));return Qr.from(n)}forChild(t,e){if(e.isLeaf)return _r.empty;let n=[];for(let r=0;rt instanceof _r))?t:t.reduce(((t,e)=>t.concat(e instanceof _r?e:e.members)),[]))}}}function Xr(t,e){if(!e||!t.length)return t;let n=[];for(let r=0;rn&&e.to{let l=Zr(t,e,o+n);if(l){s=!0;let t=ei(l,e,n+o+1,r);t!=Yr&&i.push(o,o+e.nodeSize,t)}}));let o=Xr(s?ti(t):t,-n).sort(ni);for(let t=0;t0;)e++;t.splice(e,0,n)}function si(t){let e=[];return t.someProp("decorations",(n=>{let r=n(t.state);r&&r!=Yr&&e.push(r)})),t.cursorWrapper&&e.push(_r.create(t.state.doc,[t.cursorWrapper.deco])),Qr.from(e)}const oi={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},li=Ae&&$e<=11;class ui{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(t){this.anchorNode=t.anchorNode,this.anchorOffset=t.anchorOffset,this.focusNode=t.focusNode,this.focusOffset=t.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(t){return t.anchorNode==this.anchorNode&&t.anchorOffset==this.anchorOffset&&t.focusNode==this.focusNode&&t.focusOffset==this.focusOffset}}class hi{constructor(t,e){this.view=t,this.handleDOMChange=e,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new ui,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.observer=window.MutationObserver&&new window.MutationObserver((t=>{for(let e=0;e"childList"==t.type&&t.removedNodes.length||"characterData"==t.type&&t.oldValue.length>t.target.nodeValue.length))?this.flushSoon():this.flush()})),li&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout((()=>{this.flushingSoon=-1,this.flush()}),20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,oi)),this.onCharData&&this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.connectSelection()}stop(){if(this.observer){let t=this.observer.takeRecords();if(t.length){for(let e=0;ethis.flush()),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout((()=>this.suppressingSelectionUpdates=!1),50)}onSelectionChange(){if(Kn(this.view)){if(this.suppressingSelectionUpdates)return Bn(this.view);if(Ae&&$e<=11&&!this.view.state.selection.empty){let t=this.view.domSelectionRange();if(t.focusNode&&be(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(t){if(!t.focusNode)return!0;let e,n=new Set;for(let e=t.focusNode;e;e=we(e))n.add(e);for(let r=t.anchorNode;r;r=we(r))if(n.has(r)){e=r;break}let r=e&&this.view.docView.nearestDesc(e);return r&&r.ignoreMutation({type:"selection",target:3==e.nodeType?e.parentNode:e})?(this.setCurSelection(),!0):void 0}pendingRecords(){if(this.observer)for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}flush(){let{view:t}=this;if(!t.docView||this.flushingSoon>-1)return;let e=this.pendingRecords();e.length&&(this.queue=[]);let n=t.domSelectionRange(),r=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(n)&&Kn(t)&&!this.ignoreSelectionChange(n),i=-1,s=-1,o=!1,l=[];if(t.editable)for(let t=0;t1){let t=l.filter((t=>"BR"==t.nodeName));if(2==t.length){let e=t[0],n=t[1];e.parentNode&&e.parentNode.parentNode==n.parentNode?n.remove():e.remove()}}let u=null;i<0&&r&&t.input.lastFocus>Date.now()-200&&Math.max(t.input.lastTouch,t.input.lastClick.time)-1||r)&&(i>-1&&(t.docView.markDirty(i,s),function(t){if(!fi.has(t)&&(fi.set(t,null),-1!==["normal","nowrap","pre-line"].indexOf(getComputedStyle(t.dom).whiteSpace))){if(t.requiresGeckoHackNode=De,ai)return;console.warn("ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package."),ai=!0}}(t)),this.handleDOMChange(i,s,o,l),t.docView&&t.docView.dirty?t.updateState(t.state):this.currentSelection.eq(n)||Bn(t),this.currentSelection.set(n))}registerMutation(t,e){if(e.indexOf(t.target)>-1)return null;let n=this.view.docView.nearestDesc(t.target);if("attributes"==t.type&&(n==this.view.docView||"contenteditable"==t.attributeName||"style"==t.attributeName&&!t.oldValue&&!t.target.getAttribute("style")))return null;if(!n||n.ignoreMutation(t))return null;if("childList"==t.type){for(let n=0;ne.content.size?null:Wn(t,e.resolve(n.anchor),e.resolve(n.head))}function wi(t,e,n){let r=t.depth,i=e?t.end():t.pos;for(;r>0&&(e||t.indexAfter(r)==t.node(r).childCount);)r--,i++,e=!1;if(n){let e=t.node(r).maybeChild(t.indexAfter(r));for(;e&&!e.isLeaf;)e=e.firstChild,i++}return i}function vi(t){if(2!=t.length)return!1;let e=t.charCodeAt(0),n=t.charCodeAt(1);return e>=56320&&e<=57343&&n>=55296&&n<=56319}class gi{constructor(t,e){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new br,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=e,this.state=e.state,this.directPlugins=e.plugins||[],this.directPlugins.forEach(Mi),this.dispatch=this.dispatch.bind(this),this.dom=t&&t.mount||document.createElement("div"),t&&(t.appendChild?t.appendChild(this.dom):"function"==typeof t?t(this.dom):t.mount&&(this.mounted=!0)),this.editable=ki(this),yi(this),this.nodeViews=xi(this),this.docView=bn(this.state.doc,bi(this),si(this),this.dom,this),this.domObserver=new hi(this,((t,e,n,i)=>function(t,e,n,i,s){let o=t.input.compositionPendingChanges||(t.composing?t.input.compositionID:0);if(t.input.compositionPendingChanges=0,e<0){let e=t.input.lastSelectionTime>Date.now()-50?t.input.lastSelectionOrigin:null,n=Pn(t,e);if(n&&!t.state.selection.eq(n)){if(Ie&&He&&13===t.input.lastKeyCode&&Date.now()-100e(t,Se(13,"Enter")))))return;let r=t.state.tr.setSelection(n);"pointer"==e?r.setMeta("pointer",!0):"key"==e&&r.scrollIntoView(),o&&r.setMeta("composition",o),t.dispatch(r)}return}let l=t.state.doc.resolve(e),u=l.sharedDepth(n);e=l.before(u+1),n=t.state.doc.resolve(n).after(u+1);let h,f,a=t.state.selection,c=function(t,e,n){let r,{node:i,fromOffset:s,toOffset:o,from:l,to:u}=t.docView.parseRange(e,n),h=t.domSelectionRange(),f=h.anchorNode;if(f&&t.dom.contains(1==f.nodeType?f:f.parentNode)&&(r=[{node:f,offset:h.anchorOffset}],Oe(h)||r.push({node:h.focusNode,offset:h.focusOffset})),Ie&&8===t.input.lastKeyCode)for(let t=o;t>s;t--){let e=i.childNodes[t-1],n=e.pmViewDesc;if("BR"==e.nodeName&&!n){o=t;break}if(!n||n.size)break}let a=t.state.doc,c=t.someProp("domParser")||G.fromSchema(t.state.schema),d=a.resolve(l),p=null,m=c.parse(i,{topNode:d.parent,topMatch:d.parent.contentMatchAt(d.index()),topOpen:!0,from:s,to:o,preserveWhitespace:"pre"!=d.parent.type.whitespace||"full",findPositions:r,ruleFromNode:di,context:d});if(r&&null!=r[0].pos){let t=r[0].pos,e=r[1]&&r[1].pos;null==e&&(e=t),p={anchor:t+l,head:e+l}}return{doc:m,sel:p,from:l,to:u}}(t,e,n),d=t.state.doc,p=d.slice(c.from,c.to);8===t.input.lastKeyCode&&Date.now()-100=o?s-r:0;s-=t,s&&s=l?s-r:0;s-=e,s&&sDate.now()-225||He)&&s.some((t=>1==t.nodeType&&!pi.test(t.nodeName)))&&(!m||m.endA>=m.endB)&&t.someProp("handleKeyDown",(e=>e(t,Se(13,"Enter")))))return void(t.input.lastIOSEnter=0);if(!m){if(!(i&&a instanceof Yt&&!a.empty&&a.$head.sameParent(a.$anchor))||t.composing||c.sel&&c.sel.anchor!=c.sel.head){if(c.sel){let e=mi(t,t.state.doc,c.sel);if(e&&!e.eq(t.state.selection)){let n=t.state.tr.setSelection(e);o&&n.setMeta("composition",o),t.dispatch(n)}}return}m={start:a.from,endA:a.to,endB:a.to}}t.input.domChangeCount++,t.state.selection.fromt.state.selection.from&&m.start<=t.state.selection.from+2&&t.state.selection.from>=c.from?m.start=t.state.selection.from:m.endA=t.state.selection.to-2&&t.state.selection.to<=c.to&&(m.endB+=t.state.selection.to-m.endA,m.endA=t.state.selection.to)),Ae&&$e<=11&&m.endB==m.start+1&&m.endA==m.start&&m.start>c.from&&"  "==c.doc.textBetween(m.start-c.from-1,m.start-c.from+1)&&(m.start--,m.endA--,m.endB--);let w,v=c.doc.resolveNoCache(m.start-c.from),g=c.doc.resolveNoCache(m.endB-c.from),b=d.resolve(m.start),y=v.sameParent(g)&&v.parent.inlineContent&&b.end()>=m.endA;if((Fe&&t.input.lastIOSEnter>Date.now()-225&&(!y||s.some((t=>"DIV"==t.nodeName||"P"==t.nodeName)))||!y&&v.pose(t,Se(13,"Enter")))))return void(t.input.lastIOSEnter=0);if(t.state.selection.anchor>m.start&&function(t,e,n,r,i){if(n-e<=i.pos-r.pos||wi(r,!0,!1)n||wi(o,!0,!1)e(t,Se(8,"Backspace")))))return void(He&&Ie&&t.domObserver.suppressSelectionUpdates());Ie&&He&&m.endB==m.start&&(t.input.lastAndroidDelete=Date.now()),He&&!y&&v.start()!=g.start()&&0==g.parentOffset&&v.depth==g.depth&&c.sel&&c.sel.anchor==c.sel.head&&c.sel.head==m.endA&&(m.endB-=2,g=c.doc.resolveNoCache(m.endB-c.from),setTimeout((()=>{t.someProp("handleKeyDown",(function(e){return e(t,Se(13,"Enter"))}))}),20));let k,x,M,O=m.start,S=m.endA;if(y)if(v.pos==g.pos)Ae&&$e<=11&&0==v.parentOffset&&(t.domObserver.suppressSelectionUpdates(),setTimeout((()=>Bn(t)),20)),k=t.state.tr.delete(O,S),x=d.resolve(m.start).marksAcross(d.resolve(m.endA));else if(m.endA==m.endB&&(M=function(t,e){let n,i,s,o=t.firstChild.marks,l=e.firstChild.marks,u=o,h=l;for(let t=0;tt.mark(i.addToSet(t.marks));else{if(0!=u.length||1!=h.length)return null;i=h[0],n="remove",s=t=>t.mark(i.removeFromSet(t.marks))}let f=[];for(let t=0;tn(t,O,S,e))))return;k=t.state.tr.insertText(e,O,S)}if(k||(k=t.state.tr.replace(O,S,c.doc.slice(m.start-c.from,m.endB-c.from))),c.sel){let e=mi(t,k.doc,c.sel);e&&!(Ie&&He&&t.composing&&e.empty&&(m.start!=m.endB||t.input.lastAndroidDelete{!Mr(t,e)||xr(t,e)||!t.editable&&e.type in vr||n(t,e)},gr[e]?{passive:!0}:void 0)}Je&&t.dom.addEventListener("input",(()=>null)),kr(t)}(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let t=this._props;this._props={};for(let e in t)this._props[e]=t[e];this._props.state=this.state}return this._props}update(t){t.handleDOMEvents!=this._props.handleDOMEvents&&kr(this);let e=this._props;this._props=t,t.plugins&&(t.plugins.forEach(Mi),this.directPlugins=t.plugins),this.updateStateInner(t.state,e)}setProps(t){let e={};for(let t in this._props)e[t]=this._props[t];e.state=this.state;for(let n in t)e[n]=t[n];this.update(e)}updateState(t){this.updateStateInner(t,this._props)}updateStateInner(t,e){var n;let r=this.state,i=!1,s=!1;t.storedMarks&&this.composing&&(Pr(this),s=!0),this.state=t;let o=r.plugins!=t.plugins||this._props.plugins!=e.plugins;if(o||this._props.plugins!=e.plugins||this._props.nodeViews!=e.nodeViews){let t=xi(this);(function(t,e){let n=0,r=0;for(let r in t){if(t[r]!=e[r])return!0;n++}for(let t in e)r++;return n!=r})(t,this.nodeViews)&&(this.nodeViews=t,i=!0)}(o||e.handleDOMEvents!=this._props.handleDOMEvents)&&kr(this),this.editable=ki(this),yi(this);let l=si(this),u=bi(this),h=r.plugins==t.plugins||r.doc.eq(t.doc)?t.scrollToSelection>r.scrollToSelection?"to selection":"preserve":"reset",f=i||!this.docView.matchesNode(t.doc,u,l);!f&&t.selection.eq(r.selection)||(s=!0);let a="preserve"==h&&s&&null==this.dom.style.overflowAnchor&&function(t){let e,n,r=t.dom.getBoundingClientRect(),i=Math.max(0,r.top);for(let s=(r.left+r.right)/2,o=i+1;o=i-20){e=r,n=l.top;break}}return{refDOM:e,refTop:n,stack:_e(t.dom)}}(this);if(s){this.domObserver.stop();let e=f&&(Ae||Ie)&&!this.composing&&!r.selection.empty&&!t.selection.empty&&function(t,e){let n=Math.min(t.$anchor.sharedDepth(t.head),e.$anchor.sharedDepth(e.head));return t.$anchor.start(n)!=e.$anchor.start(n)}(r.selection,t.selection);if(f){let n=Ie?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=function(t){let e=t.domSelectionRange();if(!e.focusNode)return null;let n=function(t,e){for(;;){if(3==t.nodeType&&e)return t;if(1==t.nodeType&&e>0){if("false"==t.contentEditable)return null;e=xe(t=t.childNodes[e-1])}else{if(!t.parentNode||Me(t))return null;e=me(t),t=t.parentNode}}}(e.focusNode,e.focusOffset),r=function(t,e){for(;;){if(3==t.nodeType&&et(this))));else if(this.state.selection instanceof Xt){let e=this.docView.domAfterPos(this.state.selection.from);1==e.nodeType&&Ve(this,e.getBoundingClientRect(),t)}else Ve(this,this.coordsAtPos(this.state.selection.head,1),t)}destroyPluginViews(){let t;for(;t=this.pluginViews.pop();)t.destroy&&t.destroy()}updatePluginViews(t){if(t&&t.plugins==this.state.plugins&&this.directPlugins==this.prevDirectPlugins)for(let e=0;e0&&this.state.doc.nodeAt(t))==n.node&&(r=t)}this.dragging=new Lr(t.slice,t.move,r<0?void 0:Xt.create(this.state.doc,r))}someProp(t,e){let n,r=this._props&&this._props[t];if(null!=r&&(n=e?e(r):r))return n;for(let r=0;rt.ownerDocument.getSelection()),this._root=t;return t||document}updateRoot(){this._root=null}posAtCoords(t){return en(this,t)}coordsAtPos(t,e=1){return on(this,t,e)}domAtPos(t,e=0){return this.docView.domFromPos(t,e)}nodeDOM(t){let e=this.docView.descAt(t);return e?e.nodeDOM:null}posAtDOM(t,e,n=-1){let r=this.docView.posFromDOM(t,e,n);if(null==r)throw new RangeError("DOM position not inside the editor");return r}endOfTextblock(t,e){return function(t,e,n){return an==e&&cn==n?dn:(an=e,cn=n,dn="up"==n||"down"==n?function(t,e,n){let r=e.selection,i="up"==n?r.$from:r.$to;return hn(t,e,(()=>{let{node:e}=t.docView.domFromPos(i.pos,"up"==n?-1:1);for(;;){let n=t.docView.nearestDesc(e,!0);if(!n)break;if(n.node.isBlock){e=n.contentDOM||n.dom;break}e=n.dom.parentNode}let r=on(t,i.pos,1);for(let t=e.firstChild;t;t=t.nextSibling){let e;if(1==t.nodeType)e=t.getClientRects();else{if(3!=t.nodeType)continue;e=ge(t,0,t.nodeValue.length).getClientRects()}for(let t=0;ti.top+1&&("up"==n?r.top-i.top>2*(i.bottom-r.top):i.bottom-r.bottom>2*(r.bottom-i.top)))return!1}}return!0}))}(t,e,n):function(t,e,n){let{$head:r}=e.selection;if(!r.parent.isTextblock)return!1;let i=r.parentOffset,s=!i,o=i==r.parent.content.size,l=t.domSelection();return fn.test(r.parent.textContent)&&l.modify?hn(t,e,(()=>{let{focusNode:e,focusOffset:i,anchorNode:s,anchorOffset:o}=t.domSelectionRange(),u=l.caretBidiLevel;l.modify("move",n,"character");let h=r.depth?t.docView.domAfterPos(r.before()):t.dom,{focusNode:f,focusOffset:a}=t.domSelectionRange(),c=f&&!h.contains(1==f.nodeType?f:f.parentNode)||e==f&&i==a;try{l.collapse(s,o),e&&(e!=s||i!=o)&&l.extend&&l.extend(e,i)}catch(t){}return null!=u&&(l.caretBidiLevel=u),c})):"left"==n||"backward"==n?s:o}(t,e,n))}(this,e||this.state,t)}pasteHTML(t,e){return Jr(this,"",t,!1,e||new ClipboardEvent("paste"))}pasteText(t,e){return Jr(this,t,null,!0,e||new ClipboardEvent("paste"))}destroy(){this.docView&&(function(t){t.domObserver.stop();for(let e in t.input.eventHandlers)t.dom.removeEventListener(e,t.input.eventHandlers[e]);clearTimeout(t.input.composingTimeout),clearTimeout(t.input.lastIOSEnterFallbackTimeout)}(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],si(this),this),this.dom.textContent=""):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,ve=null)}get isDestroyed(){return null==this.docView}dispatchEvent(t){return function(t,e){xr(t,e)||!wr[e.type]||!t.editable&&e.type in vr||wr[e.type](t,e)}(this,t)}dispatch(t){let e=this._props.dispatchTransaction;e?e.call(this,t):this.updateState(this.state.apply(t))}domSelectionRange(){let t=this.domSelection();return Je&&11===this.root.nodeType&&function(t){let e=t.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}(this.dom.ownerDocument)==this.dom&&function(t,e){if(e.getComposedRanges){let n=e.getComposedRanges(t.root)[0];if(n)return ci(t,n)}let n;function r(t){t.preventDefault(),t.stopImmediatePropagation(),n=t.getTargetRanges()[0]}return t.dom.addEventListener("beforeinput",r,!0),document.execCommand("indent"),t.dom.removeEventListener("beforeinput",r,!0),n?ci(t,n):null}(this,t)||t}domSelection(){return this.root.getSelection()}}function bi(t){let e=Object.create(null);return e.class="ProseMirror",e.contenteditable=String(t.editable),t.someProp("attributes",(n=>{if("function"==typeof n&&(n=n(t.state)),n)for(let t in n)"class"==t?e.class+=" "+n[t]:"style"==t?e.style=(e.style?e.style+";":"")+n[t]:e[t]||"contenteditable"==t||"nodeName"==t||(e[t]=String(n[t]))})),e.translate||(e.translate="no"),[zr.node(0,t.state.doc.content.size,e)]}function yi(t){if(t.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator",e.setAttribute("mark-placeholder","true"),e.setAttribute("alt",""),t.cursorWrapper={dom:e,deco:zr.widget(t.state.selection.head,e,{raw:!0,marks:t.markCursor})}}else t.cursorWrapper=null}function ki(t){return!t.someProp("editable",(e=>!1===e(t.state)))}function xi(t){let e=Object.create(null);function n(t){for(let n in t)Object.prototype.hasOwnProperty.call(e,n)||(e[n]=t[n])}return t.someProp("nodeViews",n),t.someProp("markViews",n),e}function Mi(t){if(t.spec.state||t.spec.filterTransaction||t.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}for(var Oi={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Si={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Ei="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),Ni="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Ci=0;Ci<10;Ci++)Oi[48+Ci]=Oi[96+Ci]=String(Ci);for(Ci=1;Ci<=24;Ci++)Oi[Ci+111]="F"+Ci;for(Ci=65;Ci<=90;Ci++)Oi[Ci]=String.fromCharCode(Ci+32),Si[Ci]=String.fromCharCode(Ci);for(var Ri in Oi)Si.hasOwnProperty(Ri)||(Si[Ri]=Oi[Ri]);const Ti="undefined"!=typeof navigator&&/Mac|iP(hone|[oa]d)/.test(navigator.platform);function ji(t){let e,n,r,i,s=t.split(/-(?!$)/),o=s[s.length-1];"Space"==o&&(o=" ");for(let t=0;t127)&&(r=Oi[n.keyCode])&&r!=i){let i=e[Ai(r,n)];if(i&&i(t.state,t.dispatch,t))return!0}}return!1}}const Di=(t,e)=>!t.selection.empty&&(e&&e(t.tr.deleteSelection().scrollIntoView()),!0);function Pi(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("backward",t):n.parentOffset>0)?null:n}const Ii=(t,e,n)=>{let r=Pi(t,n);if(!r)return!1;let i=Li(r);if(!i){let n=r.blockRange(),i=n&&Mt(n);return null!=i&&(e&&e(t.tr.lift(n,i).scrollIntoView()),!0)}let s=i.nodeBefore;if(!s.type.spec.isolating&&Qi(t,i,e))return!0;if(0==r.parent.content.size&&(Ji(s,"end")||Xt.isSelectable(s))){let n=jt(t.doc,r.before(),r.after(),h.empty);if(n&&n.slice.size=o-i)return!1;if(n){let e=t.tr.step(l);e.setSelection(Yt.create(e.doc,i)),n(e.scrollIntoView())}return!0}function Ji(t,e,n=!1){for(let r=t;r;r="start"==e?r.firstChild:r.lastChild){if(r.isTextblock)return!0;if(n&&1!=r.childCount)return!1}return!1}const Fi=(t,e,n)=>{let{$head:r,empty:i}=t.selection,s=r;if(!i)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock("backward",t):r.parentOffset>0)return!1;s=Li(r)}let o=s&&s.nodeBefore;return!(!o||!Xt.isSelectable(o)||(e&&e(t.tr.setSelection(Xt.create(t.doc,s.pos-o.nodeSize)).scrollIntoView()),0))};function Li(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){if(t.index(e)>0)return t.doc.resolve(t.before(e+1));if(t.node(e).type.spec.isolating)break}return null}function qi(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("forward",t):n.parentOffset{let r=qi(t,n);if(!r)return!1;let i=Wi(r);if(!i)return!1;let s=i.nodeAfter;if(Qi(t,i,e))return!0;if(0==r.parent.content.size&&(Ji(s,"start")||Xt.isSelectable(s))){let n=jt(t.doc,r.before(),r.after(),h.empty);if(n&&n.slice.size{let{$head:r,empty:i}=t.selection,s=r;if(!i)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock("forward",t):r.parentOffset=0;e--){let n=t.node(e);if(t.index(e)+1{let{$head:n,$anchor:r}=t.selection;return!(!n.parent.type.spec.code||!n.sameParent(r)||(e&&e(t.tr.insertText("\n").scrollIntoView()),0))};function zi(t){for(let e=0;e{let{$head:n,$anchor:r}=t.selection;if(!n.parent.type.spec.code||!n.sameParent(r))return!1;let i=n.node(-1),s=n.indexAfter(-1),o=zi(i.contentMatchAt(s));if(!o||!i.canReplaceWith(s,s,o))return!1;if(e){let r=n.after(),i=t.tr.replaceWith(r,r,o.createAndFill());i.setSelection(zt.near(i.doc.resolve(r),1)),e(i.scrollIntoView())}return!0},Vi=(t,e)=>{let n=t.selection,{$from:r,$to:i}=n;if(n instanceof te||r.parent.inlineContent||i.parent.inlineContent)return!1;let s=zi(i.parent.contentMatchAt(i.indexAfter()));if(!s||!s.isTextblock)return!1;if(e){let n=(!r.parentOffset&&i.index(){let{$cursor:n}=t.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let r=n.before();if(Et(t.doc,r))return e&&e(t.tr.split(r).scrollIntoView()),!0}let r=n.blockRange(),i=r&&Mt(r);return null!=i&&(e&&e(t.tr.lift(r,i).scrollIntoView()),!0)};var Yi;function Qi(t,e,n){let i,s,o=e.nodeBefore,l=e.nodeAfter;if(o.type.spec.isolating||l.type.spec.isolating)return!1;if(function(t,e,n){let r=e.nodeBefore,i=e.nodeAfter,s=e.index();return!(!(r&&i&&r.type.compatibleContent(i.type))||(!r.content.size&&e.parent.canReplace(s-1,s)?(n&&n(t.tr.delete(e.pos-r.nodeSize,e.pos).scrollIntoView()),0):!e.parent.canReplace(s,s+1)||!i.isTextblock&&!Nt(t.doc,e.pos)||(n&&n(t.tr.clearIncompatible(e.pos,r.type,r.contentMatchAt(r.childCount)).join(e.pos).scrollIntoView()),0)))}(t,e,n))return!0;let u=e.parent.canReplace(e.index(),e.index()+1);if(u&&(i=(s=o.contentMatchAt(o.childCount)).findWrapping(l.type))&&s.matchType(i[0]||l.type).validEnd){if(n){let s=e.pos+l.nodeSize,u=r.empty;for(let t=i.length-1;t>=0;t--)u=r.from(i[t].create(null,u));u=r.from(o.copy(u));let f=t.tr.step(new yt(e.pos-1,s,e.pos,s,new h(u,1,0),i.length,!0)),a=s+2*i.length;Nt(f.doc,a)&&f.join(a),n(f.scrollIntoView())}return!0}let f=zt.findFrom(e,1),a=f&&f.$from.blockRange(f.$to),c=a&&Mt(a);if(null!=c&&c>=e.depth)return n&&n(t.tr.lift(a,c).scrollIntoView()),!0;if(u&&Ji(l,"start",!0)&&Ji(o,"end")){let i=o,s=[];for(;s.push(i),!i.isTextblock;)i=i.lastChild;let u=l,f=1;for(;!u.isTextblock;u=u.firstChild)f++;if(i.canReplace(i.childCount,i.childCount,u.content)){if(n){let i=r.empty;for(let t=s.length-1;t>=0;t--)i=r.from(s[t].copy(i));n(t.tr.step(new yt(e.pos-s.length,e.pos+l.nodeSize,e.pos+f,e.pos+l.nodeSize-f,new h(i,s.length,0),0,!0)).scrollIntoView())}return!0}}return!1}function Xi(t){return function(e,n){let r=e.selection,i=t<0?r.$from:r.$to,s=i.depth;for(;i.node(s).isInline;){if(!s)return!1;s--}return!!i.node(s).isTextblock&&(n&&n(e.tr.setSelection(Yt.create(e.doc,t<0?i.start(s):i.end(s)))),!0)}}const Zi=Xi(-1),ts=Xi(1);function es(t,e=null){return function(n,r){let i=!1;for(let r=0;r{if(i)return!1;if(r.isTextblock&&!r.hasMarkup(t,e))if(r.type==t)i=!0;else{let e=n.doc.resolve(s),r=e.index();i=e.parent.canReplaceWith(r,r+1,t)}}))}if(!i)return!1;if(r){let i=n.tr;for(let r=0;r{let{$from:n,$to:r}=t.selection;if(t.selection instanceof Xt&&t.selection.node.isBlock)return!(!n.parentOffset||!Et(t.doc,n.pos)||(e&&e(t.tr.split(n.pos).scrollIntoView()),0));if(!n.parent.isBlock)return!1;if(e){let i=r.parentOffset==r.parent.content.size,s=t.tr;(t.selection instanceof Yt||t.selection instanceof te)&&s.deleteSelection();let o=0==n.depth?null:zi(n.node(-1).contentMatchAt(n.indexAfter(-1))),l=Yi?[Yi]:i&&o?[{type:o}]:void 0,u=Et(s.doc,s.mapping.map(n.pos),1,l);if(l||u||!Et(s.doc,s.mapping.map(n.pos),1,o?[{type:o}]:void 0)||(o&&(l=[{type:o}]),u=!0),u&&(s.split(s.mapping.map(n.pos),1,l),!i&&!n.parentOffset&&n.parent.type!=o)){let t=s.mapping.map(n.before()),e=s.doc.resolve(t);o&&n.node(-1).canReplaceWith(e.index(),e.index()+1,o)&&s.setNodeMarkup(s.mapping.map(n.before()),o)}e(s.scrollIntoView())}return!0})),"Mod-Enter":Gi,Backspace:rs,"Mod-Backspace":rs,"Shift-Backspace":rs,Delete:is,"Mod-Delete":is,"Mod-a":(t,e)=>(e&&e(t.tr.setSelection(new te(t.doc))),!0)},ls={"Ctrl-h":ss.Backspace,"Alt-Backspace":ss["Mod-Backspace"],"Ctrl-d":ss.Delete,"Ctrl-Alt-Backspace":ss["Mod-Delete"],"Alt-Delete":ss["Mod-Delete"],"Alt-d":ss["Mod-Delete"],"Ctrl-a":Zi,"Ctrl-e":ts};for(let t in ss)ls[t]=ss[t];function us(t){const{state:e,transaction:n}=t;let{selection:r}=n,{doc:i}=n,{storedMarks:s}=n;return{...e,apply:e.apply.bind(e),applyTransaction:e.applyTransaction.bind(e),plugins:e.plugins,schema:e.schema,reconfigure:e.reconfigure.bind(e),toJSON:e.toJSON.bind(e),get storedMarks(){return s},get selection(){return r},get doc(){return i},get tr(){return r=n.selection,i=n.doc,s=n.storedMarks,n}}}"undefined"!=typeof navigator?/Mac|iP(hone|[oa]d)/.test(navigator.platform):"undefined"!=typeof os&&os.platform&&os.platform();class hs{constructor(t){this.editor=t.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=t.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){const{rawCommands:t,editor:e,state:n}=this,{view:r}=e,{tr:i}=n,s=this.buildProps(i);return Object.fromEntries(Object.entries(t).map((([t,e])=>[t,(...t)=>{const n=e(...t)(s);return i.getMeta("preventDispatch")||this.hasCustomState||r.dispatch(i),n}])))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(t,e=!0){const{rawCommands:n,editor:r,state:i}=this,{view:s}=r,o=[],l=!!t,u=t||i.tr,h={...Object.fromEntries(Object.entries(n).map((([t,n])=>[t,(...t)=>{const r=this.buildProps(u,e),i=n(...t)(r);return o.push(i),h}]))),run:()=>(l||!e||u.getMeta("preventDispatch")||this.hasCustomState||s.dispatch(u),o.every((t=>!0===t)))};return h}createCan(t){const{rawCommands:e,state:n}=this,r=!1,i=t||n.tr,s=this.buildProps(i,r);return{...Object.fromEntries(Object.entries(e).map((([t,e])=>[t,(...t)=>e(...t)({...s,dispatch:void 0})]))),chain:()=>this.createChain(i,r)}}buildProps(t,e=!0){const{rawCommands:n,editor:r,state:i}=this,{view:s}=r,o={tr:t,editor:r,view:s,state:us({state:i,transaction:t}),dispatch:e?()=>{}:void 0,chain:()=>this.createChain(t,e),can:()=>this.createCan(t),get commands(){return Object.fromEntries(Object.entries(n).map((([t,e])=>[t,(...t)=>e(...t)(o)])))}};return o}}class fs{constructor(){this.callbacks={}}on(t,e){return this.callbacks[t]||(this.callbacks[t]=[]),this.callbacks[t].push(e),this}emit(t,...e){const n=this.callbacks[t];return n&&n.forEach((t=>t.apply(this,e))),this}off(t,e){const n=this.callbacks[t];return n&&(e?this.callbacks[t]=n.filter((t=>t!==e)):delete this.callbacks[t]),this}removeAllListeners(){this.callbacks={}}}function as(t,e,n){return void 0===t.config[e]&&t.parent?as(t.parent,e,n):"function"==typeof t.config[e]?t.config[e].bind({...n,parent:t.parent?as(t.parent,e,n):null}):t.config[e]}function cs(t){return{baseExtensions:t.filter((t=>"extension"===t.type)),nodeExtensions:t.filter((t=>"node"===t.type)),markExtensions:t.filter((t=>"mark"===t.type))}}function ds(t){const e=[],{nodeExtensions:n,markExtensions:r}=cs(t),i=[...n,...r],s={default:null,rendered:!0,renderHTML:null,parseHTML:null,keepOnSplit:!0,isRequired:!1};return t.forEach((t=>{const n=as(t,"addGlobalAttributes",{name:t.name,options:t.options,storage:t.storage});n&&n().forEach((t=>{t.types.forEach((n=>{Object.entries(t.attributes).forEach((([t,r])=>{e.push({type:n,name:t,attribute:{...s,...r}})}))}))}))})),i.forEach((t=>{const n=as(t,"addAttributes",{name:t.name,options:t.options,storage:t.storage});if(!n)return;const r=n();Object.entries(r).forEach((([n,r])=>{const i={...s,...r};"function"==typeof(null==i?void 0:i.default)&&(i.default=i.default()),(null==i?void 0:i.isRequired)&&void 0===(null==i?void 0:i.default)&&delete i.default,e.push({type:t.name,name:n,attribute:i})}))})),e}function ps(t,e){if("string"==typeof t){if(!e.nodes[t])throw Error(`There is no node type named '${t}'. Maybe you forgot to add the extension?`);return e.nodes[t]}return t}function ms(...t){return t.filter((t=>!!t)).reduce(((t,e)=>{const n={...t};return Object.entries(e).forEach((([t,e])=>{if(n[t])if("class"===t){const r=e?e.split(" "):[],i=n[t]?n[t].split(" "):[],s=r.filter((t=>!i.includes(t)));n[t]=[...i,...s].join(" ")}else n[t]="style"===t?[n[t],e].join("; "):e;else n[t]=e})),n}),{})}function ws(t,e){return e.filter((t=>t.attribute.rendered)).map((e=>e.attribute.renderHTML?e.attribute.renderHTML(t.attrs)||{}:{[e.name]:t.attrs[e.name]})).reduce(((t,e)=>ms(t,e)),{})}function vs(t){return"function"==typeof t}function gs(t,e,...n){return vs(t)?e?t.bind(e)(...n):t(...n):t}function bs(t,e){return t.style?t:{...t,getAttrs:n=>{const r=t.getAttrs?t.getAttrs(n):t.attrs;if(!1===r)return!1;const i=e.reduce(((t,e)=>{const r=e.attribute.parseHTML?e.attribute.parseHTML(n):function(t){return"string"!=typeof t?t:t.match(/^[+-]?(?:\d*\.)?\d+$/)?Number(t):"true"===t||"false"!==t&&t}(n.getAttribute(e.name));return null==r?t:{...t,[e.name]:r}}),{});return{...r,...i}}}}function ys(t){return Object.fromEntries(Object.entries(t).filter((([t,e])=>("attrs"!==t||!function(t={}){return 0===Object.keys(t).length&&t.constructor===Object}(e))&&null!=e)))}function ks(t,e){return e.nodes[t]||e.marks[t]||null}function xs(t,e){return Array.isArray(e)?e.some((e=>("string"==typeof e?e:e.name)===t.name)):e}const Ms=(t,e=500)=>{let n="";const r=t.parentOffset;return t.parent.nodesBetween(Math.max(0,r-e),r,((t,e,i,s)=>{var o,l;const u=(null===(l=(o=t.type.spec).toText)||void 0===l?void 0:l.call(o,{node:t,pos:e,parent:i,index:s}))||t.textContent||"%leaf%";n+=u.slice(0,Math.max(0,r-e))})),n};function Os(t){return"[object RegExp]"===Object.prototype.toString.call(t)}class Ss{constructor(t){this.find=t.find,this.handler=t.handler}}const Es=(t,e)=>{if(Os(e))return e.exec(t);const n=e(t);if(!n)return null;const r=[n.text];return r.index=n.index,r.input=t,r.data=n.data,n.replaceWith&&(n.text.includes(n.replaceWith)||console.warn('[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".'),r.push(n.replaceWith)),r};function Ns(t){var e;const{editor:n,from:r,to:i,text:s,rules:o,plugin:l}=t,{view:u}=n;if(u.composing)return!1;const h=u.state.doc.resolve(r);if(h.parent.type.spec.code||(null===(e=h.nodeBefore||h.nodeAfter)||void 0===e?void 0:e.marks.find((t=>t.type.spec.code))))return!1;let f=!1;const a=Ms(h)+s;return o.forEach((t=>{if(f)return;const e=Es(a,t.find);if(!e)return;const o=u.state.tr,h=us({state:u.state,transaction:o}),c={from:r-(e[0].length-s.length),to:i},{commands:d,chain:p,can:m}=new hs({editor:n,state:h});null!==t.handler({state:h,range:c,match:e,commands:d,chain:p,can:m})&&o.steps.length&&(o.setMeta(l,{transform:o,from:r,to:i,text:s}),u.dispatch(o),f=!0)})),f}function Cs(t){const{editor:e,rules:n}=t,r=new ae({state:{init:()=>null,apply(t,i){const s=t.getMeta(r);if(s)return s;const o=t.getMeta("applyInputRules");return!!o&&setTimeout((()=>{const{from:t,text:i}=o;Ns({editor:e,from:t,to:t+i.length,text:i,rules:n,plugin:r})})),t.selectionSet||t.docChanged?null:i}},props:{handleTextInput:(t,i,s,o)=>Ns({editor:e,from:i,to:s,text:o,rules:n,plugin:r}),handleDOMEvents:{compositionend:t=>(setTimeout((()=>{const{$cursor:i}=t.state.selection;i&&Ns({editor:e,from:i.pos,to:i.pos,text:"",rules:n,plugin:r})})),!1)},handleKeyDown(t,i){if("Enter"!==i.key)return!1;const{$cursor:s}=t.state.selection;return!!s&&Ns({editor:e,from:s.pos,to:s.pos,text:"\n",rules:n,plugin:r})}},isInputRules:!0});return r}class Rs{constructor(t){this.find=t.find,this.handler=t.handler}}function Ts(t){const{editor:e,rules:n}=t;let r=null,i=!1,s=!1,o="undefined"!=typeof ClipboardEvent?new ClipboardEvent("paste"):null,l="undefined"!=typeof DragEvent?new DragEvent("drop"):null;const u=({state:t,from:n,to:r,rule:i,pasteEvt:s})=>{const u=t.tr,h=us({state:t,transaction:u}),f=function(t){const{editor:e,state:n,from:r,to:i,rule:s,pasteEvent:o,dropEvent:l}=t,{commands:u,chain:h,can:f}=new hs({editor:e,state:n}),a=[];return n.doc.nodesBetween(r,i,((t,e)=>{if(!t.isTextblock||t.type.spec.code)return;const c=Math.max(r,e),d=Math.min(i,e+t.content.size);((t,e,n)=>{if(Os(e))return[...t.matchAll(e)];const r=e(t,n);return r?r.map((e=>{const n=[e.text];return n.index=e.index,n.input=t,n.data=e.data,e.replaceWith&&(e.text.includes(e.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),n.push(e.replaceWith)),n})):[]})(t.textBetween(c-e,d-e,void 0,""),s.find,o).forEach((t=>{if(void 0===t.index)return;const e=c+t.index+1,r=e+t[0].length,i={from:n.tr.mapping.map(e),to:n.tr.mapping.map(r)},d=s.handler({state:n,range:i,match:t,commands:u,chain:h,can:f,pasteEvent:o,dropEvent:l});a.push(d)}))})),a.every((t=>null!==t))}({editor:e,state:h,from:Math.max(n-1,0),to:r.b-1,rule:i,pasteEvent:s,dropEvent:l});if(f&&u.steps.length)return l="undefined"!=typeof DragEvent?new DragEvent("drop"):null,o="undefined"!=typeof ClipboardEvent?new ClipboardEvent("paste"):null,u};return n.map((t=>new ae({view(t){const e=e=>{var n;r=(null===(n=t.dom.parentElement)||void 0===n?void 0:n.contains(e.target))?t.dom.parentElement:null};return window.addEventListener("dragstart",e),{destroy(){window.removeEventListener("dragstart",e)}}},props:{handleDOMEvents:{drop:(t,e)=>(s=r===t.dom.parentElement,l=e,!1),paste:(t,e)=>{var n;const r=null===(n=e.clipboardData)||void 0===n?void 0:n.getData("text/html");return o=e,i=!!(null==r?void 0:r.includes("data-pm-slice")),!1}}},appendTransaction:(e,n,r)=>{const l=e[0],h="paste"===l.getMeta("uiEvent")&&!i,f="drop"===l.getMeta("uiEvent")&&!s,a=l.getMeta("applyPasteRules"),c=!!a;if(!h&&!f&&!c)return;if(c){const{from:e,text:n}=a,i=e+n.length,s=(t=>{var e;const n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});return null===(e=n.clipboardData)||void 0===e||e.setData("text/html",t),n})(n);return u({rule:t,state:r,from:e,to:{b:i},pasteEvt:s})}const d=n.doc.content.findDiffStart(r.doc.content),p=n.doc.content.findDiffEnd(r.doc.content);return"number"==typeof d&&p&&d!==p.b?u({rule:t,state:r,from:d,to:p,pasteEvt:o}):void 0}})))}class js{constructor(t,e){this.splittableMarks=[],this.editor=e,this.extensions=js.resolve(t),this.schema=function(t,e){var n;const r=ds(t),{nodeExtensions:i,markExtensions:s}=cs(t),o=null===(n=i.find((t=>as(t,"topNode"))))||void 0===n?void 0:n.name,l=Object.fromEntries(i.map((n=>{const i=r.filter((t=>t.type===n.name)),s={name:n.name,options:n.options,storage:n.storage,editor:e},o=ys({...t.reduce(((t,e)=>{const r=as(e,"extendNodeSchema",s);return{...t,...r?r(n):{}}}),{}),content:gs(as(n,"content",s)),marks:gs(as(n,"marks",s)),group:gs(as(n,"group",s)),inline:gs(as(n,"inline",s)),atom:gs(as(n,"atom",s)),selectable:gs(as(n,"selectable",s)),draggable:gs(as(n,"draggable",s)),code:gs(as(n,"code",s)),defining:gs(as(n,"defining",s)),isolating:gs(as(n,"isolating",s)),attrs:Object.fromEntries(i.map((t=>{var e;return[t.name,{default:null===(e=null==t?void 0:t.attribute)||void 0===e?void 0:e.default}]})))}),l=gs(as(n,"parseHTML",s));l&&(o.parseDOM=l.map((t=>bs(t,i))));const u=as(n,"renderHTML",s);u&&(o.toDOM=t=>u({node:t,HTMLAttributes:ws(t,i)}));const h=as(n,"renderText",s);return h&&(o.toText=h),[n.name,o]}))),u=Object.fromEntries(s.map((n=>{const i=r.filter((t=>t.type===n.name)),s={name:n.name,options:n.options,storage:n.storage,editor:e},o=ys({...t.reduce(((t,e)=>{const r=as(e,"extendMarkSchema",s);return{...t,...r?r(n):{}}}),{}),inclusive:gs(as(n,"inclusive",s)),excludes:gs(as(n,"excludes",s)),group:gs(as(n,"group",s)),spanning:gs(as(n,"spanning",s)),code:gs(as(n,"code",s)),attrs:Object.fromEntries(i.map((t=>{var e;return[t.name,{default:null===(e=null==t?void 0:t.attribute)||void 0===e?void 0:e.default}]})))}),l=gs(as(n,"parseHTML",s));l&&(o.parseDOM=l.map((t=>bs(t,i))));const u=as(n,"renderHTML",s);return u&&(o.toDOM=t=>u({mark:t,HTMLAttributes:ws(t,i)})),[n.name,o]})));return new K({topNode:o,nodes:l,marks:u})}(this.extensions,e),this.extensions.forEach((t=>{var e;this.editor.extensionStorage[t.name]=t.storage;const n={name:t.name,options:t.options,storage:t.storage,editor:this.editor,type:ks(t.name,this.schema)};"mark"===t.type&&(null===(e=gs(as(t,"keepOnSplit",n)))||void 0===e||e)&&this.splittableMarks.push(t.name);const r=as(t,"onBeforeCreate",n);r&&this.editor.on("beforeCreate",r);const i=as(t,"onCreate",n);i&&this.editor.on("create",i);const s=as(t,"onUpdate",n);s&&this.editor.on("update",s);const o=as(t,"onSelectionUpdate",n);o&&this.editor.on("selectionUpdate",o);const l=as(t,"onTransaction",n);l&&this.editor.on("transaction",l);const u=as(t,"onFocus",n);u&&this.editor.on("focus",u);const h=as(t,"onBlur",n);h&&this.editor.on("blur",h);const f=as(t,"onDestroy",n);f&&this.editor.on("destroy",f)}))}static resolve(t){const e=js.sort(js.flatten(t)),n=function(t){const e=t.filter(((e,n)=>t.indexOf(e)!==n));return[...new Set(e)]}(e.map((t=>t.name)));return n.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${n.map((t=>`'${t}'`)).join(", ")}]. This can lead to issues.`),e}static flatten(t){return t.map((t=>{const e=as(t,"addExtensions",{name:t.name,options:t.options,storage:t.storage});return e?[t,...this.flatten(e())]:t})).flat(10)}static sort(t){return t.sort(((t,e)=>{const n=as(t,"priority")||100,r=as(e,"priority")||100;return n>r?-1:n{const n=as(e,"addCommands",{name:e.name,options:e.options,storage:e.storage,editor:this.editor,type:ks(e.name,this.schema)});return n?{...t,...n()}:t}),{})}get plugins(){const{editor:t}=this,e=js.sort([...this.extensions].reverse()),n=[],r=[],i=e.map((e=>{const i={name:e.name,options:e.options,storage:e.storage,editor:t,type:ks(e.name,this.schema)},s=[],o=as(e,"addKeyboardShortcuts",i);let l={};if("mark"===e.type&&e.config.exitable&&(l.ArrowRight=()=>Ao.handleExit({editor:t,mark:e})),o){const e=Object.fromEntries(Object.entries(o()).map((([e,n])=>[e,()=>n({editor:t})])));l={...l,...e}}const u=new ae({props:{handleKeyDown:$i(l)}});s.push(u);const h=as(e,"addInputRules",i);xs(e,t.options.enableInputRules)&&h&&n.push(...h());const f=as(e,"addPasteRules",i);xs(e,t.options.enablePasteRules)&&f&&r.push(...f());const a=as(e,"addProseMirrorPlugins",i);if(a){const t=a();s.push(...t)}return s})).flat();return[Cs({editor:t,rules:n}),...Ts({editor:t,rules:r}),...i]}get attributes(){return ds(this.extensions)}get nodeViews(){const{editor:t}=this,{nodeExtensions:e}=cs(this.extensions);return Object.fromEntries(e.filter((t=>!!as(t,"addNodeView"))).map((e=>{const n=this.attributes.filter((t=>t.type===e.name)),r={name:e.name,options:e.options,storage:e.storage,editor:t,type:ps(e.name,this.schema)},i=as(e,"addNodeView",r);return i?[e.name,(r,s,o,l)=>{const u=ws(r,n);return i()({editor:t,node:r,getPos:o,decorations:l,HTMLAttributes:u,extension:e})}]:[]})))}}function As(t){return"Object"===function(t){return Object.prototype.toString.call(t).slice(8,-1)}(t)&&t.constructor===Object&&Object.getPrototypeOf(t)===Object.prototype}function $s(t,e){const n={...t};return As(t)&&As(e)&&Object.keys(e).forEach((r=>{As(e[r])?r in t?n[r]=$s(t[r],e[r]):Object.assign(n,{[r]:e[r]}):Object.assign(n,{[r]:e[r]})})),n}class Ds{constructor(t={}){this.type="extension",this.name="extension",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=gs(as(this,"addOptions",{name:this.name}))),this.storage=gs(as(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(t={}){return new Ds(t)}configure(t={}){const e=this.extend();return e.options=$s(this.options,t),e.storage=gs(as(e,"addStorage",{name:e.name,options:e.options})),e}extend(t={}){const e=new Ds({...this.config,...t});return e.parent=this,this.child=e,e.name=t.name?t.name:e.parent.name,t.defaultOptions&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${e.name}".`),e.options=gs(as(e,"addOptions",{name:e.name})),e.storage=gs(as(e,"addStorage",{name:e.name,options:e.options})),e}}function Ps(t,e,n){const{from:r,to:i}=e,{blockSeparator:s="\n\n",textSerializers:o={}}=n||{};let l="",u=!0;return t.nodesBetween(r,i,((t,n,h,f)=>{var a;const c=null==o?void 0:o[t.type.name];if(c)return t.isBlock&&!u&&(l+=s,u=!0),h&&(l+=c({node:t,pos:n,parent:h,index:f,range:e})),!1;t.isText?(l+=null===(a=null==t?void 0:t.text)||void 0===a?void 0:a.slice(Math.max(r,n)-n,i-n),u=!1):t.isBlock&&!u&&(l+=s,u=!0)})),l}function Is(t){return Object.fromEntries(Object.entries(t.nodes).filter((([,t])=>t.spec.toText)).map((([t,e])=>[t,e.spec.toText])))}const Bs=Ds.create({name:"clipboardTextSerializer",addOptions:()=>({blockSeparator:void 0}),addProseMirrorPlugins(){return[new ae({key:new pe("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{const{editor:t}=this,{state:e,schema:n}=t,{doc:r,selection:i}=e,{ranges:s}=i,o=Math.min(...s.map((t=>t.$from.pos))),l=Math.max(...s.map((t=>t.$to.pos))),u=Is(n);return Ps(r,{from:o,to:l},{...void 0!==this.options.blockSeparator?{blockSeparator:this.options.blockSeparator}:{},textSerializers:u})}}})]}});function Js(t,e,n={strict:!0}){const r=Object.keys(e);return!r.length||r.every((r=>n.strict?e[r]===t[r]:Os(e[r])?e[r].test(t[r]):e[r]===t[r]))}function Fs(t,e,n={}){return t.find((t=>t.type===e&&Js(t.attrs,n)))}function Ls(t,e,n={}){return!!Fs(t,e,n)}function qs(t,e,n={}){if(!t||!e)return;let r=t.parent.childAfter(t.parentOffset);if(t.parentOffset===r.offset&&0!==r.offset&&(r=t.parent.childBefore(t.parentOffset)),!r.node)return;const i=Fs([...r.node.marks],e,n);if(!i)return;let s=r.index,o=t.start()+r.offset,l=s+1,u=o+r.node.nodeSize;for(Fs([...r.node.marks],e,n);s>0&&i.isInSet(t.parent.child(s-1).marks);)s-=1,o-=t.parent.child(s).nodeSize;for(;l{const e=t.childNodes;for(let n=e.length-1;n>=0;n-=1){const r=e[n];3===r.nodeType&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?t.removeChild(r):1===r.nodeType&&Gs(r)}return t};function Vs(t){const e=`${t}`,n=(new window.DOMParser).parseFromString(e,"text/html").body;return Gs(n)}function _s(t,e,n){if(n={slice:!0,parseOptions:{},...n},"object"==typeof t&&null!==t)try{return Array.isArray(t)&&t.length>0?r.fromArray(t.map((t=>e.nodeFromJSON(t)))):e.nodeFromJSON(t)}catch(r){return console.warn("[tiptap warn]: Invalid content.","Passed value:",t,"Error:",r),_s("",e,n)}if("string"==typeof t){const r=G.fromSchema(e);return n.slice?r.parseSlice(Vs(t),n.parseOptions).content:r.parse(Vs(t),n.parseOptions)}return _s("",e,n)}function Ys(){return"undefined"!=typeof navigator&&/Mac/.test(navigator.platform)}function Qs(t,e,n={}){const{from:r,to:i,empty:s}=t.selection,o=e?ps(e,t.schema):null,l=[];t.doc.nodesBetween(r,i,((t,e)=>{if(t.isText)return;const n=Math.max(r,e),s=Math.min(i,e+t.nodeSize);l.push({node:t,from:n,to:s})}));const u=i-r,h=l.filter((t=>!o||o.name===t.node.type.name)).filter((t=>Js(t.node.attrs,n,{strict:!1})));return s?!!h.length:h.reduce(((t,e)=>t+e.to-e.from),0)>=u}function Xs(t,e){return e.nodes[t]?"node":e.marks[t]?"mark":null}function Zs(t,e){const n="string"==typeof e?[e]:e;return Object.keys(t).reduce(((e,r)=>(n.includes(r)||(e[r]=t[r]),e)),{})}function to(t,e,n={}){return _s(t,e,{slice:!1,parseOptions:n})}function eo(t,e){const n=Hs(e,t.schema),{from:r,to:i,empty:s}=t.selection,o=[];s?(t.storedMarks&&o.push(...t.storedMarks),o.push(...t.selection.$head.marks())):t.doc.nodesBetween(r,i,(t=>{o.push(...t.marks)}));const l=o.find((t=>t.type.name===n.name));return l?{...l.attrs}:{}}function no(t,e){const n=new Wt(t);return e.forEach((t=>{t.steps.forEach((t=>{n.step(t)}))})),n}function ro(t,e){const n=[];return t.descendants(((t,r)=>{e(t)&&n.push({node:t,pos:r})})),n}function io(t,e,n){const r=[];return t.nodesBetween(e.from,e.to,((t,e)=>{n(t)&&r.push({node:t,pos:e})})),r}function so(t,e){for(let n=t.depth;n>0;n-=1){const r=t.node(n);if(e(r))return{pos:n>0?t.before(n):0,start:t.start(n),depth:n,node:r}}}function oo(t){return e=>so(e.$from,t)}function lo(t,e){const n=Xs("string"==typeof e?e:e.name,t.schema);return"node"===n?function(t,e){const n=ps(e,t.schema),{from:r,to:i}=t.selection,s=[];t.doc.nodesBetween(r,i,(t=>{s.push(t)}));const o=s.reverse().find((t=>t.type.name===n.name));return o?{...o.attrs}:{}}(t,e):"mark"===n?eo(t,e):{}}function uo(t){const{mapping:e,steps:n}=t,r=[];return e.maps.forEach(((t,i)=>{const s=[];if(t.ranges.length)t.forEach(((t,e)=>{s.push({from:t,to:e})}));else{const{from:t,to:e}=n[i];if(void 0===t||void 0===e)return;s.push({from:t,to:e})}s.forEach((({from:t,to:n})=>{const s=e.slice(i).map(t,-1),o=e.slice(i).map(n),l=e.invert().map(s,-1),u=e.invert().map(o);r.push({oldRange:{from:l,to:u},newRange:{from:s,to:o}})}))})),function(t){const e=function(t,e=JSON.stringify){const n={};return t.filter((t=>{const r=e(t);return!Object.prototype.hasOwnProperty.call(n,r)&&(n[r]=!0)}))}(t);return 1===e.length?e:e.filter(((t,n)=>{const r=e.filter(((t,e)=>e!==n));return!r.some((e=>t.oldRange.from>=e.oldRange.from&&t.oldRange.to<=e.oldRange.to&&t.newRange.from>=e.newRange.from&&t.newRange.to<=e.newRange.to))}))}(r)}function ho(t,e,n){const r=[];return t===e?n.resolve(t).marks().forEach((e=>{const i=qs(n.resolve(t-1),e.type);i&&r.push({mark:e,...i})})):n.nodesBetween(t,e,((t,e)=>{t&&void 0!==(null==t?void 0:t.nodeSize)&&r.push(...t.marks.map((n=>({from:e,to:e+t.nodeSize,mark:n}))))})),r}function fo(t,e,n){return Object.fromEntries(Object.entries(n).filter((([n])=>{const r=t.find((t=>t.type===e&&t.name===n));return!!r&&r.attribute.keepOnSplit})))}function ao(t,e,n={}){const{empty:r,ranges:i}=t.selection,s=e?Hs(e,t.schema):null;if(r)return!!(t.storedMarks||t.selection.$from.marks()).filter((t=>!s||s.name===t.type.name)).find((t=>Js(t.attrs,n,{strict:!1})));let o=0;const l=[];if(i.forEach((({$from:e,$to:n})=>{const r=e.pos,i=n.pos;t.doc.nodesBetween(r,i,((t,e)=>{if(!t.isText&&!t.marks.length)return;const n=Math.max(r,e),s=Math.min(i,e+t.nodeSize);o+=s-n,l.push(...t.marks.map((t=>({mark:t,from:n,to:s}))))}))})),0===o)return!1;const u=l.filter((t=>!s||s.name===t.mark.type.name)).filter((t=>Js(t.mark.attrs,n,{strict:!1}))).reduce(((t,e)=>t+e.to-e.from),0),h=l.filter((t=>!s||t.mark.type!==s&&t.mark.type.excludes(s))).reduce(((t,e)=>t+e.to-e.from),0);return(u>0?u+h:u)>=o}function co(t,e){const{nodeExtensions:n}=cs(e),r=n.find((e=>e.name===t));if(!r)return!1;const i=gs(as(r,"group",{name:r.name,options:r.options,storage:r.storage}));return"string"==typeof i&&i.split(" ").includes("list")}function po(t){return t instanceof Xt}function mo(t,e,n){const r=t.state.doc.content.size,i=Ws(e,0,r),s=Ws(n,0,r),o=t.coordsAtPos(i),l=t.coordsAtPos(s,-1),u=Math.min(o.top,l.top),h=Math.max(o.bottom,l.bottom),f=Math.min(o.left,l.left),a=Math.max(o.right,l.right),c={top:u,bottom:h,left:f,right:a,width:a-f,height:h-u,x:f,y:u};return{...c,toJSON:()=>c}}function wo(t,e){const n=t.storedMarks||t.selection.$to.parentOffset&&t.selection.$from.marks();if(n){const r=n.filter((t=>null==e?void 0:e.includes(t.type.name)));t.tr.ensureMarks(r)}}const vo=(t,e)=>{const n=oo((t=>t.type===e))(t.selection);if(!n)return!0;const r=t.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(void 0===r)return!0;const i=t.doc.nodeAt(r);return n.node.type!==(null==i?void 0:i.type)||!Nt(t.doc,n.pos)||(t.join(n.pos),!0)},go=(t,e)=>{const n=oo((t=>t.type===e))(t.selection);if(!n)return!0;const r=t.doc.resolve(n.start).after(n.depth);if(void 0===r)return!0;const i=t.doc.nodeAt(r);return n.node.type!==(null==i?void 0:i.type)||!Nt(t.doc,r)||(t.join(r),!0)};var bo=Object.freeze({__proto__:null,blur:()=>({editor:t,view:e})=>(requestAnimationFrame((()=>{var n;t.isDestroyed||(e.dom.blur(),null===(n=null===window||void 0===window?void 0:window.getSelection())||void 0===n||n.removeAllRanges())})),!0),clearContent:(t=!1)=>({commands:e})=>e.setContent("",t),clearNodes:()=>({state:t,tr:e,dispatch:n})=>{const{selection:r}=e,{ranges:i}=r;return!n||(i.forEach((({$from:n,$to:r})=>{t.doc.nodesBetween(n.pos,r.pos,((t,n)=>{if(t.type.isText)return;const{doc:r,mapping:i}=e,s=r.resolve(i.map(n)),o=r.resolve(i.map(n+t.nodeSize)),l=s.blockRange(o);if(!l)return;const u=Mt(l);if(t.type.isTextblock){const{defaultType:t}=s.parent.contentMatchAt(s.index());e.setNodeMarkup(l.start,t)}(u||0===u)&&e.lift(l,u)}))})),!0)},command:t=>e=>t(e),createParagraphNear:()=>({state:t,dispatch:e})=>Vi(t,e),cut:(t,e)=>({editor:n,tr:r})=>{const{state:i}=n,s=i.doc.slice(t.from,t.to);r.deleteRange(t.from,t.to);const o=r.mapping.map(e);return r.insert(o,s.content),r.setSelection(new Yt(r.doc.resolve(o-1))),!0},deleteCurrentNode:()=>({tr:t,dispatch:e})=>{const{selection:n}=t,r=n.$anchor.node();if(r.content.size>0)return!1;const i=t.selection.$anchor;for(let n=i.depth;n>0;n-=1)if(i.node(n).type===r.type){if(e){const e=i.before(n),r=i.after(n);t.delete(e,r).scrollIntoView()}return!0}return!1},deleteNode:t=>({tr:e,state:n,dispatch:r})=>{const i=ps(t,n.schema),s=e.selection.$anchor;for(let t=s.depth;t>0;t-=1)if(s.node(t).type===i){if(r){const n=s.before(t),r=s.after(t);e.delete(n,r).scrollIntoView()}return!0}return!1},deleteRange:t=>({tr:e,dispatch:n})=>{const{from:r,to:i}=t;return n&&e.delete(r,i),!0},deleteSelection:()=>({state:t,dispatch:e})=>Di(t,e),enter:()=>({commands:t})=>t.keyboardShortcut("Enter"),exitCode:()=>({state:t,dispatch:e})=>Gi(t,e),extendMarkRange:(t,e={})=>({tr:n,state:r,dispatch:i})=>{const s=Hs(t,r.schema),{doc:o,selection:l}=n,{$from:u,from:h,to:f}=l;if(i){const t=qs(u,s,e);if(t&&t.from<=h&&t.to>=f){const e=Yt.create(o,t.from,t.to);n.setSelection(e)}}return!0},first:t=>e=>{const n="function"==typeof t?t(e):t;for(let t=0;t({editor:n,view:r,tr:i,dispatch:s})=>{e={scrollIntoView:!0,...e};const o=()=>{zs()&&r.dom.focus(),requestAnimationFrame((()=>{n.isDestroyed||(r.focus(),(null==e?void 0:e.scrollIntoView)&&n.commands.scrollIntoView())}))};if(r.hasFocus()&&null===t||!1===t)return!0;if(s&&null===t&&!Us(n.state.selection))return o(),!0;const l=Ks(i.doc,t)||n.state.selection,u=n.state.selection.eq(l);return s&&(u||i.setSelection(l),u&&i.storedMarks&&i.setStoredMarks(i.storedMarks),o()),!0},forEach:(t,e)=>n=>t.every(((t,r)=>e(t,{...n,index:r}))),insertContent:(t,e)=>({tr:n,commands:r})=>r.insertContentAt({from:n.selection.from,to:n.selection.to},t,e),insertContentAt:(t,e,n)=>({tr:r,dispatch:i,editor:s})=>{if(i){n={parseOptions:{},updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n};const i=_s(e,s.schema,{parseOptions:{preserveWhitespace:"full",...n.parseOptions}});if("<>"===i.toString())return!0;let o,{from:l,to:u}="number"==typeof t?{from:t,to:t}:{from:t.from,to:t.to},h=!0,f=!0;if((i.toString().startsWith("<")?i:[i]).forEach((t=>{t.check(),h=!!h&&t.isText&&0===t.marks.length,f=!!f&&t.isBlock})),l===u&&f){const{parent:t}=r.doc.resolve(l);t.isTextblock&&!t.type.spec.code&&!t.childCount&&(l-=1,u+=1)}h?(o=Array.isArray(e)?e.map((t=>t.text||"")).join(""):"object"==typeof e&&e&&e.text?e.text:e,r.insertText(o,l,u)):(o=i,r.replaceWith(l,u,o)),n.updateSelection&&function(t,e){const n=t.steps.length-1;if(n{0===i&&(i=r)})),t.setSelection(zt.near(t.doc.resolve(i),-1))}(r,r.steps.length-1),n.applyInputRules&&r.setMeta("applyInputRules",{from:l,text:o}),n.applyPasteRules&&r.setMeta("applyPasteRules",{from:l,text:o})}return!0},joinUp:()=>({state:t,dispatch:e})=>((t,e)=>{let n,r=t.selection,i=r instanceof Xt;if(i){if(r.node.isTextblock||!Nt(t.doc,r.from))return!1;n=r.from}else if(n=Rt(t.doc,r.from,-1),null==n)return!1;if(e){let r=t.tr.join(n);i&&r.setSelection(Xt.create(r.doc,n-t.doc.resolve(n).nodeBefore.nodeSize)),e(r.scrollIntoView())}return!0})(t,e),joinDown:()=>({state:t,dispatch:e})=>((t,e)=>{let n,r=t.selection;if(r instanceof Xt){if(r.node.isTextblock||!Nt(t.doc,r.to))return!1;n=r.to}else if(n=Rt(t.doc,r.to,1),null==n)return!1;return e&&e(t.tr.join(n).scrollIntoView()),!0})(t,e),joinBackward:()=>({state:t,dispatch:e})=>Ii(t,e),joinForward:()=>({state:t,dispatch:e})=>Hi(t,e),joinItemBackward:()=>({tr:t,state:e,dispatch:n})=>{try{const r=Rt(e.doc,e.selection.$from.pos,-1);return null!=r&&(t.join(r,2),n&&n(t),!0)}catch{return!1}},joinItemForward:()=>({state:t,dispatch:e,tr:n})=>{try{const r=Rt(t.doc,t.selection.$from.pos,1);return null!=r&&(n.join(r,2),e&&e(n),!0)}catch(t){return!1}},joinTextblockBackward:()=>({state:t,dispatch:e})=>((t,e)=>{let n=Pi(t,void 0);if(!n)return!1;let r=Li(n);return!!r&&Bi(t,r,e)})(t,e),joinTextblockForward:()=>({state:t,dispatch:e})=>((t,e)=>{let n=qi(t,void 0);if(!n)return!1;let r=Wi(n);return!!r&&Bi(t,r,e)})(t,e),keyboardShortcut:t=>({editor:e,view:n,tr:r,dispatch:i})=>{const s=function(t){const e=t.split(/-(?!$)/);let n,r,i,s,o=e[e.length-1];"Space"===o&&(o=" ");for(let t=0;t!["Alt","Ctrl","Meta","Shift"].includes(t))),l=new KeyboardEvent("keydown",{key:"Space"===o?" ":o,altKey:s.includes("Alt"),ctrlKey:s.includes("Ctrl"),metaKey:s.includes("Meta"),shiftKey:s.includes("Shift"),bubbles:!0,cancelable:!0}),u=e.captureTransaction((()=>{n.someProp("handleKeyDown",(t=>t(n,l)))}));return null==u||u.steps.forEach((t=>{const e=t.map(r.mapping);e&&i&&r.maybeStep(e)})),!0},lift:(t,e={})=>({state:n,dispatch:r})=>!!Qs(n,ps(t,n.schema),e)&&((t,e)=>{let{$from:n,$to:r}=t.selection,i=n.blockRange(r),s=i&&Mt(i);return null!=s&&(e&&e(t.tr.lift(i,s).scrollIntoView()),!0)})(n,r),liftEmptyBlock:()=>({state:t,dispatch:e})=>_i(t,e),liftListItem:t=>({state:e,dispatch:n})=>{return(i=ps(t,e.schema),function(t,e){let{$from:n,$to:s}=t.selection,o=n.blockRange(s,(t=>t.childCount>0&&t.firstChild.type==i));return!!o&&(!e||(n.node(o.depth-1).type==i?function(t,e,n,i){let s=t.tr,o=i.end,l=i.$to.end(i.depth);or;e--)t-=s.child(e).nodeSize,i.delete(t-1,t+1);let o=i.doc.resolve(n.start),l=o.nodeAfter;if(i.mapping.map(n.end)!=n.start+o.nodeAfter.nodeSize)return!1;let u=0==n.startIndex,f=n.endIndex==s.childCount,a=o.node(-1),c=o.index(-1);if(!a.canReplace(c+(u?0:1),c+1,l.content.append(f?r.empty:r.from(s))))return!1;let d=o.pos,p=d+l.nodeSize;return i.step(new yt(d-(u?1:0),p+(f?1:0),d+1,p-1,new h((u?r.empty:r.from(s.copy(r.empty))).append(f?r.empty:r.from(s.copy(r.empty))),u?0:1,f?0:1),u?0:1)),e(i.scrollIntoView()),!0}(t,e,o)))})(e,n);var i},newlineInCode:()=>({state:t,dispatch:e})=>Ki(t,e),resetAttributes:(t,e)=>({tr:n,state:r,dispatch:i})=>{let s=null,o=null;const l=Xs("string"==typeof t?t:t.name,r.schema);return!!l&&("node"===l&&(s=ps(t,r.schema)),"mark"===l&&(o=Hs(t,r.schema)),i&&n.selection.ranges.forEach((t=>{r.doc.nodesBetween(t.$from.pos,t.$to.pos,((t,r)=>{s&&s===t.type&&n.setNodeMarkup(r,void 0,Zs(t.attrs,e)),o&&t.marks.length&&t.marks.forEach((i=>{o===i.type&&n.addMark(r,r+t.nodeSize,o.create(Zs(i.attrs,e)))}))}))})),!0)},scrollIntoView:()=>({tr:t,dispatch:e})=>(e&&t.scrollIntoView(),!0),selectAll:()=>({tr:t,commands:e})=>e.setTextSelection({from:0,to:t.doc.content.size}),selectNodeBackward:()=>({state:t,dispatch:e})=>Fi(t,e),selectNodeForward:()=>({state:t,dispatch:e})=>Ui(t,e),selectParentNode:()=>({state:t,dispatch:e})=>((t,e)=>{let n,{$from:r,to:i}=t.selection,s=r.sharedDepth(i);return 0!=s&&(n=r.before(s),e&&e(t.tr.setSelection(Xt.create(t.doc,n))),!0)})(t,e),selectTextblockEnd:()=>({state:t,dispatch:e})=>ts(t,e),selectTextblockStart:()=>({state:t,dispatch:e})=>Zi(t,e),setContent:(t,e=!1,n={})=>({tr:r,editor:i,dispatch:s})=>{const{doc:o}=r,l=to(t,i.schema,n);return s&&r.replaceWith(0,o.content.size,l).setMeta("preventUpdate",!e),!0},setMark:(t,e={})=>({tr:n,state:r,dispatch:i})=>{const{selection:s}=n,{empty:o,ranges:l}=s,u=Hs(t,r.schema);if(i)if(o){const t=eo(r,u);n.addStoredMark(u.create({...t,...e}))}else l.forEach((t=>{const i=t.$from.pos,s=t.$to.pos;r.doc.nodesBetween(i,s,((t,r)=>{const o=Math.max(r,i),l=Math.min(r+t.nodeSize,s);t.marks.find((t=>t.type===u))?t.marks.forEach((t=>{u===t.type&&n.addMark(o,l,u.create({...t.attrs,...e}))})):n.addMark(o,l,u.create(e))}))}));return function(t,e,n){var r;const{selection:i}=e;let s=null;if(Us(i)&&(s=i.$cursor),s){const e=null!==(r=t.storedMarks)&&void 0!==r?r:s.marks();return!!n.isInSet(e)||!e.some((t=>t.type.excludes(n)))}const{ranges:o}=i;return o.some((({$from:e,$to:r})=>{let i=0===e.depth&&t.doc.inlineContent&&t.doc.type.allowsMarkType(n);return t.doc.nodesBetween(e.pos,r.pos,((t,e,r)=>{if(i)return!1;if(t.isInline){const e=!r||r.type.allowsMarkType(n),s=!!n.isInSet(t.marks)||!t.marks.some((t=>t.type.excludes(n)));i=e&&s}return!i})),i}))}(r,n,u)},setMeta:(t,e)=>({tr:n})=>(n.setMeta(t,e),!0),setNode:(t,e={})=>({state:n,dispatch:r,chain:i})=>{const s=ps(t,n.schema);return s.isTextblock?i().command((({commands:t})=>!!es(s,e)(n)||t.clearNodes())).command((({state:t})=>es(s,e)(t,r))).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},setNodeSelection:t=>({tr:e,dispatch:n})=>{if(n){const{doc:n}=e,r=Ws(t,0,n.content.size),i=Xt.create(n,r);e.setSelection(i)}return!0},setTextSelection:t=>({tr:e,dispatch:n})=>{if(n){const{doc:n}=e,{from:r,to:i}="number"==typeof t?{from:t,to:t}:t,s=Yt.atStart(n).from,o=Yt.atEnd(n).to,l=Ws(r,s,o),u=Ws(i,s,o),h=Yt.create(n,l,u);e.setSelection(h)}return!0},sinkListItem:t=>({state:e,dispatch:n})=>{const i=ps(t,e.schema);return(s=i,function(t,e){let{$from:n,$to:i}=t.selection,o=n.blockRange(i,(t=>t.childCount>0&&t.firstChild.type==s));if(!o)return!1;let l=o.startIndex;if(0==l)return!1;let u=o.parent,f=u.child(l-1);if(f.type!=s)return!1;if(e){let n=f.lastChild&&f.lastChild.type==u.type,i=r.from(n?s.create():null),l=new h(r.from(s.create(null,r.from(u.type.create(null,i)))),n?3:1,0),a=o.start,c=o.end;e(t.tr.step(new yt(a-(n?3:1),c,a,c,l,1,!0)).scrollIntoView())}return!0})(e,n);var s},splitBlock:({keepMarks:t=!0}={})=>({tr:e,state:n,dispatch:r,editor:i})=>{const{selection:s,doc:o}=e,{$from:l,$to:u}=s,h=fo(i.extensionManager.attributes,l.node().type.name,l.node().attrs);if(s instanceof Xt&&s.node.isBlock)return!(!l.parentOffset||!Et(o,l.pos)||(r&&(t&&wo(n,i.extensionManager.splittableMarks),e.split(l.pos).scrollIntoView()),0));if(!l.parent.isBlock)return!1;if(r){const r=u.parentOffset===u.parent.content.size;s instanceof Yt&&e.deleteSelection();const o=0===l.depth?void 0:function(t){for(let e=0;e({tr:e,state:n,dispatch:i,editor:s})=>{var o;const l=ps(t,n.schema),{$from:u,$to:f}=n.selection,a=n.selection.node;if(a&&a.isBlock||u.depth<2||!u.sameParent(f))return!1;const c=u.node(-1);if(c.type!==l)return!1;const d=s.extensionManager.attributes;if(0===u.parent.content.size&&u.node(-1).childCount===u.indexAfter(-1)){if(2===u.depth||u.node(-3).type!==l||u.index(-2)!==u.node(-2).childCount-1)return!1;if(i){let t=r.empty;const n=u.index(-1)?1:u.index(-2)?2:3;for(let e=u.depth-n;e>=u.depth-3;e-=1)t=r.from(u.node(e).copy(t));const i=u.indexAfter(-1){if(c>-1)return!1;t.isTextblock&&0===t.content.size&&(c=e+1)})),c>-1&&e.setSelection(Yt.near(e.doc.resolve(c))),e.scrollIntoView()}return!0}const p=f.pos===u.end()?c.contentMatchAt(0).defaultType:null,m=fo(d,c.type.name,c.attrs),w=fo(d,u.node().type.name,u.node().attrs);e.delete(u.pos,f.pos);const v=p?[{type:l,attrs:m},{type:p,attrs:w}]:[{type:l,attrs:m}];if(!Et(e.doc,u.pos,2))return!1;if(i){const{selection:t,storedMarks:r}=n,{splittableMarks:o}=s.extensionManager,l=r||t.$to.parentOffset&&t.$from.marks();if(e.split(u.pos,2,v).scrollIntoView(),!l||!i)return!0;const h=l.filter((t=>o.includes(t.type.name)));e.ensureMarks(h)}return!0},toggleList:(t,e,n,r={})=>({editor:i,tr:s,state:o,dispatch:l,chain:u,commands:h,can:f})=>{const{extensions:a,splittableMarks:c}=i.extensionManager,d=ps(t,o.schema),p=ps(e,o.schema),{selection:m,storedMarks:w}=o,{$from:v,$to:g}=m,b=v.blockRange(g),y=w||m.$to.parentOffset&&m.$from.marks();if(!b)return!1;const k=oo((t=>co(t.type.name,a)))(m);if(b.depth>=1&&k&&b.depth-k.depth<=1){if(k.node.type===d)return h.liftListItem(p);if(co(k.node.type.name,a)&&d.validContent(k.node.content)&&l)return u().command((()=>(s.setNodeMarkup(k.pos,d),!0))).command((()=>vo(s,d))).command((()=>go(s,d))).run()}return n&&y&&l?u().command((()=>{const t=f().wrapInList(d,r),e=y.filter((t=>c.includes(t.type.name)));return s.ensureMarks(e),!!t||h.clearNodes()})).wrapInList(d,r).command((()=>vo(s,d))).command((()=>go(s,d))).run():u().command((()=>!!f().wrapInList(d,r)||h.clearNodes())).wrapInList(d,r).command((()=>vo(s,d))).command((()=>go(s,d))).run()},toggleMark:(t,e={},n={})=>({state:r,commands:i})=>{const{extendEmptyMarkRange:s=!1}=n,o=Hs(t,r.schema);return ao(r,o,e)?i.unsetMark(o,{extendEmptyMarkRange:s}):i.setMark(o,e)},toggleNode:(t,e,n={})=>({state:r,commands:i})=>{const s=ps(t,r.schema),o=ps(e,r.schema);return Qs(r,s,n)?i.setNode(o):i.setNode(s,n)},toggleWrap:(t,e={})=>({state:n,commands:r})=>{const i=ps(t,n.schema);return Qs(n,i,e)?r.lift(i):r.wrapIn(i,e)},undoInputRule:()=>({state:t,dispatch:e})=>{const n=t.plugins;for(let r=0;r=0;t-=1)e.step(n.steps[t].invert(n.docs[t]));if(s.text){const n=e.doc.resolve(s.from).marks();e.replaceWith(s.from,s.to,t.schema.text(s.text,n))}else e.delete(s.from,s.to)}return!0}}return!1},unsetAllMarks:()=>({tr:t,dispatch:e})=>{const{selection:n}=t,{empty:r,ranges:i}=n;return r||e&&i.forEach((e=>{t.removeMark(e.$from.pos,e.$to.pos)})),!0},unsetMark:(t,e={})=>({tr:n,state:r,dispatch:i})=>{var s;const{extendEmptyMarkRange:o=!1}=e,{selection:l}=n,u=Hs(t,r.schema),{$from:h,empty:f,ranges:a}=l;if(!i)return!0;if(f&&o){let{from:t,to:e}=l;const r=null===(s=h.marks().find((t=>t.type===u)))||void 0===s?void 0:s.attrs,i=qs(h,u,r);i&&(t=i.from,e=i.to),n.removeMark(t,e,u)}else a.forEach((t=>{n.removeMark(t.$from.pos,t.$to.pos,u)}));return n.removeStoredMark(u),!0},updateAttributes:(t,e={})=>({tr:n,state:r,dispatch:i})=>{let s=null,o=null;const l=Xs("string"==typeof t?t:t.name,r.schema);return!!l&&("node"===l&&(s=ps(t,r.schema)),"mark"===l&&(o=Hs(t,r.schema)),i&&n.selection.ranges.forEach((t=>{const i=t.$from.pos,l=t.$to.pos;r.doc.nodesBetween(i,l,((t,r)=>{s&&s===t.type&&n.setNodeMarkup(r,void 0,{...t.attrs,...e}),o&&t.marks.length&&t.marks.forEach((s=>{if(o===s.type){const u=Math.max(r,i),h=Math.min(r+t.nodeSize,l);n.addMark(u,h,o.create({...s.attrs,...e}))}}))}))})),!0)},wrapIn:(t,e={})=>({state:n,dispatch:r})=>function(t,e=null){return function(n,r){let{$from:i,$to:s}=n.selection,o=i.blockRange(s),l=o&&Ot(o,t,e);return!!l&&(r&&r(n.tr.wrap(o,l).scrollIntoView()),!0)}}(ps(t,n.schema),e)(n,r),wrapInList:(t,e={})=>({state:n,dispatch:i})=>function(t,e=null){return function(n,i){let{$from:s,$to:o}=n.selection,l=s.blockRange(o),u=!1,f=l;if(!l)return!1;if(l.depth>=2&&s.node(l.depth-1).type.compatibleContent(t)&&0==l.startIndex){if(0==s.index(l.depth-1))return!1;let t=n.doc.resolve(l.start-2);f=new S(t,t,l.depth),l.endIndex=0;t--)o=r.from(n[t].type.create(n[t].attrs,o));t.step(new yt(e.start-(i?2:0),e.end,e.start,e.end,new h(o,0,0),n.length,!0));let l=0;for(let t=0;t({...bo})}),ko=Ds.create({name:"editable",addProseMirrorPlugins(){return[new ae({key:new pe("editable"),props:{editable:()=>this.editor.options.editable}})]}}),xo=Ds.create({name:"focusEvents",addProseMirrorPlugins(){const{editor:t}=this;return[new ae({key:new pe("focusEvents"),props:{handleDOMEvents:{focus:(e,n)=>{t.isFocused=!0;const r=t.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1},blur:(e,n)=>{t.isFocused=!1;const r=t.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1}}}})]}}),Mo=Ds.create({name:"keymap",addKeyboardShortcuts(){const t=()=>this.editor.commands.first((({commands:t})=>[()=>t.undoInputRule(),()=>t.command((({tr:e})=>{const{selection:n,doc:r}=e,{empty:i,$anchor:s}=n,{pos:o,parent:l}=s,u=s.parent.isTextblock&&o>0?e.doc.resolve(o-1):s,h=u.parent.type.spec.isolating&&1===u.parent.childCount?s.pos-s.parentOffset===s.pos:zt.atStart(r).from===o;return!(!(i&&h&&l.type.isTextblock)||l.textContent.length)&&t.clearNodes()})),()=>t.deleteSelection(),()=>t.joinBackward(),()=>t.selectNodeBackward()])),e=()=>this.editor.commands.first((({commands:t})=>[()=>t.deleteSelection(),()=>t.deleteCurrentNode(),()=>t.joinForward(),()=>t.selectNodeForward()])),n={Enter:()=>this.editor.commands.first((({commands:t})=>[()=>t.newlineInCode(),()=>t.createParagraphNear(),()=>t.liftEmptyBlock(),()=>t.splitBlock()])),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:t,"Mod-Backspace":t,"Shift-Backspace":t,Delete:e,"Mod-Delete":e,"Mod-a":()=>this.editor.commands.selectAll()},r={...n},i={...n,"Ctrl-h":t,"Alt-Backspace":t,"Ctrl-d":e,"Ctrl-Alt-Backspace":e,"Alt-Delete":e,"Alt-d":e,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return zs()||Ys()?i:r},addProseMirrorPlugins(){return[new ae({key:new pe("clearDocument"),appendTransaction:(t,e,n)=>{if(!t.some((t=>t.docChanged))||e.doc.eq(n.doc))return;const{empty:r,from:i,to:s}=e.selection,o=zt.atStart(e.doc).from,l=zt.atEnd(e.doc).to;if(r||i!==o||s!==l)return;if(0!==n.doc.textBetween(0,n.doc.content.size," "," ").length)return;const u=n.tr,h=us({state:n,transaction:u}),{commands:f}=new hs({editor:this.editor,state:h});return f.clearNodes(),u.steps.length?u:void 0}})]}}),Oo=Ds.create({name:"tabindex",addProseMirrorPlugins(){return[new ae({key:new pe("tabindex"),props:{attributes:this.editor.isEditable?{tabindex:"0"}:{}}})]}});class So{constructor(t,e,n=!1,r=null){this.currentNode=null,this.actualDepth=null,this.isBlock=n,this.resolvedPos=t,this.editor=e,this.currentNode=r}get name(){return this.node.type.name}get node(){return this.currentNode||this.resolvedPos.node()}get element(){return this.editor.view.domAtPos(this.pos).node}get depth(){var t;return null!==(t=this.actualDepth)&&void 0!==t?t:this.resolvedPos.depth}get pos(){return this.resolvedPos.pos}get content(){return this.node.content}set content(t){let e=this.from,n=this.to;if(this.isBlock){if(0===this.content.size)return void console.error(`You can’t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);e=this.from+1,n=this.to-1}this.editor.commands.insertContentAt({from:e,to:n},t)}get attributes(){return this.node.attrs}get textContent(){return this.node.textContent}get size(){return this.node.nodeSize}get from(){return this.isBlock?this.pos:this.resolvedPos.start(this.resolvedPos.depth)}get range(){return{from:this.from,to:this.to}}get to(){return this.isBlock?this.pos+this.size:this.resolvedPos.end(this.resolvedPos.depth)+(this.node.isText?0:1)}get parent(){if(0===this.depth)return null;const t=this.resolvedPos.start(this.resolvedPos.depth-1),e=this.resolvedPos.doc.resolve(t);return new So(e,this.editor)}get before(){let t=this.resolvedPos.doc.resolve(this.from-(this.isBlock?1:2));return t.depth!==this.depth&&(t=this.resolvedPos.doc.resolve(this.from-3)),new So(t,this.editor)}get after(){let t=this.resolvedPos.doc.resolve(this.to+(this.isBlock?2:1));return t.depth!==this.depth&&(t=this.resolvedPos.doc.resolve(this.to+3)),new So(t,this.editor)}get children(){const t=[];return this.node.content.forEach(((e,n)=>{const r=e.isBlock&&!e.isTextblock,i=this.resolvedPos.doc.resolve(this.pos+n+1);if(!r&&i.depth<=this.depth)return;const s=new So(i,this.editor,r,r?e:null);r&&(s.actualDepth=this.depth+1),t.push(new So(i,this.editor,r,r?e:null))})),t}get firstChild(){return this.children[0]||null}get lastChild(){const t=this.children;return t[t.length-1]||null}closest(t,e={}){let n=null,r=this.parent;for(;r&&!n;)r.node.type.name===t&&(Object.keys(e).length>0||(n=r)),r=r.parent;return n}querySelector(t,e={}){return this.querySelectorAll(t,e,!0)[0]||null}querySelectorAll(t,e={},n=!1){let r=[];if(!this.children||0===this.children.length)return r;const i=Object.keys(e);return this.children.forEach((s=>{n&&r.length>0||(s.node.type.name===t&&i.every((t=>e[t]===s.node.attrs[t]))&&r.push(s),n&&r.length>0||(r=r.concat(s.querySelectorAll(t,e,n))))})),r}setAttribute(t){const e=this.editor.state.selection;this.editor.chain().setTextSelection(this.from).updateAttributes(this.node.type.name,t).setTextSelection(e.from).run()}}class Eo extends fs{constructor(t={}){super(),this.isFocused=!1,this.extensionStorage={},this.options={element:document.createElement("div"),content:"",injectCSS:!0,injectNonce:void 0,extensions:[],autofocus:!1,editable:!0,editorProps:{},parseOptions:{},coreExtensionOptions:{},enableInputRules:!0,enablePasteRules:!0,enableCoreExtensions:!0,onBeforeCreate:()=>null,onCreate:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.setOptions(t),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on("beforeCreate",this.options.onBeforeCreate),this.emit("beforeCreate",{editor:this}),this.createView(),this.injectCSS(),this.on("create",this.options.onCreate),this.on("update",this.options.onUpdate),this.on("selectionUpdate",this.options.onSelectionUpdate),this.on("transaction",this.options.onTransaction),this.on("focus",this.options.onFocus),this.on("blur",this.options.onBlur),this.on("destroy",this.options.onDestroy),window.setTimeout((()=>{this.isDestroyed||(this.commands.focus(this.options.autofocus),this.emit("create",{editor:this}))}),0)}get storage(){return this.extensionStorage}get commands(){return this.commandManager.commands}chain(){return this.commandManager.chain()}can(){return this.commandManager.can()}injectCSS(){this.options.injectCSS&&document&&(this.css=function(t,e){const n=document.querySelector("style[data-tiptap-style]");if(null!==n)return n;const r=document.createElement("style");return e&&r.setAttribute("nonce",e),r.setAttribute("data-tiptap-style",""),r.innerHTML='.ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: "liga" 0; /* the above doesn\'t seem to work in Edge */\n}\n\n.ProseMirror [contenteditable="false"] {\n white-space: normal;\n}\n\n.ProseMirror [contenteditable="false"] [contenteditable="true"] {\n white-space: pre-wrap;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\nimg.ProseMirror-separator {\n display: inline !important;\n border: none !important;\n margin: 0 !important;\n width: 1px !important;\n height: 1px !important;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n margin: 0;\n}\n\n.ProseMirror-gapcursor:after {\n content: "";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection * {\n caret-color: transparent;\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n.tippy-box[data-animation=fade][data-state=hidden] {\n opacity: 0\n}',document.getElementsByTagName("head")[0].appendChild(r),r}(0,this.options.injectNonce))}setOptions(t={}){this.options={...this.options,...t},this.view&&this.state&&!this.isDestroyed&&(this.options.editorProps&&this.view.setProps(this.options.editorProps),this.view.updateState(this.state))}setEditable(t,e=!0){this.setOptions({editable:t}),e&&this.emit("update",{editor:this,transaction:this.state.tr})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get state(){return this.view.state}registerPlugin(t,e){const n=vs(e)?e(t,[...this.state.plugins]):[...this.state.plugins,t],r=this.state.reconfigure({plugins:n});this.view.updateState(r)}unregisterPlugin(t){if(this.isDestroyed)return;const e="string"==typeof t?`${t}$`:t.key,n=this.state.reconfigure({plugins:this.state.plugins.filter((t=>!t.key.startsWith(e)))});this.view.updateState(n)}createExtensionManager(){var t,e;const n=[...this.options.enableCoreExtensions?[ko,Bs.configure({blockSeparator:null===(e=null===(t=this.options.coreExtensionOptions)||void 0===t?void 0:t.clipboardTextSerializer)||void 0===e?void 0:e.blockSeparator}),yo,xo,Mo,Oo]:[],...this.options.extensions].filter((t=>["extension","node","mark"].includes(null==t?void 0:t.type)));this.extensionManager=new js(n,this)}createCommandManager(){this.commandManager=new hs({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createView(){const t=to(this.options.content,this.schema,this.options.parseOptions),e=Ks(t,this.options.autofocus);this.view=new gi(this.options.element,{...this.options.editorProps,dispatchTransaction:this.dispatchTransaction.bind(this),state:he.create({doc:t,selection:e||void 0})});const n=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(n),this.createNodeViews(),this.prependClass(),this.view.dom.editor=this}createNodeViews(){this.view.setProps({nodeViews:this.extensionManager.nodeViews})}prependClass(){this.view.dom.className=`tiptap ${this.view.dom.className}`}captureTransaction(t){this.isCapturingTransaction=!0,t(),this.isCapturingTransaction=!1;const e=this.capturedTransaction;return this.capturedTransaction=null,e}dispatchTransaction(t){if(this.view.isDestroyed)return;if(this.isCapturingTransaction)return this.capturedTransaction?void t.steps.forEach((t=>{var e;return null===(e=this.capturedTransaction)||void 0===e?void 0:e.step(t)})):void(this.capturedTransaction=t);const e=this.state.apply(t),n=!this.state.selection.eq(e.selection);this.view.updateState(e),this.emit("transaction",{editor:this,transaction:t}),n&&this.emit("selectionUpdate",{editor:this,transaction:t});const r=t.getMeta("focus"),i=t.getMeta("blur");r&&this.emit("focus",{editor:this,event:r.event,transaction:t}),i&&this.emit("blur",{editor:this,event:i.event,transaction:t}),t.docChanged&&!t.getMeta("preventUpdate")&&this.emit("update",{editor:this,transaction:t})}getAttributes(t){return lo(this.state,t)}isActive(t,e){return function(t,e,n={}){if(!e)return Qs(t,null,n)||ao(t,null,n);const r=Xs(e,t.schema);return"node"===r?Qs(t,e,n):"mark"===r&&ao(t,e,n)}(this.state,"string"==typeof t?t:null,"string"==typeof t?e:t)}getJSON(){return this.state.doc.toJSON()}getHTML(){return function(t,e){const n=rt.fromSchema(e).serializeFragment(t),r=document.implementation.createHTMLDocument().createElement("div");return r.appendChild(n),r.innerHTML}(this.state.doc.content,this.schema)}getText(t){const{blockSeparator:e="\n\n",textSerializers:n={}}=t||{};return function(t,e){return Ps(t,{from:0,to:t.content.size},e)}(this.state.doc,{blockSeparator:e,textSerializers:{...Is(this.schema),...n}})}get isEmpty(){return function(t){var e;const n=null===(e=t.type.createAndFill())||void 0===e?void 0:e.toJSON(),r=t.toJSON();return JSON.stringify(n)===JSON.stringify(r)}(this.state.doc)}getCharacterCount(){return console.warn('[tiptap warn]: "editor.getCharacterCount()" is deprecated. Please use "editor.storage.characterCount.characters()" instead.'),this.state.doc.content.size-2}destroy(){this.emit("destroy"),this.view&&this.view.destroy(),this.removeAllListeners()}get isDestroyed(){var t;return!(null===(t=this.view)||void 0===t?void 0:t.docView)}$node(t,e){var n;return(null===(n=this.$doc)||void 0===n?void 0:n.querySelector(t,e))||null}$nodes(t,e){var n;return(null===(n=this.$doc)||void 0===n?void 0:n.querySelectorAll(t,e))||null}$pos(t){const e=this.state.doc.resolve(t);return new So(e,this)}get $doc(){return this.$pos(0)}}function No(t){return new Ss({find:t.find,handler:({state:e,range:n,match:r})=>{const i=gs(t.getAttributes,void 0,r);if(!1===i||null===i)return null;const{tr:s}=e,o=r[r.length-1],l=r[0];if(o){const r=l.search(/\S/),u=n.from+l.indexOf(o),h=u+o.length;if(ho(n.from,n.to,e.doc).filter((e=>e.mark.type.excluded.find((n=>n===t.type&&n!==e.mark.type)))).filter((t=>t.to>u)).length)return null;hn.from&&s.delete(n.from+r,u),s.addMark(n.from+r,n.from+r+o.length,t.type.create(i||{})),s.removeStoredMark(t.type)}}})}function Co(t){return new Ss({find:t.find,handler:({state:e,range:n,match:r})=>{const i=gs(t.getAttributes,void 0,r)||{},{tr:s}=e,o=n.from;let l=n.to;const u=t.type.create(i);if(r[1]){let t=o+r[0].lastIndexOf(r[1]);t>l?t=l:l=t+r[1].length,s.insertText(r[0][r[0].length-1],o+r[0].length-1),s.replaceWith(t,l,u)}else r[0]&&s.insert(o-1,t.type.create(i)).delete(s.mapping.map(o),s.mapping.map(l));s.scrollIntoView()}})}function Ro(t){return new Ss({find:t.find,handler:({state:e,range:n,match:r})=>{const i=e.doc.resolve(n.from),s=gs(t.getAttributes,void 0,r)||{};if(!i.node(-1).canReplaceWith(i.index(-1),i.indexAfter(-1),t.type))return null;e.tr.delete(n.from,n.to).setBlockType(n.from,n.from,t.type,s)}})}function To(t){return new Ss({find:t.find,handler:({state:e,range:n,match:r})=>{let i=t.replace,s=n.from;const o=n.to;if(r[1]){const t=r[0].lastIndexOf(r[1]);i+=r[0].slice(t+r[1].length),s+=t;const e=s-o;e>0&&(i=r[0].slice(t-e,t)+i,s=o)}e.tr.insertText(i,s,o)}})}function jo(t){return new Ss({find:t.find,handler:({state:e,range:n,match:r,chain:i})=>{const s=gs(t.getAttributes,void 0,r)||{},o=e.tr.delete(n.from,n.to),l=o.doc.resolve(n.from).blockRange(),u=l&&Ot(l,t.type,s);if(!u)return null;if(o.wrap(l,u),t.keepMarks&&t.editor){const{selection:n,storedMarks:r}=e,{splittableMarks:i}=t.editor.extensionManager,s=r||n.$to.parentOffset&&n.$from.marks();if(s){const t=s.filter((t=>i.includes(t.type.name)));o.ensureMarks(t)}}if(t.keepAttributes){const e="bulletList"===t.type.name||"orderedList"===t.type.name?"listItem":"taskList";i().updateAttributes(e,s).run()}const h=o.doc.resolve(n.from-1).nodeBefore;h&&h.type===t.type&&Nt(o.doc,n.from-1)&&(!t.joinPredicate||t.joinPredicate(r,h))&&o.join(n.from-1)}})}class Ao{constructor(t={}){this.type="mark",this.name="mark",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=gs(as(this,"addOptions",{name:this.name}))),this.storage=gs(as(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(t={}){return new Ao(t)}configure(t={}){const e=this.extend();return e.options=$s(this.options,t),e.storage=gs(as(e,"addStorage",{name:e.name,options:e.options})),e}extend(t={}){const e=new Ao({...this.config,...t});return e.parent=this,this.child=e,e.name=t.name?t.name:e.parent.name,t.defaultOptions&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${e.name}".`),e.options=gs(as(e,"addOptions",{name:e.name})),e.storage=gs(as(e,"addStorage",{name:e.name,options:e.options})),e}static handleExit({editor:t,mark:e}){const{tr:n}=t.state,r=t.state.selection.$from;if(r.pos===r.end()){const i=r.marks();if(!i.find((t=>(null==t?void 0:t.type.name)===e.name)))return!1;const s=i.find((t=>(null==t?void 0:t.type.name)===e.name));return s&&n.removeStoredMark(s),n.insertText(" ",r.pos),t.view.dispatch(n),!0}return!1}}class $o{constructor(t={}){this.type="node",this.name="node",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=gs(as(this,"addOptions",{name:this.name}))),this.storage=gs(as(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(t={}){return new $o(t)}configure(t={}){const e=this.extend();return e.options=$s(this.options,t),e.storage=gs(as(e,"addStorage",{name:e.name,options:e.options})),e}extend(t={}){const e=new $o({...this.config,...t});return e.parent=this,this.child=e,e.name=t.name?t.name:e.parent.name,t.defaultOptions&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${e.name}".`),e.options=gs(as(e,"addOptions",{name:e.name})),e.storage=gs(as(e,"addStorage",{name:e.name,options:e.options})),e}}function Do(t){return new Rs({find:t.find,handler:({state:e,range:n,match:r,pasteEvent:i})=>{const s=gs(t.getAttributes,void 0,r,i);if(!1===s||null===s)return null;const{tr:o}=e,l=r[r.length-1],u=r[0];let h=n.to;if(l){const r=u.search(/\S/),i=n.from+u.indexOf(l),f=i+l.length;if(ho(n.from,n.to,e.doc).filter((e=>e.mark.type.excluded.find((n=>n===t.type&&n!==e.mark.type)))).filter((t=>t.to>i)).length)return null;fn.from&&o.delete(n.from+r,i),h=n.from+r+l.length,o.addMark(n.from+r,h,t.type.create(s||{})),o.removeStoredMark(t.type)}}})}function Po(t){return t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}var Io="top",Bo="bottom",Jo="right",Fo="left",Lo="auto",qo=[Io,Bo,Jo,Fo],Ho="start",Uo="end",Wo="clippingParents",Ko="viewport",zo="popper",Go="reference",Vo=qo.reduce((function(t,e){return t.concat([e+"-"+Ho,e+"-"+Uo])}),[]),_o=[].concat(qo,[Lo]).reduce((function(t,e){return t.concat([e,e+"-"+Ho,e+"-"+Uo])}),[]),Yo=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Qo(t){return t?(t.nodeName||"").toLowerCase():null}function Xo(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Zo(t){return t instanceof Xo(t).Element||t instanceof Element}function tl(t){return t instanceof Xo(t).HTMLElement||t instanceof HTMLElement}function el(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Xo(t).ShadowRoot||t instanceof ShadowRoot)}const nl={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var n=e.styles[t]||{},r=e.attributes[t]||{},i=e.elements[t];tl(i)&&Qo(i)&&(Object.assign(i.style,n),Object.keys(r).forEach((function(t){var e=r[t];!1===e?i.removeAttribute(t):i.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow),function(){Object.keys(e.elements).forEach((function(t){var r=e.elements[t],i=e.attributes[t]||{},s=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:n[t]).reduce((function(t,e){return t[e]="",t}),{});tl(r)&&Qo(r)&&(Object.assign(r.style,s),Object.keys(i).forEach((function(t){r.removeAttribute(t)})))}))}},requires:["computeStyles"]};function rl(t){return t.split("-")[0]}var il=Math.max,sl=Math.min,ol=Math.round;function ll(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function ul(){return!/^((?!chrome|android).)*safari/i.test(ll())}function hl(t,e,n){void 0===e&&(e=!1),void 0===n&&(n=!1);var r=t.getBoundingClientRect(),i=1,s=1;e&&tl(t)&&(i=t.offsetWidth>0&&ol(r.width)/t.offsetWidth||1,s=t.offsetHeight>0&&ol(r.height)/t.offsetHeight||1);var o=(Zo(t)?Xo(t):window).visualViewport,l=!ul()&&n,u=(r.left+(l&&o?o.offsetLeft:0))/i,h=(r.top+(l&&o?o.offsetTop:0))/s,f=r.width/i,a=r.height/s;return{width:f,height:a,top:h,right:u+f,bottom:h+a,left:u,x:u,y:h}}function fl(t){var e=hl(t),n=t.offsetWidth,r=t.offsetHeight;return Math.abs(e.width-n)<=1&&(n=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:t.offsetLeft,y:t.offsetTop,width:n,height:r}}function al(t,e){var n=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(n&&el(n)){var r=e;do{if(r&&t.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function cl(t){return Xo(t).getComputedStyle(t)}function dl(t){return["table","td","th"].indexOf(Qo(t))>=0}function pl(t){return((Zo(t)?t.ownerDocument:t.document)||window.document).documentElement}function ml(t){return"html"===Qo(t)?t:t.assignedSlot||t.parentNode||(el(t)?t.host:null)||pl(t)}function wl(t){return tl(t)&&"fixed"!==cl(t).position?t.offsetParent:null}function vl(t){for(var e=Xo(t),n=wl(t);n&&dl(n)&&"static"===cl(n).position;)n=wl(n);return n&&("html"===Qo(n)||"body"===Qo(n)&&"static"===cl(n).position)?e:n||function(t){var e=/firefox/i.test(ll());if(/Trident/i.test(ll())&&tl(t)&&"fixed"===cl(t).position)return null;var n=ml(t);for(el(n)&&(n=n.host);tl(n)&&["html","body"].indexOf(Qo(n))<0;){var r=cl(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||e&&"filter"===r.willChange||e&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(t)||e}function gl(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function bl(t,e,n){return il(t,sl(e,n))}function yl(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function kl(t,e){return e.reduce((function(e,n){return e[n]=t,e}),{})}function xl(t){return t.split("-")[1]}var Ml={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Ol(t){var e,n=t.popper,r=t.popperRect,i=t.placement,s=t.variation,o=t.offsets,l=t.position,u=t.gpuAcceleration,h=t.adaptive,f=t.roundOffsets,a=t.isFixed,c=o.x,d=void 0===c?0:c,p=o.y,m=void 0===p?0:p,w="function"==typeof f?f({x:d,y:m}):{x:d,y:m};d=w.x,m=w.y;var v=o.hasOwnProperty("x"),g=o.hasOwnProperty("y"),b=Fo,y=Io,k=window;if(h){var x=vl(n),M="clientHeight",O="clientWidth";x===Xo(n)&&"static"!==cl(x=pl(n)).position&&"absolute"===l&&(M="scrollHeight",O="scrollWidth"),(i===Io||(i===Fo||i===Jo)&&s===Uo)&&(y=Bo,m-=(a&&x===k&&k.visualViewport?k.visualViewport.height:x[M])-r.height,m*=u?1:-1),i!==Fo&&(i!==Io&&i!==Bo||s!==Uo)||(b=Jo,d-=(a&&x===k&&k.visualViewport?k.visualViewport.width:x[O])-r.width,d*=u?1:-1)}var S,E=Object.assign({position:l},h&&Ml),N=!0===f?function(t,e){var n=t.y,r=e.devicePixelRatio||1;return{x:ol(t.x*r)/r||0,y:ol(n*r)/r||0}}({x:d,y:m},Xo(n)):{x:d,y:m};return d=N.x,m=N.y,Object.assign({},E,u?((S={})[y]=g?"0":"",S[b]=v?"0":"",S.transform=(k.devicePixelRatio||1)<=1?"translate("+d+"px, "+m+"px)":"translate3d("+d+"px, "+m+"px, 0)",S):((e={})[y]=g?m+"px":"",e[b]=v?d+"px":"",e.transform="",e))}var Sl={passive:!0},El={left:"right",right:"left",bottom:"top",top:"bottom"};function Nl(t){return t.replace(/left|right|bottom|top/g,(function(t){return El[t]}))}var Cl={start:"end",end:"start"};function Rl(t){return t.replace(/start|end/g,(function(t){return Cl[t]}))}function Tl(t){var e=Xo(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function jl(t){return hl(pl(t)).left+Tl(t).scrollLeft}function Al(t){var e=cl(t);return/auto|scroll|overlay|hidden/.test(e.overflow+e.overflowY+e.overflowX)}function $l(t){return["html","body","#document"].indexOf(Qo(t))>=0?t.ownerDocument.body:tl(t)&&Al(t)?t:$l(ml(t))}function Dl(t,e){var n;void 0===e&&(e=[]);var r=$l(t),i=r===(null==(n=t.ownerDocument)?void 0:n.body),s=Xo(r),o=i?[s].concat(s.visualViewport||[],Al(r)?r:[]):r,l=e.concat(o);return i?l:l.concat(Dl(ml(o)))}function Pl(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Il(t,e,n){return e===Ko?Pl(function(t,e){var n=Xo(t),r=pl(t),i=n.visualViewport,s=r.clientWidth,o=r.clientHeight,l=0,u=0;if(i){s=i.width,o=i.height;var h=ul();(h||!h&&"fixed"===e)&&(l=i.offsetLeft,u=i.offsetTop)}return{width:s,height:o,x:l+jl(t),y:u}}(t,n)):Zo(e)?function(t,e){var n=hl(t,!1,"fixed"===e);return n.top=n.top+t.clientTop,n.left=n.left+t.clientLeft,n.bottom=n.top+t.clientHeight,n.right=n.left+t.clientWidth,n.width=t.clientWidth,n.height=t.clientHeight,n.x=n.left,n.y=n.top,n}(e,n):Pl(function(t){var e,n=pl(t),r=Tl(t),i=null==(e=t.ownerDocument)?void 0:e.body,s=il(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),o=il(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),l=-r.scrollLeft+jl(t),u=-r.scrollTop;return"rtl"===cl(i||n).direction&&(l+=il(n.clientWidth,i?i.clientWidth:0)-s),{width:s,height:o,x:l,y:u}}(pl(t)))}function Bl(t){var e,n=t.reference,r=t.element,i=t.placement,s=i?rl(i):null,o=i?xl(i):null,l=n.x+n.width/2-r.width/2,u=n.y+n.height/2-r.height/2;switch(s){case Io:e={x:l,y:n.y-r.height};break;case Bo:e={x:l,y:n.y+n.height};break;case Jo:e={x:n.x+n.width,y:u};break;case Fo:e={x:n.x-r.width,y:u};break;default:e={x:n.x,y:n.y}}var h=s?gl(s):null;if(null!=h){var f="y"===h?"height":"width";switch(o){case Ho:e[h]=e[h]-(n[f]/2-r[f]/2);break;case Uo:e[h]=e[h]+(n[f]/2-r[f]/2)}}return e}function Jl(t,e){void 0===e&&(e={});var n=e.placement,r=void 0===n?t.placement:n,i=e.strategy,s=void 0===i?t.strategy:i,o=e.boundary,l=void 0===o?Wo:o,u=e.rootBoundary,h=void 0===u?Ko:u,f=e.elementContext,a=void 0===f?zo:f,c=e.altBoundary,d=void 0!==c&&c,p=e.padding,m=void 0===p?0:p,w=yl("number"!=typeof m?m:kl(m,qo)),v=t.rects.popper,g=t.elements[d?a===zo?Go:zo:a],b=function(t,e,n,r){var i="clippingParents"===e?function(t){var e=Dl(ml(t)),n=["absolute","fixed"].indexOf(cl(t).position)>=0&&tl(t)?vl(t):t;return Zo(n)?e.filter((function(t){return Zo(t)&&al(t,n)&&"body"!==Qo(t)})):[]}(t):[].concat(e),s=[].concat(i,[n]),o=s.reduce((function(e,n){var i=Il(t,n,r);return e.top=il(i.top,e.top),e.right=sl(i.right,e.right),e.bottom=sl(i.bottom,e.bottom),e.left=il(i.left,e.left),e}),Il(t,s[0],r));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}(Zo(g)?g:g.contextElement||pl(t.elements.popper),l,h,s),y=hl(t.elements.reference),k=Bl({reference:y,element:v,strategy:"absolute",placement:r}),x=Pl(Object.assign({},v,k)),M=a===zo?x:y,O={top:b.top-M.top+w.top,bottom:M.bottom-b.bottom+w.bottom,left:b.left-M.left+w.left,right:M.right-b.right+w.right},S=t.modifiersData.offset;if(a===zo&&S){var E=S[r];Object.keys(O).forEach((function(t){var e=[Jo,Bo].indexOf(t)>=0?1:-1,n=[Io,Bo].indexOf(t)>=0?"y":"x";O[t]+=E[n]*e}))}return O}function Fl(t,e){void 0===e&&(e={});var n=e.boundary,r=e.rootBoundary,i=e.padding,s=e.flipVariations,o=e.allowedAutoPlacements,l=void 0===o?_o:o,u=xl(e.placement),h=u?s?Vo:Vo.filter((function(t){return xl(t)===u})):qo,f=h.filter((function(t){return l.indexOf(t)>=0}));0===f.length&&(f=h);var a=f.reduce((function(e,s){return e[s]=Jl(t,{placement:s,boundary:n,rootBoundary:r,padding:i})[rl(s)],e}),{});return Object.keys(a).sort((function(t,e){return a[t]-a[e]}))}const Ll={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,n=t.options,r=t.name;if(!e.modifiersData[r]._skip){for(var i=n.mainAxis,s=void 0===i||i,o=n.altAxis,l=void 0===o||o,u=n.fallbackPlacements,h=n.padding,f=n.boundary,a=n.rootBoundary,c=n.altBoundary,d=n.flipVariations,p=void 0===d||d,m=n.allowedAutoPlacements,w=e.options.placement,v=rl(w),g=u||(v!==w&&p?function(t){if(rl(t)===Lo)return[];var e=Nl(t);return[Rl(t),e,Rl(e)]}(w):[Nl(w)]),b=[w].concat(g).reduce((function(t,n){return t.concat(rl(n)===Lo?Fl(e,{placement:n,boundary:f,rootBoundary:a,padding:h,flipVariations:p,allowedAutoPlacements:m}):n)}),[]),y=e.rects.reference,k=e.rects.popper,x=new Map,M=!0,O=b[0],S=0;S=0,T=R?"width":"height",j=Jl(e,{placement:E,boundary:f,rootBoundary:a,altBoundary:c,padding:h}),A=R?C?Jo:Fo:C?Bo:Io;y[T]>k[T]&&(A=Nl(A));var $=Nl(A),D=[];if(s&&D.push(j[N]<=0),l&&D.push(j[A]<=0,j[$]<=0),D.every((function(t){return t}))){O=E,M=!1;break}x.set(E,D)}if(M)for(var P=function(t){var e=b.find((function(e){var n=x.get(e);if(n)return n.slice(0,t).every((function(t){return t}))}));if(e)return O=e,"break"},I=p?3:1;I>0&&"break"!==P(I);I--);e.placement!==O&&(e.modifiersData[r]._skip=!0,e.placement=O,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function ql(t,e,n){return void 0===n&&(n={x:0,y:0}),{top:t.top-e.height-n.y,right:t.right-e.width+n.x,bottom:t.bottom-e.height+n.y,left:t.left-e.width-n.x}}function Hl(t){return[Io,Jo,Bo,Fo].some((function(e){return t[e]>=0}))}function Ul(t,e,n){void 0===n&&(n=!1);var r,i,s=tl(e),o=tl(e)&&function(t){var e=t.getBoundingClientRect(),n=ol(e.width)/t.offsetWidth||1,r=ol(e.height)/t.offsetHeight||1;return 1!==n||1!==r}(e),l=pl(e),u=hl(t,o,n),h={scrollLeft:0,scrollTop:0},f={x:0,y:0};return(s||!s&&!n)&&(("body"!==Qo(e)||Al(l))&&(h=(r=e)!==Xo(r)&&tl(r)?{scrollLeft:(i=r).scrollLeft,scrollTop:i.scrollTop}:Tl(r)),tl(e)?((f=hl(e,!0)).x+=e.clientLeft,f.y+=e.clientTop):l&&(f.x=jl(l))),{x:u.left+h.scrollLeft-f.x,y:u.top+h.scrollTop-f.y,width:u.width,height:u.height}}function Wl(t){var e=new Map,n=new Set,r=[];function i(t){n.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!n.has(t)){var r=e.get(t);r&&i(r)}})),r.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){n.has(t.name)||i(t)})),r}var Kl={placement:"bottom",modifiers:[],strategy:"absolute"};function zl(){for(var t=arguments.length,e=new Array(t),n=0;n=0?-1:1,s="function"==typeof n?n(Object.assign({},e,{placement:t})):n,o=s[0],l=s[1];return o=o||0,l=(l||0)*i,[Fo,Jo].indexOf(r)>=0?{x:l,y:o}:{x:o,y:l}}(n,e.rects,i),t}),{}),o=s[e.placement],l=o.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=o.x,e.modifiersData.popperOffsets.y+=l),e.modifiersData[n]=s}},Ll,{name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,n=t.options,r=t.name,i=n.mainAxis,s=void 0===i||i,o=n.altAxis,l=void 0!==o&&o,u=n.tether,h=void 0===u||u,f=n.tetherOffset,a=void 0===f?0:f,c=Jl(e,{boundary:n.boundary,rootBoundary:n.rootBoundary,padding:n.padding,altBoundary:n.altBoundary}),d=rl(e.placement),p=xl(e.placement),m=!p,w=gl(d),v="x"===w?"y":"x",g=e.modifiersData.popperOffsets,b=e.rects.reference,y=e.rects.popper,k="function"==typeof a?a(Object.assign({},e.rects,{placement:e.placement})):a,x="number"==typeof k?{mainAxis:k,altAxis:k}:Object.assign({mainAxis:0,altAxis:0},k),M=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,O={x:0,y:0};if(g){if(s){var S,E="y"===w?Io:Fo,N="y"===w?Bo:Jo,C="y"===w?"height":"width",R=g[w],T=R+c[E],j=R-c[N],A=h?-y[C]/2:0,$=p===Ho?b[C]:y[C],D=p===Ho?-y[C]:-b[C],P=e.elements.arrow,I=h&&P?fl(P):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},J=B[E],F=B[N],L=bl(0,b[C],I[C]),q=m?b[C]/2-A-L-J-x.mainAxis:$-L-J-x.mainAxis,H=m?-b[C]/2+A+L+F+x.mainAxis:D+L+F+x.mainAxis,U=e.elements.arrow&&vl(e.elements.arrow),W=null!=(S=null==M?void 0:M[w])?S:0,K=R+H-W,z=bl(h?sl(T,R+q-W-(U?"y"===w?U.clientTop||0:U.clientLeft||0:0)):T,R,h?il(j,K):j);g[w]=z,O[w]=z-R}if(l){var G,V=g[v],_="y"===v?"height":"width",Y=V+c["x"===w?Io:Fo],Q=V-c["x"===w?Bo:Jo],X=-1!==[Io,Fo].indexOf(d),Z=null!=(G=null==M?void 0:M[v])?G:0,tt=X?Y:V-b[_]-y[_]-Z+x.altAxis,et=X?V+b[_]+y[_]-Z-x.altAxis:Q,nt=h&&X?function(t,e,n){var r=bl(t,e,n);return r>n?n:r}(tt,V,et):bl(h?tt:Y,V,h?et:Q);g[v]=nt,O[v]=nt-V}e.modifiersData[r]=O}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,n=t.state,r=t.name,i=t.options,s=n.elements.arrow,o=n.modifiersData.popperOffsets,l=rl(n.placement),u=gl(l),h=[Fo,Jo].indexOf(l)>=0?"height":"width";if(s&&o){var f=function(t,e){return yl("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:kl(t,qo))}(i.padding,n),a=fl(s),c="y"===u?Io:Fo,d="y"===u?Bo:Jo,p=n.rects.reference[h]+n.rects.reference[u]-o[u]-n.rects.popper[h],m=o[u]-n.rects.reference[u],w=vl(s),v=w?"y"===u?w.clientHeight||0:w.clientWidth||0:0,g=v/2-a[h]/2+(p/2-m/2),b=bl(f[c],g,v-a[h]-f[d]);n.modifiersData[r]=((e={})[u]=b,e.centerOffset=b-g,e)}},effect:function(t){var e=t.state,n=t.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=e.elements.popper.querySelector(r)))&&al(e.elements.popper,r)&&(e.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,n=t.name,r=e.rects.reference,i=e.rects.popper,s=e.modifiersData.preventOverflow,o=Jl(e,{elementContext:"reference"}),l=Jl(e,{altBoundary:!0}),u=ql(o,r),h=ql(l,i,s),f=Hl(u),a=Hl(h);e.modifiersData[n]={referenceClippingOffsets:u,popperEscapeOffsets:h,isReferenceHidden:f,hasPopperEscaped:a},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":f,"data-popper-escaped":a})}}]}),_l="tippy-content",Yl="tippy-backdrop",Ql="tippy-arrow",Xl="tippy-svg-arrow",Zl={passive:!0,capture:!0},tu=function(){return document.body};function eu(t,e,n){if(Array.isArray(t)){var r=t[e];return null==r?Array.isArray(n)?n[e]:n:r}return t}function nu(t,e){var n={}.toString.call(t);return 0===n.indexOf("[object")&&n.indexOf(e+"]")>-1}function ru(t,e){return"function"==typeof t?t.apply(void 0,e):t}function iu(t,e){return 0===e?t:function(r){clearTimeout(n),n=setTimeout((function(){t(r)}),e)};var n}function su(t){return[].concat(t)}function ou(t,e){-1===t.indexOf(e)&&t.push(e)}function lu(t){return[].slice.call(t)}function uu(t){return Object.keys(t).reduce((function(e,n){return void 0!==t[n]&&(e[n]=t[n]),e}),{})}function hu(){return document.createElement("div")}function fu(t){return["Element","Fragment"].some((function(e){return nu(t,e)}))}function au(t,e){t.forEach((function(t){t&&(t.style.transitionDuration=e+"ms")}))}function cu(t,e){t.forEach((function(t){t&&t.setAttribute("data-state",e)}))}function du(t,e,n){var r=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(e){t[r](e,n)}))}function pu(t,e){for(var n=e;n;){var r;if(t.contains(n))return!0;n=null==n.getRootNode||null==(r=n.getRootNode())?void 0:r.host}return!1}var mu={isTouch:!1},wu=0;function vu(){mu.isTouch||(mu.isTouch=!0,window.performance&&document.addEventListener("mousemove",gu))}function gu(){var t=performance.now();t-wu<20&&(mu.isTouch=!1,document.removeEventListener("mousemove",gu)),wu=t}function bu(){var t,e=document.activeElement;(t=e)&&t._tippy&&t._tippy.reference===t&&e.blur&&!e._tippy.state.isVisible&&e.blur()}var yu=!("undefined"==typeof window||"undefined"==typeof document||!window.msCrypto),ku=Object.assign({appendTo:tu,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),xu=Object.keys(ku);function Mu(t){var e=(t.plugins||[]).reduce((function(e,n){var r,i=n.name;return i&&(e[i]=void 0!==t[i]?t[i]:null!=(r=ku[i])?r:n.defaultValue),e}),{});return Object.assign({},t,e)}function Ou(t,e){var n=Object.assign({},e,{content:ru(e.content,[t])},e.ignoreAttributes?{}:function(t,e){return(e?Object.keys(Mu(Object.assign({},ku,{plugins:e}))):xu).reduce((function(e,n){var r=(t.getAttribute("data-tippy-"+n)||"").trim();if(!r)return e;if("content"===n)e[n]=r;else try{e[n]=JSON.parse(r)}catch(t){e[n]=r}return e}),{})}(t,e.plugins));return n.aria=Object.assign({},ku.aria,n.aria),n.aria={expanded:"auto"===n.aria.expanded?e.interactive:n.aria.expanded,content:"auto"===n.aria.content?e.interactive?null:"describedby":n.aria.content},n}var Su=function(){return"innerHTML"};function Eu(t,e){t[Su()]=e}function Nu(t){var e=hu();return!0===t?e.className=Ql:(e.className=Xl,fu(t)?e.appendChild(t):Eu(e,t)),e}function Cu(t,e){fu(e.content)?(Eu(t,""),t.appendChild(e.content)):"function"!=typeof e.content&&(e.allowHTML?Eu(t,e.content):t.textContent=e.content)}function Ru(t){var e=t.firstElementChild,n=lu(e.children);return{box:e,content:n.find((function(t){return t.classList.contains(_l)})),arrow:n.find((function(t){return t.classList.contains(Ql)||t.classList.contains(Xl)})),backdrop:n.find((function(t){return t.classList.contains(Yl)}))}}function Tu(t){var e=hu(),n=hu();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=hu();function i(n,r){var i=Ru(e),s=i.box,o=i.content,l=i.arrow;r.theme?s.setAttribute("data-theme",r.theme):s.removeAttribute("data-theme"),"string"==typeof r.animation?s.setAttribute("data-animation",r.animation):s.removeAttribute("data-animation"),r.inertia?s.setAttribute("data-inertia",""):s.removeAttribute("data-inertia"),s.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?s.setAttribute("role",r.role):s.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||Cu(o,t.props),r.arrow?l?n.arrow!==r.arrow&&(s.removeChild(l),s.appendChild(Nu(r.arrow))):s.appendChild(Nu(r.arrow)):l&&s.removeChild(l)}return r.className=_l,r.setAttribute("data-state","hidden"),Cu(r,t.props),e.appendChild(n),n.appendChild(r),i(t.props,t.props),{popper:e,onUpdate:i}}Tu.$$tippy=!0;var ju=1,Au=[],$u=[];function Du(t,e){var n,r,i,s,o,l,u,h,f=Ou(t,Object.assign({},ku,Mu(uu(e)))),a=!1,c=!1,d=!1,p=!1,m=[],w=iu(G,f.interactiveDebounce),v=ju++,g=(h=f.plugins).filter((function(t,e){return h.indexOf(t)===e})),b={id:v,reference:t,popper:hu(),popperInstance:null,props:f,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:g,clearDelayTimeouts:function(){clearTimeout(n),clearTimeout(r),cancelAnimationFrame(i)},setProps:function(e){if(!b.state.isDestroyed){$("onBeforeUpdate",[b,e]),K();var n=b.props,r=Ou(t,Object.assign({},n,uu(e),{ignoreAttributes:!0}));b.props=r,W(),n.interactiveDebounce!==r.interactiveDebounce&&(I(),w=iu(G,r.interactiveDebounce)),n.triggerTarget&&!r.triggerTarget?su(n.triggerTarget).forEach((function(t){t.removeAttribute("aria-expanded")})):r.triggerTarget&&t.removeAttribute("aria-expanded"),P(),A(),x&&x(n,r),b.popperInstance&&(Q(),Z().forEach((function(t){requestAnimationFrame(t._tippy.popperInstance.forceUpdate)}))),$("onAfterUpdate",[b,e])}},setContent:function(t){b.setProps({content:t})},show:function(){var t=b.state.isVisible,e=b.state.isDestroyed,n=!b.state.isEnabled,r=mu.isTouch&&!b.props.touch,i=eu(b.props.duration,0,ku.duration);if(!(t||e||n||r||C().hasAttribute("disabled")||($("onShow",[b],!1),!1===b.props.onShow(b)))){if(b.state.isVisible=!0,N()&&(k.style.visibility="visible"),A(),L(),b.state.isMounted||(k.style.transition="none"),N()){var s=T();au([s.box,s.content],0)}l=function(){var t;if(b.state.isVisible&&!p){if(p=!0,k.style.transition=b.props.moveTransition,N()&&b.props.animation){var e=T(),n=e.box,r=e.content;au([n,r],i),cu([n,r],"visible")}D(),P(),ou($u,b),null==(t=b.popperInstance)||t.forceUpdate(),$("onMount",[b]),b.props.animation&&N()&&function(t){H(t,(function(){b.state.isShown=!0,$("onShown",[b])}))}(i)}},function(){var t,e=b.props.appendTo,n=C();(t=b.props.interactive&&e===tu||"parent"===e?n.parentNode:ru(e,[n])).contains(k)||t.appendChild(k),b.state.isMounted=!0,Q()}()}},hide:function(){var t=!b.state.isVisible,e=b.state.isDestroyed,n=!b.state.isEnabled,r=eu(b.props.duration,1,ku.duration);if(!(t||e||n)&&($("onHide",[b],!1),!1!==b.props.onHide(b))){if(b.state.isVisible=!1,b.state.isShown=!1,p=!1,a=!1,N()&&(k.style.visibility="hidden"),I(),q(),A(!0),N()){var i=T(),s=i.box,o=i.content;b.props.animation&&(au([s,o],r),cu([s,o],"hidden"))}D(),P(),b.props.animation?N()&&function(t,e){H(t,(function(){!b.state.isVisible&&k.parentNode&&k.parentNode.contains(k)&&e()}))}(r,b.unmount):b.unmount()}},hideWithInteractivity:function(t){R().addEventListener("mousemove",w),ou(Au,w),w(t)},enable:function(){b.state.isEnabled=!0},disable:function(){b.hide(),b.state.isEnabled=!1},unmount:function(){b.state.isVisible&&b.hide(),b.state.isMounted&&(X(),Z().forEach((function(t){t._tippy.unmount()})),k.parentNode&&k.parentNode.removeChild(k),$u=$u.filter((function(t){return t!==b})),b.state.isMounted=!1,$("onHidden",[b]))},destroy:function(){b.state.isDestroyed||(b.clearDelayTimeouts(),b.unmount(),K(),delete t._tippy,b.state.isDestroyed=!0,$("onDestroy",[b]))}};if(!f.render)return b;var y=f.render(b),k=y.popper,x=y.onUpdate;k.setAttribute("data-tippy-root",""),k.id="tippy-"+b.id,b.popper=k,t._tippy=b,k._tippy=b;var M=g.map((function(t){return t.fn(b)})),O=t.hasAttribute("aria-expanded");return W(),P(),A(),$("onCreate",[b]),f.showOnCreate&&tt(),k.addEventListener("mouseenter",(function(){b.props.interactive&&b.state.isVisible&&b.clearDelayTimeouts()})),k.addEventListener("mouseleave",(function(){b.props.interactive&&b.props.trigger.indexOf("mouseenter")>=0&&R().addEventListener("mousemove",w)})),b;function S(){var t=b.props.touch;return Array.isArray(t)?t:[t,0]}function E(){return"hold"===S()[0]}function N(){var t;return!(null==(t=b.props.render)||!t.$$tippy)}function C(){return u||t}function R(){var t,e,n=C().parentNode;return n&&null!=(e=su(n)[0])&&null!=(t=e.ownerDocument)&&t.body?e.ownerDocument:document}function T(){return Ru(k)}function j(t){return b.state.isMounted&&!b.state.isVisible||mu.isTouch||s&&"focus"===s.type?0:eu(b.props.delay,t?0:1,ku.delay)}function A(t){void 0===t&&(t=!1),k.style.pointerEvents=b.props.interactive&&!t?"":"none",k.style.zIndex=""+b.props.zIndex}function $(t,e,n){var r;void 0===n&&(n=!0),M.forEach((function(n){n[t]&&n[t].apply(n,e)})),n&&(r=b.props)[t].apply(r,e)}function D(){var e=b.props.aria;if(e.content){var n="aria-"+e.content,r=k.id;su(b.props.triggerTarget||t).forEach((function(t){var e=t.getAttribute(n);if(b.state.isVisible)t.setAttribute(n,e?e+" "+r:r);else{var i=e&&e.replace(r,"").trim();i?t.setAttribute(n,i):t.removeAttribute(n)}}))}}function P(){!O&&b.props.aria.expanded&&su(b.props.triggerTarget||t).forEach((function(t){b.props.interactive?t.setAttribute("aria-expanded",b.state.isVisible&&t===C()?"true":"false"):t.removeAttribute("aria-expanded")}))}function I(){R().removeEventListener("mousemove",w),Au=Au.filter((function(t){return t!==w}))}function B(e){if(!mu.isTouch||!d&&"mousedown"!==e.type){var n=e.composedPath&&e.composedPath()[0]||e.target;if(!b.props.interactive||!pu(k,n)){if(su(b.props.triggerTarget||t).some((function(t){return pu(t,n)}))){if(mu.isTouch)return;if(b.state.isVisible&&b.props.trigger.indexOf("click")>=0)return}else $("onClickOutside",[b,e]);!0===b.props.hideOnClick&&(b.clearDelayTimeouts(),b.hide(),c=!0,setTimeout((function(){c=!1})),b.state.isMounted||q())}}}function J(){d=!0}function F(){d=!1}function L(){var t=R();t.addEventListener("mousedown",B,!0),t.addEventListener("touchend",B,Zl),t.addEventListener("touchstart",F,Zl),t.addEventListener("touchmove",J,Zl)}function q(){var t=R();t.removeEventListener("mousedown",B,!0),t.removeEventListener("touchend",B,Zl),t.removeEventListener("touchstart",F,Zl),t.removeEventListener("touchmove",J,Zl)}function H(t,e){var n=T().box;function r(t){t.target===n&&(du(n,"remove",r),e())}if(0===t)return e();du(n,"remove",o),du(n,"add",r),o=r}function U(e,n,r){void 0===r&&(r=!1),su(b.props.triggerTarget||t).forEach((function(t){t.addEventListener(e,n,r),m.push({node:t,eventType:e,handler:n,options:r})}))}function W(){var t;E()&&(U("touchstart",z,{passive:!0}),U("touchend",V,{passive:!0})),(t=b.props.trigger,t.split(/\s+/).filter(Boolean)).forEach((function(t){if("manual"!==t)switch(U(t,z),t){case"mouseenter":U("mouseleave",V);break;case"focus":U(yu?"focusout":"blur",_);break;case"focusin":U("focusout",_)}}))}function K(){m.forEach((function(t){t.node.removeEventListener(t.eventType,t.handler,t.options)})),m=[]}function z(t){var e,n=!1;if(b.state.isEnabled&&!Y(t)&&!c){var r="focus"===(null==(e=s)?void 0:e.type);s=t,u=t.currentTarget,P(),!b.state.isVisible&&nu(t,"MouseEvent")&&Au.forEach((function(e){return e(t)})),"click"===t.type&&(b.props.trigger.indexOf("mouseenter")<0||a)&&!1!==b.props.hideOnClick&&b.state.isVisible?n=!0:tt(t),"click"===t.type&&(a=!n),n&&!r&&et(t)}}function G(t){var e=t.target,n=C().contains(e)||k.contains(e);if("mousemove"!==t.type||!n){var r=Z().concat(k).map((function(t){var e,n=null==(e=t._tippy.popperInstance)?void 0:e.state;return n?{popperRect:t.getBoundingClientRect(),popperState:n,props:f}:null})).filter(Boolean);(function(t,e){var n=e.clientX,r=e.clientY;return t.every((function(t){var e=t.popperRect,i=t.popperState,s=t.props.interactiveBorder,o=i.placement.split("-")[0],l=i.modifiersData.offset;return!l||e.top-r+("bottom"===o?l.top.y:0)>s||r-e.bottom-("top"===o?l.bottom.y:0)>s||e.left-n+("right"===o?l.left.x:0)>s||n-e.right-("left"===o?l.right.x:0)>s}))})(r,t)&&(I(),et(t))}}function V(t){Y(t)||b.props.trigger.indexOf("click")>=0&&a||(b.props.interactive?b.hideWithInteractivity(t):et(t))}function _(t){b.props.trigger.indexOf("focusin")<0&&t.target!==C()||b.props.interactive&&t.relatedTarget&&k.contains(t.relatedTarget)||et(t)}function Y(t){return!!mu.isTouch&&E()!==t.type.indexOf("touch")>=0}function Q(){X();var e=b.props,n=e.popperOptions,r=e.placement,i=e.offset,s=e.getReferenceClientRect,o=e.moveTransition,u=N()?Ru(k).arrow:null,h=s?{getBoundingClientRect:s,contextElement:s.contextElement||C()}:t,f=[{name:"offset",options:{offset:i}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!o}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(t){var e=t.state;if(N()){var n=T().box;["placement","reference-hidden","escaped"].forEach((function(t){"placement"===t?n.setAttribute("data-placement",e.placement):e.attributes.popper["data-popper-"+t]?n.setAttribute("data-"+t,""):n.removeAttribute("data-"+t)})),e.attributes.popper={}}}}];N()&&u&&f.push({name:"arrow",options:{element:u,padding:3}}),f.push.apply(f,(null==n?void 0:n.modifiers)||[]),b.popperInstance=Vl(h,k,Object.assign({},n,{placement:r,onFirstUpdate:l,modifiers:f}))}function X(){b.popperInstance&&(b.popperInstance.destroy(),b.popperInstance=null)}function Z(){return lu(k.querySelectorAll("[data-tippy-root]"))}function tt(t){b.clearDelayTimeouts(),t&&$("onTrigger",[b,t]),L();var e=j(!0),r=S(),i=r[1];mu.isTouch&&"hold"===r[0]&&i&&(e=i),e?n=setTimeout((function(){b.show()}),e):b.show()}function et(t){if(b.clearDelayTimeouts(),$("onUntrigger",[b,t]),b.state.isVisible){if(!(b.props.trigger.indexOf("mouseenter")>=0&&b.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(t.type)>=0&&a)){var e=j(!1);e?r=setTimeout((function(){b.state.isVisible&&b.hide()}),e):i=requestAnimationFrame((function(){b.hide()}))}}else q()}}function Pu(t,e){void 0===e&&(e={});var n=ku.plugins.concat(e.plugins||[]);document.addEventListener("touchstart",vu,Zl),window.addEventListener("blur",bu);var r,i=Object.assign({},e,{plugins:n}),s=(r=t,fu(r)?[r]:function(t){return nu(t,"NodeList")}(r)?lu(r):Array.isArray(r)?r:lu(document.querySelectorAll(r))).reduce((function(t,e){var n=e&&Du(e,i);return n&&t.push(n),t}),[]);return fu(t)?s[0]:s}Pu.defaultProps=ku,Pu.setDefaultProps=function(t){Object.keys(t).forEach((function(e){ku[e]=t[e]}))},Pu.currentInput=mu,Object.assign({},nl,{effect:function(t){var e=t.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow)}}),Pu.setDefaultProps({render:Tu});export{ft as A,Ys as B,Gt as C,_r as D,Ds as E,r as F,Wt as G,so as H,Po as I,Eo as J,Ao as M,$o as N,ae as P,zt as S,Yt as T,pe as a,po as b,No as c,Do as d,To as e,Ro as f,eo as g,ro as h,Us as i,zr as j,no as k,uo as l,ms as m,Co as n,io as o,mo as p,ho as q,lo as r,Tt as s,Pu as t,h as u,Xt as v,jo as w,$i as x,gs as y,as as z} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-898ed1c1.js b/www/js/zui3/zen-editor/p-01de9657.js similarity index 90% rename from www/js/zui3/zen-editor/p-898ed1c1.js rename to www/js/zui3/zen-editor/p-01de9657.js index e517ad41a0..afa108475e 100644 --- a/www/js/zui3/zen-editor/p-898ed1c1.js +++ b/www/js/zui3/zen-editor/p-01de9657.js @@ -1,4 +1,4 @@ -import{r as t,f as i,h as e,F as s,g as n,c as o,H as r}from"./p-b9d115dd.js";const h={en:{"menu.source":"Source Code Mode","menu.align.left":"Align Left","menu.align.center":"Center","menu.align.right":"Align Right","menu.align.justify":"Justify","menu.font.family":"Font Family","menu.font.family.sansserif":"Sans-serif","menu.font.family.serif":"Serif","menu.font.family.cursive":"Cursive","menu.font.family.monospace":"Monospace","menu.font.size":"Font Size","menu.font.size.format.px":"{0}px","menu.font.weight.bold":"Bold","menu.font.italic":"Italic","menu.font.decoration.underline":"Underline","menu.font.decoration.strike":"Strike","menu.font.highlight":"Highlight","menu.font.color":"Text Color","menu.font.color.crimson":"Crimson","menu.font.color.deeppink":"Deep Pink","menu.font.color.darkorange":"Dark Orange","menu.font.color.darkviolet":"Dark Violet","menu.font.color.forestgreen":"Forest Green","menu.font.color.royalblue":"Royal Blue","menu.font.color.saddlebrown":"Saddle Brown","menu.font.color.dimgray":"Dim Gray","menu.font.color.none":"Clear Color","menu.iframe":"Iframe","menu.link":"Link","menu.link.remove":"Unlink","menu.line.spacing":"Line Spacing","menu.line.spacing.format":"{0}x","menu.heading":"Heading","menu.heading.1":"Heading 1","menu.heading.2":"Heading 2","menu.heading.3":"Heading 3","menu.heading.4":"Heading 4","menu.paragraph":"Paragraph","menu.code":"Code","menu.code.block":"Code Block","menu.list.bullet":"Bullet List","menu.list.ordered":"Ordered List","menu.list.task":"Task List","menu.image":"Image","menu.quote":"Blockquote","menu.hr":"Horizontal Rule","menu.table":"Table","menu.table.cell.merge":"Merge Table Cells","menu.table.row.insert.before":"Insert Table Row Before","menu.table.row.insert.after":"Insert Table Row After","menu.table.column.insert.before":"Insert Table Column Before","menu.table.column.insert.after":"Insert Table Column After","menu.table.row.remove":"Delete Table Row","menu.table.column.remove":"Delete Table Column","menu.table.remove":"Delete Table","menu.format.clear":"Clear Format","menu.undo":"Undo","menu.redo":"Redo","menu.fullscreen":"Toggle Fullscreen","error.fullscreen.enter":"Unable to enter fullscreen: {0} ({1})","error.fullscreen.exit":"Unable to exit fullscreen: {0} ({1})"},zh:{"menu.source":"源码模式","menu.align.left":"左对齐","menu.align.center":"居中","menu.align.right":"右对齐","menu.align.justify":"两端对齐","menu.font.family":"字体","menu.font.family.sansserif":"无衬线体","menu.font.family.serif":"衬线体","menu.font.family.cursive":"手写体","menu.font.family.monospace":"等宽体","menu.font.size":"字号","menu.font.size.format.px":"{0}px","menu.font.weight.bold":"加粗","menu.font.italic":"斜体","menu.font.decoration.underline":"下划线","menu.font.decoration.strike":"删除线","menu.font.highlight":"高亮","menu.font.color":"字体颜色","menu.font.color.crimson":"深红","menu.font.color.deeppink":"深粉","menu.font.color.darkorange":"深橙","menu.font.color.darkviolet":"深紫","menu.font.color.forestgreen":"森绿","menu.font.color.royalblue":"皇蓝","menu.font.color.saddlebrown":"鞍棕","menu.font.color.dimgray":"暗灰","menu.font.color.none":"无","menu.iframe":"嵌入页面","menu.link":"链接","menu.link.remove":"移除链接","menu.line.spacing":"行间距","menu.line.spacing.format":"{0} 倍","menu.heading":"标题","menu.heading.1":"标题 1","menu.heading.2":"标题 2","menu.heading.3":"标题 3","menu.heading.4":"标题 4","menu.paragraph":"段落","menu.code":"代码","menu.code.block":"代码块","menu.list.bullet":"无序列表","menu.list.ordered":"有序列表","menu.list.task":"任务列表","menu.image":"图片","menu.quote":"引用","menu.hr":"分割线","menu.table":"表格","menu.table.cell.merge":"合并单元格","menu.table.row.insert.before":"在上方插入表格行","menu.table.row.insert.after":"在下方插入表格行","menu.table.column.insert.before":"在左侧插入表格列","menu.table.column.insert.after":"在右侧插入表格列","menu.table.row.remove":"删除表格行","menu.table.column.remove":"删除表格列","menu.table.remove":"删除表格","menu.format.clear":"清除格式","menu.undo":"撤销","menu.redo":"重做","menu.fullscreen":"全屏","error.fullscreen.enter":"无法进入全屏: {0} ({1})","error.fullscreen.exit":"无法退出全屏: {0} ({1})"}},c=new class{constructor(){this.locale=this.guessLocale(),this.localeData=new Map(Object.entries(h[this.locale]))}guessLocale(){const t=document.documentElement.lang.split("-")[0].toLowerCase();return t in h?t:"en"}setLocale(t){"string"==typeof t?(this.locale=t,this.localeData=new Map(Object.entries(h[this.locale]))):(this.locale="custom",this.localeData=new Map(Object.entries(t)))}getLocale(){return this.locale}format(t,...i){var e;return(null===(e=this.localeData.get(t))||void 0===e?void 0:e.replace(/{(\d+)}/g,((t,e)=>void 0!==i[e]?i[e]:t)))||t}getString(t){return this.localeData.get(t)||t}},a=class{constructor(i){t(this,i),i.$hostElement$["s-ei"]?this.internals=i.$hostElement$["s-ei"]:(this.internals=i.$hostElement$.attachInternals(),i.$hostElement$["s-ei"]=this.internals),this.updateInputValue=()=>{const t=this.editor.getHTML().replace(/

<\/p>$/,"");this.value=t,this.internals.setFormValue(t)},this.toggleFullscreen=()=>{Boolean(document.fullscreenElement)?document.exitFullscreen().then((()=>{})).catch((t=>{alert(c.format("error.fullscreen.exit",t.message,t.name))})):this.element.requestFullscreen().then((()=>{})).catch((t=>{alert(c.format("error.fullscreen.enter",t.message,t.name))}))},this.handleEditorDidLoad=t=>{this.editor=t.detail,this.updateInputValue()},this.name="",this.readonly=!1,this.uploadUrl="",this.placeholder="",this.fullscreenable=!1,this.resizable=!1,this.exposeEditor=!1,this.size="sm",this.hideUI=!1,this.hideMenubar=void 0,this.menubarMode="full",this.bubbleMenu=!1,this.preferHardBreak=!1,this.locale=void 0,this.css=void 0,this.collaborative=!1,this.hocuspocus="",this.docName="",this.username="",this.userColor="#ffcc00",this.value=void 0,this.editor=null,this.isFullscreen=!1,this.rendered=!1}setHTML(t,i=!0){if(i){const i=`${t}`,e=(new window.DOMParser).parseFromString(i,"text/html").body;e.querySelectorAll("br").forEach((t=>{t.remove()})),t=e.innerHTML}return this.editor.chain().setContent(t).run(),this.updateInputValue(),Promise.resolve()}insertHTML(t){return Promise.resolve(this.editor.chain().focus().insertContent(t).run())}getHTML(){return Promise.resolve(this.editor.getHTML())}getText(){return Promise.resolve(this.editor.getText())}focusEditor(){return Promise.resolve(this.editor.commands.focus())}blurEditor(){return Promise.resolve(this.editor.commands.blur())}setReadonly(t){return this.readonly=t,Promise.resolve(this.editor.setEditable(!t))}onCSSChange(){Boolean(this.css)&&(Boolean(this.styles)||(this.styles=new CSSStyleSheet),this.styles.replaceSync(this.css),i(this))}componentWillLoad(){Boolean(this.css)&&(this.styles=new CSSStyleSheet,this.styles.replaceSync(this.css))}componentDidRender(){this.rendered||(this.rendered=!0)}componentDidLoad(){Boolean(this.styles)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles]),this.element.addEventListener("fullscreenchange",(()=>{this.isFullscreen=Boolean(document.fullscreenElement)}))}render(){var t,i;return"full"===this.size&&(this.resizable=!1),e(s,{key:"a2ad8550cbd2faf9fd67c90a735ce981b394011f"},Boolean(this.editor)?null:e("div",{class:`editor-skeleton ${this.size}`}),this.rendered&&e("zen-editor-core",{key:"36f851a3996cfd4bcb27b5e28e929a1afe75c741",name:this.name,readonly:this.readonly,uploadUrl:this.uploadUrl,placeholder:this.placeholder,resizable:this.resizable,exposeEditor:this.exposeEditor,size:this.size,hideUI:this.hideUI,hideMenubar:this.hideMenubar,menubarMode:this.menubarMode,bubbleMenu:this.bubbleMenu,preferHardBreak:this.preferHardBreak,locale:this.locale,collaborative:this.collaborative,hocuspocus:this.hocuspocus,docName:this.docName,username:this.username,userColor:this.userColor,updateInputValue:this.updateInputValue,toggleFullscreen:this.toggleFullscreen,fullscreenable:this.fullscreenable,isFullscreen:this.isFullscreen,onEditorDidLoad:this.handleEditorDidLoad,styles:this.styles,initialContent:null===(t=this.element.querySelector('[slot="content"]'))||void 0===t?void 0:t.innerHTML,extraMenubarItems:null===(i=this.element.querySelector('[slot="menubar-items"]'))||void 0===i?void 0:i.innerHTML,value:this.value,style:{display:Boolean(this.editor)?"block":"none",height:"100%"}}))}static get formAssociated(){return!0}get element(){return n(this)}static get watchers(){return{css:["onCSSChange"]}}};function l(t,i=0){return t[t.length-(1+i)]}function u(t,i,e=((t,i)=>t===i)){if(t===i)return!0;if(!t||!i)return!1;if(t.length!==i.length)return!1;for(let s=0,n=t.length;s0))return s;o=s-1}}return-(n+1)}(t.length)}function f(t,i,e){if((t|=0)>=i.length)throw new TypeError("invalid index");const s=i[Math.floor(i.length*Math.random())],n=[],o=[],r=[];for(const t of i){const i=e(t,s);i<0?n.push(t):i>0?o.push(t):r.push(t)}return t!!t))}function v(t){let i=0;for(let e=0;e0}function k(t,i=(t=>t)){const e=new Set;return t.filter((t=>{const s=i(t);return!e.has(s)&&(e.add(s),!0)}))}function x(t,i){return t.length>0?t[0]:i}function C(t,i){let e="number"==typeof i?t:0;"number"==typeof i?e=t:(e=0,i=t);const s=[];if(e<=i)for(let t=e;ti;t--)s.push(t);return s}function S(t,i,e){const s=t.slice(0,i),n=t.slice(i);return s.concat(e,n)}function D(t,i){const e=t.indexOf(i);e>-1&&(t.splice(e,1),t.unshift(i))}function E(t,i){const e=t.indexOf(i);e>-1&&(t.splice(e,1),t.push(i))}function A(t,i){for(const e of i)t.push(e)}function M(t){return Array.isArray(t)?t:[t]}function L(t,i,e,s){const n=F(t,i);let o=t.splice(n,e);return void 0===o&&(o=[]),function(t,i,e){const s=F(t,i),n=t.length,o=e.length;t.length=n+o;for(let i=n-1;i>=s;i--)t[i+o]=t[i];for(let i=0;ii(t(e),t(s))}a.style=".editor-skeleton{background-color:#f3f3f3;border:1px solid #e6e6e6;border-radius:0.25em;animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}.editor-skeleton.sm{height:9em}.editor-skeleton.lg{height:16em}.editor-skeleton.full{height:100%}",function(t){t.isLessThan=function(t){return t<0},t.isLessThanOrEqual=function(t){return t<=0},t.isGreaterThan=function(t){return t>0},t.isNeitherLessOrGreaterThan=function(t){return 0===t},t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0}(T||(T={}));const O=(t,i)=>t-i,I=(t,i)=>O(t?1:0,i?1:0);function _(t){return(i,e)=>-t(i,e)}class N{constructor(t){this.items=t,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(t){let i=this.firstIdx;for(;i=0&&t(this.items[i]);)i--;const e=i===this.lastIdx?null:this.items.slice(i+1,this.lastIdx+1);return this.lastIdx=i,e}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const t=this.items[this.firstIdx];return this.firstIdx++,t}takeCount(t){const i=this.items.slice(this.firstIdx,this.firstIdx+t);return this.firstIdx+=t,i}}class B{constructor(t){this.iterate=t}toArray(){const t=[];return this.iterate((i=>(t.push(i),!0))),t}filter(t){return new B((i=>this.iterate((e=>!t(e)||i(e)))))}map(t){return new B((i=>this.iterate((e=>i(t(e))))))}findLast(t){let i;return this.iterate((e=>(t(e)&&(i=e),!0))),i}findLastMaxBy(t){let i,e=!0;return this.iterate((s=>((e||T.isGreaterThan(t(s,i)))&&(e=!1,i=s),!0))),i}}function P(t){return"string"==typeof t}function $(t){return!("object"!=typeof t||null===t||Array.isArray(t)||t instanceof RegExp||t instanceof Date)}function W(t){const i=Object.getPrototypeOf(Uint8Array);return"object"==typeof t&&t instanceof i}function j(t){return"number"==typeof t&&!isNaN(t)}function z(t){return!!t&&"function"==typeof t[Symbol.iterator]}function H(t){return!0===t||!1===t}function V(t){return void 0===t}function U(t){return!q(t)}function q(t){return V(t)||null===t}function K(t,i){if(!t)throw new Error(i?`Unexpected type, expected '${i}'`:"Unexpected type")}function G(t){if(q(t))throw new Error("Assertion Failed: argument is undefined or null");return t}function Z(t){return"function"==typeof t}function Q(t,i){if(P(i)){if(typeof t!==i)throw new Error(`argument does not match constraint: typeof ${i}`)}else if(Z(i)){try{if(t instanceof i)return}catch(t){}if(!q(t)&&t.constructor===i)return;if(1===i.length&&!0===i.call(void 0,t))return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function J(t){if(!t||"object"!=typeof t)return t;if(t instanceof RegExp)return t;const i=Array.isArray(t)?[]:{};return Object.entries(t).forEach((([t,e])=>{i[t]=e&&"object"==typeof e?J(e):e})),i}B.empty=new B((()=>{}));const Y=Object.prototype.hasOwnProperty;function X(t,i){return tt(t,i,new Set)}function tt(t,i,e){if(q(t))return t;const s=i(t);if(void 0!==s)return s;if(Array.isArray(t)){const s=[];for(const n of t)s.push(tt(n,i,e));return s}if($(t)){if(e.has(t))throw new Error("Cannot clone recursive data-structure");e.add(t);const s={};for(const n in t)Y.call(t,n)&&(s[n]=tt(t[n],i,e));return e.delete(t),s}return t}function it(t,i,e=!0){return $(t)?($(i)&&Object.keys(i).forEach((s=>{s in t?e&&($(t[s])&&$(i[s])?it(t[s],i[s],e):t[s]=i[s]):t[s]=i[s]})),t):i}function et(t,i){if(t===i)return!0;if(null==t||null==i)return!1;if(typeof t!=typeof i)return!1;if("object"!=typeof t)return!1;if(Array.isArray(t)!==Array.isArray(i))return!1;let e,s;if(Array.isArray(t)){if(t.length!==i.length)return!1;for(e=0;e=0;function ot(t,i){let e;return e=0===i.length?t:t.replace(/\{(\d+)\}/g,((t,e)=>{const s=i[e[0]];let n=t;return"string"==typeof s?n=s:"number"!=typeof s&&"boolean"!=typeof s&&null!=s||(n=String(s)),n})),nt&&(e="["+e.replace(/[aouei]/g,"$&$&")+"]"),e}function rt(t,i,...e){return ot(i,e)}function ht(t,i,...e){const s=ot(i,e);return{value:s,original:s}}var ct;const at="en";let lt,ut,dt=!1,ft=!1,pt=!1,gt=!1,mt=!1,wt=!1,vt=!1,bt=at;const yt=globalThis;let kt;void 0!==yt.vscode&&void 0!==yt.vscode.process?kt=yt.vscode.process:"undefined"!=typeof process&&(kt=process);const xt="string"==typeof(null===(ct=null==kt?void 0:kt.versions)||void 0===ct?void 0:ct.electron);if("object"!=typeof navigator||xt&&"renderer"===(null==kt?void 0:kt.type))if("object"==typeof kt){dt="win32"===kt.platform,ft="darwin"===kt.platform,pt="linux"===kt.platform,lt=at,bt=at;const t=kt.env.VSCODE_NLS_CONFIG;if(t)try{const i=JSON.parse(t);lt=i.locale,bt=i.availableLanguages["*"]||at}catch(t){}gt=!0}else console.error("Unable to resolve platform.");else ut=navigator.userAgent,dt=ut.indexOf("Windows")>=0,ft=ut.indexOf("Macintosh")>=0,wt=(ut.indexOf("Macintosh")>=0||ut.indexOf("iPad")>=0||ut.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,pt=ut.indexOf("Linux")>=0,vt=(null==ut?void 0:ut.indexOf("Mobi"))>=0,mt=!0,rt(0,"_"),lt=at,bt=lt;const Ct=dt,St=ft,Dt=pt,Et=gt,At=mt,Mt=mt&&"function"==typeof yt.importScripts?yt.origin:void 0,Lt=wt,Ft=vt,Tt=ut,Rt=bt,Ot="function"==typeof yt.postMessage&&!yt.importScripts,It=(()=>{if(Ot){const t=[];yt.addEventListener("message",(i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let e=0,s=t.length;e{const s=++i;t.push({id:s,callback:e}),yt.postMessage({vscodeScheduleAsyncWork:s},"*")}}return t=>setTimeout(t)})(),_t=ft||wt?2:dt?1:3;let Nt=!0,Bt=!1;function Pt(){if(!Bt){Bt=!0;const t=new Uint8Array(2);t[0]=1,t[1]=2;const i=new Uint16Array(t.buffer);Nt=513===i[0]}return Nt}const $t=!!(Tt&&Tt.indexOf("Chrome")>=0),Wt=!!(Tt&&Tt.indexOf("Firefox")>=0),jt=!!(!$t&&Tt&&Tt.indexOf("Safari")>=0),zt=!!(Tt&&Tt.indexOf("Edg/")>=0);Tt&&Tt.indexOf("Android");const Ht={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var Vt;!function(t){function i(t){return t&&"object"==typeof t&&"function"==typeof t[Symbol.iterator]}t.is=i;const e=Object.freeze([]);function*s(t){yield t}t.empty=function(){return e},t.single=s,t.wrap=function(t){return i(t)?t:s(t)},t.from=function(t){return t||e},t.reverse=function*(t){for(let i=t.length-1;i>=0;i--)yield t[i]},t.isEmpty=function(t){return!t||!0===t[Symbol.iterator]().next().done},t.first=function(t){return t[Symbol.iterator]().next().value},t.some=function(t,i){for(const e of t)if(i(e))return!0;return!1},t.find=function(t,i){for(const e of t)if(i(e))return e},t.filter=function*(t,i){for(const e of t)i(e)&&(yield e)},t.map=function*(t,i){let e=0;for(const s of t)yield i(s,e++)},t.concat=function*(...t){for(const i of t)yield*i},t.reduce=function(t,i,e){let s=e;for(const e of t)s=i(s,e);return s},t.slice=function*(t,i,e=t.length){for(i<0&&(i+=t.length),e<0?e+=t.length:e>t.length&&(e=t.length);in}]}}(Vt||(Vt={}));class Ut{constructor(t){this.element=t,this.next=Ut.Undefined,this.prev=Ut.Undefined}}Ut.Undefined=new Ut(void 0);class qt{constructor(){this._first=Ut.Undefined,this._last=Ut.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Ut.Undefined}clear(){let t=this._first;for(;t!==Ut.Undefined;){const i=t.next;t.prev=Ut.Undefined,t.next=Ut.Undefined,t=i}this._first=Ut.Undefined,this._last=Ut.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,i){const e=new Ut(t);if(this._first===Ut.Undefined)this._first=e,this._last=e;else if(i){const t=this._last;this._last=e,e.prev=t,t.next=e}else{const t=this._first;this._first=e,e.next=t,t.prev=e}this._size+=1;let s=!1;return()=>{s||(s=!0,this._remove(e))}}shift(){if(this._first!==Ut.Undefined){const t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==Ut.Undefined){const t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==Ut.Undefined&&t.next!==Ut.Undefined){const i=t.prev;i.next=t.next,t.next.prev=i}else t.prev===Ut.Undefined&&t.next===Ut.Undefined?(this._first=Ut.Undefined,this._last=Ut.Undefined):t.next===Ut.Undefined?(this._last=this._last.prev,this._last.next=Ut.Undefined):t.prev===Ut.Undefined&&(this._first=this._first.next,this._first.prev=Ut.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==Ut.Undefined;)yield t.element,t=t.next}}const Kt="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",Gt=function(t=""){let i="(-?\\d*\\.\\d\\w*)|([^";for(const e of Kt)t.indexOf(e)>=0||(i+="\\"+e);return i+="\\s]+)",new RegExp(i,"g")}();function Zt(t){let i=Gt;if(t&&t instanceof RegExp)if(t.global)i=t;else{let e="g";t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),i=new RegExp(t.source,e)}return i.lastIndex=0,i}const Qt=new qt;function Jt(t,i,e,s,n){if(i=Zt(i),n||(n=Vt.first(Qt)),e.length>n.maxLen){let o=t-n.maxLen/2;return o<0?o=0:s+=o,Jt(t,i,e=e.substring(o,t+n.maxLen/2),s,n)}const o=Date.now(),r=t-1-s;let h=-1,c=null;for(let t=1;!(Date.now()-o>=n.timeBudget);t++){const s=r-n.windowSize*t;i.lastIndex=Math.max(0,s);const o=Yt(i,e,r,h);if(!o&&c)break;if(c=o,s<=0)break;h=s}if(c){const t={word:c[0],startColumn:s+1+c.index,endColumn:s+1+c.index+c[0].length};return i.lastIndex=0,t}return null}function Yt(t,i,e,s){let n;for(;n=t.exec(i);){const i=n.index||0;if(i<=e&&t.lastIndex>=e)return n;if(s>0&&i>s)return null}return null}Qt.unshift({maxLen:1e3,windowSize:15,timeBudget:150});class Xt{constructor(t){this._values=t}hasChanged(t){return this._values[t]}}class ti{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class ii{constructor(t,i,e,s){this.id=t,this.name=i,this.defaultValue=e,this.schema=s}applyUpdate(t,i){return si(t,i)}compute(t,i,e){return e}}class ei{constructor(t,i){this.newValue=t,this.didChange=i}}function si(t,i){if("object"!=typeof t||"object"!=typeof i||!t||!i)return new ei(i,t!==i);if(Array.isArray(t)||Array.isArray(i)){const e=Array.isArray(t)&&Array.isArray(i)&&u(t,i);return new ei(i,!e)}let e=!1;for(const s in i)if(i.hasOwnProperty(s)){const n=si(t[s],i[s]);n.didChange&&(t[s]=n.newValue,e=!0)}return new ei(t,e)}class ni{constructor(t){this.schema=void 0,this.id=t,this.name="_never_",this.defaultValue=void 0}applyUpdate(t,i){return si(t,i)}validate(t){return this.defaultValue}}class oi{constructor(t,i,e,s){this.id=t,this.name=i,this.defaultValue=e,this.schema=s}applyUpdate(t,i){return si(t,i)}validate(t){return void 0===t?this.defaultValue:t}compute(t,i,e){return e}}function ri(t,i){return void 0===t?i:"false"!==t&&Boolean(t)}class hi extends oi{constructor(t,i,e,s){void 0!==s&&(s.type="boolean",s.default=e),super(t,i,e,s)}validate(t){return ri(t,this.defaultValue)}}function ci(t,i,e,s){if(void 0===t)return i;let n=parseInt(t,10);return isNaN(n)?i:(n=Math.max(e,n),n=Math.min(s,n),0|n)}class ai extends oi{static clampedInt(t,i,e,s){return ci(t,i,e,s)}constructor(t,i,e,s,n,o){void 0!==o&&(o.type="integer",o.default=e,o.minimum=s,o.maximum=n),super(t,i,e,o),this.minimum=s,this.maximum=n}validate(t){return ai.clampedInt(t,this.defaultValue,this.minimum,this.maximum)}}function li(t,i,e,s){if(void 0===t)return i;const n=ui.float(t,i);return ui.clamp(n,e,s)}class ui extends oi{static clamp(t,i,e){return te?e:t}static float(t,i){if("number"==typeof t)return t;if(void 0===t)return i;const e=parseFloat(t);return isNaN(e)?i:e}constructor(t,i,e,s,n){void 0!==n&&(n.type="number",n.default=e),super(t,i,e,n),this.validationFn=s}validate(t){return this.validationFn(ui.float(t,this.defaultValue))}}class di extends oi{static string(t,i){return"string"!=typeof t?i:t}constructor(t,i,e,s){void 0!==s&&(s.type="string",s.default=e),super(t,i,e,s)}validate(t){return di.string(t,this.defaultValue)}}function fi(t,i,e,s){return"string"!=typeof t?i:s&&t in s?s[t]:-1===e.indexOf(t)?i:t}class pi extends oi{constructor(t,i,e,s,n){void 0!==n&&(n.type="string",n.enum=s,n.default=e),super(t,i,e,n),this._allowedValues=s}validate(t){return fi(t,this.defaultValue,this._allowedValues)}}class gi extends ii{constructor(t,i,e,s,n,o,r){void 0!==r&&(r.type="string",r.enum=n,r.default=s),super(t,i,e,r),this._allowedValues=n,this._convert=o}validate(t){return"string"!=typeof t||-1===this._allowedValues.indexOf(t)?this.defaultValue:this._convert(t)}}var mi,wi;!function(t){t[t.Line=1]="Line",t[t.Block=2]="Block",t[t.Underline=3]="Underline",t[t.LineThin=4]="LineThin",t[t.BlockOutline=5]="BlockOutline",t[t.UnderlineThin=6]="UnderlineThin"}(mi||(mi={}));class vi extends ii{constructor(){super(51,"fontLigatures",vi.OFF,{anyOf:[{type:"boolean",description:rt(0,"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:rt(0,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:rt(0,"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(t){return void 0===t?this.defaultValue:"string"==typeof t?"false"===t?vi.OFF:"true"===t?vi.ON:t:Boolean(t)?vi.ON:vi.OFF}}vi.OFF='"liga" off, "calt" off',vi.ON='"liga" on, "calt" on';class bi extends ii{constructor(){super(54,"fontVariations",bi.OFF,{anyOf:[{type:"boolean",description:rt(0,"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:rt(0,"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:rt(0,"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(t){return void 0===t?this.defaultValue:"string"==typeof t?"false"===t?bi.OFF:"true"===t?bi.TRANSLATE:t:Boolean(t)?bi.TRANSLATE:bi.OFF}compute(t,i,e){return t.fontInfo.fontVariationSettings}}bi.OFF="normal",bi.TRANSLATE="translate";class yi extends ii{constructor(){super(53,"fontWeight",Oi.fontWeight,{anyOf:[{type:"number",minimum:yi.MINIMUM_VALUE,maximum:yi.MAXIMUM_VALUE,errorMessage:rt(0,'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:yi.SUGGESTION_VALUES}],default:Oi.fontWeight,description:rt(0,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(t){return"normal"===t||"bold"===t?t:String(ai.clampedInt(t,Oi.fontWeight,yi.MINIMUM_VALUE,yi.MAXIMUM_VALUE))}}yi.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],yi.MINIMUM_VALUE=1,yi.MAXIMUM_VALUE=1e3;class ki extends ni{constructor(){super(143)}compute(t,i,e){return ki.computeLayout(i,{memory:t.memory,outerWidth:t.outerWidth,outerHeight:t.outerHeight,isDominatedByLongLines:t.isDominatedByLongLines,lineHeight:t.fontInfo.lineHeight,viewLineCount:t.viewLineCount,lineNumbersDigitCount:t.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:t.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:t.fontInfo.maxDigitWidth,pixelRatio:t.pixelRatio,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(t){const i=t.height/t.lineHeight,e=Math.floor(t.paddingTop/t.lineHeight);let s=Math.floor(t.paddingBottom/t.lineHeight);t.scrollBeyondLastLine&&(s=Math.max(s,i-1));const n=(e+t.viewLineCount+s)/(t.pixelRatio*t.height);return{typicalViewportLineCount:i,extraLinesBeforeFirstLine:e,extraLinesBeyondLastLine:s,desiredRatio:n,minimapLineCount:Math.floor(t.viewLineCount/n)}}static _computeMinimapLayout(t,i){const e=t.outerWidth,s=t.outerHeight,n=t.pixelRatio;if(!t.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(n*s),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:s};const o=i.stableMinimapLayoutInput,r=o&&t.outerHeight===o.outerHeight&&t.lineHeight===o.lineHeight&&t.typicalHalfwidthCharacterWidth===o.typicalHalfwidthCharacterWidth&&t.pixelRatio===o.pixelRatio&&t.scrollBeyondLastLine===o.scrollBeyondLastLine&&t.paddingTop===o.paddingTop&&t.paddingBottom===o.paddingBottom&&t.minimap.enabled===o.minimap.enabled&&t.minimap.side===o.minimap.side&&t.minimap.size===o.minimap.size&&t.minimap.showSlider===o.minimap.showSlider&&t.minimap.renderCharacters===o.minimap.renderCharacters&&t.minimap.maxColumn===o.minimap.maxColumn&&t.minimap.scale===o.minimap.scale&&t.verticalScrollbarWidth===o.verticalScrollbarWidth&&t.isViewportWrapping===o.isViewportWrapping,h=t.lineHeight,c=t.typicalHalfwidthCharacterWidth,a=t.scrollBeyondLastLine,l=t.minimap.renderCharacters;let u=n>=2?Math.round(2*t.minimap.scale):t.minimap.scale;const d=t.minimap.maxColumn,f=t.minimap.size,p=t.minimap.side,g=t.verticalScrollbarWidth,m=t.viewLineCount,w=t.remainingWidth,v=t.isViewportWrapping,b=l?2:3;let y=Math.floor(n*s);const k=y/n;let x=!1,C=!1,S=b*u,D=u/n,E=1;if("fill"===f||"fit"===f){const{typicalViewportLineCount:e,extraLinesBeforeFirstLine:o,extraLinesBeyondLastLine:c,desiredRatio:l,minimapLineCount:d}=ki.computeContainedMinimapLineCount({viewLineCount:m,scrollBeyondLastLine:a,paddingTop:t.paddingTop,paddingBottom:t.paddingBottom,height:s,lineHeight:h,pixelRatio:n});if(m/d>1)x=!0,C=!0,u=1,S=1,D=u/n;else{let s=!1,a=u+1;if("fit"===f){const t=Math.ceil((o+m+c)*S);v&&r&&w<=i.stableFitRemainingWidth?(s=!0,a=i.stableFitMaxMinimapScale):s=t>y}if("fill"===f||s){x=!0;const s=u;S=Math.min(h*n,Math.max(1,Math.floor(1/l))),v&&r&&w<=i.stableFitRemainingWidth&&(a=i.stableFitMaxMinimapScale),u=Math.min(a,Math.max(1,Math.floor(S/b))),u>s&&(E=Math.min(2,u/s)),D=u/n/E,y=Math.ceil(Math.max(e,o+m+c)*S),v?(i.stableMinimapLayoutInput=t,i.stableFitRemainingWidth=w,i.stableFitMaxMinimapScale=u):(i.stableMinimapLayoutInput=null,i.stableFitRemainingWidth=0)}}}const A=Math.floor(d*D),M=Math.min(A,Math.max(0,Math.floor((w-g-2)*D/(c+D)))+8);let L=Math.floor(n*M);const F=L/n;return L=Math.floor(L*E),{renderMinimap:l?1:2,minimapLeft:"left"===p?0:e-M-g,minimapWidth:M,minimapHeightIsEditorHeight:x,minimapIsSampling:C,minimapScale:u,minimapLineHeight:S,minimapCanvasInnerWidth:L,minimapCanvasInnerHeight:y,minimapCanvasOuterWidth:F,minimapCanvasOuterHeight:k}}static computeLayout(t,i){const e=0|i.outerWidth,s=0|i.outerHeight,n=0|i.lineHeight,o=0|i.lineNumbersDigitCount,r=i.typicalHalfwidthCharacterWidth,h=i.maxDigitWidth,c=i.pixelRatio,a=i.viewLineCount,l=t.get(135),u="inherit"===l?t.get(134):l,d="inherit"===u?t.get(130):u,f=t.get(133),p=i.isDominatedByLongLines,g=t.get(57),m=0!==t.get(67).renderType,w=t.get(68),v=t.get(104),b=t.get(83),y=t.get(72),k=t.get(102),x=k.verticalScrollbarSize,C=k.verticalHasArrows,S=k.arrowSize,D=k.horizontalScrollbarSize,E=t.get(43),A="never"!==t.get(109);let M=t.get(65);E&&A&&(M+=16);let L=0;if(m){const t=Math.max(o,w);L=Math.round(t*h)}let F=0;g&&(F=n*i.glyphMarginDecorationLaneCount);let T=0,R=T+F,O=R+L,I=O+M;const _=e-F-L-M;let N=!1,B=!1,P=-1;"inherit"===u&&p?(N=!0,B=!0):"on"===d||"bounded"===d?B=!0:"wordWrapColumn"===d&&(P=f);const $=ki._computeMinimapLayout({outerWidth:e,outerHeight:s,lineHeight:n,typicalHalfwidthCharacterWidth:r,pixelRatio:c,scrollBeyondLastLine:v,paddingTop:b.top,paddingBottom:b.bottom,minimap:y,verticalScrollbarWidth:x,viewLineCount:a,remainingWidth:_,isViewportWrapping:B},i.memory||new ti);0!==$.renderMinimap&&0===$.minimapLeft&&(T+=$.minimapWidth,R+=$.minimapWidth,O+=$.minimapWidth,I+=$.minimapWidth);const W=_-$.minimapWidth,j=Math.max(1,Math.floor((W-x-2)/r)),z=C?S:0;return B&&(P=Math.max(1,j),"bounded"===d&&(P=Math.min(P,f))),{width:e,height:s,glyphMarginLeft:T,glyphMarginWidth:F,glyphMarginDecorationLaneCount:i.glyphMarginDecorationLaneCount,lineNumbersLeft:R,lineNumbersWidth:L,decorationsLeft:O,decorationsWidth:M,contentLeft:I,contentWidth:W,minimap:$,viewportColumn:j,isWordWrapMinified:N,isViewportWrapping:B,wrappingColumn:P,verticalScrollbarWidth:x,horizontalScrollbarHeight:D,overviewRuler:{top:z,width:x,height:s-2*z,right:0}}}}function xi(t){const i=t.get(97);return"editable"===i?t.get(90):"on"!==i}function Ci(t,i){if("string"!=typeof t)return i;switch(t){case"hidden":return 2;case"visible":return 3;default:return 1}}!function(t){t.Off="off",t.OnCode="onCode",t.On="on"}(wi||(wi={}));const Si="inUntrustedWorkspace",Di="editor.unicodeHighlight.allowedCharacters",Ei="editor.unicodeHighlight.invisibleCharacters",Ai="editor.unicodeHighlight.nonBasicASCII",Mi="editor.unicodeHighlight.ambiguousCharacters",Li="editor.unicodeHighlight.includeComments",Fi="editor.unicodeHighlight.includeStrings",Ti="editor.unicodeHighlight.allowedLocales";function Ri(t,i,e){const s=e.indexOf(t);return-1===s?i:e[s]}const Oi={fontFamily:St?"Menlo, Monaco, 'Courier New', monospace":Dt?"'Droid Sans Mono', 'monospace', monospace":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:St?12:14,lineHeight:0,letterSpacing:0},Ii=[];function _i(t){return Ii[t.id]=t,t}const Ni={acceptSuggestionOnCommitCharacter:_i(new hi(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:rt(0,"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:_i(new pi(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",rt(0,"Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:rt(0,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:_i(new class extends ii{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[rt(0,"Use platform APIs to detect when a Screen Reader is attached."),rt(0,"Optimize for usage with a Screen Reader."),rt(0,"Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:rt(0,"Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(t){switch(t){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(t,i,e){return 0===e?t.accessibilitySupport:e}}),accessibilityPageSize:_i(new ai(3,"accessibilityPageSize",10,1,1073741824,{description:rt(0,"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:_i(new di(4,"ariaLabel",rt(0,"Editor content"))),ariaRequired:_i(new hi(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:_i(new hi(8,"screenReaderAnnounceInlineSuggestion",!0,{description:rt(0,"Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:_i(new pi(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",rt(0,"Use language configurations to determine when to autoclose brackets."),rt(0,"Autoclose brackets only when the cursor is to the left of whitespace."),""],description:rt(0,"Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:_i(new pi(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",rt(0,"Use language configurations to determine when to autoclose comments."),rt(0,"Autoclose comments only when the cursor is to the left of whitespace."),""],description:rt(0,"Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:_i(new pi(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",rt(0,"Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:rt(0,"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:_i(new pi(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",rt(0,"Type over closing quotes or brackets only if they were automatically inserted."),""],description:rt(0,"Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:_i(new pi(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",rt(0,"Use language configurations to determine when to autoclose quotes."),rt(0,"Autoclose quotes only when the cursor is to the left of whitespace."),""],description:rt(0,"Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:_i(new gi(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],(function(t){switch(t){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}),{enumDescriptions:[rt(0,"The editor will not insert indentation automatically."),rt(0,"The editor will keep the current line's indentation."),rt(0,"The editor will keep the current line's indentation and honor language defined brackets."),rt(0,"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),rt(0,"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:rt(0,"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:_i(new hi(13,"automaticLayout",!1)),autoSurround:_i(new pi(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[rt(0,"Use language configurations to determine when to automatically surround selections."),rt(0,"Surround with quotes but not brackets."),rt(0,"Surround with brackets but not quotes."),""],description:rt(0,"Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:_i(new class extends ii{constructor(){const t={enabled:Ht.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:Ht.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",t,{"editor.bracketPairColorization.enabled":{type:"boolean",default:t.enabled,markdownDescription:rt(0,"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:t.independentColorPoolPerBracketType,description:rt(0,"Controls whether each bracket type has its own independent color pool.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:ri(i.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}),bracketPairGuides:_i(new class extends ii{constructor(){const t={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",t,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[rt(0,"Enables bracket pair guides."),rt(0,"Enables bracket pair guides only for the active bracket pair."),rt(0,"Disables bracket pair guides.")],default:t.bracketPairs,description:rt(0,"Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[rt(0,"Enables horizontal guides as addition to vertical bracket pair guides."),rt(0,"Enables horizontal guides only for the active bracket pair."),rt(0,"Disables horizontal bracket pair guides.")],default:t.bracketPairsHorizontal,description:rt(0,"Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:t.highlightActiveBracketPair,description:rt(0,"Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:t.indentation,description:rt(0,"Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[rt(0,"Highlights the active indent guide."),rt(0,"Highlights the active indent guide even if bracket guides are highlighted."),rt(0,"Do not highlight the active indent guide.")],default:t.highlightActiveIndentation,description:rt(0,"Controls whether the editor should highlight the active indent guide.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{bracketPairs:Ri(i.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:Ri(i.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:ri(i.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:ri(i.indentation,this.defaultValue.indentation),highlightActiveIndentation:Ri(i.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}),stickyTabStops:_i(new hi(115,"stickyTabStops",!1,{description:rt(0,"Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:_i(new hi(17,"codeLens",!0,{description:rt(0,"Controls whether the editor shows CodeLens.")})),codeLensFontFamily:_i(new di(18,"codeLensFontFamily","",{description:rt(0,"Controls the font family for CodeLens.")})),codeLensFontSize:_i(new ai(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:rt(0,"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:_i(new hi(20,"colorDecorators",!0,{description:rt(0,"Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:_i(new pi(146,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[rt(0,"Make the color picker appear both on click and hover of the color decorator"),rt(0,"Make the color picker appear on hover of the color decorator"),rt(0,"Make the color picker appear on click of the color decorator")],description:rt(0,"Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:_i(new ai(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:rt(0,"Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:_i(new hi(22,"columnSelection",!1,{description:rt(0,"Enable that the selection with the mouse and keys is doing column selection.")})),comments:_i(new class extends ii{constructor(){const t={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",t,{"editor.comments.insertSpace":{type:"boolean",default:t.insertSpace,description:rt(0,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:t.ignoreEmptyLines,description:rt(0,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{insertSpace:ri(i.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:ri(i.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}),contextmenu:_i(new hi(24,"contextmenu",!0)),copyWithSyntaxHighlighting:_i(new hi(25,"copyWithSyntaxHighlighting",!0,{description:rt(0,"Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:_i(new gi(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],(function(t){switch(t){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}),{description:rt(0,"Control the cursor animation style.")})),cursorSmoothCaretAnimation:_i(new pi(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[rt(0,"Smooth caret animation is disabled."),rt(0,"Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),rt(0,"Smooth caret animation is always enabled.")],description:rt(0,"Controls whether the smooth caret animation should be enabled.")})),cursorStyle:_i(new gi(28,"cursorStyle",mi.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],(function(t){switch(t){case"line":return mi.Line;case"block":return mi.Block;case"underline":return mi.Underline;case"line-thin":return mi.LineThin;case"block-outline":return mi.BlockOutline;case"underline-thin":return mi.UnderlineThin}}),{description:rt(0,"Controls the cursor style.")})),cursorSurroundingLines:_i(new ai(29,"cursorSurroundingLines",0,0,1073741824,{description:rt(0,"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:_i(new pi(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[rt(0,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),rt(0,"`cursorSurroundingLines` is enforced always.")],markdownDescription:rt(0,"Controls when `#cursorSurroundingLines#` should be enforced.")})),cursorWidth:_i(new ai(31,"cursorWidth",0,0,1073741824,{markdownDescription:rt(0,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:_i(new hi(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:_i(new hi(33,"disableMonospaceOptimizations",!1)),domReadOnly:_i(new hi(34,"domReadOnly",!1)),dragAndDrop:_i(new hi(35,"dragAndDrop",!0,{description:rt(0,"Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:_i(new class extends hi{constructor(){super(37,"emptySelectionClipboard",!0,{description:rt(0,"Controls whether copying without a selection copies the current line.")})}compute(t,i,e){return e&&t.emptySelectionClipboard}}),dropIntoEditor:_i(new class extends ii{constructor(){const t={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",t,{"editor.dropIntoEditor.enabled":{type:"boolean",default:t.enabled,markdownDescription:rt(0,"Controls whether you can drag and drop a file into a text editor by holding down `Shift`-key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:rt(0,"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:[rt(0,"Show the drop selector widget after a file is dropped into the editor."),rt(0,"Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),showDropSelector:fi(i.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}),stickyScroll:_i(new class extends ii{constructor(){const t={enabled:!1,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(114,"stickyScroll",t,{"editor.stickyScroll.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Shows the nested current scopes during the scroll at the top of the editor.")},"editor.stickyScroll.maxLineCount":{type:"number",default:t.maxLineCount,minimum:1,maximum:10,description:rt(0,"Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:t.defaultModel,description:rt(0,"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:t.scrollWithEditor,description:rt(0,"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),maxLineCount:ai.clampedInt(i.maxLineCount,this.defaultValue.maxLineCount,1,10),defaultModel:fi(i.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:ri(i.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}),experimentalWhitespaceRendering:_i(new pi(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[rt(0,"Use a new rendering method with svgs."),rt(0,"Use a new rendering method with font characters."),rt(0,"Use the stable rendering method.")],description:rt(0,"Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:_i(new di(39,"extraEditorClassName","")),fastScrollSensitivity:_i(new ui(40,"fastScrollSensitivity",5,(t=>t<=0?5:t),{markdownDescription:rt(0,"Scrolling speed multiplier when pressing `Alt`.")})),find:_i(new class extends ii{constructor(){const t={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",t,{"editor.find.cursorMoveOnType":{type:"boolean",default:t.cursorMoveOnType,description:rt(0,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:t.seedSearchStringFromSelection,enumDescriptions:[rt(0,"Never seed search string from the editor selection."),rt(0,"Always seed search string from the editor selection, including word at cursor position."),rt(0,"Only seed search string from the editor selection.")],description:rt(0,"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:t.autoFindInSelection,enumDescriptions:[rt(0,"Never turn on Find in Selection automatically (default)."),rt(0,"Always turn on Find in Selection automatically."),rt(0,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:rt(0,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:t.globalFindClipboard,description:rt(0,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:St},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:t.addExtraSpaceOnTop,description:rt(0,"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:t.loop,description:rt(0,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{cursorMoveOnType:ri(i.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:"boolean"==typeof t.seedSearchStringFromSelection?t.seedSearchStringFromSelection?"always":"never":fi(i.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:"boolean"==typeof t.autoFindInSelection?t.autoFindInSelection?"always":"never":fi(i.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:ri(i.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:ri(i.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:ri(i.loop,this.defaultValue.loop)}}}),fixedOverflowWidgets:_i(new hi(42,"fixedOverflowWidgets",!1)),folding:_i(new hi(43,"folding",!0,{description:rt(0,"Controls whether the editor has code folding enabled.")})),foldingStrategy:_i(new pi(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[rt(0,"Use a language-specific folding strategy if available, else the indentation-based one."),rt(0,"Use the indentation-based folding strategy.")],description:rt(0,"Controls the strategy for computing folding ranges.")})),foldingHighlight:_i(new hi(45,"foldingHighlight",!0,{description:rt(0,"Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:_i(new hi(46,"foldingImportsByDefault",!1,{description:rt(0,"Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:_i(new ai(47,"foldingMaximumRegions",5e3,10,65e3,{description:rt(0,"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:_i(new hi(48,"unfoldOnClickAfterEndOfLine",!1,{description:rt(0,"Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:_i(new di(49,"fontFamily",Oi.fontFamily,{description:rt(0,"Controls the font family.")})),fontInfo:_i(new class extends ni{constructor(){super(50)}compute(t,i,e){return t.fontInfo}}),fontLigatures2:_i(new vi),fontSize:_i(new class extends oi{constructor(){super(52,"fontSize",Oi.fontSize,{type:"number",minimum:6,maximum:100,default:Oi.fontSize,description:rt(0,"Controls the font size in pixels.")})}validate(t){const i=ui.float(t,this.defaultValue);return 0===i?Oi.fontSize:ui.clamp(i,6,100)}compute(t,i,e){return t.fontInfo.fontSize}}),fontWeight:_i(new yi),fontVariations:_i(new bi),formatOnPaste:_i(new hi(55,"formatOnPaste",!1,{description:rt(0,"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:_i(new hi(56,"formatOnType",!1,{description:rt(0,"Controls whether the editor should automatically format the line after typing.")})),glyphMargin:_i(new hi(57,"glyphMargin",!0,{description:rt(0,"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:_i(new class extends ii{constructor(){const t={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},i={type:"string",enum:["peek","gotoAndPeek","goto"],default:t.multiple,enumDescriptions:[rt(0,"Show Peek view of the results (default)"),rt(0,"Go to the primary result and show a Peek view"),rt(0,"Go to the primary result and enable Peek-less navigation to others")]},e=["","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",t,{"editor.gotoLocation.multiple":{deprecationMessage:rt(0,"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:rt(0,"Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleTypeDefinitions":{description:rt(0,"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleDeclarations":{description:rt(0,"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleImplementations":{description:rt(0,"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleReferences":{description:rt(0,"Controls the behavior the 'Go to References'-command when multiple target locations exist."),...i},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:t.alternativeDefinitionCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:t.alternativeTypeDefinitionCommand,enum:e,description:rt(0,"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:t.alternativeDeclarationCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:t.alternativeImplementationCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:t.alternativeReferenceCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(t){var i,e,s,n,o;if(!t||"object"!=typeof t)return this.defaultValue;const r=t;return{multiple:fi(r.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:null!==(i=r.multipleDefinitions)&&void 0!==i?i:fi(r.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:null!==(e=r.multipleTypeDefinitions)&&void 0!==e?e:fi(r.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:null!==(s=r.multipleDeclarations)&&void 0!==s?s:fi(r.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:null!==(n=r.multipleImplementations)&&void 0!==n?n:fi(r.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:null!==(o=r.multipleReferences)&&void 0!==o?o:fi(r.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:di.string(r.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:di.string(r.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:di.string(r.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:di.string(r.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:di.string(r.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}),hideCursorInOverviewRuler:_i(new hi(59,"hideCursorInOverviewRuler",!1,{description:rt(0,"Controls whether the cursor should be hidden in the overview ruler.")})),hover:_i(new class extends ii{constructor(){const t={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",t,{"editor.hover.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:t.delay,minimum:0,maximum:1e4,description:rt(0,"Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:t.sticky,description:rt(0,"Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:t.hidingDelay,description:rt(0,"Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:t.above,description:rt(0,"Prefer showing hovers above the line, if there's space.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),delay:ai.clampedInt(i.delay,this.defaultValue.delay,0,1e4),sticky:ri(i.sticky,this.defaultValue.sticky),hidingDelay:ai.clampedInt(i.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:ri(i.above,this.defaultValue.above)}}}),inDiffEditor:_i(new hi(61,"inDiffEditor",!1)),letterSpacing:_i(new ui(63,"letterSpacing",Oi.letterSpacing,(t=>ui.clamp(t,-5,20)),{description:rt(0,"Controls the letter spacing in pixels.")})),lightbulb:_i(new class extends ii{constructor(){const t={enabled:!0,experimental:{showAiIcon:wi.Off}};super(64,"lightbulb",t,{"editor.lightbulb.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Enables the Code Action lightbulb in the editor.")},"editor.lightbulb.experimental.showAiIcon":{type:"string",enum:[wi.Off,wi.OnCode,wi.On],default:t.experimental.showAiIcon,enumDescriptions:[rt(0,"Don not show the AI icon."),rt(0,"Show an AI icon when the code action menu contains an AI action, but only on code."),rt(0,"Show an AI icon when the code action menu contains an AI action, on code and empty lines.")],description:rt(0,"Show an AI icon along with the lightbulb when the code action menu contains an AI action.")}})}validate(t){var i,e;if(!t||"object"!=typeof t)return this.defaultValue;const s=t;return{enabled:ri(s.enabled,this.defaultValue.enabled),experimental:{showAiIcon:fi(null===(i=s.experimental)||void 0===i?void 0:i.showAiIcon,null===(e=this.defaultValue.experimental)||void 0===e?void 0:e.showAiIcon,[wi.Off,wi.OnCode,wi.On])}}}}),lineDecorationsWidth:_i(new class extends ii{constructor(){super(65,"lineDecorationsWidth",10)}validate(t){return"string"==typeof t&&/^\d+(\.\d+)?ch$/.test(t)?-parseFloat(t.substring(0,t.length-2)):ai.clampedInt(t,this.defaultValue,0,1e3)}compute(t,i,e){return e<0?ai.clampedInt(-e*t.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):e}}),lineHeight:_i(new class extends ui{constructor(){super(66,"lineHeight",Oi.lineHeight,(t=>ui.clamp(t,0,150)),{markdownDescription:rt(0,"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(t,i,e){return t.fontInfo.lineHeight}}),lineNumbers:_i(new class extends ii{constructor(){super(67,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[rt(0,"Line numbers are not rendered."),rt(0,"Line numbers are rendered as absolute number."),rt(0,"Line numbers are rendered as distance in lines to cursor position."),rt(0,"Line numbers are rendered every 10 lines.")],default:"on",description:rt(0,"Controls the display of line numbers.")})}validate(t){let i=this.defaultValue.renderType,e=this.defaultValue.renderFn;return void 0!==t&&("function"==typeof t?(i=4,e=t):i="interval"===t?3:"relative"===t?2:"on"===t?1:0),{renderType:i,renderFn:e}}}),lineNumbersMinChars:_i(new ai(68,"lineNumbersMinChars",5,1,300)),linkedEditing:_i(new hi(69,"linkedEditing",!1,{description:rt(0,"Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:_i(new hi(70,"links",!0,{description:rt(0,"Controls whether the editor should detect links and make them clickable.")})),matchBrackets:_i(new pi(71,"matchBrackets","always",["always","near","never"],{description:rt(0,"Highlight matching brackets.")})),minimap:_i(new class extends ii{constructor(){const t={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1};super(72,"minimap",t,{"editor.minimap.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:t.autohide,description:rt(0,"Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[rt(0,"The minimap has the same size as the editor contents (and might scroll)."),rt(0,"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),rt(0,"The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:t.size,description:rt(0,"Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:t.side,description:rt(0,"Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:t.showSlider,description:rt(0,"Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:t.scale,minimum:1,maximum:3,enum:[1,2,3],description:rt(0,"Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:t.renderCharacters,description:rt(0,"Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:t.maxColumn,description:rt(0,"Limit the width of the minimap to render at most a certain number of columns.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),autohide:ri(i.autohide,this.defaultValue.autohide),size:fi(i.size,this.defaultValue.size,["proportional","fill","fit"]),side:fi(i.side,this.defaultValue.side,["right","left"]),showSlider:fi(i.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:ri(i.renderCharacters,this.defaultValue.renderCharacters),scale:ai.clampedInt(i.scale,1,1,3),maxColumn:ai.clampedInt(i.maxColumn,this.defaultValue.maxColumn,1,1e4)}}}),mouseStyle:_i(new pi(73,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:_i(new ui(74,"mouseWheelScrollSensitivity",1,(t=>0===t?1:t),{markdownDescription:rt(0,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:_i(new hi(75,"mouseWheelZoom",!1,{markdownDescription:rt(0,"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:_i(new hi(76,"multiCursorMergeOverlapping",!0,{description:rt(0,"Merge multiple cursors when they are overlapping.")})),multiCursorModifier:_i(new gi(77,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],(function(t){return"ctrlCmd"===t?St?"metaKey":"ctrlKey":"altKey"}),{markdownEnumDescriptions:[rt(0,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),rt(0,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:rt(0,"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:_i(new pi(78,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[rt(0,"Each cursor pastes a single line of the text."),rt(0,"Each cursor pastes the full text.")],markdownDescription:rt(0,"Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:_i(new ai(79,"multiCursorLimit",1e4,1,1e5,{markdownDescription:rt(0,"Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:_i(new pi(80,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[rt(0,"Does not highlight occurrences."),rt(0,"Highlights occurrences only in the current file."),rt(0,"Experimental: Highlights occurrences across all valid open files.")],markdownDescription:rt(0,"Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:_i(new hi(81,"overviewRulerBorder",!0,{description:rt(0,"Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:_i(new ai(82,"overviewRulerLanes",3,0,3)),padding:_i(new class extends ii{constructor(){super(83,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:rt(0,"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:rt(0,"Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{top:ai.clampedInt(i.top,0,0,1e3),bottom:ai.clampedInt(i.bottom,0,0,1e3)}}}),pasteAs:_i(new class extends ii{constructor(){const t={enabled:!0,showPasteSelector:"afterPaste"};super(84,"pasteAs",t,{"editor.pasteAs.enabled":{type:"boolean",default:t.enabled,markdownDescription:rt(0,"Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:rt(0,"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:[rt(0,"Show the paste selector widget after content is pasted into the editor."),rt(0,"Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),showPasteSelector:fi(i.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}),parameterHints:_i(new class extends ii{constructor(){const t={enabled:!0,cycle:!0};super(85,"parameterHints",t,{"editor.parameterHints.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:t.cycle,description:rt(0,"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),cycle:ri(i.cycle,this.defaultValue.cycle)}}}),peekWidgetDefaultFocus:_i(new pi(86,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[rt(0,"Focus the tree when opening peek"),rt(0,"Focus the editor when opening peek")],description:rt(0,"Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:_i(new hi(87,"definitionLinkOpensInPeek",!1,{description:rt(0,"Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:_i(new class extends ii{constructor(){const t={other:"on",comments:"off",strings:"off"},i=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[rt(0,"Quick suggestions show inside the suggest widget"),rt(0,"Quick suggestions show as ghost text"),rt(0,"Quick suggestions are disabled")]}];super(88,"quickSuggestions",t,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:i,default:t.strings,description:rt(0,"Enable quick suggestions inside strings.")},comments:{anyOf:i,default:t.comments,description:rt(0,"Enable quick suggestions inside comments.")},other:{anyOf:i,default:t.other,description:rt(0,"Enable quick suggestions outside of strings and comments.")}},default:t,markdownDescription:rt(0,"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=t}validate(t){if("boolean"==typeof t){const i=t?"on":"off";return{comments:i,strings:i,other:i}}if(!t||"object"!=typeof t)return this.defaultValue;const{other:i,comments:e,strings:s}=t,n=["on","inline","off"];let o,r,h;return o="boolean"==typeof i?i?"on":"off":fi(i,this.defaultValue.other,n),r="boolean"==typeof e?e?"on":"off":fi(e,this.defaultValue.comments,n),h="boolean"==typeof s?s?"on":"off":fi(s,this.defaultValue.strings,n),{other:o,comments:r,strings:h}}}),quickSuggestionsDelay:_i(new ai(89,"quickSuggestionsDelay",10,0,1073741824,{description:rt(0,"Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:_i(new hi(90,"readOnly",!1)),readOnlyMessage:_i(new class extends ii{constructor(){super(91,"readOnlyMessage",void 0)}validate(t){return t&&"object"==typeof t?t:this.defaultValue}}),renameOnType:_i(new hi(92,"renameOnType",!1,{description:rt(0,"Controls whether the editor auto renames on type."),markdownDeprecationMessage:rt(0,"Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:_i(new hi(93,"renderControlCharacters",!0,{description:rt(0,"Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:_i(new pi(94,"renderFinalNewline",Dt?"dimmed":"on",["off","on","dimmed"],{description:rt(0,"Render last line number when the file ends with a newline.")})),renderLineHighlight:_i(new pi(95,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",rt(0,"Highlights both the gutter and the current line.")],description:rt(0,"Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:_i(new hi(96,"renderLineHighlightOnlyWhenFocus",!1,{description:rt(0,"Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:_i(new pi(97,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:_i(new pi(98,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",rt(0,"Render whitespace characters except for single spaces between words."),rt(0,"Render whitespace characters only on selected text."),rt(0,"Render only trailing whitespace characters."),""],description:rt(0,"Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:_i(new ai(99,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:_i(new hi(100,"roundedSelection",!0,{description:rt(0,"Controls whether selections should have rounded corners.")})),rulers:_i(new class extends ii{constructor(){const t=[],i={type:"number",description:rt(0,"Number of monospace characters at which this editor ruler will render.")};super(101,"rulers",t,{type:"array",items:{anyOf:[i,{type:["object"],properties:{column:i,color:{type:"string",description:rt(0,"Color of this editor ruler."),format:"color-hex"}}}]},default:t,description:rt(0,"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(t){if(Array.isArray(t)){const i=[];for(const e of t)if("number"==typeof e)i.push({column:ai.clampedInt(e,0,0,1e4),color:null});else if(e&&"object"==typeof e){const t=e;i.push({column:ai.clampedInt(t.column,0,0,1e4),color:t.color})}return i.sort(((t,i)=>t.column-i.column)),i}return this.defaultValue}}),scrollbar:_i(new class extends ii{constructor(){const t={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(102,"scrollbar",t,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[rt(0,"The vertical scrollbar will be visible only when necessary."),rt(0,"The vertical scrollbar will always be visible."),rt(0,"The vertical scrollbar will always be hidden.")],default:"auto",description:rt(0,"Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[rt(0,"The horizontal scrollbar will be visible only when necessary."),rt(0,"The horizontal scrollbar will always be visible."),rt(0,"The horizontal scrollbar will always be hidden.")],default:"auto",description:rt(0,"Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:t.verticalScrollbarSize,description:rt(0,"The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:t.horizontalScrollbarSize,description:rt(0,"The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:t.scrollByPage,description:rt(0,"Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:t.ignoreHorizontalScrollbarInContentHeight,description:rt(0,"When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t,e=ai.clampedInt(i.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),s=ai.clampedInt(i.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:ai.clampedInt(i.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:Ci(i.vertical,this.defaultValue.vertical),horizontal:Ci(i.horizontal,this.defaultValue.horizontal),useShadows:ri(i.useShadows,this.defaultValue.useShadows),verticalHasArrows:ri(i.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:ri(i.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:ri(i.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:ri(i.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:e,horizontalSliderSize:ai.clampedInt(i.horizontalSliderSize,e,0,1e3),verticalScrollbarSize:s,verticalSliderSize:ai.clampedInt(i.verticalSliderSize,s,0,1e3),scrollByPage:ri(i.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:ri(i.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}),scrollBeyondLastColumn:_i(new ai(103,"scrollBeyondLastColumn",4,0,1073741824,{description:rt(0,"Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:_i(new hi(104,"scrollBeyondLastLine",!0,{description:rt(0,"Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:_i(new hi(105,"scrollPredominantAxis",!0,{description:rt(0,"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:_i(new hi(106,"selectionClipboard",!0,{description:rt(0,"Controls whether the Linux primary clipboard should be supported."),included:Dt})),selectionHighlight:_i(new hi(107,"selectionHighlight",!0,{description:rt(0,"Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:_i(new hi(108,"selectOnLineNumbers",!0)),showFoldingControls:_i(new pi(109,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[rt(0,"Always show the folding controls."),rt(0,"Never show the folding controls and reduce the gutter size."),rt(0,"Only show the folding controls when the mouse is over the gutter.")],description:rt(0,"Controls when the folding controls on the gutter are shown.")})),showUnused:_i(new hi(110,"showUnused",!0,{description:rt(0,"Controls fading out of unused code.")})),showDeprecated:_i(new hi(138,"showDeprecated",!0,{description:rt(0,"Controls strikethrough deprecated variables.")})),inlayHints:_i(new class extends ii{constructor(){const t={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(139,"inlayHints",t,{"editor.inlayHints.enabled":{type:"string",default:t.enabled,description:rt(0,"Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[rt(0,"Inlay hints are enabled"),rt(0,"Inlay hints are showing by default and hide when holding {0}",St?"Ctrl+Option":"Ctrl+Alt"),rt(0,"Inlay hints are hidden by default and show when holding {0}",St?"Ctrl+Option":"Ctrl+Alt"),rt(0,"Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:t.fontSize,markdownDescription:rt(0,"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:t.fontFamily,markdownDescription:rt(0,"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:t.padding,description:rt(0,"Enables the padding around the inlay hints in the editor.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return"boolean"==typeof i.enabled&&(i.enabled=i.enabled?"on":"off"),{enabled:fi(i.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:ai.clampedInt(i.fontSize,this.defaultValue.fontSize,0,100),fontFamily:di.string(i.fontFamily,this.defaultValue.fontFamily),padding:ri(i.padding,this.defaultValue.padding)}}}),snippetSuggestions:_i(new pi(111,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[rt(0,"Show snippet suggestions on top of other suggestions."),rt(0,"Show snippet suggestions below other suggestions."),rt(0,"Show snippets suggestions with other suggestions."),rt(0,"Do not show snippet suggestions.")],description:rt(0,"Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:_i(new class extends ii{constructor(){super(112,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:rt(0,"Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:rt(0,"Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(t){return t&&"object"==typeof t?{selectLeadingAndTrailingWhitespace:ri(t.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:ri(t.selectSubwords,this.defaultValue.selectSubwords)}:this.defaultValue}}),smoothScrolling:_i(new hi(113,"smoothScrolling",!1,{description:rt(0,"Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:_i(new ai(116,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:_i(new class extends ii{constructor(){const t={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(117,"suggest",t,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[rt(0,"Insert suggestion without overwriting text right of the cursor."),rt(0,"Insert suggestion and overwrite text right of the cursor.")],default:t.insertMode,description:rt(0,"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:t.filterGraceful,description:rt(0,"Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:t.localityBonus,description:rt(0,"Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:t.shareSuggestSelections,markdownDescription:rt(0,"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:[rt(0,"Always select a suggestion when automatically triggering IntelliSense."),rt(0,"Never select a suggestion when automatically triggering IntelliSense."),rt(0,"Select a suggestion only when triggering IntelliSense from a trigger character."),rt(0,"Select a suggestion only when triggering IntelliSense as you type.")],default:t.selectionMode,markdownDescription:rt(0,"Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions (`#editor.quickSuggestions#` and `#editor.suggestOnTriggerCharacters#`) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:t.snippetsPreventQuickSuggestions,description:rt(0,"Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:t.showIcons,description:rt(0,"Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:t.showStatusBar,description:rt(0,"Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:t.preview,description:rt(0,"Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:t.showInlineDetails,description:rt(0,"Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:rt(0,"This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:rt(0,"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:rt(0,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:rt(0,"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:rt(0,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{insertMode:fi(i.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:ri(i.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:ri(i.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:ri(i.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:ri(i.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:fi(i.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:ri(i.showIcons,this.defaultValue.showIcons),showStatusBar:ri(i.showStatusBar,this.defaultValue.showStatusBar),preview:ri(i.preview,this.defaultValue.preview),previewMode:fi(i.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:ri(i.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:ri(i.showMethods,this.defaultValue.showMethods),showFunctions:ri(i.showFunctions,this.defaultValue.showFunctions),showConstructors:ri(i.showConstructors,this.defaultValue.showConstructors),showDeprecated:ri(i.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:ri(i.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:ri(i.showFields,this.defaultValue.showFields),showVariables:ri(i.showVariables,this.defaultValue.showVariables),showClasses:ri(i.showClasses,this.defaultValue.showClasses),showStructs:ri(i.showStructs,this.defaultValue.showStructs),showInterfaces:ri(i.showInterfaces,this.defaultValue.showInterfaces),showModules:ri(i.showModules,this.defaultValue.showModules),showProperties:ri(i.showProperties,this.defaultValue.showProperties),showEvents:ri(i.showEvents,this.defaultValue.showEvents),showOperators:ri(i.showOperators,this.defaultValue.showOperators),showUnits:ri(i.showUnits,this.defaultValue.showUnits),showValues:ri(i.showValues,this.defaultValue.showValues),showConstants:ri(i.showConstants,this.defaultValue.showConstants),showEnums:ri(i.showEnums,this.defaultValue.showEnums),showEnumMembers:ri(i.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:ri(i.showKeywords,this.defaultValue.showKeywords),showWords:ri(i.showWords,this.defaultValue.showWords),showColors:ri(i.showColors,this.defaultValue.showColors),showFiles:ri(i.showFiles,this.defaultValue.showFiles),showReferences:ri(i.showReferences,this.defaultValue.showReferences),showFolders:ri(i.showFolders,this.defaultValue.showFolders),showTypeParameters:ri(i.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:ri(i.showSnippets,this.defaultValue.showSnippets),showUsers:ri(i.showUsers,this.defaultValue.showUsers),showIssues:ri(i.showIssues,this.defaultValue.showIssues)}}}),inlineSuggest:_i(new class extends ii{constructor(){const t={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1};super(62,"inlineSuggest",t,{"editor.inlineSuggest.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:t.showToolbar,enum:["always","onHover","never"],enumDescriptions:[rt(0,"Show the inline suggestion toolbar whenever an inline suggestion is shown."),rt(0,"Show the inline suggestion toolbar when hovering over an inline suggestion."),rt(0,"Never show the inline suggestion toolbar.")],description:rt(0,"Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:t.suppressSuggestions,description:rt(0,"Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),mode:fi(i.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:fi(i.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:ri(i.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:ri(i.keepOnBlur,this.defaultValue.keepOnBlur)}}}),inlineCompletionsAccessibilityVerbose:_i(new hi(147,"inlineCompletionsAccessibilityVerbose",!1,{description:rt(0,"Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:_i(new ai(118,"suggestFontSize",0,0,1e3,{markdownDescription:rt(0,"Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:_i(new ai(119,"suggestLineHeight",0,0,1e3,{markdownDescription:rt(0,"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:_i(new hi(120,"suggestOnTriggerCharacters",!0,{description:rt(0,"Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:_i(new pi(121,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[rt(0,"Always select the first suggestion."),rt(0,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),rt(0,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:rt(0,"Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:_i(new pi(122,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[rt(0,"Tab complete will insert the best matching suggestion when pressing tab."),rt(0,"Disable tab completions."),rt(0,"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:rt(0,"Enables tab completions.")})),tabIndex:_i(new ai(123,"tabIndex",0,-1,1073741824)),unicodeHighlight:_i(new class extends ii{constructor(){const t={nonBasicASCII:Si,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Si,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(124,"unicodeHighlight",t,{[Ai]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Si],default:t.nonBasicASCII,description:rt(0,"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.")},[Ei]:{restricted:!0,type:"boolean",default:t.invisibleCharacters,description:rt(0,"Controls whether characters that just reserve space or have no width at all are highlighted.")},[Mi]:{restricted:!0,type:"boolean",default:t.ambiguousCharacters,description:rt(0,"Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[Li]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Si],default:t.includeComments,description:rt(0,"Controls whether characters in comments should also be subject to Unicode highlighting.")},[Fi]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Si],default:t.includeStrings,description:rt(0,"Controls whether characters in strings should also be subject to Unicode highlighting.")},[Di]:{restricted:!0,type:"object",default:t.allowedCharacters,description:rt(0,"Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[Ti]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:t.allowedLocales,description:rt(0,"Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(t,i){let e=!1;i.allowedCharacters&&t&&(et(t.allowedCharacters,i.allowedCharacters)||(t={...t,allowedCharacters:i.allowedCharacters},e=!0)),i.allowedLocales&&t&&(et(t.allowedLocales,i.allowedLocales)||(t={...t,allowedLocales:i.allowedLocales},e=!0));const s=super.applyUpdate(t,i);return e?new ei(s.newValue,!0):s}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{nonBasicASCII:Ri(i.nonBasicASCII,Si,[!0,!1,Si]),invisibleCharacters:ri(i.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:ri(i.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:Ri(i.includeComments,Si,[!0,!1,Si]),includeStrings:Ri(i.includeStrings,Si,[!0,!1,Si]),allowedCharacters:this.validateBooleanMap(t.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(t.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(t,i){if("object"!=typeof t||!t)return i;const e={};for(const[i,s]of Object.entries(t))!0===s&&(e[i]=!0);return e}}),unusualLineTerminators:_i(new pi(125,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[rt(0,"Unusual line terminators are automatically removed."),rt(0,"Unusual line terminators are ignored."),rt(0,"Unusual line terminators prompt to be removed.")],description:rt(0,"Remove unusual line terminators that might cause problems.")})),useShadowDOM:_i(new hi(126,"useShadowDOM",!0)),useTabStops:_i(new hi(127,"useTabStops",!0,{description:rt(0,"Inserting and deleting whitespace follows tab stops.")})),wordBreak:_i(new pi(128,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[rt(0,"Use the default line break rule."),rt(0,"Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:rt(0,"Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSeparators:_i(new di(129,"wordSeparators",Kt,{description:rt(0,"Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:_i(new pi(130,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[rt(0,"Lines will never wrap."),rt(0,"Lines will wrap at the viewport width."),rt(0,"Lines will wrap at `#editor.wordWrapColumn#`."),rt(0,"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:rt(0,"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:_i(new di(131,"wordWrapBreakAfterCharacters"," \t})]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:_i(new di(132,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:_i(new ai(133,"wordWrapColumn",80,1,1073741824,{markdownDescription:rt(0,"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:_i(new pi(134,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:_i(new pi(135,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:_i(new class extends ni{constructor(){super(140)}compute(t,i,e){const s=["monaco-editor"];return i.get(39)&&s.push(i.get(39)),t.extraEditorClassName&&s.push(t.extraEditorClassName),"default"===i.get(73)?s.push("mouse-default"):"copy"===i.get(73)&&s.push("mouse-copy"),i.get(110)&&s.push("showUnused"),i.get(138)&&s.push("showDeprecated"),s.join(" ")}}),defaultColorDecorators:_i(new hi(145,"defaultColorDecorators",!1,{markdownDescription:rt(0,"Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:_i(new class extends ni{constructor(){super(141)}compute(t,i,e){return t.pixelRatio}}),tabFocusMode:_i(new hi(142,"tabFocusMode",!1,{markdownDescription:rt(0,"Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:_i(new ki),wrappingInfo:_i(new class extends ni{constructor(){super(144)}compute(t,i,e){const s=i.get(143);return{isDominatedByLongLines:t.isDominatedByLongLines,isWordWrapMinified:s.isWordWrapMinified,isViewportWrapping:s.isViewportWrapping,wrappingColumn:s.wrappingColumn}}}),wrappingIndent:_i(new class extends ii{constructor(){super(136,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[rt(0,"No indentation. Wrapped lines begin at column 1."),rt(0,"Wrapped lines get the same indentation as the parent."),rt(0,"Wrapped lines get +1 indentation toward the parent."),rt(0,"Wrapped lines get +2 indentation toward the parent.")],description:rt(0,"Controls the indentation of wrapped lines."),default:"same"}})}validate(t){switch(t){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(t,i,e){return 2===i.get(2)?0:e}}),wrappingStrategy:_i(new class extends ii{constructor(){super(137,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[rt(0,"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."),rt(0,"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:rt(0,"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(t){return fi(t,"simple",["simple","advanced"])}compute(t,i,e){return 2===i.get(2)?"advanced":e}})},Bi=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout((()=>{if(t.stack){if(Ki.isErrorNoTelemetry(t))throw new Ki(t.message+"\n\n"+t.stack);throw new Error(t.message+"\n\n"+t.stack)}throw t}),0)}}emit(t){this.listeners.forEach((i=>{i(t)}))}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}};function Pi(t){zi(t)||Bi.onUnexpectedError(t)}function $i(t){zi(t)||Bi.onUnexpectedExternalError(t)}function Wi(t){if(t instanceof Error){const{name:i,message:e}=t;return{$isError:!0,name:i,message:e,stack:t.stacktrace||t.stack,noTelemetry:Ki.isErrorNoTelemetry(t)}}return t}const ji="Canceled";function zi(t){return t instanceof Hi||t instanceof Error&&t.name===ji&&t.message===ji}class Hi extends Error{constructor(){super(ji),this.name=this.message}}function Vi(t){return t?new Error(`Illegal argument: ${t}`):new Error("Illegal argument")}function Ui(t){return t?new Error(`Illegal state: ${t}`):new Error("Illegal state")}class qi extends Error{constructor(t){super("NotSupported"),t&&(this.message=t)}}class Ki extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof Ki)return t;const i=new Ki;return i.message=t.message,i.stack=t.stack,i}static isErrorNoTelemetry(t){return"CodeExpectedError"===t.name}}class Gi extends Error{constructor(t){super(t||"An unexpected bug occurred."),Object.setPrototypeOf(this,Gi.prototype)}}function Zi(t,i){const e=this;let s,n=!1;return function(){if(n)return s;if(n=!0,i)try{s=t.apply(e,arguments)}finally{i()}else s=t.apply(e,arguments);return s}}function Qi(t){return"function"==typeof t.dispose&&0===t.dispose.length}function Ji(t){if(Vt.is(t)){const i=[];for(const e of t)if(e)try{e.dispose()}catch(t){i.push(t)}if(1===i.length)throw i[0];if(i.length>1)throw new AggregateError(i,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}if(t)return t.dispose(),t}function Yi(...t){return Xi((()=>Ji(t)))}function Xi(t){return{dispose:Zi((()=>{t()}))}}class te{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{Ji(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?te.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}deleteAndLeak(t){t&&this._toDispose.has(t)&&this._toDispose.delete(t)}}te.DISABLE_DISPOSED_WARNING=!1;class ie{constructor(){this._store=new te}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}ie.None=Object.freeze({dispose(){}});class ee{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(t){var i;this._isDisposed||t===this._value||(null===(i=this._value)||void 0===i||i.dispose(),this._value=t)}clear(){this.value=void 0}dispose(){var t;this._isDisposed=!0,null===(t=this._value)||void 0===t||t.dispose(),this._value=void 0}}class se{constructor(t){this._disposable=t,this._counter=1}acquire(){return this._counter++,this}release(){return 0==--this._counter&&this._disposable.dispose(),this}}class ne{constructor(t){this.object=t}dispose(){}}class oe{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{Ji(this._store.values())}finally{this._store.clear()}}get(t){return this._store.get(t)}set(t,i,e=!1){var s;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),e||null===(s=this._store.get(t))||void 0===s||s.dispose(),this._store.set(t,i)}deleteAndDispose(t){var i;null===(i=this._store.get(t))||void 0===i||i.dispose(),this._store.delete(t)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}const re=globalThis.performance&&"function"==typeof globalThis.performance.now;class he{static create(t){return new he(t)}constructor(t){this._now=re&&!1===t?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}var ce;!function(t){function i(t){return(i,e=null,s)=>{let n,o=!1;return n=t((t=>{if(!o)return n?n.dispose():o=!0,i.call(e,t)}),null,s),o&&n.dispose(),n}}function e(t,i,e){return n(((e,s=null,n)=>t((t=>e.call(s,i(t))),null,n)),e)}function s(t,i,e){return n(((e,s=null,n)=>t((t=>i(t)&&e.call(s,t)),null,n)),e)}function n(t,i){let e;const s=new fe({onWillAddFirstListener(){e=t(s.fire,s)},onDidRemoveLastListener(){null==e||e.dispose()}});return null==i||i.add(s),s.event}function o(t,i,e=100,s=!1,n=!1,o,r){let h,c,a,l,u=0;const d=new fe({leakWarningThreshold:o,onWillAddFirstListener(){h=t((t=>{u++,c=i(c,t),s&&!a&&(d.fire(c),c=void 0),l=()=>{const t=c;c=void 0,a=void 0,(!s||u>1)&&d.fire(t),u=0},"number"==typeof e?(clearTimeout(a),a=setTimeout(l,e)):void 0===a&&(a=0,queueMicrotask(l))}))},onWillRemoveListener(){n&&u>0&&(null==l||l())},onDidRemoveLastListener(){l=void 0,h.dispose()}});return null==r||r.add(d),d.event}t.None=()=>ie.None,t.defer=function(t,i){return o(t,(()=>{}),0,void 0,!0,void 0,i)},t.once=i,t.map=e,t.forEach=function(t,i,e){return n(((e,s=null,n)=>t((t=>{i(t),e.call(s,t)}),null,n)),e)},t.filter=s,t.signal=function(t){return t},t.any=function(...t){return(i,e=null,s)=>{return n=Yi(...t.map((t=>t((t=>i.call(e,t)))))),(o=s)instanceof Array?o.push(n):o&&o.add(n),n;var n,o}},t.reduce=function(t,i,s,n){let o=s;return e(t,(t=>(o=i(o,t),o)),n)},t.debounce=o,t.accumulate=function(i,e=0,s){return t.debounce(i,((t,i)=>t?(t.push(i),t):[i]),e,void 0,!0,void 0,s)},t.latch=function(t,i=((t,i)=>t===i),e){let n,o=!0;return s(t,(t=>{const e=o||!i(t,n);return o=!1,n=t,e}),e)},t.split=function(i,e,s){return[t.filter(i,e,s),t.filter(i,(t=>!e(t)),s)]},t.buffer=function(t,i=!1,e=[],s){let n=e.slice(),o=t((t=>{n?n.push(t):h.fire(t)}));s&&s.add(o);const r=()=>{null==n||n.forEach((t=>h.fire(t))),n=null},h=new fe({onWillAddFirstListener(){o||(o=t((t=>h.fire(t))),s&&s.add(o))},onDidAddFirstListener(){n&&(i?setTimeout(r):r())},onDidRemoveLastListener(){o&&o.dispose(),o=null}});return s&&s.add(h),h.event},t.chain=function(t,i){return(e,s,n)=>{const o=i(new h);return t((function(t){const i=o.evaluate(t);i!==r&&e.call(s,i)}),void 0,n)}};const r=Symbol("HaltChainable");class h{constructor(){this.steps=[]}map(t){return this.steps.push(t),this}forEach(t){return this.steps.push((i=>(t(i),i))),this}filter(t){return this.steps.push((i=>t(i)?i:r)),this}reduce(t,i){let e=i;return this.steps.push((i=>(e=t(e,i),e))),this}latch(t=((t,i)=>t===i)){let i,e=!0;return this.steps.push((s=>{const n=e||!t(s,i);return e=!1,i=s,n?s:r})),this}evaluate(t){for(const i of this.steps)if((t=i(t))===r)break;return t}}t.fromNodeEventEmitter=function(t,i,e=(t=>t)){const s=(...t)=>n.fire(e(...t)),n=new fe({onWillAddFirstListener:()=>t.on(i,s),onDidRemoveLastListener:()=>t.removeListener(i,s)});return n.event},t.fromDOMEventEmitter=function(t,i,e=(t=>t)){const s=(...t)=>n.fire(e(...t)),n=new fe({onWillAddFirstListener:()=>t.addEventListener(i,s),onDidRemoveLastListener:()=>t.removeEventListener(i,s)});return n.event},t.toPromise=function(t){return new Promise((e=>i(t)(e)))},t.fromPromise=function(t){const i=new fe;return t.then((t=>{i.fire(t)}),(()=>{i.fire(void 0)})).finally((()=>{i.dispose()})),i.event},t.runAndSubscribe=function(t,i,e){return i(e),t((t=>i(t)))},t.runAndSubscribeWithStore=function(t,i){let e=null;function s(t){null==e||e.dispose(),e=new te,i(t,e)}s(void 0);const n=t((t=>s(t)));return Xi((()=>{n.dispose(),null==e||e.dispose()}))};class c{constructor(t,i){this._observable=t,this._counter=0,this._hasChanged=!1,this.emitter=new fe({onWillAddFirstListener:()=>{t.addObserver(this)},onDidRemoveLastListener:()=>{t.removeObserver(this)}}),i&&i.add(this.emitter)}beginUpdate(t){this._counter++}handlePossibleChange(t){}handleChange(t,i){this._hasChanged=!0}endUpdate(t){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}t.fromObservable=function(t,i){return new c(t,i).emitter.event},t.fromObservableLight=function(t){return(i,e,s)=>{let n=0,o=!1;const r={beginUpdate(){n++},endUpdate(){n--,0===n&&(t.reportChanges(),o&&(o=!1,i.call(e)))},handlePossibleChange(){},handleChange(){o=!0}};t.addObserver(r),t.reportChanges();const h={dispose(){t.removeObserver(r)}};return s instanceof te?s.add(h):Array.isArray(s)&&s.push(h),h}}}(ce||(ce={}));class ae{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${ae._idPool++}`,ae.all.add(this)}start(t){this._stopWatch=new he,this.listenerCount=t}stop(){if(this._stopWatch){const t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}}ae.all=new Set,ae._idPool=0;class le{constructor(t,i=Math.random().toString(18).slice(2,5)){this.threshold=t,this.name=i,this._warnCountdown=0}dispose(){var t;null===(t=this._stacks)||void 0===t||t.clear()}check(t,i){const e=this.threshold;if(e<=0||i{const i=this._stacks.get(t.value)||0;this._stacks.set(t.value,i-1)}}}class ue{static create(){var t;return new ue(null!==(t=(new Error).stack)&&void 0!==t?t:"")}constructor(t){this.value=t}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}}class de{constructor(t){this.value=t}}class fe{constructor(t){var i,e,s,n,o;this._size=0,this._options=t,this._leakageMon=(null===(i=this._options)||void 0===i?void 0:i.leakWarningThreshold)?new le(null!==(s=null===(e=this._options)||void 0===e?void 0:e.leakWarningThreshold)&&void 0!==s?s:-1):void 0,this._perfMon=(null===(n=this._options)||void 0===n?void 0:n._profName)?new ae(this._options._profName):void 0,this._deliveryQueue=null===(o=this._options)||void 0===o?void 0:o.deliveryQueue}dispose(){var t,i,e,s;this._disposed||(this._disposed=!0,(null===(t=this._deliveryQueue)||void 0===t?void 0:t.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),null===(e=null===(i=this._options)||void 0===i?void 0:i.onDidRemoveLastListener)||void 0===e||e.call(i),null===(s=this._leakageMon)||void 0===s||s.dispose())}get event(){var t;return null!==(t=this._event)&&void 0!==t||(this._event=(t,i,e)=>{var s,n,o,r,h;if(this._leakageMon&&this._size>3*this._leakageMon.threshold)return console.warn(`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far`),ie.None;if(this._disposed)return ie.None;i&&(t=t.bind(i));const c=new de(t);let a;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(c.stack=ue.create(),a=this._leakageMon.check(c.stack,this._size+1)),this._listeners?this._listeners instanceof de?(null!==(h=this._deliveryQueue)&&void 0!==h||(this._deliveryQueue=new pe),this._listeners=[this._listeners,c]):this._listeners.push(c):(null===(n=null===(s=this._options)||void 0===s?void 0:s.onWillAddFirstListener)||void 0===n||n.call(s,this),this._listeners=c,null===(r=null===(o=this._options)||void 0===o?void 0:o.onDidAddFirstListener)||void 0===r||r.call(o,this)),this._size++;const l=Xi((()=>{null==a||a(),this._removeListener(c)}));return e instanceof te?e.add(l):Array.isArray(e)&&e.push(l),l}),this._event}_removeListener(t){var i,e,s,n;if(null===(e=null===(i=this._options)||void 0===i?void 0:i.onWillRemoveListener)||void 0===e||e.call(i,this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,null===(n=null===(s=this._options)||void 0===s?void 0:s.onDidRemoveLastListener)||void 0===n||n.call(s,this),void(this._size=0);const o=this._listeners,r=o.indexOf(t);if(-1===r)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--,o[r]=void 0;const h=this._deliveryQueue.current===this;if(2*this._size<=o.length){let t=0;for(let i=0;i0}}class pe{constructor(){this.i=-1,this.end=0}enqueue(t,i,e){this.i=0,this.end=e,this.current=t,this.value=i}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class ge extends fe{constructor(t){super(t),this._isPaused=0,this._eventQueue=new qt,this._mergeFn=null==t?void 0:t.merge}pause(){this._isPaused++}resume(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){if(this._eventQueue.size>0){const t=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(t))}}else for(;!this._isPaused&&0!==this._eventQueue.size;)super.fire(this._eventQueue.shift())}fire(t){this._size&&(0!==this._isPaused?this._eventQueue.push(t):super.fire(t))}}class me extends ge{constructor(t){var i;super(t),this._delay=null!==(i=t.delay)&&void 0!==i?i:100}fire(t){this._handle||(this.pause(),this._handle=setTimeout((()=>{this._handle=void 0,this.resume()}),this._delay)),super.fire(t)}}class we extends fe{constructor(t){super(t),this._queuedEvents=[],this._mergeFn=null==t?void 0:t.merge}fire(t){this.hasListeners()&&(this._queuedEvents.push(t),1===this._queuedEvents.length&&queueMicrotask((()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach((t=>super.fire(t))),this._queuedEvents=[]})))}}class ve{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new fe({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(t){const i={event:t,listener:null};return this.events.push(i),this.hasListeners&&this.hook(i),Xi(Zi((()=>{this.hasListeners&&this.unhook(i);const t=this.events.indexOf(i);this.events.splice(t,1)})))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach((t=>this.hook(t)))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach((t=>this.unhook(t)))}hook(t){t.listener=t.event((t=>this.emitter.fire(t)))}unhook(t){t.listener&&t.listener.dispose(),t.listener=null}dispose(){this.emitter.dispose()}}class be{constructor(){this.buffers=[]}wrapEvent(t){return(i,e,s)=>t((t=>{const s=this.buffers[this.buffers.length-1];s?s.push((()=>i.call(e,t))):i.call(e,t)}),void 0,s)}bufferEvents(t){const i=[];this.buffers.push(i);const e=t();return this.buffers.pop(),i.forEach((t=>t())),e}}class ye{constructor(){this.listening=!1,this.inputEvent=ce.None,this.inputEventListener=ie.None,this.emitter=new fe({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(t){this.inputEvent=t,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=t(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const ke=Object.freeze((function(t,i){const e=setTimeout(t.bind(i),0);return{dispose(){clearTimeout(e)}}}));var xe;!function(t){t.isCancellationToken=function(i){return i===t.None||i===t.Cancelled||i instanceof Ce||!(!i||"object"!=typeof i)&&"boolean"==typeof i.isCancellationRequested&&"function"==typeof i.onCancellationRequested},t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ce.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:ke})}(xe||(xe={}));class Ce{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?ke:(this._emitter||(this._emitter=new fe),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Se{constructor(t){this._token=void 0,this._parentListener=void 0,this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Ce),this._token}cancel(){this._token?this._token instanceof Ce&&this._token.cancel():this._token=xe.Cancelled}dispose(t=!1){var i;t&&this.cancel(),null===(i=this._parentListener)||void 0===i||i.dispose(),this._token?this._token instanceof Ce&&this._token.dispose():this._token=xe.None}}class De{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,i){this._keyCodeToStr[t]=i,this._strToKeyCode[i.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const Ee=new De,Ae=new De,Me=new De,Le=new Array(230),Fe={},Te=[],Re=Object.create(null),Oe=Object.create(null),Ie=[],_e=[];for(let t=0;t<=193;t++)Ie[t]=-1;for(let t=0;t<=132;t++)_e[t]=-1;var Ne;function Be(t,i){return(t|(65535&i)<<16>>>0)>>>0}let Pe;!function(){const t="",i=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",t,t],[1,1,"Hyper",0,t,0,t,t,t],[1,2,"Super",0,t,0,t,t,t],[1,3,"Fn",0,t,0,t,t,t],[1,4,"FnLock",0,t,0,t,t,t],[1,5,"Suspend",0,t,0,t,t,t],[1,6,"Resume",0,t,0,t,t,t],[1,7,"Turbo",0,t,0,t,t,t],[1,8,"Sleep",0,t,0,"VK_SLEEP",t,t],[1,9,"WakeUp",0,t,0,t,t,t],[0,10,"KeyA",31,"A",65,"VK_A",t,t],[0,11,"KeyB",32,"B",66,"VK_B",t,t],[0,12,"KeyC",33,"C",67,"VK_C",t,t],[0,13,"KeyD",34,"D",68,"VK_D",t,t],[0,14,"KeyE",35,"E",69,"VK_E",t,t],[0,15,"KeyF",36,"F",70,"VK_F",t,t],[0,16,"KeyG",37,"G",71,"VK_G",t,t],[0,17,"KeyH",38,"H",72,"VK_H",t,t],[0,18,"KeyI",39,"I",73,"VK_I",t,t],[0,19,"KeyJ",40,"J",74,"VK_J",t,t],[0,20,"KeyK",41,"K",75,"VK_K",t,t],[0,21,"KeyL",42,"L",76,"VK_L",t,t],[0,22,"KeyM",43,"M",77,"VK_M",t,t],[0,23,"KeyN",44,"N",78,"VK_N",t,t],[0,24,"KeyO",45,"O",79,"VK_O",t,t],[0,25,"KeyP",46,"P",80,"VK_P",t,t],[0,26,"KeyQ",47,"Q",81,"VK_Q",t,t],[0,27,"KeyR",48,"R",82,"VK_R",t,t],[0,28,"KeyS",49,"S",83,"VK_S",t,t],[0,29,"KeyT",50,"T",84,"VK_T",t,t],[0,30,"KeyU",51,"U",85,"VK_U",t,t],[0,31,"KeyV",52,"V",86,"VK_V",t,t],[0,32,"KeyW",53,"W",87,"VK_W",t,t],[0,33,"KeyX",54,"X",88,"VK_X",t,t],[0,34,"KeyY",55,"Y",89,"VK_Y",t,t],[0,35,"KeyZ",56,"Z",90,"VK_Z",t,t],[0,36,"Digit1",22,"1",49,"VK_1",t,t],[0,37,"Digit2",23,"2",50,"VK_2",t,t],[0,38,"Digit3",24,"3",51,"VK_3",t,t],[0,39,"Digit4",25,"4",52,"VK_4",t,t],[0,40,"Digit5",26,"5",53,"VK_5",t,t],[0,41,"Digit6",27,"6",54,"VK_6",t,t],[0,42,"Digit7",28,"7",55,"VK_7",t,t],[0,43,"Digit8",29,"8",56,"VK_8",t,t],[0,44,"Digit9",30,"9",57,"VK_9",t,t],[0,45,"Digit0",21,"0",48,"VK_0",t,t],[1,46,"Enter",3,"Enter",13,"VK_RETURN",t,t],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",t,t],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",t,t],[1,49,"Tab",2,"Tab",9,"VK_TAB",t,t],[1,50,"Space",10,"Space",32,"VK_SPACE",t,t],[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,t,0,t,t,t],[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",t,t],[1,64,"F1",59,"F1",112,"VK_F1",t,t],[1,65,"F2",60,"F2",113,"VK_F2",t,t],[1,66,"F3",61,"F3",114,"VK_F3",t,t],[1,67,"F4",62,"F4",115,"VK_F4",t,t],[1,68,"F5",63,"F5",116,"VK_F5",t,t],[1,69,"F6",64,"F6",117,"VK_F6",t,t],[1,70,"F7",65,"F7",118,"VK_F7",t,t],[1,71,"F8",66,"F8",119,"VK_F8",t,t],[1,72,"F9",67,"F9",120,"VK_F9",t,t],[1,73,"F10",68,"F10",121,"VK_F10",t,t],[1,74,"F11",69,"F11",122,"VK_F11",t,t],[1,75,"F12",70,"F12",123,"VK_F12",t,t],[1,76,"PrintScreen",0,t,0,t,t,t],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",t,t],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",t,t],[1,79,"Insert",19,"Insert",45,"VK_INSERT",t,t],[1,80,"Home",14,"Home",36,"VK_HOME",t,t],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",t,t],[1,82,"Delete",20,"Delete",46,"VK_DELETE",t,t],[1,83,"End",13,"End",35,"VK_END",t,t],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",t,t],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",t],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",t],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",t],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",t],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",t,t],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",t,t],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",t,t],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",t,t],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",t,t],[1,94,"NumpadEnter",3,t,0,t,t,t],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",t,t],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",t,t],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",t,t],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",t,t],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",t,t],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",t,t],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",t,t],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",t,t],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",t,t],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",t,t],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",t,t],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",t,t],[1,107,"ContextMenu",58,"ContextMenu",93,t,t,t],[1,108,"Power",0,t,0,t,t,t],[1,109,"NumpadEqual",0,t,0,t,t,t],[1,110,"F13",71,"F13",124,"VK_F13",t,t],[1,111,"F14",72,"F14",125,"VK_F14",t,t],[1,112,"F15",73,"F15",126,"VK_F15",t,t],[1,113,"F16",74,"F16",127,"VK_F16",t,t],[1,114,"F17",75,"F17",128,"VK_F17",t,t],[1,115,"F18",76,"F18",129,"VK_F18",t,t],[1,116,"F19",77,"F19",130,"VK_F19",t,t],[1,117,"F20",78,"F20",131,"VK_F20",t,t],[1,118,"F21",79,"F21",132,"VK_F21",t,t],[1,119,"F22",80,"F22",133,"VK_F22",t,t],[1,120,"F23",81,"F23",134,"VK_F23",t,t],[1,121,"F24",82,"F24",135,"VK_F24",t,t],[1,122,"Open",0,t,0,t,t,t],[1,123,"Help",0,t,0,t,t,t],[1,124,"Select",0,t,0,t,t,t],[1,125,"Again",0,t,0,t,t,t],[1,126,"Undo",0,t,0,t,t,t],[1,127,"Cut",0,t,0,t,t,t],[1,128,"Copy",0,t,0,t,t,t],[1,129,"Paste",0,t,0,t,t,t],[1,130,"Find",0,t,0,t,t,t],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",t,t],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",t,t],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",t,t],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",t,t],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",t,t],[1,136,"KanaMode",0,t,0,t,t,t],[0,137,"IntlYen",0,t,0,t,t,t],[1,138,"Convert",0,t,0,t,t,t],[1,139,"NonConvert",0,t,0,t,t,t],[1,140,"Lang1",0,t,0,t,t,t],[1,141,"Lang2",0,t,0,t,t,t],[1,142,"Lang3",0,t,0,t,t,t],[1,143,"Lang4",0,t,0,t,t,t],[1,144,"Lang5",0,t,0,t,t,t],[1,145,"Abort",0,t,0,t,t,t],[1,146,"Props",0,t,0,t,t,t],[1,147,"NumpadParenLeft",0,t,0,t,t,t],[1,148,"NumpadParenRight",0,t,0,t,t,t],[1,149,"NumpadBackspace",0,t,0,t,t,t],[1,150,"NumpadMemoryStore",0,t,0,t,t,t],[1,151,"NumpadMemoryRecall",0,t,0,t,t,t],[1,152,"NumpadMemoryClear",0,t,0,t,t,t],[1,153,"NumpadMemoryAdd",0,t,0,t,t,t],[1,154,"NumpadMemorySubtract",0,t,0,t,t,t],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",t,t],[1,156,"NumpadClearEntry",0,t,0,t,t,t],[1,0,t,5,"Ctrl",17,"VK_CONTROL",t,t],[1,0,t,4,"Shift",16,"VK_SHIFT",t,t],[1,0,t,6,"Alt",18,"VK_MENU",t,t],[1,0,t,57,"Meta",91,"VK_COMMAND",t,t],[1,157,"ControlLeft",5,t,0,"VK_LCONTROL",t,t],[1,158,"ShiftLeft",4,t,0,"VK_LSHIFT",t,t],[1,159,"AltLeft",6,t,0,"VK_LMENU",t,t],[1,160,"MetaLeft",57,t,0,"VK_LWIN",t,t],[1,161,"ControlRight",5,t,0,"VK_RCONTROL",t,t],[1,162,"ShiftRight",4,t,0,"VK_RSHIFT",t,t],[1,163,"AltRight",6,t,0,"VK_RMENU",t,t],[1,164,"MetaRight",57,t,0,"VK_RWIN",t,t],[1,165,"BrightnessUp",0,t,0,t,t,t],[1,166,"BrightnessDown",0,t,0,t,t,t],[1,167,"MediaPlay",0,t,0,t,t,t],[1,168,"MediaRecord",0,t,0,t,t,t],[1,169,"MediaFastForward",0,t,0,t,t,t],[1,170,"MediaRewind",0,t,0,t,t,t],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",t,t],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",t,t],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",t,t],[1,174,"Eject",0,t,0,t,t,t],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",t,t],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",t,t],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",t,t],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",t,t],[1,179,"LaunchApp1",0,t,0,"VK_MEDIA_LAUNCH_APP1",t,t],[1,180,"SelectTask",0,t,0,t,t,t],[1,181,"LaunchScreenSaver",0,t,0,t,t,t],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",t,t],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",t,t],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",t,t],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",t,t],[1,186,"BrowserStop",0,t,0,"VK_BROWSER_STOP",t,t],[1,187,"BrowserRefresh",0,t,0,"VK_BROWSER_REFRESH",t,t],[1,188,"BrowserFavorites",0,t,0,"VK_BROWSER_FAVORITES",t,t],[1,189,"ZoomToggle",0,t,0,t,t,t],[1,190,"MailReply",0,t,0,t,t,t],[1,191,"MailForward",0,t,0,t,t,t],[1,192,"MailSend",0,t,0,t,t,t],[1,0,t,114,"KeyInComposition",229,t,t,t],[1,0,t,116,"ABNT_C2",194,"VK_ABNT_C2",t,t],[1,0,t,96,"OEM_8",223,"VK_OEM_8",t,t],[1,0,t,0,t,0,"VK_KANA",t,t],[1,0,t,0,t,0,"VK_HANGUL",t,t],[1,0,t,0,t,0,"VK_JUNJA",t,t],[1,0,t,0,t,0,"VK_FINAL",t,t],[1,0,t,0,t,0,"VK_HANJA",t,t],[1,0,t,0,t,0,"VK_KANJI",t,t],[1,0,t,0,t,0,"VK_CONVERT",t,t],[1,0,t,0,t,0,"VK_NONCONVERT",t,t],[1,0,t,0,t,0,"VK_ACCEPT",t,t],[1,0,t,0,t,0,"VK_MODECHANGE",t,t],[1,0,t,0,t,0,"VK_SELECT",t,t],[1,0,t,0,t,0,"VK_PRINT",t,t],[1,0,t,0,t,0,"VK_EXECUTE",t,t],[1,0,t,0,t,0,"VK_SNAPSHOT",t,t],[1,0,t,0,t,0,"VK_HELP",t,t],[1,0,t,0,t,0,"VK_APPS",t,t],[1,0,t,0,t,0,"VK_PROCESSKEY",t,t],[1,0,t,0,t,0,"VK_PACKET",t,t],[1,0,t,0,t,0,"VK_DBE_SBCSCHAR",t,t],[1,0,t,0,t,0,"VK_DBE_DBCSCHAR",t,t],[1,0,t,0,t,0,"VK_ATTN",t,t],[1,0,t,0,t,0,"VK_CRSEL",t,t],[1,0,t,0,t,0,"VK_EXSEL",t,t],[1,0,t,0,t,0,"VK_EREOF",t,t],[1,0,t,0,t,0,"VK_PLAY",t,t],[1,0,t,0,t,0,"VK_ZOOM",t,t],[1,0,t,0,t,0,"VK_NONAME",t,t],[1,0,t,0,t,0,"VK_PA1",t,t],[1,0,t,0,t,0,"VK_OEM_CLEAR",t,t]],e=[],s=[];for(const t of i){const[i,n,o,r,h,c,a,l,u]=t;if(s[n]||(s[n]=!0,Te[n]=o,Re[o]=n,Oe[o.toLowerCase()]=n,i&&(Ie[n]=r,0!==r&&3!==r&&5!==r&&4!==r&&6!==r&&57!==r&&(_e[r]=n))),!e[r]){if(e[r]=!0,!h)throw new Error(`String representation missing for key code ${r} around scan code ${o}`);Ee.define(r,h),Ae.define(r,l||h),Me.define(r,u||l||h)}c&&(Le[c]=r),a&&(Fe[a]=r)}_e[3]=46}(),function(t){t.toString=function(t){return Ee.keyCodeToStr(t)},t.fromString=function(t){return Ee.strToKeyCode(t)},t.toUserSettingsUS=function(t){return Ae.keyCodeToStr(t)},t.toUserSettingsGeneral=function(t){return Me.keyCodeToStr(t)},t.fromUserSettings=function(t){return Ae.strToKeyCode(t)||Me.strToKeyCode(t)},t.toElectronAccelerator=function(t){if(t>=98&&t<=113)return null;switch(t){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Ee.keyCodeToStr(t)}}(Ne||(Ne={}));const $e=globalThis.vscode;if(void 0!==$e&&void 0!==$e.process){const t=$e.process;Pe={get platform(){return t.platform},get arch(){return t.arch},get env(){return t.env},cwd:()=>t.cwd()}}else Pe="undefined"!=typeof process?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd()}:{get platform(){return Ct?"win32":St?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const We=Pe.cwd,je=Pe.env,ze=Pe.platform,He=46,Ve=47,Ue=92,qe=58;class Ke extends Error{constructor(t,i,e){let s;"string"==typeof i&&0===i.indexOf("not ")?(s="must not be",i=i.replace(/^not /,"")):s="must be";const n=-1!==t.indexOf(".")?"property":"argument";let o=`The "${t}" ${n} ${s} of type ${i}`;o+=". Received type "+typeof e,super(o),this.code="ERR_INVALID_ARG_TYPE"}}function Ge(t,i){if("string"!=typeof t)throw new Ke(i,"string",t)}const Ze="win32"===ze;function Qe(t){return t===Ve||t===Ue}function Je(t){return t===Ve}function Ye(t){return t>=65&&t<=90||t>=97&&t<=122}function Xe(t,i,e,s){let n="",o=0,r=-1,h=0,c=0;for(let a=0;a<=t.length;++a){if(a2){const t=n.lastIndexOf(e);-1===t?(n="",o=0):(n=n.slice(0,t),o=n.length-1-n.lastIndexOf(e)),r=a,h=0;continue}if(0!==n.length){n="",o=0,r=a,h=0;continue}}i&&(n+=n.length>0?`${e}..`:"..",o=2)}else n.length>0?n+=`${e}${t.slice(r+1,a)}`:n=t.slice(r+1,a),o=a-r-1;r=a,h=0}else c===He&&-1!==h?++h:h=-1}return n}function ts(t,i){!function(t){if(null===t||"object"!=typeof t)throw new Ke("pathObject","Object",t)}(i);const e=i.dir||i.root,s=i.base||`${i.name||""}${i.ext||""}`;return e?e===i.root?`${e}${s}`:`${e}${t}${s}`:s}const is={resolve(...t){let i="",e="",s=!1;for(let n=t.length-1;n>=-1;n--){let o;if(n>=0){if(o=t[n],Ge(o,"path"),0===o.length)continue}else 0===i.length?o=We():(o=je[`=${i}`]||We(),(void 0===o||o.slice(0,2).toLowerCase()!==i.toLowerCase()&&o.charCodeAt(2)===Ue)&&(o=`${i}\\`));const r=o.length;let h=0,c="",a=!1;const l=o.charCodeAt(0);if(1===r)Qe(l)&&(h=1,a=!0);else if(Qe(l))if(a=!0,Qe(o.charCodeAt(1))){let t=2,i=t;for(;t2&&Qe(o.charCodeAt(2))&&(a=!0,h=3));if(c.length>0)if(i.length>0){if(c.toLowerCase()!==i.toLowerCase())continue}else i=c;if(s){if(i.length>0)break}else if(e=`${o.slice(h)}\\${e}`,s=a,a&&i.length>0)break}return e=Xe(e,!s,"\\",Qe),s?`${i}\\${e}`:`${i}${e}`||"."},normalize(t){Ge(t,"path");const i=t.length;if(0===i)return".";let e,s=0,n=!1;const o=t.charCodeAt(0);if(1===i)return Je(o)?"\\":t;if(Qe(o))if(n=!0,Qe(t.charCodeAt(1))){let n=2,o=n;for(;n2&&Qe(t.charCodeAt(2))&&(n=!0,s=3));let r=s0&&Qe(t.charCodeAt(i-1))&&(r+="\\"),void 0===e?n?`\\${r}`:r:n?`${e}\\${r}`:`${e}${r}`},isAbsolute(t){Ge(t,"path");const i=t.length;if(0===i)return!1;const e=t.charCodeAt(0);return Qe(e)||i>2&&Ye(e)&&t.charCodeAt(1)===qe&&Qe(t.charCodeAt(2))},join(...t){if(0===t.length)return".";let i,e;for(let s=0;s0&&(void 0===i?i=e=n:i+=`\\${n}`)}if(void 0===i)return".";let s=!0,n=0;if("string"==typeof e&&Qe(e.charCodeAt(0))){++n;const t=e.length;t>1&&Qe(e.charCodeAt(1))&&(++n,t>2&&(Qe(e.charCodeAt(2))?++n:s=!1))}if(s){for(;n=2&&(i=`\\${i.slice(n)}`)}return is.normalize(i)},relative(t,i){if(Ge(t,"from"),Ge(i,"to"),t===i)return"";const e=is.resolve(t),s=is.resolve(i);if(e===s)return"";if((t=e.toLowerCase())===(i=s.toLowerCase()))return"";let n=0;for(;nn&&t.charCodeAt(o-1)===Ue;)o--;const r=o-n;let h=0;for(;hh&&i.charCodeAt(c-1)===Ue;)c--;const a=c-h,l=rl){if(i.charCodeAt(h+d)===Ue)return s.slice(h+d+1);if(2===d)return s.slice(h+d)}r>l&&(t.charCodeAt(n+d)===Ue?u=d:2===d&&(u=3)),-1===u&&(u=0)}let f="";for(d=n+u+1;d<=o;++d)d!==o&&t.charCodeAt(d)!==Ue||(f+=0===f.length?"..":"\\..");return h+=u,f.length>0?`${f}${s.slice(h,c)}`:(s.charCodeAt(h)===Ue&&++h,s.slice(h,c))},toNamespacedPath(t){if("string"!=typeof t||0===t.length)return t;const i=is.resolve(t);if(i.length<=2)return t;if(i.charCodeAt(0)===Ue){if(i.charCodeAt(1)===Ue){const t=i.charCodeAt(2);if(63!==t&&t!==He)return`\\\\?\\UNC\\${i.slice(2)}`}}else if(Ye(i.charCodeAt(0))&&i.charCodeAt(1)===qe&&i.charCodeAt(2)===Ue)return`\\\\?\\${i}`;return t},dirname(t){Ge(t,"path");const i=t.length;if(0===i)return".";let e=-1,s=0;const n=t.charCodeAt(0);if(1===i)return Qe(n)?t:".";if(Qe(n)){if(e=s=1,Qe(t.charCodeAt(1))){let n=2,o=n;for(;n2&&Qe(t.charCodeAt(2))?3:2,s=e);let o=-1,r=!0;for(let e=i-1;e>=s;--e)if(Qe(t.charCodeAt(e))){if(!r){o=e;break}}else r=!1;if(-1===o){if(-1===e)return".";o=e}return t.slice(0,o)},basename(t,i){void 0!==i&&Ge(i,"ext"),Ge(t,"path");let e,s=0,n=-1,o=!0;if(t.length>=2&&Ye(t.charCodeAt(0))&&t.charCodeAt(1)===qe&&(s=2),void 0!==i&&i.length>0&&i.length<=t.length){if(i===t)return"";let r=i.length-1,h=-1;for(e=t.length-1;e>=s;--e){const c=t.charCodeAt(e);if(Qe(c)){if(!o){s=e+1;break}}else-1===h&&(o=!1,h=e+1),r>=0&&(c===i.charCodeAt(r)?-1==--r&&(n=e):(r=-1,n=h))}return s===n?n=h:-1===n&&(n=t.length),t.slice(s,n)}for(e=t.length-1;e>=s;--e)if(Qe(t.charCodeAt(e))){if(!o){s=e+1;break}}else-1===n&&(o=!1,n=e+1);return-1===n?"":t.slice(s,n)},extname(t){Ge(t,"path");let i=0,e=-1,s=0,n=-1,o=!0,r=0;t.length>=2&&t.charCodeAt(1)===qe&&Ye(t.charCodeAt(0))&&(i=s=2);for(let h=t.length-1;h>=i;--h){const i=t.charCodeAt(h);if(Qe(i)){if(!o){s=h+1;break}}else-1===n&&(o=!1,n=h+1),i===He?-1===e?e=h:1!==r&&(r=1):-1!==e&&(r=-1)}return-1===e||-1===n||0===r||1===r&&e===n-1&&e===s+1?"":t.slice(e,n)},format:ts.bind(null,"\\"),parse(t){Ge(t,"path");const i={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return i;const e=t.length;let s=0,n=t.charCodeAt(0);if(1===e)return Qe(n)?(i.root=i.dir=t,i):(i.base=i.name=t,i);if(Qe(n)){if(s=1,Qe(t.charCodeAt(1))){let i=2,n=i;for(;i0&&(i.root=t.slice(0,s));let o=-1,r=s,h=-1,c=!0,a=t.length-1,l=0;for(;a>=s;--a)if(n=t.charCodeAt(a),Qe(n)){if(!c){r=a+1;break}}else-1===h&&(c=!1,h=a+1),n===He?-1===o?o=a:1!==l&&(l=1):-1!==o&&(l=-1);return-1!==h&&(-1===o||0===l||1===l&&o===h-1&&o===r+1?i.base=i.name=t.slice(r,h):(i.name=t.slice(r,o),i.base=t.slice(r,h),i.ext=t.slice(o,h))),i.dir=r>0&&r!==s?t.slice(0,r-1):i.root,i},sep:"\\",delimiter:";",win32:null,posix:null},es=(()=>{if(Ze){const t=/\\/g;return()=>{const i=We().replace(t,"/");return i.slice(i.indexOf("/"))}}return()=>We()})(),ss={resolve(...t){let i="",e=!1;for(let s=t.length-1;s>=-1&&!e;s--){const n=s>=0?t[s]:es();Ge(n,"path"),0!==n.length&&(i=`${n}/${i}`,e=n.charCodeAt(0)===Ve)}return i=Xe(i,!e,"/",Je),e?`/${i}`:i.length>0?i:"."},normalize(t){if(Ge(t,"path"),0===t.length)return".";const i=t.charCodeAt(0)===Ve,e=t.charCodeAt(t.length-1)===Ve;return 0===(t=Xe(t,!i,"/",Je)).length?i?"/":e?"./":".":(e&&(t+="/"),i?`/${t}`:t)},isAbsolute:t=>(Ge(t,"path"),t.length>0&&t.charCodeAt(0)===Ve),join(...t){if(0===t.length)return".";let i;for(let e=0;e0&&(void 0===i?i=s:i+=`/${s}`)}return void 0===i?".":ss.normalize(i)},relative(t,i){if(Ge(t,"from"),Ge(i,"to"),t===i)return"";if((t=ss.resolve(t))===(i=ss.resolve(i)))return"";const e=t.length,s=e-1,n=i.length-1,o=so){if(i.charCodeAt(1+h)===Ve)return i.slice(1+h+1);if(0===h)return i.slice(1+h)}else s>o&&(t.charCodeAt(1+h)===Ve?r=h:0===h&&(r=0));let c="";for(h=1+r+1;h<=e;++h)h!==e&&t.charCodeAt(h)!==Ve||(c+=0===c.length?"..":"/..");return`${c}${i.slice(1+r)}`},toNamespacedPath:t=>t,dirname(t){if(Ge(t,"path"),0===t.length)return".";const i=t.charCodeAt(0)===Ve;let e=-1,s=!0;for(let i=t.length-1;i>=1;--i)if(t.charCodeAt(i)===Ve){if(!s){e=i;break}}else s=!1;return-1===e?i?"/":".":i&&1===e?"//":t.slice(0,e)},basename(t,i){void 0!==i&&Ge(i,"ext"),Ge(t,"path");let e,s=0,n=-1,o=!0;if(void 0!==i&&i.length>0&&i.length<=t.length){if(i===t)return"";let r=i.length-1,h=-1;for(e=t.length-1;e>=0;--e){const c=t.charCodeAt(e);if(c===Ve){if(!o){s=e+1;break}}else-1===h&&(o=!1,h=e+1),r>=0&&(c===i.charCodeAt(r)?-1==--r&&(n=e):(r=-1,n=h))}return s===n?n=h:-1===n&&(n=t.length),t.slice(s,n)}for(e=t.length-1;e>=0;--e)if(t.charCodeAt(e)===Ve){if(!o){s=e+1;break}}else-1===n&&(o=!1,n=e+1);return-1===n?"":t.slice(s,n)},extname(t){Ge(t,"path");let i=-1,e=0,s=-1,n=!0,o=0;for(let r=t.length-1;r>=0;--r){const h=t.charCodeAt(r);if(h!==Ve)-1===s&&(n=!1,s=r+1),h===He?-1===i?i=r:1!==o&&(o=1):-1!==i&&(o=-1);else if(!n){e=r+1;break}}return-1===i||-1===s||0===o||1===o&&i===s-1&&i===e+1?"":t.slice(i,s)},format:ts.bind(null,"/"),parse(t){Ge(t,"path");const i={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return i;const e=t.charCodeAt(0)===Ve;let s;e?(i.root="/",s=1):s=0;let n=-1,o=0,r=-1,h=!0,c=t.length-1,a=0;for(;c>=s;--c){const i=t.charCodeAt(c);if(i!==Ve)-1===r&&(h=!1,r=c+1),i===He?-1===n?n=c:1!==a&&(a=1):-1!==n&&(a=-1);else if(!h){o=c+1;break}}if(-1!==r){const s=0===o&&e?1:o;-1===n||0===a||1===a&&n===r-1&&n===o+1?i.base=i.name=t.slice(s,r):(i.name=t.slice(s,n),i.base=t.slice(s,r),i.ext=t.slice(n,r))}return o>0?i.dir=t.slice(0,o-1):e&&(i.dir="/"),i},sep:"/",delimiter:":",win32:null,posix:null};ss.win32=is.win32=is,ss.posix=is.posix=ss;const ns=Ze?is.normalize:ss.normalize,os=Ze?is.resolve:ss.resolve,rs=Ze?is.relative:ss.relative,hs=Ze?is.dirname:ss.dirname,cs=Ze?is.basename:ss.basename,as=Ze?is.extname:ss.extname,ls=Ze?is.sep:ss.sep,us=/^\w[\w\d+.-]*$/,ds=/^\//,fs=/^\/\//,ps="",gs="/",ms=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class ws{static isUri(t){return t instanceof ws||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString}constructor(t,i,e,s,n,o=!1){"object"==typeof t?(this.scheme=t.scheme||ps,this.authority=t.authority||ps,this.path=t.path||ps,this.query=t.query||ps,this.fragment=t.fragment||ps):(this.scheme=function(t,i){return t||i?t:"file"}(t,o),this.authority=i||ps,this.path=function(t,i){switch(t){case"https":case"http":case"file":i?i[0]!==gs&&(i=gs+i):i=gs}return i}(this.scheme,e||ps),this.query=s||ps,this.fragment=n||ps,function(t,i){if(!t.scheme&&i)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${t.authority}", path: "${t.path}", query: "${t.query}", fragment: "${t.fragment}"}`);if(t.scheme&&!us.test(t.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(t.path)if(t.authority){if(!ds.test(t.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(fs.test(t.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,o))}get fsPath(){return Cs(this,!1)}with(t){if(!t)return this;let{scheme:i,authority:e,path:s,query:n,fragment:o}=t;return void 0===i?i=this.scheme:null===i&&(i=ps),void 0===e?e=this.authority:null===e&&(e=ps),void 0===s?s=this.path:null===s&&(s=ps),void 0===n?n=this.query:null===n&&(n=ps),void 0===o?o=this.fragment:null===o&&(o=ps),i===this.scheme&&e===this.authority&&s===this.path&&n===this.query&&o===this.fragment?this:new bs(i,e,s,n,o)}static parse(t,i=!1){const e=ms.exec(t);return e?new bs(e[2]||ps,As(e[4]||ps),As(e[5]||ps),As(e[7]||ps),As(e[9]||ps),i):new bs(ps,ps,ps,ps,ps)}static file(t){let i=ps;if(Ct&&(t=t.replace(/\\/g,gs)),t[0]===gs&&t[1]===gs){const e=t.indexOf(gs,2);-1===e?(i=t.substring(2),t=gs):(i=t.substring(2,e),t=t.substring(e)||gs)}return new bs("file",i,t,ps,ps)}static from(t,i){return new bs(t.scheme,t.authority,t.path,t.query,t.fragment,i)}static joinPath(t,...i){if(!t.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let e;return e=Ct&&"file"===t.scheme?ws.file(is.join(Cs(t,!0),...i)).path:ss.join(t.path,...i),t.with({path:e})}toString(t=!1){return Ss(this,t)}toJSON(){return this}static revive(t){var i,e;if(t){if(t instanceof ws)return t;{const s=new bs(t);return s._formatted=null!==(i=t.external)&&void 0!==i?i:null,s._fsPath=t._sep===vs&&null!==(e=t.fsPath)&&void 0!==e?e:null,s}}return t}}const vs=Ct?1:void 0;class bs extends ws{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=Cs(this,!1)),this._fsPath}toString(t=!1){return t?Ss(this,!0):(this._formatted||(this._formatted=Ss(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=vs),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const ys={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 ks(t,i,e){let s,n=-1;for(let o=0;o=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||i&&47===r||e&&91===r||e&&93===r||e&&58===r)-1!==n&&(s+=encodeURIComponent(t.substring(n,o)),n=-1),void 0!==s&&(s+=t.charAt(o));else{void 0===s&&(s=t.substr(0,o));const i=ys[r];void 0!==i?(-1!==n&&(s+=encodeURIComponent(t.substring(n,o)),n=-1),s+=i):-1===n&&(n=o)}}return-1!==n&&(s+=encodeURIComponent(t.substring(n))),void 0!==s?s:t}function xs(t){let i;for(let e=0;e1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&t.path.charCodeAt(1)<=90||t.path.charCodeAt(1)>=97&&t.path.charCodeAt(1)<=122)&&58===t.path.charCodeAt(2)?i?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,Ct&&(e=e.replace(/\//g,"\\")),e}function Ss(t,i){const e=i?xs:ks;let s="",{scheme:n,authority:o,path:r,query:h,fragment:c}=t;if(n&&(s+=n,s+=":"),(o||"file"===n)&&(s+=gs,s+=gs),o){let t=o.indexOf("@");if(-1!==t){const i=o.substr(0,t);o=o.substr(t+1),t=i.lastIndexOf(":"),-1===t?s+=e(i,!1,!1):(s+=e(i.substr(0,t),!1,!1),s+=":",s+=e(i.substr(t+1),!1,!0)),s+="@"}o=o.toLowerCase(),t=o.lastIndexOf(":"),-1===t?s+=e(o,!1,!0):(s+=e(o.substr(0,t),!1,!0),s+=o.substr(t))}if(r){if(r.length>=3&&47===r.charCodeAt(0)&&58===r.charCodeAt(2)){const t=r.charCodeAt(1);t>=65&&t<=90&&(r=`/${String.fromCharCode(t+32)}:${r.substr(3)}`)}else if(r.length>=2&&58===r.charCodeAt(1)){const t=r.charCodeAt(0);t>=65&&t<=90&&(r=`${String.fromCharCode(t+32)}:${r.substr(2)}`)}s+=e(r,!0,!1)}return h&&(s+="?",s+=e(h,!1,!1)),c&&(s+="#",s+=i?c:ks(c,!1,!1)),s}function Ds(t){try{return decodeURIComponent(t)}catch(i){return t.length>3?t.substr(0,3)+Ds(t.substr(3)):t}}const Es=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function As(t){return t.match(Es)?t.replace(Es,(t=>Ds(t))):t}class Ms{constructor(t,i){this.lineNumber=t,this.column=i}with(t=this.lineNumber,i=this.column){return t===this.lineNumber&&i===this.column?this:new Ms(t,i)}delta(t=0,i=0){return this.with(this.lineNumber+t,this.column+i)}equals(t){return Ms.equals(this,t)}static equals(t,i){return!t&&!i||!!t&&!!i&&t.lineNumber===i.lineNumber&&t.column===i.column}isBefore(t){return Ms.isBefore(this,t)}static isBefore(t,i){return t.lineNumbere||t===e&&i>s?(this.startLineNumber=e,this.startColumn=s,this.endLineNumber=t,this.endColumn=i):(this.startLineNumber=t,this.startColumn=i,this.endLineNumber=e,this.endColumn=s)}isEmpty(){return Ls.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return Ls.containsPosition(this,t)}static containsPosition(t,i){return!(i.lineNumbert.endLineNumber||i.lineNumber===t.startLineNumber&&i.columnt.endColumn)}static strictContainsPosition(t,i){return!(i.lineNumbert.endLineNumber||i.lineNumber===t.startLineNumber&&i.column<=t.startColumn||i.lineNumber===t.endLineNumber&&i.column>=t.endColumn)}containsRange(t){return Ls.containsRange(this,t)}static containsRange(t,i){return!(i.startLineNumbert.endLineNumber||i.endLineNumber>t.endLineNumber||i.startLineNumber===t.startLineNumber&&i.startColumnt.endColumn)}strictContainsRange(t){return Ls.strictContainsRange(this,t)}static strictContainsRange(t,i){return!(i.startLineNumbert.endLineNumber||i.endLineNumber>t.endLineNumber||i.startLineNumber===t.startLineNumber&&i.startColumn<=t.startColumn||i.endLineNumber===t.endLineNumber&&i.endColumn>=t.endColumn)}plusRange(t){return Ls.plusRange(this,t)}static plusRange(t,i){let e,s,n,o;return i.startLineNumbert.endLineNumber?(n=i.endLineNumber,o=i.endColumn):i.endLineNumber===t.endLineNumber?(n=i.endLineNumber,o=Math.max(i.endColumn,t.endColumn)):(n=t.endLineNumber,o=t.endColumn),new Ls(e,s,n,o)}intersectRanges(t){return Ls.intersectRanges(this,t)}static intersectRanges(t,i){let e=t.startLineNumber,s=t.startColumn,n=t.endLineNumber,o=t.endColumn;const r=i.startLineNumber,h=i.startColumn,c=i.endLineNumber,a=i.endColumn;return ec?(n=c,o=a):n===c&&(o=Math.min(o,a)),e>n||e===n&&s>o?null:new Ls(e,s,n,o)}equalsRange(t){return Ls.equalsRange(this,t)}static equalsRange(t,i){return!t&&!i||!!t&&!!i&&t.startLineNumber===i.startLineNumber&&t.startColumn===i.startColumn&&t.endLineNumber===i.endLineNumber&&t.endColumn===i.endColumn}getEndPosition(){return Ls.getEndPosition(this)}static getEndPosition(t){return new Ms(t.endLineNumber,t.endColumn)}getStartPosition(){return Ls.getStartPosition(this)}static getStartPosition(t){return new Ms(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,i){return new Ls(this.startLineNumber,this.startColumn,t,i)}setStartPosition(t,i){return new Ls(t,i,this.endLineNumber,this.endColumn)}collapseToStart(){return Ls.collapseToStart(this)}static collapseToStart(t){return new Ls(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}collapseToEnd(){return Ls.collapseToEnd(this)}static collapseToEnd(t){return new Ls(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn)}delta(t){return new Ls(this.startLineNumber+t,this.startColumn,this.endLineNumber+t,this.endColumn)}static fromPositions(t,i=t){return new Ls(t.lineNumber,t.column,i.lineNumber,i.column)}static lift(t){return t?new Ls(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return t&&"number"==typeof t.startLineNumber&&"number"==typeof t.startColumn&&"number"==typeof t.endLineNumber&&"number"==typeof t.endColumn}static areIntersectingOrTouching(t,i){return!(t.endLineNumbert.startLineNumber}toJSON(){return this}}class Fs extends Ls{constructor(t,i,e,s){super(t,i,e,s),this.selectionStartLineNumber=t,this.selectionStartColumn=i,this.positionLineNumber=e,this.positionColumn=s}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return Fs.selectionsEqual(this,t)}static selectionsEqual(t,i){return t.selectionStartLineNumber===i.selectionStartLineNumber&&t.selectionStartColumn===i.selectionStartColumn&&t.positionLineNumber===i.positionLineNumber&&t.positionColumn===i.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,i){return 0===this.getDirection()?new Fs(this.startLineNumber,this.startColumn,t,i):new Fs(t,i,this.startLineNumber,this.startColumn)}getPosition(){return new Ms(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new Ms(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,i){return 0===this.getDirection()?new Fs(t,i,this.endLineNumber,this.endColumn):new Fs(this.endLineNumber,this.endColumn,t,i)}static fromPositions(t,i=t){return new Fs(t.lineNumber,t.column,i.lineNumber,i.column)}static fromRange(t,i){return 0===i?new Fs(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new Fs(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new Fs(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,i){if(t&&!i||!t&&i)return!1;if(!t&&!i)return!0;if(t.length!==i.length)return!1;for(let e=0,s=t.length;e{t&&t.dispose()}))}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const Qs=new class{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(t){this._onDidChange.fire({changedLanguages:t,changedColorMap:!1})}register(t,i){return this._tokenizationSupports.set(t,i),this.handleChange([t]),Xi((()=>{this._tokenizationSupports.get(t)===i&&(this._tokenizationSupports.delete(t),this.handleChange([t]))}))}get(t){return this._tokenizationSupports.get(t)||null}registerFactory(t,i){var e;null===(e=this._factories.get(t))||void 0===e||e.dispose();const s=new _s(this,t,i);return this._factories.set(t,s),Xi((()=>{const i=this._factories.get(t);i&&i===s&&(this._factories.delete(t),i.dispose())}))}async getOrCreate(t){const i=this.get(t);if(i)return i;const e=this._factories.get(t);return!e||e.isResolved?null:(await e.resolve(),this.get(t))}isResolved(t){if(this.get(t))return!0;const i=this._factories.get(t);return!(i&&!i.isResolved)}setColorMap(t){this._colorMap=t,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}};var Js,Ys,Xs,tn,en,sn,nn,on,rn,hn,cn,an,ln,un,dn,fn,pn,gn,mn,wn,vn,bn,yn,kn,xn,Cn,Sn,Dn,En,An,Mn,Ln,Fn,Tn,Rn,On,In,_n,Nn,Bn;!function(t){t[t.Unknown=0]="Unknown",t[t.Disabled=1]="Disabled",t[t.Enabled=2]="Enabled"}(Js||(Js={})),function(t){t[t.Invoke=1]="Invoke",t[t.Auto=2]="Auto"}(Ys||(Ys={})),function(t){t[t.None=0]="None",t[t.KeepWhitespace=1]="KeepWhitespace",t[t.InsertAsSnippet=4]="InsertAsSnippet"}(Xs||(Xs={})),function(t){t[t.Method=0]="Method",t[t.Function=1]="Function",t[t.Constructor=2]="Constructor",t[t.Field=3]="Field",t[t.Variable=4]="Variable",t[t.Class=5]="Class",t[t.Struct=6]="Struct",t[t.Interface=7]="Interface",t[t.Module=8]="Module",t[t.Property=9]="Property",t[t.Event=10]="Event",t[t.Operator=11]="Operator",t[t.Unit=12]="Unit",t[t.Value=13]="Value",t[t.Constant=14]="Constant",t[t.Enum=15]="Enum",t[t.EnumMember=16]="EnumMember",t[t.Keyword=17]="Keyword",t[t.Text=18]="Text",t[t.Color=19]="Color",t[t.File=20]="File",t[t.Reference=21]="Reference",t[t.Customcolor=22]="Customcolor",t[t.Folder=23]="Folder",t[t.TypeParameter=24]="TypeParameter",t[t.User=25]="User",t[t.Issue=26]="Issue",t[t.Snippet=27]="Snippet"}(tn||(tn={})),function(t){t[t.Deprecated=1]="Deprecated"}(en||(en={})),function(t){t[t.Invoke=0]="Invoke",t[t.TriggerCharacter=1]="TriggerCharacter",t[t.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(sn||(sn={})),function(t){t[t.EXACT=0]="EXACT",t[t.ABOVE=1]="ABOVE",t[t.BELOW=2]="BELOW"}(nn||(nn={})),function(t){t[t.NotSet=0]="NotSet",t[t.ContentFlush=1]="ContentFlush",t[t.RecoverFromMarkers=2]="RecoverFromMarkers",t[t.Explicit=3]="Explicit",t[t.Paste=4]="Paste",t[t.Undo=5]="Undo",t[t.Redo=6]="Redo"}(on||(on={})),function(t){t[t.LF=1]="LF",t[t.CRLF=2]="CRLF"}(rn||(rn={})),function(t){t[t.Text=0]="Text",t[t.Read=1]="Read",t[t.Write=2]="Write"}(hn||(hn={})),function(t){t[t.None=0]="None",t[t.Keep=1]="Keep",t[t.Brackets=2]="Brackets",t[t.Advanced=3]="Advanced",t[t.Full=4]="Full"}(cn||(cn={})),function(t){t[t.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",t[t.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",t[t.accessibilitySupport=2]="accessibilitySupport",t[t.accessibilityPageSize=3]="accessibilityPageSize",t[t.ariaLabel=4]="ariaLabel",t[t.ariaRequired=5]="ariaRequired",t[t.autoClosingBrackets=6]="autoClosingBrackets",t[t.autoClosingComments=7]="autoClosingComments",t[t.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",t[t.autoClosingDelete=9]="autoClosingDelete",t[t.autoClosingOvertype=10]="autoClosingOvertype",t[t.autoClosingQuotes=11]="autoClosingQuotes",t[t.autoIndent=12]="autoIndent",t[t.automaticLayout=13]="automaticLayout",t[t.autoSurround=14]="autoSurround",t[t.bracketPairColorization=15]="bracketPairColorization",t[t.guides=16]="guides",t[t.codeLens=17]="codeLens",t[t.codeLensFontFamily=18]="codeLensFontFamily",t[t.codeLensFontSize=19]="codeLensFontSize",t[t.colorDecorators=20]="colorDecorators",t[t.colorDecoratorsLimit=21]="colorDecoratorsLimit",t[t.columnSelection=22]="columnSelection",t[t.comments=23]="comments",t[t.contextmenu=24]="contextmenu",t[t.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",t[t.cursorBlinking=26]="cursorBlinking",t[t.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",t[t.cursorStyle=28]="cursorStyle",t[t.cursorSurroundingLines=29]="cursorSurroundingLines",t[t.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",t[t.cursorWidth=31]="cursorWidth",t[t.disableLayerHinting=32]="disableLayerHinting",t[t.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",t[t.domReadOnly=34]="domReadOnly",t[t.dragAndDrop=35]="dragAndDrop",t[t.dropIntoEditor=36]="dropIntoEditor",t[t.emptySelectionClipboard=37]="emptySelectionClipboard",t[t.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",t[t.extraEditorClassName=39]="extraEditorClassName",t[t.fastScrollSensitivity=40]="fastScrollSensitivity",t[t.find=41]="find",t[t.fixedOverflowWidgets=42]="fixedOverflowWidgets",t[t.folding=43]="folding",t[t.foldingStrategy=44]="foldingStrategy",t[t.foldingHighlight=45]="foldingHighlight",t[t.foldingImportsByDefault=46]="foldingImportsByDefault",t[t.foldingMaximumRegions=47]="foldingMaximumRegions",t[t.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",t[t.fontFamily=49]="fontFamily",t[t.fontInfo=50]="fontInfo",t[t.fontLigatures=51]="fontLigatures",t[t.fontSize=52]="fontSize",t[t.fontWeight=53]="fontWeight",t[t.fontVariations=54]="fontVariations",t[t.formatOnPaste=55]="formatOnPaste",t[t.formatOnType=56]="formatOnType",t[t.glyphMargin=57]="glyphMargin",t[t.gotoLocation=58]="gotoLocation",t[t.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",t[t.hover=60]="hover",t[t.inDiffEditor=61]="inDiffEditor",t[t.inlineSuggest=62]="inlineSuggest",t[t.letterSpacing=63]="letterSpacing",t[t.lightbulb=64]="lightbulb",t[t.lineDecorationsWidth=65]="lineDecorationsWidth",t[t.lineHeight=66]="lineHeight",t[t.lineNumbers=67]="lineNumbers",t[t.lineNumbersMinChars=68]="lineNumbersMinChars",t[t.linkedEditing=69]="linkedEditing",t[t.links=70]="links",t[t.matchBrackets=71]="matchBrackets",t[t.minimap=72]="minimap",t[t.mouseStyle=73]="mouseStyle",t[t.mouseWheelScrollSensitivity=74]="mouseWheelScrollSensitivity",t[t.mouseWheelZoom=75]="mouseWheelZoom",t[t.multiCursorMergeOverlapping=76]="multiCursorMergeOverlapping",t[t.multiCursorModifier=77]="multiCursorModifier",t[t.multiCursorPaste=78]="multiCursorPaste",t[t.multiCursorLimit=79]="multiCursorLimit",t[t.occurrencesHighlight=80]="occurrencesHighlight",t[t.overviewRulerBorder=81]="overviewRulerBorder",t[t.overviewRulerLanes=82]="overviewRulerLanes",t[t.padding=83]="padding",t[t.pasteAs=84]="pasteAs",t[t.parameterHints=85]="parameterHints",t[t.peekWidgetDefaultFocus=86]="peekWidgetDefaultFocus",t[t.definitionLinkOpensInPeek=87]="definitionLinkOpensInPeek",t[t.quickSuggestions=88]="quickSuggestions",t[t.quickSuggestionsDelay=89]="quickSuggestionsDelay",t[t.readOnly=90]="readOnly",t[t.readOnlyMessage=91]="readOnlyMessage",t[t.renameOnType=92]="renameOnType",t[t.renderControlCharacters=93]="renderControlCharacters",t[t.renderFinalNewline=94]="renderFinalNewline",t[t.renderLineHighlight=95]="renderLineHighlight",t[t.renderLineHighlightOnlyWhenFocus=96]="renderLineHighlightOnlyWhenFocus",t[t.renderValidationDecorations=97]="renderValidationDecorations",t[t.renderWhitespace=98]="renderWhitespace",t[t.revealHorizontalRightPadding=99]="revealHorizontalRightPadding",t[t.roundedSelection=100]="roundedSelection",t[t.rulers=101]="rulers",t[t.scrollbar=102]="scrollbar",t[t.scrollBeyondLastColumn=103]="scrollBeyondLastColumn",t[t.scrollBeyondLastLine=104]="scrollBeyondLastLine",t[t.scrollPredominantAxis=105]="scrollPredominantAxis",t[t.selectionClipboard=106]="selectionClipboard",t[t.selectionHighlight=107]="selectionHighlight",t[t.selectOnLineNumbers=108]="selectOnLineNumbers",t[t.showFoldingControls=109]="showFoldingControls",t[t.showUnused=110]="showUnused",t[t.snippetSuggestions=111]="snippetSuggestions",t[t.smartSelect=112]="smartSelect",t[t.smoothScrolling=113]="smoothScrolling",t[t.stickyScroll=114]="stickyScroll",t[t.stickyTabStops=115]="stickyTabStops",t[t.stopRenderingLineAfter=116]="stopRenderingLineAfter",t[t.suggest=117]="suggest",t[t.suggestFontSize=118]="suggestFontSize",t[t.suggestLineHeight=119]="suggestLineHeight",t[t.suggestOnTriggerCharacters=120]="suggestOnTriggerCharacters",t[t.suggestSelection=121]="suggestSelection",t[t.tabCompletion=122]="tabCompletion",t[t.tabIndex=123]="tabIndex",t[t.unicodeHighlighting=124]="unicodeHighlighting",t[t.unusualLineTerminators=125]="unusualLineTerminators",t[t.useShadowDOM=126]="useShadowDOM",t[t.useTabStops=127]="useTabStops",t[t.wordBreak=128]="wordBreak",t[t.wordSeparators=129]="wordSeparators",t[t.wordWrap=130]="wordWrap",t[t.wordWrapBreakAfterCharacters=131]="wordWrapBreakAfterCharacters",t[t.wordWrapBreakBeforeCharacters=132]="wordWrapBreakBeforeCharacters",t[t.wordWrapColumn=133]="wordWrapColumn",t[t.wordWrapOverride1=134]="wordWrapOverride1",t[t.wordWrapOverride2=135]="wordWrapOverride2",t[t.wrappingIndent=136]="wrappingIndent",t[t.wrappingStrategy=137]="wrappingStrategy",t[t.showDeprecated=138]="showDeprecated",t[t.inlayHints=139]="inlayHints",t[t.editorClassName=140]="editorClassName",t[t.pixelRatio=141]="pixelRatio",t[t.tabFocusMode=142]="tabFocusMode",t[t.layoutInfo=143]="layoutInfo",t[t.wrappingInfo=144]="wrappingInfo",t[t.defaultColorDecorators=145]="defaultColorDecorators",t[t.colorDecoratorsActivatedOn=146]="colorDecoratorsActivatedOn",t[t.inlineCompletionsAccessibilityVerbose=147]="inlineCompletionsAccessibilityVerbose"}(an||(an={})),function(t){t[t.TextDefined=0]="TextDefined",t[t.LF=1]="LF",t[t.CRLF=2]="CRLF"}(ln||(ln={})),function(t){t[t.LF=0]="LF",t[t.CRLF=1]="CRLF"}(un||(un={})),function(t){t[t.Left=1]="Left",t[t.Right=2]="Right"}(dn||(dn={})),function(t){t[t.None=0]="None",t[t.Indent=1]="Indent",t[t.IndentOutdent=2]="IndentOutdent",t[t.Outdent=3]="Outdent"}(fn||(fn={})),function(t){t[t.Both=0]="Both",t[t.Right=1]="Right",t[t.Left=2]="Left",t[t.None=3]="None"}(pn||(pn={})),function(t){t[t.Type=1]="Type",t[t.Parameter=2]="Parameter"}(gn||(gn={})),function(t){t[t.Automatic=0]="Automatic",t[t.Explicit=1]="Explicit"}(mn||(mn={})),function(t){t[t.DependsOnKbLayout=-1]="DependsOnKbLayout",t[t.Unknown=0]="Unknown",t[t.Backspace=1]="Backspace",t[t.Tab=2]="Tab",t[t.Enter=3]="Enter",t[t.Shift=4]="Shift",t[t.Ctrl=5]="Ctrl",t[t.Alt=6]="Alt",t[t.PauseBreak=7]="PauseBreak",t[t.CapsLock=8]="CapsLock",t[t.Escape=9]="Escape",t[t.Space=10]="Space",t[t.PageUp=11]="PageUp",t[t.PageDown=12]="PageDown",t[t.End=13]="End",t[t.Home=14]="Home",t[t.LeftArrow=15]="LeftArrow",t[t.UpArrow=16]="UpArrow",t[t.RightArrow=17]="RightArrow",t[t.DownArrow=18]="DownArrow",t[t.Insert=19]="Insert",t[t.Delete=20]="Delete",t[t.Digit0=21]="Digit0",t[t.Digit1=22]="Digit1",t[t.Digit2=23]="Digit2",t[t.Digit3=24]="Digit3",t[t.Digit4=25]="Digit4",t[t.Digit5=26]="Digit5",t[t.Digit6=27]="Digit6",t[t.Digit7=28]="Digit7",t[t.Digit8=29]="Digit8",t[t.Digit9=30]="Digit9",t[t.KeyA=31]="KeyA",t[t.KeyB=32]="KeyB",t[t.KeyC=33]="KeyC",t[t.KeyD=34]="KeyD",t[t.KeyE=35]="KeyE",t[t.KeyF=36]="KeyF",t[t.KeyG=37]="KeyG",t[t.KeyH=38]="KeyH",t[t.KeyI=39]="KeyI",t[t.KeyJ=40]="KeyJ",t[t.KeyK=41]="KeyK",t[t.KeyL=42]="KeyL",t[t.KeyM=43]="KeyM",t[t.KeyN=44]="KeyN",t[t.KeyO=45]="KeyO",t[t.KeyP=46]="KeyP",t[t.KeyQ=47]="KeyQ",t[t.KeyR=48]="KeyR",t[t.KeyS=49]="KeyS",t[t.KeyT=50]="KeyT",t[t.KeyU=51]="KeyU",t[t.KeyV=52]="KeyV",t[t.KeyW=53]="KeyW",t[t.KeyX=54]="KeyX",t[t.KeyY=55]="KeyY",t[t.KeyZ=56]="KeyZ",t[t.Meta=57]="Meta",t[t.ContextMenu=58]="ContextMenu",t[t.F1=59]="F1",t[t.F2=60]="F2",t[t.F3=61]="F3",t[t.F4=62]="F4",t[t.F5=63]="F5",t[t.F6=64]="F6",t[t.F7=65]="F7",t[t.F8=66]="F8",t[t.F9=67]="F9",t[t.F10=68]="F10",t[t.F11=69]="F11",t[t.F12=70]="F12",t[t.F13=71]="F13",t[t.F14=72]="F14",t[t.F15=73]="F15",t[t.F16=74]="F16",t[t.F17=75]="F17",t[t.F18=76]="F18",t[t.F19=77]="F19",t[t.F20=78]="F20",t[t.F21=79]="F21",t[t.F22=80]="F22",t[t.F23=81]="F23",t[t.F24=82]="F24",t[t.NumLock=83]="NumLock",t[t.ScrollLock=84]="ScrollLock",t[t.Semicolon=85]="Semicolon",t[t.Equal=86]="Equal",t[t.Comma=87]="Comma",t[t.Minus=88]="Minus",t[t.Period=89]="Period",t[t.Slash=90]="Slash",t[t.Backquote=91]="Backquote",t[t.BracketLeft=92]="BracketLeft",t[t.Backslash=93]="Backslash",t[t.BracketRight=94]="BracketRight",t[t.Quote=95]="Quote",t[t.OEM_8=96]="OEM_8",t[t.IntlBackslash=97]="IntlBackslash",t[t.Numpad0=98]="Numpad0",t[t.Numpad1=99]="Numpad1",t[t.Numpad2=100]="Numpad2",t[t.Numpad3=101]="Numpad3",t[t.Numpad4=102]="Numpad4",t[t.Numpad5=103]="Numpad5",t[t.Numpad6=104]="Numpad6",t[t.Numpad7=105]="Numpad7",t[t.Numpad8=106]="Numpad8",t[t.Numpad9=107]="Numpad9",t[t.NumpadMultiply=108]="NumpadMultiply",t[t.NumpadAdd=109]="NumpadAdd",t[t.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",t[t.NumpadSubtract=111]="NumpadSubtract",t[t.NumpadDecimal=112]="NumpadDecimal",t[t.NumpadDivide=113]="NumpadDivide",t[t.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",t[t.ABNT_C1=115]="ABNT_C1",t[t.ABNT_C2=116]="ABNT_C2",t[t.AudioVolumeMute=117]="AudioVolumeMute",t[t.AudioVolumeUp=118]="AudioVolumeUp",t[t.AudioVolumeDown=119]="AudioVolumeDown",t[t.BrowserSearch=120]="BrowserSearch",t[t.BrowserHome=121]="BrowserHome",t[t.BrowserBack=122]="BrowserBack",t[t.BrowserForward=123]="BrowserForward",t[t.MediaTrackNext=124]="MediaTrackNext",t[t.MediaTrackPrevious=125]="MediaTrackPrevious",t[t.MediaStop=126]="MediaStop",t[t.MediaPlayPause=127]="MediaPlayPause",t[t.LaunchMediaPlayer=128]="LaunchMediaPlayer",t[t.LaunchMail=129]="LaunchMail",t[t.LaunchApp2=130]="LaunchApp2",t[t.Clear=131]="Clear",t[t.MAX_VALUE=132]="MAX_VALUE"}(wn||(wn={})),function(t){t[t.Hint=1]="Hint",t[t.Info=2]="Info",t[t.Warning=4]="Warning",t[t.Error=8]="Error"}(vn||(vn={})),function(t){t[t.Unnecessary=1]="Unnecessary",t[t.Deprecated=2]="Deprecated"}(bn||(bn={})),function(t){t[t.Inline=1]="Inline",t[t.Gutter=2]="Gutter"}(yn||(yn={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.TEXTAREA=1]="TEXTAREA",t[t.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",t[t.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",t[t.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",t[t.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",t[t.CONTENT_TEXT=6]="CONTENT_TEXT",t[t.CONTENT_EMPTY=7]="CONTENT_EMPTY",t[t.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",t[t.CONTENT_WIDGET=9]="CONTENT_WIDGET",t[t.OVERVIEW_RULER=10]="OVERVIEW_RULER",t[t.SCROLLBAR=11]="SCROLLBAR",t[t.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",t[t.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(kn||(kn={})),function(t){t[t.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",t[t.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",t[t.TOP_CENTER=2]="TOP_CENTER"}(xn||(xn={})),function(t){t[t.Left=1]="Left",t[t.Center=2]="Center",t[t.Right=4]="Right",t[t.Full=7]="Full"}(Cn||(Cn={})),function(t){t[t.Left=0]="Left",t[t.Right=1]="Right",t[t.None=2]="None",t[t.LeftOfInjectedText=3]="LeftOfInjectedText",t[t.RightOfInjectedText=4]="RightOfInjectedText"}(Sn||(Sn={})),function(t){t[t.Off=0]="Off",t[t.On=1]="On",t[t.Relative=2]="Relative",t[t.Interval=3]="Interval",t[t.Custom=4]="Custom"}(Dn||(Dn={})),function(t){t[t.None=0]="None",t[t.Text=1]="Text",t[t.Blocks=2]="Blocks"}(En||(En={})),function(t){t[t.Smooth=0]="Smooth",t[t.Immediate=1]="Immediate"}(An||(An={})),function(t){t[t.Auto=1]="Auto",t[t.Hidden=2]="Hidden",t[t.Visible=3]="Visible"}(Mn||(Mn={})),function(t){t[t.LTR=0]="LTR",t[t.RTL=1]="RTL"}(Ln||(Ln={})),function(t){t.Off="off",t.OnCode="onCode",t.On="on"}(Fn||(Fn={})),function(t){t[t.Invoke=1]="Invoke",t[t.TriggerCharacter=2]="TriggerCharacter",t[t.ContentChange=3]="ContentChange"}(Tn||(Tn={})),function(t){t[t.File=0]="File",t[t.Module=1]="Module",t[t.Namespace=2]="Namespace",t[t.Package=3]="Package",t[t.Class=4]="Class",t[t.Method=5]="Method",t[t.Property=6]="Property",t[t.Field=7]="Field",t[t.Constructor=8]="Constructor",t[t.Enum=9]="Enum",t[t.Interface=10]="Interface",t[t.Function=11]="Function",t[t.Variable=12]="Variable",t[t.Constant=13]="Constant",t[t.String=14]="String",t[t.Number=15]="Number",t[t.Boolean=16]="Boolean",t[t.Array=17]="Array",t[t.Object=18]="Object",t[t.Key=19]="Key",t[t.Null=20]="Null",t[t.EnumMember=21]="EnumMember",t[t.Struct=22]="Struct",t[t.Event=23]="Event",t[t.Operator=24]="Operator",t[t.TypeParameter=25]="TypeParameter"}(Rn||(Rn={})),function(t){t[t.Deprecated=1]="Deprecated"}(On||(On={})),function(t){t[t.Hidden=0]="Hidden",t[t.Blink=1]="Blink",t[t.Smooth=2]="Smooth",t[t.Phase=3]="Phase",t[t.Expand=4]="Expand",t[t.Solid=5]="Solid"}(In||(In={})),function(t){t[t.Line=1]="Line",t[t.Block=2]="Block",t[t.Underline=3]="Underline",t[t.LineThin=4]="LineThin",t[t.BlockOutline=5]="BlockOutline",t[t.UnderlineThin=6]="UnderlineThin"}(_n||(_n={})),function(t){t[t.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",t[t.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",t[t.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",t[t.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(Nn||(Nn={})),function(t){t[t.None=0]="None",t[t.Same=1]="Same",t[t.Indent=2]="Indent",t[t.DeepIndent=3]="DeepIndent"}(Bn||(Bn={}));class Pn{static chord(t,i){return Be(t,i)}}function $n(){return{editor:void 0,languages:void 0,CancellationTokenSource:Se,Emitter:fe,KeyCode:wn,KeyMod:Pn,Position:Ms,Range:Ls,Selection:Fs,SelectionDirection:Ln,MarkerSeverity:vn,MarkerTag:bn,Uri:ws,Token:Ns}}Pn.CtrlCmd=2048,Pn.Shift=1024,Pn.Alt=512,Pn.WinCtrl=256;const Wn=window,jn=Wn;class zn{get cachedValues(){return this._map}constructor(t){this.fn=t,this._map=new Map}get(t){if(this._map.has(t))return this._map.get(t);const i=this.fn(t);return this._map.set(t,i),i}}class Hn{constructor(t){this.executor=t,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(t){this._error=t}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}var Vn;function Un(t){return!t||"string"!=typeof t||0===t.trim().length}const qn=/{(\d+)}/g;function Kn(t,...i){return 0===i.length?t:t.replace(qn,(function(t,e){const s=parseInt(e,10);return isNaN(s)||s<0||s>=i.length?t:i[s]}))}function Gn(t){return t.replace(/[<>&]/g,(function(t){switch(t){case"<":return"<";case">":return">";case"&":return"&";default:return t}}))}function Zn(t){return t.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function Qn(t,i=" "){return Yn(Jn(t,i),i)}function Jn(t,i){if(!t||!i)return t;const e=i.length;if(0===e||0===t.length)return t;let s=0;for(;t.indexOf(i,s)===s;)s+=e;return t.substring(s)}function Yn(t,i){if(!t||!i)return t;const e=i.length,s=t.length;if(0===e||0===s)return t;let n=s,o=-1;for(;o=t.lastIndexOf(i,n-1),-1!==o&&o+e===n;){if(0===o)return"";n=o}return t.substring(0,n)}function Xn(t,i,e={}){if(!t)throw new Error("Cannot create regex from empty string");i||(t=Zn(t)),e.wholeWord&&(/\B/.test(t.charAt(0))||(t="\\b"+t),/\B/.test(t.charAt(t.length-1))||(t+="\\b"));let s="";return e.global&&(s+="g"),e.matchCase||(s+="i"),e.multiline&&(s+="m"),e.unicode&&(s+="u"),new RegExp(t,s)}function to(t){return t.split(/\r\n|\r|\n/)}function io(t){for(let i=0,e=t.length;i=0;e--){const i=t.charCodeAt(e);if(32!==i&&9!==i)return e}return-1}function no(t,i){return ti?1:0}function oo(t,i,e=0,s=t.length,n=0,o=i.length){for(;eo)return 1}const r=s-e,h=o-n;return rh?1:0}function ro(t,i){return ho(t,i,0,t.length,0,i.length)}function ho(t,i,e=0,s=t.length,n=0,o=i.length){for(;e=128||h>=128)return oo(t.toLowerCase(),i.toLowerCase(),e,s,n,o);ao(r)&&(r-=32),ao(h)&&(h-=32);const c=r-h;if(0!==c)return c}const r=s-e,h=o-n;return rh?1:0}function co(t){return t>=48&&t<=57}function ao(t){return t>=97&&t<=122}function lo(t){return t>=65&&t<=90}function uo(t,i){return t.length===i.length&&0===ho(t,i)}function fo(t,i){return!(i.length>t.length)&&0===ho(t,i,0,i.length)}function po(t,i){const e=Math.min(t.length,i.length);let s;for(s=0;s1){const s=t.charCodeAt(i-2);if(mo(s))return vo(s,e)}return e}(this._str,this._offset);return this._offset-=t>=65536?2:1,t}nextCodePoint(){const t=bo(this._str,this._len,this._offset);return this._offset+=t>=65536?2:1,t}eol(){return this._offset>=this._len}}class ko{get offset(){return this._iterator.offset}constructor(t,i=0){this._iterator=new yo(t,i)}nextGraphemeLength(){const t=No.getInstance(),i=this._iterator,e=i.offset;let s=t.getGraphemeBreakType(i.nextCodePoint());for(;!i.eol();){const e=i.offset,n=t.getGraphemeBreakType(i.nextCodePoint());if(_o(s,n)){i.setOffset(e);break}s=n}return i.offset-e}prevGraphemeLength(){const t=No.getInstance(),i=this._iterator,e=i.offset;let s=t.getGraphemeBreakType(i.prevCodePoint());for(;i.offset>0;){const e=i.offset,n=t.getGraphemeBreakType(i.prevCodePoint());if(_o(n,s)){i.setOffset(e);break}s=n}return e-i.offset}eol(){return this._iterator.eol()}}function xo(t,i){return new ko(t,i).nextGraphemeLength()}function Co(t,i){return new ko(t,i).prevGraphemeLength()}let So;function Do(t){return So||(So=/(?:[\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])/),So.test(t)}const Eo=/^[\t\n\r\x20-\x7E]*$/;function Ao(t){return Eo.test(t)}const Mo=/[\u2028\u2029]/;function Lo(t){return Mo.test(t)}function Fo(t){return t>=11904&&t<=55215||t>=63744&&t<=64255||t>=65281&&t<=65374}function To(t){return t>=127462&&t<=127487||8986===t||8987===t||9200===t||9203===t||t>=9728&&t<=10175||11088===t||11093===t||t>=127744&&t<=128591||t>=128640&&t<=128764||t>=128992&&t<=129008||t>=129280&&t<=129535||t>=129648&&t<=129782}const Ro=String.fromCharCode(65279);function Oo(t){return!!(t&&t.length>0&&65279===t.charCodeAt(0))}function Io(t){return t%=52,String.fromCharCode(t<26?97+t:65+t-26)}function _o(t,i){return 0===t?5!==i&&7!==i:!(2===t&&3===i||4!==t&&2!==t&&3!==t&&4!==i&&2!==i&&3!==i&&(8===t&&(8===i||9===i||11===i||12===i)||!(11!==t&&9!==t||9!==i&&10!==i)||(12===t||10===t)&&10===i||5===i||13===i||7===i||1===t||13===t&&14===i||6===t&&6===i))}class No{static getInstance(){return No._INSTANCE||(No._INSTANCE=new No),No._INSTANCE}constructor(){this._data=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]")}getGraphemeBreakType(t){if(t<32)return 10===t?3:13===t?2:4;if(t<127)return 0;const i=this._data,e=i.length/3;let s=1;for(;s<=e;)if(ti[3*s+1]))return i[3*s+2];s=2*s+1}return 0}}function Bo(t){return 127995<=t&&t<=127999}No._INSTANCE=null;class Po{static getInstance(t){return Vn.cache.get(Array.from(t))}static getLocales(){return Vn._locales.value}constructor(t){this.confusableDictionary=t}isAmbiguous(t){return this.confusableDictionary.has(t)}getPrimaryConfusable(t){return this.confusableDictionary.get(t)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}Vn=Po,Po.ambiguousCharacterData=new Hn((()=>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]}'))),Po.cache=new class{constructor(t){this.fn=t,this.lastCache=void 0,this.lastArgKey=void 0}get(t){const i=JSON.stringify(t);return this.lastArgKey!==i&&(this.lastArgKey=i,this.lastCache=this.fn(t)),this.lastCache}}((t=>{function i(t){const i=new Map;for(let e=0;e!t.startsWith("_")&&t in s));0===o.length&&(o=["_default"]);for(const t of o)n=e(n,i(s[t]));const r=function(t,i){const e=new Map(t);for(const[t,s]of i)e.set(t,s);return e}(i(s._common),n);return new Vn(r)})),Po._locales=new Hn((()=>Object.keys(Vn.ambiguousCharacterData.value).filter((t=>!t.startsWith("_")))));class $o{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($o.getRawData())),this._data}static isInvisibleCharacter(t){return $o.getData().has(t)}static get codePoints(){return $o.getData()}}$o._data=void 0;class Wo{constructor(){this._zoomFactor=1}getZoomFactor(){return this._zoomFactor}}Wo.INSTANCE=new Wo;class jo extends ie{constructor(){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(!0),this._mediaQueryList=null,this._handleChange(!1)}_handleChange(t){var i;null===(i=this._mediaQueryList)||void 0===i||i.removeEventListener("change",this._listener),this._mediaQueryList=jn.matchMedia(`(resolution: ${jn.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}}class zo extends ie{get value(){return this._value}constructor(){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio();const t=this._register(new jo);this._register(t.onDidChange((()=>{this._value=this._getPixelRatio(),this._onDidChange.fire(this._value)})))}_getPixelRatio(){const t=document.createElement("canvas").getContext("2d");return(jn.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}}function Ho(t,i){"string"==typeof t&&(t=jn.matchMedia(t)),t.addEventListener("change",i)}const Vo=new class{constructor(){this._pixelRatioMonitor=null}_getOrCreatePixelRatioMonitor(){return this._pixelRatioMonitor||(this._pixelRatioMonitor=new zo),this._pixelRatioMonitor}get value(){return this._getOrCreatePixelRatioMonitor().value}get onDidChange(){return this._getOrCreatePixelRatioMonitor().onDidChange}},Uo=navigator.userAgent,qo=Uo.indexOf("Firefox")>=0,Ko=Uo.indexOf("AppleWebKit")>=0,Go=Uo.indexOf("Chrome")>=0,Zo=!Go&&Uo.indexOf("Safari")>=0,Qo=!Go&&!Zo&&Ko;Uo.indexOf("Electron/");const Jo=Uo.indexOf("Android")>=0;let Yo=!1;if(jn.matchMedia){const t=jn.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),i=jn.matchMedia("(display-mode: fullscreen)");Yo=t.matches,Ho(t,(({matches:t})=>{Yo&&i.matches||(Yo=t)}))}class Xo{constructor(t){this.domNode=t,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(t){const i=tr(t);this._maxWidth!==i&&(this._maxWidth=i,this.domNode.style.maxWidth=this._maxWidth)}setWidth(t){const i=tr(t);this._width!==i&&(this._width=i,this.domNode.style.width=this._width)}setHeight(t){const i=tr(t);this._height!==i&&(this._height=i,this.domNode.style.height=this._height)}setTop(t){const i=tr(t);this._top!==i&&(this._top=i,this.domNode.style.top=this._top)}setLeft(t){const i=tr(t);this._left!==i&&(this._left=i,this.domNode.style.left=this._left)}setBottom(t){const i=tr(t);this._bottom!==i&&(this._bottom=i,this.domNode.style.bottom=this._bottom)}setRight(t){const i=tr(t);this._right!==i&&(this._right=i,this.domNode.style.right=this._right)}setPaddingLeft(t){const i=tr(t);this._paddingLeft!==i&&(this._paddingLeft=i,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(t){this._fontFamily!==t&&(this._fontFamily=t,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(t){const i=tr(t);this._fontSize!==i&&(this._fontSize=i,this.domNode.style.fontSize=this._fontSize)}setFontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(t){this._fontFeatureSettings!==t&&(this._fontFeatureSettings=t,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(t){this._fontVariationSettings!==t&&(this._fontVariationSettings=t,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(t){this._textDecoration!==t&&(this._textDecoration=t,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(t){const i=tr(t);this._lineHeight!==i&&(this._lineHeight=i,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(t){const i=tr(t);this._letterSpacing!==i&&(this._letterSpacing=i,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(t){this._className!==t&&(this._className=t,this.domNode.className=this._className)}toggleClassName(t,i){this.domNode.classList.toggle(t,i),this._className=this.domNode.className}setDisplay(t){this._display!==t&&(this._display=t,this.domNode.style.display=this._display)}setPosition(t){this._position!==t&&(this._position=t,this.domNode.style.position=this._position)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this.domNode.style.visibility=this._visibility)}setColor(t){this._color!==t&&(this._color=t,this.domNode.style.color=this._color)}setBackgroundColor(t){this._backgroundColor!==t&&(this._backgroundColor=t,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(t){this._layerHint!==t&&(this._layerHint=t,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(t){this._boxShadow!==t&&(this._boxShadow=t,this.domNode.style.boxShadow=t)}setContain(t){this._contain!==t&&(this._contain=t,this.domNode.style.contain=this._contain)}setAttribute(t,i){this.domNode.setAttribute(t,i)}removeAttribute(t){this.domNode.removeAttribute(t)}appendChild(t){this.domNode.appendChild(t.domNode)}removeChild(t){this.domNode.removeChild(t.domNode)}}function tr(t){return"number"==typeof t?`${t}px`:t}function ir(t){return new Xo(t)}function er(t,i){t instanceof Xo?(t.setFontFamily(i.getMassagedFontFamily()),t.setFontWeight(i.fontWeight),t.setFontSize(i.fontSize),t.setFontFeatureSettings(i.fontFeatureSettings),t.setFontVariationSettings(i.fontVariationSettings),t.setLineHeight(i.lineHeight),t.setLetterSpacing(i.letterSpacing)):(t.style.fontFamily=i.getMassagedFontFamily(),t.style.fontWeight=i.fontWeight,t.style.fontSize=i.fontSize+"px",t.style.fontFeatureSettings=i.fontFeatureSettings,t.style.fontVariationSettings=i.fontVariationSettings,t.style.lineHeight=i.lineHeight+"px",t.style.letterSpacing=i.letterSpacing+"px")}class sr{constructor(t,i){this.chr=t,this.type=i,this.width=0}fulfill(t){this.width=t}}class nr{constructor(t,i){this._bareFontInfo=t,this._requests=i,this._container=null,this._testElements=null}read(){this._createDomElements(),jn.document.body.appendChild(this._container),this._readFromDomElements(),jn.document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const t=document.createElement("div");t.style.position="absolute",t.style.top="-50000px",t.style.width="50000px";const i=document.createElement("div");er(i,this._bareFontInfo),t.appendChild(i);const e=document.createElement("div");er(e,this._bareFontInfo),e.style.fontWeight="bold",t.appendChild(e);const s=document.createElement("div");er(s,this._bareFontInfo),s.style.fontStyle="italic",t.appendChild(s);const n=[];for(const t of this._requests){let o;0===t.type&&(o=i),2===t.type&&(o=e),1===t.type&&(o=s),o.appendChild(document.createElement("br"));const r=document.createElement("span");nr._render(r,t),o.appendChild(r),n.push(r)}this._container=t,this._testElements=n}static _render(t,i){if(" "===i.chr){let i=" ";for(let t=0;t<8;t++)i+=i;t.innerText=i}else{let e=i.chr;for(let t=0;t<8;t++)e+=e;t.textContent=e}}_readFromDomElements(){for(let t=0,i=this._requests.length;tthis._values[t]))}}const lr=new class extends ie{constructor(){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._cache=new ar,this._evictUntrustedReadingsTimeout=-1}dispose(){-1!==this._evictUntrustedReadingsTimeout&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache=new ar,this._onDidChange.fire()}_writeToCache(t,i){this._cache.put(t,i),i.isTrusted||-1!==this._evictUntrustedReadingsTimeout||(this._evictUntrustedReadingsTimeout=Wn.setTimeout((()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings()}),5e3))}_evictUntrustedReadings(){const t=this._cache.getValues();let i=!1;for(const e of t)e.isTrusted||(i=!0,this._cache.remove(e));i&&this._onDidChange.fire()}readFontInfo(t){if(!this._cache.has(t)){let i=this._actualReadFontInfo(t);(i.typicalHalfwidthCharacterWidth<=2||i.typicalFullwidthCharacterWidth<=2||i.spaceWidth<=2||i.maxDigitWidth<=2)&&(i=new cr({pixelRatio:Vo.value,fontFamily:i.fontFamily,fontWeight:i.fontWeight,fontSize:i.fontSize,fontFeatureSettings:i.fontFeatureSettings,fontVariationSettings:i.fontVariationSettings,lineHeight:i.lineHeight,letterSpacing:i.letterSpacing,isMonospace:i.isMonospace,typicalHalfwidthCharacterWidth:Math.max(i.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(i.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:i.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(i.spaceWidth,5),middotWidth:Math.max(i.middotWidth,5),wsmiddotWidth:Math.max(i.wsmiddotWidth,5),maxDigitWidth:Math.max(i.maxDigitWidth,5)},!1)),this._writeToCache(t,i)}return this._cache.get(t)}_createRequest(t,i,e,s){const n=new sr(t,i);return e.push(n),null==s||s.push(n),n}_actualReadFontInfo(t){const i=[],e=[],s=this._createRequest("n",0,i,e),n=this._createRequest("m",0,i,null),o=this._createRequest(" ",0,i,e),r=this._createRequest("0",0,i,e),h=this._createRequest("1",0,i,e),c=this._createRequest("2",0,i,e),a=this._createRequest("3",0,i,e),l=this._createRequest("4",0,i,e),u=this._createRequest("5",0,i,e),d=this._createRequest("6",0,i,e),f=this._createRequest("7",0,i,e),p=this._createRequest("8",0,i,e),g=this._createRequest("9",0,i,e),m=this._createRequest("→",0,i,e),w=this._createRequest("→",0,i,null),v=this._createRequest("·",0,i,e),b=this._createRequest(String.fromCharCode(11825),0,i,null),y="|/-_ilm%";for(let t=0,s=8;t.001){x=!1;break}}let S=!0;return x&&w.width!==C&&(S=!1),w.width>m.width&&(S=!1),new cr({pixelRatio:Vo.value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:x,typicalHalfwidthCharacterWidth:s.width,typicalFullwidthCharacterWidth:n.width,canUseHalfwidthRightwardsArrow:S,spaceWidth:o.width,middotWidth:v.width,wsmiddotWidth:b.width,maxDigitWidth:k},!0)}};var ur;!function(t){t.serviceIds=new Map,t.DI_TARGET="$di$target",t.DI_DEPENDENCIES="$di$dependencies",t.getServiceDependencies=function(i){return i[t.DI_DEPENDENCIES]||[]}}(ur||(ur={}));const dr=fr("instantiationService");function fr(t){if(ur.serviceIds.has(t))return ur.serviceIds.get(t);const i=function(t,e,s){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(t,i,e){i[ur.DI_TARGET]===i?i[ur.DI_DEPENDENCIES].push({id:t,index:e}):(i[ur.DI_DEPENDENCIES]=[{id:t,index:e}],i[ur.DI_TARGET]=i)}(i,t,s)};return i.toString=()=>t,ur.serviceIds.set(t,i),i}const pr=fr("codeEditorService"),gr=fr("modelService"),mr=fr("textModelService");class wr extends ie{constructor(t,i="",e="",s=!0,n){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=t,this._label=i,this._cssClass=e,this._enabled=s,this._actionCallback=n}get id(){return this._id}get label(){return this._label}set label(t){this._setLabel(t)}_setLabel(t){this._label!==t&&(this._label=t,this._onDidChange.fire({label:t}))}get tooltip(){return this._tooltip||""}set tooltip(t){this._setTooltip(t)}_setTooltip(t){this._tooltip!==t&&(this._tooltip=t,this._onDidChange.fire({tooltip:t}))}get class(){return this._cssClass}set class(t){this._setClass(t)}_setClass(t){this._cssClass!==t&&(this._cssClass=t,this._onDidChange.fire({class:t}))}get enabled(){return this._enabled}set enabled(t){this._setEnabled(t)}_setEnabled(t){this._enabled!==t&&(this._enabled=t,this._onDidChange.fire({enabled:t}))}get checked(){return this._checked}set checked(t){this._setChecked(t)}_setChecked(t){this._checked!==t&&(this._checked=t,this._onDidChange.fire({checked:t}))}async run(t,i){this._actionCallback&&await this._actionCallback(t)}}class vr extends ie{constructor(){super(...arguments),this._onWillRun=this._register(new fe),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new fe),this.onDidRun=this._onDidRun.event}async run(t,i){if(!t.enabled)return;let e;this._onWillRun.fire({action:t});try{await this.runAction(t,i)}catch(t){e=t}this._onDidRun.fire({action:t,error:e})}async runAction(t,i){await t.run(i)}}class br{constructor(){this.id=br.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...t){let i=[];for(const e of t)e.length&&(i=i.length?[...i,new br,...e]:e);return i}async run(){}}br.ID="vs.actions.separator";class yr{get actions(){return this._actions}constructor(t,i,e,s){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=t,this.label=i,this.class=s,this._actions=e}async run(){}}class kr extends wr{constructor(){super(kr.ID,rt(0,"(empty)"),void 0,!1)}}function xr(t){var i,e;return{id:t.id,label:t.label,class:t.class,enabled:null===(i=t.enabled)||void 0===i||i,checked:null!==(e=t.checked)&&void 0!==e&&e,run:async(...i)=>t.run(...i),tooltip:t.label}}var Cr,Sr;kr.ID="vs.actions.empty",function(t){t.isThemeColor=function(t){return t&&"object"==typeof t&&"string"==typeof t.id}}(Cr||(Cr={})),function(t){t.iconNameSegment="[A-Za-z0-9]+",t.iconNameExpression="[A-Za-z0-9-]+",t.iconModifierExpression="~[A-Za-z]+",t.iconNameCharacter="[A-Za-z0-9~-]";const i=new RegExp(`^(${t.iconNameExpression})(${t.iconModifierExpression})?$`);function e(t){const s=i.exec(t.id);if(!s)return e(Is.error);const[,n,o]=s,r=["codicon","codicon-"+n];return o&&r.push("codicon-modifier-"+o.substring(1)),r}t.asClassNameArray=e,t.asClassName=function(t){return e(t).join(" ")},t.asCSSSelector=function(t){return"."+e(t).join(".")},t.isThemeIcon=function(t){return t&&"object"==typeof t&&"string"==typeof t.id&&(void 0===t.color||Cr.isThemeColor(t.color))};const s=new RegExp(`^\\$\\((${t.iconNameExpression}(?:${t.iconModifierExpression})?)\\)$`);t.fromString=function(t){const i=s.exec(t);if(!i)return;const[,e]=i;return{id:e}},t.fromId=function(t){return{id:t}},t.modify=function(t,i){let e=t.id;const s=e.lastIndexOf("~");return-1!==s&&(e=e.substring(0,s)),i&&(e=`${e}~${i}`),{id:e}},t.getModifier=function(t){const i=t.id.lastIndexOf("~");if(-1!==i)return t.id.substring(i+1)},t.isEqual=function(t,i){var e,s;return t.id===i.id&&(null===(e=t.color)||void 0===e?void 0:e.id)===(null===(s=i.color)||void 0===s?void 0:s.id)}}(Sr||(Sr={}));const Dr=fr("commandService"),Er=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new fe,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(t,i){if(!t)throw new Error("invalid command");if("string"==typeof t){if(!i)throw new Error("invalid command");return this.registerCommand({id:t,handler:i})}if(t.metadata&&Array.isArray(t.metadata.args)){const i=[];for(const e of t.metadata.args)i.push(e.constraint);const e=t.handler;t.handler=function(t,...s){return function(t,i){const e=Math.min(t.length,i.length);for(let s=0;s{n();const t=this._commands.get(e);(null==t?void 0:t.isEmpty())&&this._commands.delete(e)}));return this._onDidRegisterCommand.fire(e),o}registerCommandAlias(t,i){return Er.registerCommand(t,((t,...e)=>t.get(Dr).executeCommand(i,...e)))}getCommand(t){const i=this._commands.get(t);if(i&&!i.isEmpty())return Vt.first(i)}getCommands(){const t=new Map;for(const i of this._commands.keys()){const e=this.getCommand(i);e&&t.set(i,e)}return t}};function Ar(...t){switch(t.length){case 1:return rt(0,"Did you mean {0}?",t[0]);case 2:return rt(0,"Did you mean {0} or {1}?",t[0],t[1]);case 3:return rt(0,"Did you mean {0}, {1} or {2}?",t[0],t[1],t[2]);default:return}}Er.registerCommand("noop",(()=>{}));const Mr=rt(0,"Did you forget to open or close the quote?"),Lr=rt(0,"Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");class Fr{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(t){switch(t.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return t.isTripleEq?"===":"==";case 4:return t.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:case 8:return">=";case 9:return"=~";case 10:case 17:case 18:case 19:return t.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 20:return"EOF";default:throw Ui(`unhandled token type: ${JSON.stringify(t)}; have you forgotten to add a case?`)}}reset(t){return this._input=t,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){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(Ar("==","=~"));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(Ar("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(Ar("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(t){return!this._isAtEnd()&&this._input.charCodeAt(this._current)===t&&(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(t){this._tokens.push({type:t,offset:this._start})}_error(t){const i=this._start,e=this._input.substring(this._start,this._current),s={type:19,offset:this._start,lexeme:e};this._errors.push({offset:i,lexeme:e,additionalInfo:t}),this._tokens.push(s)}_string(){this.stringRe.lastIndex=this._start;const t=this.stringRe.exec(this._input);if(t){this._current=this._start+t[0].length;const i=this._input.substring(this._start,this._current),e=Fr._keywords.get(i);e?this._addToken(e):this._tokens.push({type:17,lexeme:i,offset:this._start})}}_quotedString(){for(;39!==this._peek()&&!this._isAtEnd();)this._advance();this._isAtEnd()?this._error(Mr):(this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1}))}_regex(){let t=this._current,i=!1,e=!1;for(;;){if(t>=this._input.length)return this._current=t,void this._error(Lr);const s=this._input.charCodeAt(t);if(i)i=!1;else{if(47===s&&!e){t++;break}91===s?e=!0:92===s?i=!0:93===s&&(e=!1)}t++}for(;t=this._input.length}}Fr._regexFlags=new Set(["i","g","s","m","y","u"].map((t=>t.charCodeAt(0)))),Fr._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]);const Tr=new Map;Tr.set("false",!1),Tr.set("true",!0),Tr.set("isMac",St),Tr.set("isLinux",Dt),Tr.set("isWindows",Ct),Tr.set("isWeb",At),Tr.set("isMacNative",St&&!At),Tr.set("isEdge",zt),Tr.set("isFirefox",Wt),Tr.set("isChrome",$t),Tr.set("isSafari",jt);const Rr=Object.prototype.hasOwnProperty,Or={regexParsingWithErrorRecovery:!0},Ir=rt(0,"Empty context key expression"),_r=rt(0,"Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),Nr=rt(0,"'in' after 'not'."),Br=rt(0,"closing parenthesis ')'"),Pr=rt(0,"Unexpected token"),$r=rt(0,"Did you forget to put && or || before the token?"),Wr=rt(0,"Unexpected end of expression"),jr=rt(0,"Did you forget to put a context key?");class zr{constructor(t=Or){this._config=t,this._scanner=new Fr,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(t){if(""!==t){this._tokens=this._scanner.reset(t).scan(),this._current=0,this._parsingErrors=[];try{const t=this._expr();if(!this._isAtEnd()){const t=this._peek(),i=17===t.type?$r:void 0;throw this._parsingErrors.push({message:Pr,offset:t.offset,lexeme:Fr.getLexeme(t),additionalInfo:i}),zr._parseError}return t}catch(t){if(t!==zr._parseError)throw t;return}}else this._parsingErrors.push({message:Ir,offset:0,lexeme:"",additionalInfo:_r})}_expr(){return this._or()}_or(){const t=[this._and()];for(;this._matchOne(16);){const i=this._and();t.push(i)}return 1===t.length?t[0]:Hr.or(...t)}_and(){const t=[this._term()];for(;this._matchOne(15);){const i=this._term();t.push(i)}return 1===t.length?t[0]:Hr.and(...t)}_term(){if(this._matchOne(2)){const t=this._peek();switch(t.type){case 11:return this._advance(),Ur.INSTANCE;case 12:return this._advance(),qr.INSTANCE;case 0:{this._advance();const t=this._expr();return this._consume(1,Br),null==t?void 0:t.negate()}case 17:return this._advance(),Yr.create(t.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",t)}}return this._primary()}_primary(){const t=this._peek();switch(t.type){case 11:return this._advance(),Hr.true();case 12:return this._advance(),Hr.false();case 0:{this._advance();const t=this._expr();return this._consume(1,Br),t}case 17:{const i=t.lexeme;if(this._advance(),this._matchOne(9)){const t=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),10!==t.type)throw this._errExpectedButGot("REGEX",t);const e=t.lexeme,s=e.lastIndexOf("/"),n=s===e.length-1?void 0:this._removeFlagsGY(e.substring(s+1));let o;try{o=new RegExp(e.substring(1,s),n)}catch(i){throw this._errExpectedButGot("REGEX",t)}return nh.create(i,o)}switch(t.type){case 10:case 19:{const e=[t.lexeme];this._advance();let s=this._peek(),n=0;for(let i=0;i=0){const o=e.slice(i+1,n),r="i"===e[n+1]?"i":"";try{s=new RegExp(o,r)}catch(i){throw this._errExpectedButGot("REGEX",t)}}}if(null===s)throw this._errExpectedButGot("REGEX",t);return nh.create(i,s)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,Nr);const t=this._value();return Hr.notIn(i,t)}switch(this._peek().type){case 3:{this._advance();const t=this._value();if(18===this._previous().type)return Hr.equals(i,t);switch(t){case"true":return Hr.has(i);case"false":return Hr.not(i);default:return Hr.equals(i,t)}}case 4:{this._advance();const t=this._value();if(18===this._previous().type)return Hr.notEquals(i,t);switch(t){case"true":return Hr.not(i);case"false":return Hr.has(i);default:return Hr.notEquals(i,t)}}case 5:return this._advance(),eh.create(i,this._value());case 6:return this._advance(),sh.create(i,this._value());case 7:return this._advance(),th.create(i,this._value());case 8:return this._advance(),ih.create(i,this._value());case 13:return this._advance(),Hr.in(i,this._value());default:return Hr.has(i)}}case 20:throw this._parsingErrors.push({message:Wr,offset:t.offset,lexeme:"",additionalInfo:jr}),zr._parseError;default:throw this._errExpectedButGot("true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const t=this._peek();switch(t.type){case 17:case 18:return this._advance(),t.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(t){return t.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(t){return!!this._check(t)&&(this._advance(),!0)}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(t,i){if(this._check(t))return this._advance();throw this._errExpectedButGot(i,this._peek())}_errExpectedButGot(t,i,e){const s=rt(0,"Expected: {0}\nReceived: '{1}'.",t,Fr.getLexeme(i)),n=i.offset,o=Fr.getLexeme(i);return this._parsingErrors.push({message:s,offset:n,lexeme:o,additionalInfo:e}),zr._parseError}_check(t){return this._peek().type===t}_peek(){return this._tokens[this._current]}_isAtEnd(){return 20===this._peek().type}}zr._parseError=new Error;class Hr{static false(){return Ur.INSTANCE}static true(){return qr.INSTANCE}static has(t){return Kr.create(t)}static equals(t,i){return Gr.create(t,i)}static notEquals(t,i){return Jr.create(t,i)}static regex(t,i){return nh.create(t,i)}static in(t,i){return Zr.create(t,i)}static notIn(t,i){return Qr.create(t,i)}static not(t){return Yr.create(t)}static and(...t){return hh.create(t,null,!0)}static or(...t){return ch.create(t,null,!0)}static deserialize(t){if(null!=t)return this._parser.parse(t)}}function Vr(t,i){return t.cmp(i)}Hr._parser=new zr({regexParsingWithErrorRecovery:!1});class Ur{constructor(){this.type=0}cmp(t){return this.type-t.type}equals(t){return t.type===this.type}substituteConstants(){return this}evaluate(t){return!1}serialize(){return"false"}keys(){return[]}negate(){return qr.INSTANCE}}Ur.INSTANCE=new Ur;class qr{constructor(){this.type=1}cmp(t){return this.type-t.type}equals(t){return t.type===this.type}substituteConstants(){return this}evaluate(t){return!0}serialize(){return"true"}keys(){return[]}negate(){return Ur.INSTANCE}}qr.INSTANCE=new qr;class Kr{static create(t,i=null){const e=Tr.get(t);return"boolean"==typeof e?e?qr.INSTANCE:Ur.INSTANCE:new Kr(t,i)}constructor(t,i){this.key=t,this.negated=i,this.type=2}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,t.key)}equals(t){return t.type===this.type&&this.key===t.key}substituteConstants(){const t=Tr.get(this.key);return"boolean"==typeof t?t?qr.INSTANCE:Ur.INSTANCE:this}evaluate(t){return!!t.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=Yr.create(this.key,this)),this.negated}}class Gr{static create(t,i,e=null){if("boolean"==typeof i)return i?Kr.create(t,e):Yr.create(t,e);const s=Tr.get(t);return"boolean"==typeof s?i===(s?"true":"false")?qr.INSTANCE:Ur.INSTANCE:new Gr(t,i,e)}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=4}cmp(t){return t.type!==this.type?this.type-t.type:dh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){const t=Tr.get(this.key);return"boolean"==typeof t?this.value===(t?"true":"false")?qr.INSTANCE:Ur.INSTANCE:this}evaluate(t){return t.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Jr.create(this.key,this.value,this)),this.negated}}class Zr{static create(t,i){return new Zr(t,i)}constructor(t,i){this.key=t,this.valueKey=i,this.type=10,this.negated=null}cmp(t){return t.type!==this.type?this.type-t.type:dh(this.key,this.valueKey,t.key,t.valueKey)}equals(t){return t.type===this.type&&this.key===t.key&&this.valueKey===t.valueKey}substituteConstants(){return this}evaluate(t){const i=t.getValue(this.valueKey),e=t.getValue(this.key);return Array.isArray(i)?i.includes(e):"string"==typeof e&&"object"==typeof i&&null!==i&&Rr.call(i,e)}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=Qr.create(this.key,this.valueKey)),this.negated}}class Qr{static create(t,i){return new Qr(t,i)}constructor(t,i){this.key=t,this.valueKey=i,this.type=11,this._negated=Zr.create(t,i)}cmp(t){return t.type!==this.type?this.type-t.type:this._negated.cmp(t._negated)}equals(t){return t.type===this.type&&this._negated.equals(t._negated)}substituteConstants(){return this}evaluate(t){return!this._negated.evaluate(t)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class Jr{static create(t,i,e=null){if("boolean"==typeof i)return i?Yr.create(t,e):Kr.create(t,e);const s=Tr.get(t);return"boolean"==typeof s?i===(s?"true":"false")?Ur.INSTANCE:qr.INSTANCE:new Jr(t,i,e)}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=5}cmp(t){return t.type!==this.type?this.type-t.type:dh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){const t=Tr.get(this.key);return"boolean"==typeof t?this.value===(t?"true":"false")?Ur.INSTANCE:qr.INSTANCE:this}evaluate(t){return t.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Gr.create(this.key,this.value,this)),this.negated}}class Yr{static create(t,i=null){const e=Tr.get(t);return"boolean"==typeof e?e?Ur.INSTANCE:qr.INSTANCE:new Yr(t,i)}constructor(t,i){this.key=t,this.negated=i,this.type=3}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,t.key)}equals(t){return t.type===this.type&&this.key===t.key}substituteConstants(){const t=Tr.get(this.key);return"boolean"==typeof t?t?Ur.INSTANCE:qr.INSTANCE:this}evaluate(t){return!t.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Kr.create(this.key,this)),this.negated}}function Xr(t,i){if("string"==typeof t){const i=parseFloat(t);isNaN(i)||(t=i)}return"string"==typeof t||"number"==typeof t?i(t):Ur.INSTANCE}class th{static create(t,i,e=null){return Xr(i,(i=>new th(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=12}cmp(t){return t.type!==this.type?this.type-t.type:dh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=sh.create(this.key,this.value,this)),this.negated}}class ih{static create(t,i,e=null){return Xr(i,(i=>new ih(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=13}cmp(t){return t.type!==this.type?this.type-t.type:dh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=eh.create(this.key,this.value,this)),this.negated}}class eh{static create(t,i,e=null){return Xr(i,(i=>new eh(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=14}cmp(t){return t.type!==this.type?this.type-t.type:dh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))new sh(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=15}cmp(t){return t.type!==this.type?this.type-t.type:dh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=th.create(this.key,this.value,this)),this.negated}}class nh{static create(t,i){return new nh(t,i)}constructor(t,i){this.key=t,this.regexp=i,this.type=7,this.negated=null}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.keyt.key)return 1;const i=this.regexp?this.regexp.source:"",e=t.regexp?t.regexp.source:"";return ie?1:0}equals(t){return t.type===this.type&&(this.key===t.key&&(this.regexp?this.regexp.source:"")===(t.regexp?t.regexp.source:""))}substituteConstants(){return this}evaluate(t){const i=t.getValue(this.key);return!!this.regexp&&this.regexp.test(i)}serialize(){return`${this.key} =~ ${this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/"}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=oh.create(this)),this.negated}}class oh{static create(t){return new oh(t)}constructor(t){this._actual=t,this.type=8}cmp(t){return t.type!==this.type?this.type-t.type:this._actual.cmp(t._actual)}equals(t){return t.type===this.type&&this._actual.equals(t._actual)}substituteConstants(){return this}evaluate(t){return!this._actual.evaluate(t)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function rh(t){let i=null;for(let e=0,s=t.length;et.expr.length)return 1;for(let i=0,e=this.expr.length;i1;){const t=s[s.length-1];if(9!==t.type)break;s.pop();const i=s.pop(),n=0===s.length,o=ch.create(t.expr.map((t=>hh.create([t,i],null,e))),null,n);o&&(s.push(o),s.sort(Vr))}if(1===s.length)return s[0];if(e){for(let t=0;tt.serialize())).join(" && ")}keys(){const t=[];for(const i of this.expr)t.push(...i.keys());return t}negate(){if(!this.negated){const t=[];for(const i of this.expr)t.push(i.negate());this.negated=ch.create(t,this,!0)}return this.negated}}class ch{static create(t,i,e){return ch._normalizeArr(t,i,e)}constructor(t,i){this.expr=t,this.negated=i,this.type=9}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.expr.lengtht.expr.length)return 1;for(let i=0,e=this.expr.length;it.serialize())).join(" || ")}keys(){const t=[];for(const i of this.expr)t.push(...i.keys());return t}negate(){if(!this.negated){const t=[];for(const i of this.expr)t.push(i.negate());for(;t.length>1;){const i=t.shift(),e=t.shift(),s=[];for(const t of gh(i))for(const i of gh(e))s.push(hh.create([t,i],null,!1));t.unshift(ch.create(s,null,!1))}this.negated=ch.create(t,this,!0)}return this.negated}}class ah extends Kr{static all(){return ah._info.values()}constructor(t,i,e){super(t,null),this._defaultValue=i,"object"==typeof e?ah._info.push({...e,key:t}):!0!==e&&ah._info.push({key:t,description:e,type:null!=i?typeof i:void 0})}bindTo(t){return t.createKey(this.key,this._defaultValue)}getValue(t){return t.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(t){return Gr.create(this.key,t)}}ah._info=[];const lh=fr("contextKeyService");function uh(t,i){return ti?1:0}function dh(t,i,e,s){return te?1:is?1:0}function fh(t,i){if(0===t.type||1===i.type)return!0;if(9===t.type)return 9===i.type&&ph(t.expr,i.expr);if(9===i.type){for(const e of i.expr)if(fh(t,e))return!0;return!1}if(6===t.type){if(6===i.type)return ph(i.expr,t.expr);for(const e of t.expr)if(fh(e,i))return!0;return!1}return t.equals(i)}function ph(t,i){let e=0,s=0;for(;e>>0,s=(4294901760&t)>>>16;return new bh(0!==s?[wh(e,i),wh(s,i)]:[wh(e,i)])}{const e=[];for(let s=0;s{r(),this._cachedMergedKeybindings=null}))}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(Lh)),this._cachedMergedKeybindings.slice(0)}}const Mh=new Ah;function Lh(t,i){if(t.weight1!==i.weight1)return t.weight1-i.weight1;if(t.command&&i.command){if(t.commandi.command)return 1}return t.weight2-i.weight2}Eh.add("platform.keybindingsRegistry",Mh);var Fh,Th=function(t,i){return function(e,s){i(e,s,t)}};function Rh(t){return void 0!==t.command}class Oh{constructor(t){if(Oh._instances.has(t))throw new TypeError(`MenuId with identifier '${t}' already exists. Use MenuId.for(ident) or a unique identifier`);Oh._instances.set(t,this),this.id=t}}Oh._instances=new Map,Oh.CommandPalette=new Oh("CommandPalette"),Oh.DebugBreakpointsContext=new Oh("DebugBreakpointsContext"),Oh.DebugCallStackContext=new Oh("DebugCallStackContext"),Oh.DebugConsoleContext=new Oh("DebugConsoleContext"),Oh.DebugVariablesContext=new Oh("DebugVariablesContext"),Oh.DebugWatchContext=new Oh("DebugWatchContext"),Oh.DebugToolBar=new Oh("DebugToolBar"),Oh.DebugToolBarStop=new Oh("DebugToolBarStop"),Oh.EditorContext=new Oh("EditorContext"),Oh.SimpleEditorContext=new Oh("SimpleEditorContext"),Oh.EditorContent=new Oh("EditorContent"),Oh.EditorLineNumberContext=new Oh("EditorLineNumberContext"),Oh.EditorContextCopy=new Oh("EditorContextCopy"),Oh.EditorContextPeek=new Oh("EditorContextPeek"),Oh.EditorContextShare=new Oh("EditorContextShare"),Oh.EditorTitle=new Oh("EditorTitle"),Oh.EditorTitleRun=new Oh("EditorTitleRun"),Oh.EditorTitleContext=new Oh("EditorTitleContext"),Oh.EditorTitleContextShare=new Oh("EditorTitleContextShare"),Oh.EmptyEditorGroup=new Oh("EmptyEditorGroup"),Oh.EmptyEditorGroupContext=new Oh("EmptyEditorGroupContext"),Oh.EditorTabsBarContext=new Oh("EditorTabsBarContext"),Oh.EditorTabsBarShowTabsSubmenu=new Oh("EditorTabsBarShowTabsSubmenu"),Oh.EditorActionsPositionSubmenu=new Oh("EditorActionsPositionSubmenu"),Oh.ExplorerContext=new Oh("ExplorerContext"),Oh.ExplorerContextShare=new Oh("ExplorerContextShare"),Oh.ExtensionContext=new Oh("ExtensionContext"),Oh.GlobalActivity=new Oh("GlobalActivity"),Oh.CommandCenter=new Oh("CommandCenter"),Oh.CommandCenterCenter=new Oh("CommandCenterCenter"),Oh.LayoutControlMenuSubmenu=new Oh("LayoutControlMenuSubmenu"),Oh.LayoutControlMenu=new Oh("LayoutControlMenu"),Oh.MenubarMainMenu=new Oh("MenubarMainMenu"),Oh.MenubarAppearanceMenu=new Oh("MenubarAppearanceMenu"),Oh.MenubarDebugMenu=new Oh("MenubarDebugMenu"),Oh.MenubarEditMenu=new Oh("MenubarEditMenu"),Oh.MenubarCopy=new Oh("MenubarCopy"),Oh.MenubarFileMenu=new Oh("MenubarFileMenu"),Oh.MenubarGoMenu=new Oh("MenubarGoMenu"),Oh.MenubarHelpMenu=new Oh("MenubarHelpMenu"),Oh.MenubarLayoutMenu=new Oh("MenubarLayoutMenu"),Oh.MenubarNewBreakpointMenu=new Oh("MenubarNewBreakpointMenu"),Oh.PanelAlignmentMenu=new Oh("PanelAlignmentMenu"),Oh.PanelPositionMenu=new Oh("PanelPositionMenu"),Oh.ActivityBarPositionMenu=new Oh("ActivityBarPositionMenu"),Oh.MenubarPreferencesMenu=new Oh("MenubarPreferencesMenu"),Oh.MenubarRecentMenu=new Oh("MenubarRecentMenu"),Oh.MenubarSelectionMenu=new Oh("MenubarSelectionMenu"),Oh.MenubarShare=new Oh("MenubarShare"),Oh.MenubarSwitchEditorMenu=new Oh("MenubarSwitchEditorMenu"),Oh.MenubarSwitchGroupMenu=new Oh("MenubarSwitchGroupMenu"),Oh.MenubarTerminalMenu=new Oh("MenubarTerminalMenu"),Oh.MenubarViewMenu=new Oh("MenubarViewMenu"),Oh.MenubarHomeMenu=new Oh("MenubarHomeMenu"),Oh.OpenEditorsContext=new Oh("OpenEditorsContext"),Oh.OpenEditorsContextShare=new Oh("OpenEditorsContextShare"),Oh.ProblemsPanelContext=new Oh("ProblemsPanelContext"),Oh.SCMInputBox=new Oh("SCMInputBox"),Oh.SCMHistoryItem=new Oh("SCMHistoryItem"),Oh.SCMChangeContext=new Oh("SCMChangeContext"),Oh.SCMResourceContext=new Oh("SCMResourceContext"),Oh.SCMResourceContextShare=new Oh("SCMResourceContextShare"),Oh.SCMResourceFolderContext=new Oh("SCMResourceFolderContext"),Oh.SCMResourceGroupContext=new Oh("SCMResourceGroupContext"),Oh.SCMSourceControl=new Oh("SCMSourceControl"),Oh.SCMTitle=new Oh("SCMTitle"),Oh.SearchContext=new Oh("SearchContext"),Oh.SearchActionMenu=new Oh("SearchActionContext"),Oh.StatusBarWindowIndicatorMenu=new Oh("StatusBarWindowIndicatorMenu"),Oh.StatusBarRemoteIndicatorMenu=new Oh("StatusBarRemoteIndicatorMenu"),Oh.StickyScrollContext=new Oh("StickyScrollContext"),Oh.TestItem=new Oh("TestItem"),Oh.TestItemGutter=new Oh("TestItemGutter"),Oh.TestMessageContext=new Oh("TestMessageContext"),Oh.TestMessageContent=new Oh("TestMessageContent"),Oh.TestPeekElement=new Oh("TestPeekElement"),Oh.TestPeekTitle=new Oh("TestPeekTitle"),Oh.TouchBarContext=new Oh("TouchBarContext"),Oh.TitleBarContext=new Oh("TitleBarContext"),Oh.TitleBarTitleContext=new Oh("TitleBarTitleContext"),Oh.TunnelContext=new Oh("TunnelContext"),Oh.TunnelPrivacy=new Oh("TunnelPrivacy"),Oh.TunnelProtocol=new Oh("TunnelProtocol"),Oh.TunnelPortInline=new Oh("TunnelInline"),Oh.TunnelTitle=new Oh("TunnelTitle"),Oh.TunnelLocalAddressInline=new Oh("TunnelLocalAddressInline"),Oh.TunnelOriginInline=new Oh("TunnelOriginInline"),Oh.ViewItemContext=new Oh("ViewItemContext"),Oh.ViewContainerTitle=new Oh("ViewContainerTitle"),Oh.ViewContainerTitleContext=new Oh("ViewContainerTitleContext"),Oh.ViewTitle=new Oh("ViewTitle"),Oh.ViewTitleContext=new Oh("ViewTitleContext"),Oh.CommentEditorActions=new Oh("CommentEditorActions"),Oh.CommentThreadTitle=new Oh("CommentThreadTitle"),Oh.CommentThreadActions=new Oh("CommentThreadActions"),Oh.CommentThreadAdditionalActions=new Oh("CommentThreadAdditionalActions"),Oh.CommentThreadTitleContext=new Oh("CommentThreadTitleContext"),Oh.CommentThreadCommentContext=new Oh("CommentThreadCommentContext"),Oh.CommentTitle=new Oh("CommentTitle"),Oh.CommentActions=new Oh("CommentActions"),Oh.InteractiveToolbar=new Oh("InteractiveToolbar"),Oh.InteractiveCellTitle=new Oh("InteractiveCellTitle"),Oh.InteractiveCellDelete=new Oh("InteractiveCellDelete"),Oh.InteractiveCellExecute=new Oh("InteractiveCellExecute"),Oh.InteractiveInputExecute=new Oh("InteractiveInputExecute"),Oh.NotebookToolbar=new Oh("NotebookToolbar"),Oh.NotebookStickyScrollContext=new Oh("NotebookStickyScrollContext"),Oh.NotebookCellTitle=new Oh("NotebookCellTitle"),Oh.NotebookCellDelete=new Oh("NotebookCellDelete"),Oh.NotebookCellInsert=new Oh("NotebookCellInsert"),Oh.NotebookCellBetween=new Oh("NotebookCellBetween"),Oh.NotebookCellListTop=new Oh("NotebookCellTop"),Oh.NotebookCellExecute=new Oh("NotebookCellExecute"),Oh.NotebookCellExecutePrimary=new Oh("NotebookCellExecutePrimary"),Oh.NotebookDiffCellInputTitle=new Oh("NotebookDiffCellInputTitle"),Oh.NotebookDiffCellMetadataTitle=new Oh("NotebookDiffCellMetadataTitle"),Oh.NotebookDiffCellOutputsTitle=new Oh("NotebookDiffCellOutputsTitle"),Oh.NotebookOutputToolbar=new Oh("NotebookOutputToolbar"),Oh.NotebookEditorLayoutConfigure=new Oh("NotebookEditorLayoutConfigure"),Oh.NotebookKernelSource=new Oh("NotebookKernelSource"),Oh.BulkEditTitle=new Oh("BulkEditTitle"),Oh.BulkEditContext=new Oh("BulkEditContext"),Oh.TimelineItemContext=new Oh("TimelineItemContext"),Oh.TimelineTitle=new Oh("TimelineTitle"),Oh.TimelineTitleContext=new Oh("TimelineTitleContext"),Oh.TimelineFilterSubMenu=new Oh("TimelineFilterSubMenu"),Oh.AccountsContext=new Oh("AccountsContext"),Oh.SidebarTitle=new Oh("SidebarTitle"),Oh.PanelTitle=new Oh("PanelTitle"),Oh.AuxiliaryBarTitle=new Oh("AuxiliaryBarTitle"),Oh.TerminalInstanceContext=new Oh("TerminalInstanceContext"),Oh.TerminalEditorInstanceContext=new Oh("TerminalEditorInstanceContext"),Oh.TerminalNewDropdownContext=new Oh("TerminalNewDropdownContext"),Oh.TerminalTabContext=new Oh("TerminalTabContext"),Oh.TerminalTabEmptyAreaContext=new Oh("TerminalTabEmptyAreaContext"),Oh.TerminalStickyScrollContext=new Oh("TerminalStickyScrollContext"),Oh.WebviewContext=new Oh("WebviewContext"),Oh.InlineCompletionsActions=new Oh("InlineCompletionsActions"),Oh.NewFile=new Oh("NewFile"),Oh.MergeInput1Toolbar=new Oh("MergeToolbar1Toolbar"),Oh.MergeInput2Toolbar=new Oh("MergeToolbar2Toolbar"),Oh.MergeBaseToolbar=new Oh("MergeBaseToolbar"),Oh.MergeInputResultToolbar=new Oh("MergeToolbarResultToolbar"),Oh.InlineSuggestionToolbar=new Oh("InlineSuggestionToolbar"),Oh.ChatContext=new Oh("ChatContext"),Oh.ChatCodeBlock=new Oh("ChatCodeblock"),Oh.ChatMessageTitle=new Oh("ChatMessageTitle"),Oh.ChatExecute=new Oh("ChatExecute"),Oh.ChatInputSide=new Oh("ChatInputSide"),Oh.AccessibleView=new Oh("AccessibleView"),Oh.MultiDiffEditorFileToolbar=new Oh("MultiDiffEditorFileToolbar");const Ih=fr("menuService");class _h{static for(t){let i=this._all.get(t);return i||(i=new _h(t),this._all.set(t,i)),i}static merge(t){const i=new Set;for(const e of t)e instanceof _h&&i.add(e.id);return i}constructor(t){this.id=t,this.has=i=>i===t}}_h._all=new Map;const Nh=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new we({merge:_h.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(t){return this._commands.set(t.id,t),this._onDidChangeMenu.fire(_h.for(Oh.CommandPalette)),Xi((()=>{this._commands.delete(t.id)&&this._onDidChangeMenu.fire(_h.for(Oh.CommandPalette))}))}getCommand(t){return this._commands.get(t)}getCommands(){const t=new Map;return this._commands.forEach(((i,e)=>t.set(e,i))),t}appendMenuItem(t,i){let e=this._menuItems.get(t);e||(e=new qt,this._menuItems.set(t,e));const s=e.push(i);return this._onDidChangeMenu.fire(_h.for(t)),Xi((()=>{s(),this._onDidChangeMenu.fire(_h.for(t))}))}appendMenuItems(t){const i=new te;for(const{id:e,item:s}of t)i.add(this.appendMenuItem(e,s));return i}getMenuItems(t){let i;return i=this._menuItems.has(t)?[...this._menuItems.get(t)]:[],t===Oh.CommandPalette&&this._appendImplicitItems(i),i}_appendImplicitItems(t){const i=new Set;for(const e of t)Rh(e)&&(i.add(e.command.id),e.alt&&i.add(e.alt.id));this._commands.forEach(((e,s)=>{i.has(s)||t.push({command:e})}))}};class Bh extends yr{constructor(t,i,e){super(`submenuitem.${t.submenu.id}`,"string"==typeof t.title?t.title:t.title.value,e,"submenu"),this.item=t,this.hideActions=i}}let Ph=Fh=class{static label(t,i){return(null==i?void 0:i.renderShortTitle)&&t.shortTitle?"string"==typeof t.shortTitle?t.shortTitle:t.shortTitle.value:"string"==typeof t.title?t.title:t.title.value}constructor(t,i,e,s,n,o){var r,h;let c;if(this.hideActions=s,this._commandService=o,this.id=t.id,this.label=Fh.label(t,e),this.tooltip=null!==(h="string"==typeof t.tooltip?t.tooltip:null===(r=t.tooltip)||void 0===r?void 0:r.value)&&void 0!==h?h:"",this.enabled=!t.precondition||n.contextMatchesRules(t.precondition),this.checked=void 0,t.toggled){const i=t.toggled.condition?t.toggled:{condition:t.toggled};this.checked=n.contextMatchesRules(i.condition),this.checked&&i.tooltip&&(this.tooltip="string"==typeof i.tooltip?i.tooltip:i.tooltip.value),this.checked&&Sr.isThemeIcon(i.icon)&&(c=i.icon),this.checked&&i.title&&(this.label="string"==typeof i.title?i.title:i.title.value)}c||(c=Sr.isThemeIcon(t.icon)?t.icon:void 0),this.item=t,this.alt=i?new Fh(i,void 0,e,s,n,o):void 0,this._options=e,this.class=c&&Sr.asClassName(c)}run(...t){var i,e;let s=[];return(null===(i=this._options)||void 0===i?void 0:i.arg)&&(s=[...s,this._options.arg]),(null===(e=this._options)||void 0===e?void 0:e.shouldForwardArgs)&&(s=[...s,...t]),this._commandService.executeCommand(this.id,...s)}};Ph=Fh=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Th(4,lh),Th(5,Dr)],Ph);class $h{constructor(t){this.desc=t}}function Wh(t){const i=new te,e=new t,{f1:s,menu:n,keybinding:o,...r}=e.desc;if(i.add(Er.registerCommand({id:r.id,handler:(t,...i)=>e.run(t,...i),metadata:r.metadata})),Array.isArray(n))for(const t of n)i.add(Nh.appendMenuItem(t.id,{command:{...r,precondition:null===t.precondition?void 0:r.precondition},...t}));else n&&i.add(Nh.appendMenuItem(n.id,{command:{...r,precondition:null===n.precondition?void 0:r.precondition},...n}));if(s&&(i.add(Nh.appendMenuItem(Oh.CommandPalette,{command:r,when:r.precondition})),i.add(Nh.addCommand(r))),Array.isArray(o))for(const t of o)i.add(Mh.registerKeybindingRule({...t,id:r.id,when:r.precondition?Hr.and(r.precondition,t.when):t.when}));else o&&i.add(Mh.registerKeybindingRule({...o,id:r.id,when:r.precondition?Hr.and(r.precondition,o.when):o.when}));return i}const jh=fr("telemetryService"),zh=fr("logService");var Hh;!function(t){t[t.Off=0]="Off",t[t.Trace=1]="Trace",t[t.Debug=2]="Debug",t[t.Info=3]="Info",t[t.Warning=4]="Warning",t[t.Error=5]="Error"}(Hh||(Hh={}));const Vh=Hh.Info;class Uh extends ie{constructor(){super(...arguments),this.level=Vh,this._onDidChangeLogLevel=this._register(new fe),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(t){this.level!==t&&(this.level=t,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(t){return this.level!==Hh.Off&&this.level<=t}}class qh extends Uh{constructor(t=Vh,i=!0){super(),this.useColors=i,this.setLevel(t)}trace(t,...i){this.checkLogLevel(Hh.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",t,...i):console.log(t,...i))}debug(t,...i){this.checkLogLevel(Hh.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",t,...i):console.log(t,...i))}info(t,...i){this.checkLogLevel(Hh.Info)&&(this.useColors?console.log("%c INFO","color: #33f",t,...i):console.log(t,...i))}warn(t,...i){this.checkLogLevel(Hh.Warning)&&(this.useColors?console.log("%c WARN","color: #993",t,...i):console.log(t,...i))}error(t,...i){this.checkLogLevel(Hh.Error)&&(this.useColors?console.log("%c ERR","color: #f33",t,...i):console.error(t,...i))}dispose(){}}class Kh extends Uh{constructor(t){super(),this.loggers=t,t.length&&this.setLevel(t[0].getLevel())}setLevel(t){for(const i of this.loggers)i.setLevel(t);super.setLevel(t)}trace(t,...i){for(const e of this.loggers)e.trace(t,...i)}debug(t,...i){for(const e of this.loggers)e.debug(t,...i)}info(t,...i){for(const e of this.loggers)e.info(t,...i)}warn(t,...i){for(const e of this.loggers)e.warn(t,...i)}error(t,...i){for(const e of this.loggers)e.error(t,...i)}dispose(){for(const t of this.loggers)t.dispose()}}new ah("logLevel",function(){switch(Hh.Info){case Hh.Trace:return"trace";case Hh.Debug:return"debug";case Hh.Info:return"info";case Hh.Warning:return"warn";case Hh.Error:return"error";case Hh.Off:return"off"}}()),Et||document.queryCommandSupported&&document.queryCommandSupported("copy")||navigator&&navigator.clipboard&&navigator,Et||navigator&&navigator.clipboard&&navigator,Et||Yo||navigator,"ontouchstart"in Wn||navigator;const Gh=Wn.PointerEvent&&("ontouchstart"in Wn||navigator.maxTouchPoints>0||navigator.maxTouchPoints>0),Zh=St?256:2048,Qh=St?2048:256;class Jh{constructor(t){this._standardKeyboardEventBrand=!0;const i=t;this.browserEvent=i,this.target=i.target,this.ctrlKey=i.ctrlKey,this.shiftKey=i.shiftKey,this.altKey=i.altKey,this.metaKey=i.metaKey,this.altGraphKey=i.getModifierState("AltGraph"),this.keyCode=function(t){if(t.charCode){const i=String.fromCharCode(t.charCode).toUpperCase();return Ne.fromString(i)}const i=t.keyCode;if(3===i)return 7;if(qo)switch(i){case 59:return 85;case 60:if(Dt)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(St)return 57}else if(Ko){if(St&&93===i)return 57;if(!St&&92===i)return 57}return Le[i]||0}(i),this.code=i.code,this.ctrlKey=this.ctrlKey||5===this.keyCode,this.altKey=this.altKey||6===this.keyCode,this.shiftKey=this.shiftKey||4===this.keyCode,this.metaKey=this.metaKey||57===this.keyCode,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(t){return this._asKeybinding===t}_computeKeybinding(){let t=0;5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(t=this.keyCode);let i=0;return this.ctrlKey&&(i|=Zh),this.altKey&&(i|=512),this.shiftKey&&(i|=1024),this.metaKey&&(i|=Qh),i|=t,i}_computeKeyCodeChord(){let t=0;return 5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(t=this.keyCode),new vh(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,t)}}const Yh=new WeakMap;function Xh(t){if(!t.parent||t.parent===t)return null;try{const i=t.location,e=t.parent.location;if("null"!==i.origin&&"null"!==e.origin&&i.origin!==e.origin)return null}catch(t){return null}return t.parent}class tc{static getSameOriginWindowChain(t){let i=Yh.get(t);if(!i){i=[],Yh.set(t,i);let e,s=t;do{e=Xh(s),i.push(e?{window:new WeakRef(s),iframeElement:s.frameElement||null}:{window:new WeakRef(s),iframeElement:null}),s=e}while(s)}return i.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(t,i){var e,s;if(!i||t===i)return{top:0,left:0};let n=0,o=0;const r=this.getSameOriginWindowChain(t);for(const t of r){const r=t.window.deref();if(n+=null!==(e=null==r?void 0:r.scrollY)&&void 0!==e?e:0,o+=null!==(s=null==r?void 0:r.scrollX)&&void 0!==s?s:0,r===i)break;if(!t.iframeElement)break;const h=t.iframeElement.getBoundingClientRect();n+=h.top,o+=h.left}return{top:n,left:o}}}class ic{constructor(t,i){this.timestamp=Date.now(),this.browserEvent=i,this.leftButton=0===i.button,this.middleButton=1===i.button,this.rightButton=2===i.button,this.buttons=i.buttons,this.target=i.target,this.detail=i.detail||1,"dblclick"===i.type&&(this.detail=2),this.ctrlKey=i.ctrlKey,this.shiftKey=i.shiftKey,this.altKey=i.altKey,this.metaKey=i.metaKey,"number"==typeof i.pageX?(this.posx=i.pageX,this.posy=i.pageY):(this.posx=i.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=i.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);const e=tc.getPositionOfChildWindowRelativeToAncestorWindow(t,i.view);this.posx-=e.left,this.posy-=e.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}class ec{constructor(t,i=0,e=0){if(this.browserEvent=t||null,this.target=t?t.target||t.targetNode||t.srcElement:null,this.deltaY=e,this.deltaX=i,t){const i=t,e=t;void 0!==i.wheelDeltaY?this.deltaY=i.wheelDeltaY/120:void 0!==e.VERTICAL_AXIS&&e.axis===e.VERTICAL_AXIS?this.deltaY=-e.detail/3:"wheel"===t.type&&(this.deltaY=t.deltaMode===t.DOM_DELTA_LINE?qo&&!St?-t.deltaY/3:-t.deltaY:-t.deltaY/40),void 0!==i.wheelDeltaX?this.deltaX=Zo&&Ct?-i.wheelDeltaX/120:i.wheelDeltaX/120:void 0!==e.HORIZONTAL_AXIS&&e.axis===e.HORIZONTAL_AXIS?this.deltaX=-t.detail/3:"wheel"===t.type&&(this.deltaX=t.deltaMode===t.DOM_DELTA_LINE?qo&&!St?-t.deltaX/3:-t.deltaX:-t.deltaX/40),0===this.deltaY&&0===this.deltaX&&t.wheelDelta&&(this.deltaY=t.wheelDelta/120)}}preventDefault(){var t;null===(t=this.browserEvent)||void 0===t||t.preventDefault()}stopPropagation(){var t;null===(t=this.browserEvent)||void 0===t||t.stopPropagation()}}const sc=Symbol("MicrotaskDelay");function nc(t){return!!t&&"function"==typeof t.then}function oc(t){const i=new Se,e=t(i.token),s=new Promise(((t,s)=>{const n=i.token.onCancellationRequested((()=>{n.dispose(),i.dispose(),s(new Hi)}));Promise.resolve(e).then((e=>{n.dispose(),i.dispose(),t(e)}),(t=>{n.dispose(),i.dispose(),s(t)}))}));return new class{cancel(){i.cancel()}then(t,i){return s.then(t,i)}catch(t){return this.then(void 0,t)}finally(t){return s.finally(t)}}}function rc(t,i,e){return new Promise(((s,n)=>{const o=i.onCancellationRequested((()=>{o.dispose(),s(e)}));t.then(s,n).finally((()=>o.dispose()))}))}class hc{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(t){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=t,!this.queuedPromise){const t=()=>{if(this.queuedPromise=null,this.isDisposed)return;const t=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,t};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=t(),new Promise(((t,i)=>{this.activePromise.then((i=>{this.activePromise=null,t(i)}),(t=>{this.activePromise=null,i(t)}))}))}dispose(){this.isDisposed=!0}}class cc{constructor(t){this.defaultDelay=t,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(t,i=this.defaultDelay){this.task=t,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(((t,i)=>{this.doResolve=t,this.doReject=i})).then((()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const t=this.task;return this.task=null,t()}})));const e=()=>{var t;this.deferred=null,null===(t=this.doResolve)||void 0===t||t.call(this,null)};return this.deferred=i===sc?(t=>{let i=!0;return queueMicrotask((()=>{i&&(i=!1,t())})),{isTriggered:()=>i,dispose:()=>{i=!1}}})(e):((t,i)=>{let e=!0;const s=setTimeout((()=>{e=!1,i()}),t);return{isTriggered:()=>e,dispose:()=>{clearTimeout(s),e=!1}}})(i,e),this.completionPromise}isTriggered(){var t;return!!(null===(t=this.deferred)||void 0===t?void 0:t.isTriggered())}cancel(){var t;this.cancelTimeout(),this.completionPromise&&(null===(t=this.doReject)||void 0===t||t.call(this,new Hi),this.completionPromise=null)}cancelTimeout(){var t;null===(t=this.deferred)||void 0===t||t.dispose(),this.deferred=null}dispose(){this.cancel()}}class ac{constructor(t){this.delayer=new cc(t),this.throttler=new hc}trigger(t,i){return this.delayer.trigger((()=>this.throttler.queue(t)),i)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function lc(t,i){return i?new Promise(((e,s)=>{const n=setTimeout((()=>{o.dispose(),e()}),t),o=i.onCancellationRequested((()=>{clearTimeout(n),o.dispose(),s(new Hi)}))})):oc((i=>lc(t,i)))}function uc(t,i=0,e){const s=setTimeout((()=>{t(),e&&n.dispose()}),i),n=Xi((()=>{clearTimeout(s),null==e||e.deleteAndLeak(n)}));return null==e||e.add(n),n}function dc(t,i=(t=>!!t),e=null){let s=0;const n=t.length,o=()=>{if(s>=n)return Promise.resolve(e);const r=t[s++];return Promise.resolve(r()).then((t=>i(t)?Promise.resolve(t):o()))};return o()}class fc{constructor(t,i){this._token=-1,"function"==typeof t&&"number"==typeof i&&this.setIfNotSet(t,i)}dispose(){this.cancel()}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(t,i){this.cancel(),this._token=setTimeout((()=>{this._token=-1,t()}),i)}setIfNotSet(t,i){-1===this._token&&(this._token=setTimeout((()=>{this._token=-1,t()}),i))}}class pc{constructor(){this.disposable=void 0}cancel(){var t;null===(t=this.disposable)||void 0===t||t.dispose(),this.disposable=void 0}cancelAndSet(t,i,e=globalThis){this.cancel();const s=e.setInterval((()=>{t()}),i);this.disposable=Xi((()=>{e.clearInterval(s),this.disposable=void 0}))}dispose(){this.cancel()}}class gc{constructor(t,i){this.timeoutToken=-1,this.runner=t,this.timeout=i,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(t=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,t)}get delay(){return this.timeout}set delay(t){this.timeout=t}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var t;null===(t=this.runner)||void 0===t||t.call(this)}}let mc,wc;wc="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(t,i)=>{It((()=>{if(e)return;const t=Date.now()+15;i(Object.freeze({didTimeout:!0,timeRemaining:()=>Math.max(0,t-Date.now())}))}));let e=!1;return{dispose(){e||(e=!0)}}}:(t,i,e)=>{const s=t.requestIdleCallback(i,"number"==typeof e?{timeout:e}:void 0);let n=!1;return{dispose(){n||(n=!0,t.cancelIdleCallback(s))}}},mc=t=>wc(globalThis,t);class vc{constructor(t,i){this._didRun=!1,this._executor=()=>{try{this._value=i()}catch(t){this._error=t}finally{this._didRun=!0}},this._handle=wc(t,(()=>this._executor()))}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class bc extends vc{constructor(t){super(globalThis,t)}}class yc{get isRejected(){var t;return 1===(null===(t=this.outcome)||void 0===t?void 0:t.outcome)}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise(((t,i)=>{this.completeCallback=t,this.errorCallback=i}))}complete(t){return new Promise((i=>{this.completeCallback(t),this.outcome={outcome:0,value:t},i()}))}error(t){return new Promise((i=>{this.errorCallback(t),this.outcome={outcome:1,value:t},i()}))}cancel(){return this.error(new Hi)}}var kc;!function(t){t.settled=async function(t){let i;const e=await Promise.all(t.map((t=>t.then((t=>t),(t=>{i||(i=t)})))));if(void 0!==i)throw i;return e},t.withAsyncBody=function(t){return new Promise((async(i,e)=>{try{await t(i,e)}catch(t){e(t)}}))}}(kc||(kc={}));class xc{static fromArray(t){return new xc((i=>{i.emitMany(t)}))}static fromPromise(t){return new xc((async i=>{i.emitMany(await t)}))}static fromPromises(t){return new xc((async i=>{await Promise.all(t.map((async t=>i.emitOne(await t))))}))}static merge(t){return new xc((async i=>{await Promise.all(t.map((async t=>{for await(const e of t)i.emitOne(e)})))}))}constructor(t){this._state=0,this._results=[],this._error=null,this._onStateChanged=new fe,queueMicrotask((async()=>{const i={emitOne:t=>this.emitOne(t),emitMany:t=>this.emitMany(t),reject:t=>this.reject(t)};try{await Promise.resolve(t(i)),this.resolve()}catch(t){this.reject(t)}finally{i.emitOne=void 0,i.emitMany=void 0,i.reject=void 0}}))}[Symbol.asyncIterator](){let t=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(t{for await(const s of t)e.emitOne(i(s))}))}map(t){return xc.map(this,t)}static filter(t,i){return new xc((async e=>{for await(const s of t)i(s)&&e.emitOne(s)}))}filter(t){return xc.filter(this,t)}static coalesce(t){return xc.filter(t,(t=>!!t))}coalesce(){return xc.coalesce(this)}static async toPromise(t){const i=[];for await(const e of t)i.push(e);return i}toPromise(){return xc.toPromise(this)}emitOne(t){0===this._state&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){0===this._state&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(t){0===this._state&&(this._state=2,this._error=t,this._onStateChanged.fire())}}xc.EMPTY=xc.fromArray([]);class Cc extends xc{constructor(t,i){super(i),this._source=t}cancel(){this._source.cancel()}} +import{r as t,f as i,h as e,F as s,g as n,c as o,H as r}from"./p-7900c24a.js";const h={en:{"menu.source":"Source Code Mode","menu.align.left":"Align Left","menu.align.center":"Center","menu.align.right":"Align Right","menu.align.justify":"Justify","menu.font.family":"Font Family","menu.font.family.sansserif":"Sans-serif","menu.font.family.serif":"Serif","menu.font.family.cursive":"Cursive","menu.font.family.monospace":"Monospace","menu.font.size":"Font Size","menu.font.size.format.px":"{0}px","menu.font.weight.bold":"Bold","menu.font.italic":"Italic","menu.font.decoration.underline":"Underline","menu.font.decoration.strike":"Strike","menu.font.highlight":"Highlight","menu.font.color":"Text Color","menu.font.color.crimson":"Crimson","menu.font.color.deeppink":"Deep Pink","menu.font.color.darkorange":"Dark Orange","menu.font.color.darkviolet":"Dark Violet","menu.font.color.forestgreen":"Forest Green","menu.font.color.royalblue":"Royal Blue","menu.font.color.saddlebrown":"Saddle Brown","menu.font.color.dimgray":"Dim Gray","menu.font.color.none":"Clear Color","menu.iframe":"Iframe","menu.link":"Link","menu.link.remove":"Unlink","menu.line.spacing":"Line Spacing","menu.line.spacing.format":"{0}x","menu.heading":"Heading","menu.heading.1":"Heading 1","menu.heading.2":"Heading 2","menu.heading.3":"Heading 3","menu.heading.4":"Heading 4","menu.paragraph":"Paragraph","menu.code":"Code","menu.code.block":"Code Block","menu.list.bullet":"Bullet List","menu.list.ordered":"Ordered List","menu.list.task":"Task List","menu.image":"Image","menu.quote":"Blockquote","menu.hr":"Horizontal Rule","menu.table":"Table","menu.table.cell.merge":"Merge Table Cells","menu.table.row.insert.before":"Insert Table Row Before","menu.table.row.insert.after":"Insert Table Row After","menu.table.column.insert.before":"Insert Table Column Before","menu.table.column.insert.after":"Insert Table Column After","menu.table.row.remove":"Delete Table Row","menu.table.column.remove":"Delete Table Column","menu.table.remove":"Delete Table","menu.format.clear":"Clear Format","menu.undo":"Undo","menu.redo":"Redo","menu.fullscreen":"Toggle Fullscreen","menu.group.format":"Format","menu.group.insert":"Insert","error.fullscreen.enter":"Unable to enter fullscreen: {0} ({1})","error.fullscreen.exit":"Unable to exit fullscreen: {0} ({1})"},zh:Object.assign(Object.assign({},{"menu.source":"源码模式","menu.align.left":"左对齐","menu.align.center":"居中","menu.align.right":"右对齐","menu.align.justify":"两端对齐","menu.font.family":"字体","menu.font.family.sansserif":"无衬线体","menu.font.family.serif":"衬线体","menu.font.family.cursive":"手写体","menu.font.family.monospace":"等宽体","menu.font.size":"字号","menu.font.size.format.px":"{0}px","menu.font.weight.bold":"加粗","menu.font.italic":"斜体","menu.font.decoration.underline":"下划线","menu.font.decoration.strike":"删除线","menu.font.highlight":"高亮","menu.font.color":"字体颜色","menu.font.color.crimson":"深红","menu.font.color.deeppink":"深粉","menu.font.color.darkorange":"深橙","menu.font.color.darkviolet":"深紫","menu.font.color.forestgreen":"森绿","menu.font.color.royalblue":"皇蓝","menu.font.color.saddlebrown":"鞍棕","menu.font.color.dimgray":"暗灰","menu.font.color.none":"无","menu.iframe":"嵌入页面","menu.link":"链接","menu.link.remove":"移除链接","menu.line.spacing":"行间距","menu.line.spacing.format":"{0} 倍","menu.heading":"标题","menu.heading.1":"标题 1","menu.heading.2":"标题 2","menu.heading.3":"标题 3","menu.heading.4":"标题 4","menu.paragraph":"段落","menu.code":"代码","menu.code.block":"代码块","menu.list.bullet":"无序列表","menu.list.ordered":"有序列表","menu.list.task":"任务列表","menu.image":"图片","menu.quote":"引用","menu.hr":"分割线","menu.table":"表格","menu.table.cell.merge":"合并单元格","menu.table.row.insert.before":"在上方插入表格行","menu.table.row.insert.after":"在下方插入表格行","menu.table.column.insert.before":"在左侧插入表格列","menu.table.column.insert.after":"在右侧插入表格列","menu.table.row.remove":"删除表格行","menu.table.column.remove":"删除表格列","menu.table.remove":"删除表格","menu.format.clear":"清除格式","menu.undo":"撤销","menu.redo":"重做","menu.fullscreen":"全屏","menu.group.format":"格式","menu.group.insert":"插入","error.fullscreen.enter":"无法进入全屏: {0} ({1})","error.fullscreen.exit":"无法退出全屏: {0} ({1})"}),{"menu.source.pronunciation":"yuanmamoshi,ymms","menu.align.left.pronunciation":"zuoduiqi,zdq","menu.align.center.pronunciation":"juzhong,jz","menu.align.right.pronunciation":"youduiqi,ydq","menu.align.justify.pronunciation":"liangduanduiqi,lddq","menu.font.family.pronunciation":"ziti,zt","menu.font.family.sansserif.pronunciation":"wuchenxianti,wcxt","menu.font.family.serif.pronunciation":"chenxianti,cxt","menu.font.family.cursive.pronunciation":"shouxieti,sxt","menu.font.family.monospace.pronunciation":"dengkuanti,dkt","menu.font.size.pronunciation":"zihao,zh","menu.font.size.format.px.pronunciation":"{0}px,{0}px","menu.font.weight.bold.pronunciation":"jiacu,jc","menu.font.italic.pronunciation":"xieti,xt","menu.font.decoration.underline.pronunciation":"xiahuaxian,xhx","menu.font.decoration.strike.pronunciation":"shanchuxian,scx","menu.font.highlight.pronunciation":"gaoliang,gl","menu.font.color.pronunciation":"zitiyanse,ztys","menu.font.color.crimson.pronunciation":"shenhong,sh","menu.font.color.deeppink.pronunciation":"shenfen,sf","menu.font.color.darkorange.pronunciation":"shencheng,sc","menu.font.color.darkviolet.pronunciation":"shenzi,sz","menu.font.color.forestgreen.pronunciation":"senlv,sl","menu.font.color.royalblue.pronunciation":"huanglan,hl","menu.font.color.saddlebrown.pronunciation":"anzong,az","menu.font.color.dimgray.pronunciation":"anhui,ah","menu.font.color.none.pronunciation":"wu,w","menu.iframe.pronunciation":"qianruyemian,qrym","menu.link.pronunciation":"lianjie,lj","menu.link.remove.pronunciation":"yichulianjie,yclj","menu.line.spacing.pronunciation":"hangjianju,hjj","menu.line.spacing.format.pronunciation":"{0}bei,{0}b","menu.heading.pronunciation":"biaoti,bt","menu.heading.1.pronunciation":"biaoti1,bt1","menu.heading.2.pronunciation":"biaoti2,bt2","menu.heading.3.pronunciation":"biaoti3,bt3","menu.heading.4.pronunciation":"biaoti4,bt4","menu.paragraph.pronunciation":"duanluo,dl","menu.code.pronunciation":"daima,dm","menu.code.block.pronunciation":"daimakuai,dmk","menu.list.bullet.pronunciation":"wuxuliebiao,wxlb","menu.list.ordered.pronunciation":"youxuliebiao,yxlb","menu.list.task.pronunciation":"renwuliebiao,rwlb","menu.image.pronunciation":"tupian,tp","menu.quote.pronunciation":"yinyong,yy","menu.hr.pronunciation":"fengexian,fgx","menu.table.pronunciation":"biaoge,bg","menu.table.cell.merge.pronunciation":"hebingdanyuange,hbdyg","menu.table.row.insert.before.pronunciation":"zaishangfangcharubiaogehang,zsfcrbgh","menu.table.row.insert.after.pronunciation":"zaixiafangcharubiaogehang,zxfcrbgh","menu.table.column.insert.before.pronunciation":"zaizuocecharubiaogelie,zzccrbgl","menu.table.column.insert.after.pronunciation":"zaiyoucecharubiaogelie,zyccrbgl","menu.table.row.remove.pronunciation":"shanchubiaogehang,scbgh","menu.table.column.remove.pronunciation":"shanchubiaogelie,scbgl","menu.table.remove.pronunciation":"shanchubiaoge,scbg","menu.format.clear.pronunciation":"qingchugeshi,qcgs","menu.undo.pronunciation":"chexiao,cx","menu.redo.pronunciation":"zhongzuo,zz","menu.fullscreen.pronunciation":"quanping,qp","menu.group.format.pronunciation":"geshi,gs","menu.group.insert.pronunciation":"charu,cr","error.fullscreen.enter.pronunciation":"wufajinruquanping:{0}({1}),wfjrqp:{0}({1})","error.fullscreen.exit.pronunciation":"wufatuichuquanping:{0}({1}),wftcqp:{0}({1})"})},c=new class{constructor(){this.locale=this.guessLocale(),this.localeData=new Map(Object.entries(h[this.locale]))}guessLocale(){const t=document.documentElement.lang.split("-")[0].toLowerCase();return t in h?t:"en"}setLocale(t){"string"==typeof t?(this.locale=t,this.localeData=new Map(Object.entries(h[this.locale]))):(this.locale="custom",this.localeData=new Map(Object.entries(t)))}getLocale(){return this.locale}format(t,...i){var e;return(null===(e=this.localeData.get(t))||void 0===e?void 0:e.replace(/{(\d+)}/g,((t,e)=>void 0!==i[e]?i[e]:t)))||t}getString(t){return this.localeData.get(t)||t}getPronunciation(t){return this.localeData.get(`${t}.pronunciation`)||this.localeData.get(t)||t}},a=class{constructor(i){t(this,i),i.$hostElement$["s-ei"]?this.internals=i.$hostElement$["s-ei"]:(this.internals=i.$hostElement$.attachInternals(),i.$hostElement$["s-ei"]=this.internals),this.updateInputValue=()=>{const t=this.editor.getHTML().replace(/

<\/p>$/,"");this.value=t,this.internals.setFormValue(t)},this.toggleFullscreen=()=>{Boolean(document.fullscreenElement)?document.exitFullscreen().then((()=>{})).catch((t=>{alert(c.format("error.fullscreen.exit",t.message,t.name))})):this.element.requestFullscreen().then((()=>{})).catch((t=>{alert(c.format("error.fullscreen.enter",t.message,t.name))}))},this.handleEditorDidLoad=t=>{this.editor=t.detail,this.updateInputValue()},this.name="",this.readonly=!1,this.uploadUrl="",this.placeholder="",this.fullscreenable=!1,this.resizable=!1,this.exposeEditor=!1,this.size="sm",this.hideUI=!1,this.hideMenubar=!1,this.menubarMode="full",this.slashMenu=!1,this.bubbleMenu=!1,this.preferHardBreak=!1,this.neglectDefaultTextStyle=!1,this.locale=void 0,this.css=void 0,this.collaborative=!1,this.hocuspocus="",this.docName="",this.username="",this.userColor="#ffcc00",this.value=void 0,this.editor=null,this.isFullscreen=!1,this.rendered=!1}setHTML(t,i=!0){if(i){const i=`${t}`,e=(new window.DOMParser).parseFromString(i,"text/html").body;e.querySelectorAll("br").forEach((t=>{t.remove()})),t=e.innerHTML}return this.editor.chain().setContent(t).run(),this.updateInputValue(),Promise.resolve()}insertHTML(t){return Promise.resolve(this.editor.chain().focus().insertContent(t).run())}getHTML(){return Promise.resolve(this.editor.getHTML())}getText(){return Promise.resolve(this.editor.getText())}focusEditor(){return Promise.resolve(this.editor.commands.focus())}blurEditor(){return Promise.resolve(this.editor.commands.blur())}setReadonly(t){return this.readonly=t,Promise.resolve(this.editor.setEditable(!t))}onCSSChange(){Boolean(this.css)&&(Boolean(this.styles)||(this.styles=new CSSStyleSheet),this.styles.replaceSync(this.css),i(this))}componentWillLoad(){Boolean(this.css)&&(this.styles=new CSSStyleSheet,this.styles.replaceSync(this.css))}componentDidRender(){this.rendered||(this.rendered=!0)}componentDidLoad(){Boolean(this.styles)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles]),this.element.addEventListener("fullscreenchange",(()=>{this.isFullscreen=Boolean(document.fullscreenElement)}))}render(){var t,i;return"full"===this.size&&(this.resizable=!1),e(s,{key:"f827cfab844e95e2285f9106816798f6e897a36a"},Boolean(this.editor)?null:e("div",{class:`editor-skeleton ${this.size}`}),this.rendered&&e("zen-editor-core",{key:"cb21a3af9681953a333f6be003f849a3b667cec3",name:this.name,readonly:this.readonly,uploadUrl:this.uploadUrl,placeholder:this.placeholder,resizable:this.resizable,exposeEditor:this.exposeEditor,size:this.size,hideUI:this.hideUI,hideMenubar:this.hideMenubar,menubarMode:this.menubarMode,slashMenu:this.slashMenu,bubbleMenu:this.bubbleMenu,preferHardBreak:this.preferHardBreak,neglectDefaultTextStyle:this.neglectDefaultTextStyle,locale:this.locale,collaborative:this.collaborative,hocuspocus:this.hocuspocus,docName:this.docName,username:this.username,userColor:this.userColor,updateInputValue:this.updateInputValue,toggleFullscreen:this.toggleFullscreen,fullscreenable:this.fullscreenable,isFullscreen:this.isFullscreen,onEditorDidLoad:this.handleEditorDidLoad,styles:this.styles,initialContent:null===(t=this.element.querySelector('[slot="content"]'))||void 0===t?void 0:t.innerHTML,extraMenubarItems:null===(i=this.element.querySelector('[slot="menubar-items"]'))||void 0===i?void 0:i.innerHTML,value:this.value,style:{display:Boolean(this.editor)?"block":"none",height:"100%"}}))}static get formAssociated(){return!0}get element(){return n(this)}static get watchers(){return{css:["onCSSChange"]}}};function l(t,i=0){return t[t.length-(1+i)]}function u(t,i,e=((t,i)=>t===i)){if(t===i)return!0;if(!t||!i)return!1;if(t.length!==i.length)return!1;for(let s=0,n=t.length;s0))return s;o=s-1}}return-(n+1)}(t.length)}function f(t,i,e){if((t|=0)>=i.length)throw new TypeError("invalid index");const s=i[Math.floor(i.length*Math.random())],n=[],o=[],r=[];for(const t of i){const i=e(t,s);i<0?n.push(t):i>0?o.push(t):r.push(t)}return t!!t))}function v(t){let i=0;for(let e=0;e0}function k(t,i=(t=>t)){const e=new Set;return t.filter((t=>{const s=i(t);return!e.has(s)&&(e.add(s),!0)}))}function x(t,i){return t.length>0?t[0]:i}function C(t,i){let e="number"==typeof i?t:0;"number"==typeof i?e=t:(e=0,i=t);const s=[];if(e<=i)for(let t=e;ti;t--)s.push(t);return s}function S(t,i,e){const s=t.slice(0,i),n=t.slice(i);return s.concat(e,n)}function D(t,i){const e=t.indexOf(i);e>-1&&(t.splice(e,1),t.unshift(i))}function E(t,i){const e=t.indexOf(i);e>-1&&(t.splice(e,1),t.push(i))}function A(t,i){for(const e of i)t.push(e)}function M(t){return Array.isArray(t)?t:[t]}function L(t,i,e,s){const n=F(t,i);let o=t.splice(n,e);return void 0===o&&(o=[]),function(t,i,e){const s=F(t,i),n=t.length,o=e.length;t.length=n+o;for(let i=n-1;i>=s;i--)t[i+o]=t[i];for(let i=0;ii(t(e),t(s))}a.style=".editor-skeleton{background-color:#f3f3f3;border:1px solid #e6e6e6;border-radius:0.25em;animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}.editor-skeleton.sm{height:9em}.editor-skeleton.lg{height:16em}.editor-skeleton.full{height:100%}",function(t){t.isLessThan=function(t){return t<0},t.isLessThanOrEqual=function(t){return t<=0},t.isGreaterThan=function(t){return t>0},t.isNeitherLessOrGreaterThan=function(t){return 0===t},t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0}(T||(T={}));const O=(t,i)=>t-i,I=(t,i)=>O(t?1:0,i?1:0);function _(t){return(i,e)=>-t(i,e)}class N{constructor(t){this.items=t,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(t){let i=this.firstIdx;for(;i=0&&t(this.items[i]);)i--;const e=i===this.lastIdx?null:this.items.slice(i+1,this.lastIdx+1);return this.lastIdx=i,e}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const t=this.items[this.firstIdx];return this.firstIdx++,t}takeCount(t){const i=this.items.slice(this.firstIdx,this.firstIdx+t);return this.firstIdx+=t,i}}class B{constructor(t){this.iterate=t}toArray(){const t=[];return this.iterate((i=>(t.push(i),!0))),t}filter(t){return new B((i=>this.iterate((e=>!t(e)||i(e)))))}map(t){return new B((i=>this.iterate((e=>i(t(e))))))}findLast(t){let i;return this.iterate((e=>(t(e)&&(i=e),!0))),i}findLastMaxBy(t){let i,e=!0;return this.iterate((s=>((e||T.isGreaterThan(t(s,i)))&&(e=!1,i=s),!0))),i}}function P(t){return"string"==typeof t}function $(t){return!("object"!=typeof t||null===t||Array.isArray(t)||t instanceof RegExp||t instanceof Date)}function W(t){const i=Object.getPrototypeOf(Uint8Array);return"object"==typeof t&&t instanceof i}function j(t){return"number"==typeof t&&!isNaN(t)}function z(t){return!!t&&"function"==typeof t[Symbol.iterator]}function H(t){return!0===t||!1===t}function V(t){return void 0===t}function U(t){return!q(t)}function q(t){return V(t)||null===t}function K(t,i){if(!t)throw new Error(i?`Unexpected type, expected '${i}'`:"Unexpected type")}function G(t){if(q(t))throw new Error("Assertion Failed: argument is undefined or null");return t}function Z(t){return"function"==typeof t}function Q(t,i){if(P(i)){if(typeof t!==i)throw new Error(`argument does not match constraint: typeof ${i}`)}else if(Z(i)){try{if(t instanceof i)return}catch(t){}if(!q(t)&&t.constructor===i)return;if(1===i.length&&!0===i.call(void 0,t))return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function J(t){if(!t||"object"!=typeof t)return t;if(t instanceof RegExp)return t;const i=Array.isArray(t)?[]:{};return Object.entries(t).forEach((([t,e])=>{i[t]=e&&"object"==typeof e?J(e):e})),i}B.empty=new B((()=>{}));const Y=Object.prototype.hasOwnProperty;function X(t,i){return tt(t,i,new Set)}function tt(t,i,e){if(q(t))return t;const s=i(t);if(void 0!==s)return s;if(Array.isArray(t)){const s=[];for(const n of t)s.push(tt(n,i,e));return s}if($(t)){if(e.has(t))throw new Error("Cannot clone recursive data-structure");e.add(t);const s={};for(const n in t)Y.call(t,n)&&(s[n]=tt(t[n],i,e));return e.delete(t),s}return t}function it(t,i,e=!0){return $(t)?($(i)&&Object.keys(i).forEach((s=>{s in t?e&&($(t[s])&&$(i[s])?it(t[s],i[s],e):t[s]=i[s]):t[s]=i[s]})),t):i}function et(t,i){if(t===i)return!0;if(null==t||null==i)return!1;if(typeof t!=typeof i)return!1;if("object"!=typeof t)return!1;if(Array.isArray(t)!==Array.isArray(i))return!1;let e,s;if(Array.isArray(t)){if(t.length!==i.length)return!1;for(e=0;e=0;function ot(t,i){let e;return e=0===i.length?t:t.replace(/\{(\d+)\}/g,((t,e)=>{const s=i[e[0]];let n=t;return"string"==typeof s?n=s:"number"!=typeof s&&"boolean"!=typeof s&&null!=s||(n=String(s)),n})),nt&&(e="["+e.replace(/[aouei]/g,"$&$&")+"]"),e}function rt(t,i,...e){return ot(i,e)}function ht(t,i,...e){const s=ot(i,e);return{value:s,original:s}}var ct;const at="en";let lt,ut,dt=!1,ft=!1,pt=!1,gt=!1,mt=!1,wt=!1,vt=!1,bt=at;const yt=globalThis;let kt;void 0!==yt.vscode&&void 0!==yt.vscode.process?kt=yt.vscode.process:"undefined"!=typeof process&&(kt=process);const xt="string"==typeof(null===(ct=null==kt?void 0:kt.versions)||void 0===ct?void 0:ct.electron);if("object"!=typeof navigator||xt&&"renderer"===(null==kt?void 0:kt.type))if("object"==typeof kt){dt="win32"===kt.platform,ft="darwin"===kt.platform,pt="linux"===kt.platform,lt=at,bt=at;const t=kt.env.VSCODE_NLS_CONFIG;if(t)try{const i=JSON.parse(t);lt=i.locale,bt=i.availableLanguages["*"]||at}catch(t){}gt=!0}else console.error("Unable to resolve platform.");else ut=navigator.userAgent,dt=ut.indexOf("Windows")>=0,ft=ut.indexOf("Macintosh")>=0,wt=(ut.indexOf("Macintosh")>=0||ut.indexOf("iPad")>=0||ut.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,pt=ut.indexOf("Linux")>=0,vt=(null==ut?void 0:ut.indexOf("Mobi"))>=0,mt=!0,rt(0,"_"),lt=at,bt=lt;const Ct=dt,St=ft,Dt=pt,Et=gt,At=mt,Mt=mt&&"function"==typeof yt.importScripts?yt.origin:void 0,Lt=wt,Ft=vt,Tt=ut,Rt=bt,Ot="function"==typeof yt.postMessage&&!yt.importScripts,It=(()=>{if(Ot){const t=[];yt.addEventListener("message",(i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let e=0,s=t.length;e{const s=++i;t.push({id:s,callback:e}),yt.postMessage({vscodeScheduleAsyncWork:s},"*")}}return t=>setTimeout(t)})(),_t=ft||wt?2:dt?1:3;let Nt=!0,Bt=!1;function Pt(){if(!Bt){Bt=!0;const t=new Uint8Array(2);t[0]=1,t[1]=2;const i=new Uint16Array(t.buffer);Nt=513===i[0]}return Nt}const $t=!!(Tt&&Tt.indexOf("Chrome")>=0),Wt=!!(Tt&&Tt.indexOf("Firefox")>=0),jt=!!(!$t&&Tt&&Tt.indexOf("Safari")>=0),zt=!!(Tt&&Tt.indexOf("Edg/")>=0);Tt&&Tt.indexOf("Android");const Ht={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var Vt;!function(t){function i(t){return t&&"object"==typeof t&&"function"==typeof t[Symbol.iterator]}t.is=i;const e=Object.freeze([]);function*s(t){yield t}t.empty=function(){return e},t.single=s,t.wrap=function(t){return i(t)?t:s(t)},t.from=function(t){return t||e},t.reverse=function*(t){for(let i=t.length-1;i>=0;i--)yield t[i]},t.isEmpty=function(t){return!t||!0===t[Symbol.iterator]().next().done},t.first=function(t){return t[Symbol.iterator]().next().value},t.some=function(t,i){for(const e of t)if(i(e))return!0;return!1},t.find=function(t,i){for(const e of t)if(i(e))return e},t.filter=function*(t,i){for(const e of t)i(e)&&(yield e)},t.map=function*(t,i){let e=0;for(const s of t)yield i(s,e++)},t.concat=function*(...t){for(const i of t)yield*i},t.reduce=function(t,i,e){let s=e;for(const e of t)s=i(s,e);return s},t.slice=function*(t,i,e=t.length){for(i<0&&(i+=t.length),e<0?e+=t.length:e>t.length&&(e=t.length);in}]}}(Vt||(Vt={}));class Ut{constructor(t){this.element=t,this.next=Ut.Undefined,this.prev=Ut.Undefined}}Ut.Undefined=new Ut(void 0);class qt{constructor(){this._first=Ut.Undefined,this._last=Ut.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Ut.Undefined}clear(){let t=this._first;for(;t!==Ut.Undefined;){const i=t.next;t.prev=Ut.Undefined,t.next=Ut.Undefined,t=i}this._first=Ut.Undefined,this._last=Ut.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,i){const e=new Ut(t);if(this._first===Ut.Undefined)this._first=e,this._last=e;else if(i){const t=this._last;this._last=e,e.prev=t,t.next=e}else{const t=this._first;this._first=e,e.next=t,t.prev=e}this._size+=1;let s=!1;return()=>{s||(s=!0,this._remove(e))}}shift(){if(this._first!==Ut.Undefined){const t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==Ut.Undefined){const t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==Ut.Undefined&&t.next!==Ut.Undefined){const i=t.prev;i.next=t.next,t.next.prev=i}else t.prev===Ut.Undefined&&t.next===Ut.Undefined?(this._first=Ut.Undefined,this._last=Ut.Undefined):t.next===Ut.Undefined?(this._last=this._last.prev,this._last.next=Ut.Undefined):t.prev===Ut.Undefined&&(this._first=this._first.next,this._first.prev=Ut.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==Ut.Undefined;)yield t.element,t=t.next}}const Kt="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",Gt=function(t=""){let i="(-?\\d*\\.\\d\\w*)|([^";for(const e of Kt)t.indexOf(e)>=0||(i+="\\"+e);return i+="\\s]+)",new RegExp(i,"g")}();function Zt(t){let i=Gt;if(t&&t instanceof RegExp)if(t.global)i=t;else{let e="g";t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),i=new RegExp(t.source,e)}return i.lastIndex=0,i}const Qt=new qt;function Jt(t,i,e,s,n){if(i=Zt(i),n||(n=Vt.first(Qt)),e.length>n.maxLen){let o=t-n.maxLen/2;return o<0?o=0:s+=o,Jt(t,i,e=e.substring(o,t+n.maxLen/2),s,n)}const o=Date.now(),r=t-1-s;let h=-1,c=null;for(let t=1;!(Date.now()-o>=n.timeBudget);t++){const s=r-n.windowSize*t;i.lastIndex=Math.max(0,s);const o=Yt(i,e,r,h);if(!o&&c)break;if(c=o,s<=0)break;h=s}if(c){const t={word:c[0],startColumn:s+1+c.index,endColumn:s+1+c.index+c[0].length};return i.lastIndex=0,t}return null}function Yt(t,i,e,s){let n;for(;n=t.exec(i);){const i=n.index||0;if(i<=e&&t.lastIndex>=e)return n;if(s>0&&i>s)return null}return null}Qt.unshift({maxLen:1e3,windowSize:15,timeBudget:150});class Xt{constructor(t){this._values=t}hasChanged(t){return this._values[t]}}class ti{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class ii{constructor(t,i,e,s){this.id=t,this.name=i,this.defaultValue=e,this.schema=s}applyUpdate(t,i){return si(t,i)}compute(t,i,e){return e}}class ei{constructor(t,i){this.newValue=t,this.didChange=i}}function si(t,i){if("object"!=typeof t||"object"!=typeof i||!t||!i)return new ei(i,t!==i);if(Array.isArray(t)||Array.isArray(i)){const e=Array.isArray(t)&&Array.isArray(i)&&u(t,i);return new ei(i,!e)}let e=!1;for(const s in i)if(i.hasOwnProperty(s)){const n=si(t[s],i[s]);n.didChange&&(t[s]=n.newValue,e=!0)}return new ei(t,e)}class ni{constructor(t){this.schema=void 0,this.id=t,this.name="_never_",this.defaultValue=void 0}applyUpdate(t,i){return si(t,i)}validate(t){return this.defaultValue}}class oi{constructor(t,i,e,s){this.id=t,this.name=i,this.defaultValue=e,this.schema=s}applyUpdate(t,i){return si(t,i)}validate(t){return void 0===t?this.defaultValue:t}compute(t,i,e){return e}}function ri(t,i){return void 0===t?i:"false"!==t&&Boolean(t)}class hi extends oi{constructor(t,i,e,s){void 0!==s&&(s.type="boolean",s.default=e),super(t,i,e,s)}validate(t){return ri(t,this.defaultValue)}}function ci(t,i,e,s){if(void 0===t)return i;let n=parseInt(t,10);return isNaN(n)?i:(n=Math.max(e,n),n=Math.min(s,n),0|n)}class ai extends oi{static clampedInt(t,i,e,s){return ci(t,i,e,s)}constructor(t,i,e,s,n,o){void 0!==o&&(o.type="integer",o.default=e,o.minimum=s,o.maximum=n),super(t,i,e,o),this.minimum=s,this.maximum=n}validate(t){return ai.clampedInt(t,this.defaultValue,this.minimum,this.maximum)}}function li(t,i,e,s){if(void 0===t)return i;const n=ui.float(t,i);return ui.clamp(n,e,s)}class ui extends oi{static clamp(t,i,e){return te?e:t}static float(t,i){if("number"==typeof t)return t;if(void 0===t)return i;const e=parseFloat(t);return isNaN(e)?i:e}constructor(t,i,e,s,n){void 0!==n&&(n.type="number",n.default=e),super(t,i,e,n),this.validationFn=s}validate(t){return this.validationFn(ui.float(t,this.defaultValue))}}class di extends oi{static string(t,i){return"string"!=typeof t?i:t}constructor(t,i,e,s){void 0!==s&&(s.type="string",s.default=e),super(t,i,e,s)}validate(t){return di.string(t,this.defaultValue)}}function fi(t,i,e,s){return"string"!=typeof t?i:s&&t in s?s[t]:-1===e.indexOf(t)?i:t}class pi extends oi{constructor(t,i,e,s,n){void 0!==n&&(n.type="string",n.enum=s,n.default=e),super(t,i,e,n),this._allowedValues=s}validate(t){return fi(t,this.defaultValue,this._allowedValues)}}class gi extends ii{constructor(t,i,e,s,n,o,r){void 0!==r&&(r.type="string",r.enum=n,r.default=s),super(t,i,e,r),this._allowedValues=n,this._convert=o}validate(t){return"string"!=typeof t||-1===this._allowedValues.indexOf(t)?this.defaultValue:this._convert(t)}}var mi,wi;!function(t){t[t.Line=1]="Line",t[t.Block=2]="Block",t[t.Underline=3]="Underline",t[t.LineThin=4]="LineThin",t[t.BlockOutline=5]="BlockOutline",t[t.UnderlineThin=6]="UnderlineThin"}(mi||(mi={}));class vi extends ii{constructor(){super(51,"fontLigatures",vi.OFF,{anyOf:[{type:"boolean",description:rt(0,"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:rt(0,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:rt(0,"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(t){return void 0===t?this.defaultValue:"string"==typeof t?"false"===t?vi.OFF:"true"===t?vi.ON:t:Boolean(t)?vi.ON:vi.OFF}}vi.OFF='"liga" off, "calt" off',vi.ON='"liga" on, "calt" on';class bi extends ii{constructor(){super(54,"fontVariations",bi.OFF,{anyOf:[{type:"boolean",description:rt(0,"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:rt(0,"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:rt(0,"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(t){return void 0===t?this.defaultValue:"string"==typeof t?"false"===t?bi.OFF:"true"===t?bi.TRANSLATE:t:Boolean(t)?bi.TRANSLATE:bi.OFF}compute(t,i,e){return t.fontInfo.fontVariationSettings}}bi.OFF="normal",bi.TRANSLATE="translate";class yi extends ii{constructor(){super(53,"fontWeight",Oi.fontWeight,{anyOf:[{type:"number",minimum:yi.MINIMUM_VALUE,maximum:yi.MAXIMUM_VALUE,errorMessage:rt(0,'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:yi.SUGGESTION_VALUES}],default:Oi.fontWeight,description:rt(0,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(t){return"normal"===t||"bold"===t?t:String(ai.clampedInt(t,Oi.fontWeight,yi.MINIMUM_VALUE,yi.MAXIMUM_VALUE))}}yi.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],yi.MINIMUM_VALUE=1,yi.MAXIMUM_VALUE=1e3;class ki extends ni{constructor(){super(143)}compute(t,i,e){return ki.computeLayout(i,{memory:t.memory,outerWidth:t.outerWidth,outerHeight:t.outerHeight,isDominatedByLongLines:t.isDominatedByLongLines,lineHeight:t.fontInfo.lineHeight,viewLineCount:t.viewLineCount,lineNumbersDigitCount:t.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:t.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:t.fontInfo.maxDigitWidth,pixelRatio:t.pixelRatio,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(t){const i=t.height/t.lineHeight,e=Math.floor(t.paddingTop/t.lineHeight);let s=Math.floor(t.paddingBottom/t.lineHeight);t.scrollBeyondLastLine&&(s=Math.max(s,i-1));const n=(e+t.viewLineCount+s)/(t.pixelRatio*t.height);return{typicalViewportLineCount:i,extraLinesBeforeFirstLine:e,extraLinesBeyondLastLine:s,desiredRatio:n,minimapLineCount:Math.floor(t.viewLineCount/n)}}static _computeMinimapLayout(t,i){const e=t.outerWidth,s=t.outerHeight,n=t.pixelRatio;if(!t.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(n*s),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:s};const o=i.stableMinimapLayoutInput,r=o&&t.outerHeight===o.outerHeight&&t.lineHeight===o.lineHeight&&t.typicalHalfwidthCharacterWidth===o.typicalHalfwidthCharacterWidth&&t.pixelRatio===o.pixelRatio&&t.scrollBeyondLastLine===o.scrollBeyondLastLine&&t.paddingTop===o.paddingTop&&t.paddingBottom===o.paddingBottom&&t.minimap.enabled===o.minimap.enabled&&t.minimap.side===o.minimap.side&&t.minimap.size===o.minimap.size&&t.minimap.showSlider===o.minimap.showSlider&&t.minimap.renderCharacters===o.minimap.renderCharacters&&t.minimap.maxColumn===o.minimap.maxColumn&&t.minimap.scale===o.minimap.scale&&t.verticalScrollbarWidth===o.verticalScrollbarWidth&&t.isViewportWrapping===o.isViewportWrapping,h=t.lineHeight,c=t.typicalHalfwidthCharacterWidth,a=t.scrollBeyondLastLine,l=t.minimap.renderCharacters;let u=n>=2?Math.round(2*t.minimap.scale):t.minimap.scale;const d=t.minimap.maxColumn,f=t.minimap.size,p=t.minimap.side,g=t.verticalScrollbarWidth,m=t.viewLineCount,w=t.remainingWidth,v=t.isViewportWrapping,b=l?2:3;let y=Math.floor(n*s);const k=y/n;let x=!1,C=!1,S=b*u,D=u/n,E=1;if("fill"===f||"fit"===f){const{typicalViewportLineCount:e,extraLinesBeforeFirstLine:o,extraLinesBeyondLastLine:c,desiredRatio:l,minimapLineCount:d}=ki.computeContainedMinimapLineCount({viewLineCount:m,scrollBeyondLastLine:a,paddingTop:t.paddingTop,paddingBottom:t.paddingBottom,height:s,lineHeight:h,pixelRatio:n});if(m/d>1)x=!0,C=!0,u=1,S=1,D=u/n;else{let s=!1,a=u+1;if("fit"===f){const t=Math.ceil((o+m+c)*S);v&&r&&w<=i.stableFitRemainingWidth?(s=!0,a=i.stableFitMaxMinimapScale):s=t>y}if("fill"===f||s){x=!0;const s=u;S=Math.min(h*n,Math.max(1,Math.floor(1/l))),v&&r&&w<=i.stableFitRemainingWidth&&(a=i.stableFitMaxMinimapScale),u=Math.min(a,Math.max(1,Math.floor(S/b))),u>s&&(E=Math.min(2,u/s)),D=u/n/E,y=Math.ceil(Math.max(e,o+m+c)*S),v?(i.stableMinimapLayoutInput=t,i.stableFitRemainingWidth=w,i.stableFitMaxMinimapScale=u):(i.stableMinimapLayoutInput=null,i.stableFitRemainingWidth=0)}}}const A=Math.floor(d*D),M=Math.min(A,Math.max(0,Math.floor((w-g-2)*D/(c+D)))+8);let L=Math.floor(n*M);const F=L/n;return L=Math.floor(L*E),{renderMinimap:l?1:2,minimapLeft:"left"===p?0:e-M-g,minimapWidth:M,minimapHeightIsEditorHeight:x,minimapIsSampling:C,minimapScale:u,minimapLineHeight:S,minimapCanvasInnerWidth:L,minimapCanvasInnerHeight:y,minimapCanvasOuterWidth:F,minimapCanvasOuterHeight:k}}static computeLayout(t,i){const e=0|i.outerWidth,s=0|i.outerHeight,n=0|i.lineHeight,o=0|i.lineNumbersDigitCount,r=i.typicalHalfwidthCharacterWidth,h=i.maxDigitWidth,c=i.pixelRatio,a=i.viewLineCount,l=t.get(135),u="inherit"===l?t.get(134):l,d="inherit"===u?t.get(130):u,f=t.get(133),p=i.isDominatedByLongLines,g=t.get(57),m=0!==t.get(67).renderType,w=t.get(68),v=t.get(104),b=t.get(83),y=t.get(72),k=t.get(102),x=k.verticalScrollbarSize,C=k.verticalHasArrows,S=k.arrowSize,D=k.horizontalScrollbarSize,E=t.get(43),A="never"!==t.get(109);let M=t.get(65);E&&A&&(M+=16);let L=0;if(m){const t=Math.max(o,w);L=Math.round(t*h)}let F=0;g&&(F=n*i.glyphMarginDecorationLaneCount);let T=0,R=T+F,O=R+L,I=O+M;const _=e-F-L-M;let N=!1,B=!1,P=-1;"inherit"===u&&p?(N=!0,B=!0):"on"===d||"bounded"===d?B=!0:"wordWrapColumn"===d&&(P=f);const $=ki._computeMinimapLayout({outerWidth:e,outerHeight:s,lineHeight:n,typicalHalfwidthCharacterWidth:r,pixelRatio:c,scrollBeyondLastLine:v,paddingTop:b.top,paddingBottom:b.bottom,minimap:y,verticalScrollbarWidth:x,viewLineCount:a,remainingWidth:_,isViewportWrapping:B},i.memory||new ti);0!==$.renderMinimap&&0===$.minimapLeft&&(T+=$.minimapWidth,R+=$.minimapWidth,O+=$.minimapWidth,I+=$.minimapWidth);const W=_-$.minimapWidth,j=Math.max(1,Math.floor((W-x-2)/r)),z=C?S:0;return B&&(P=Math.max(1,j),"bounded"===d&&(P=Math.min(P,f))),{width:e,height:s,glyphMarginLeft:T,glyphMarginWidth:F,glyphMarginDecorationLaneCount:i.glyphMarginDecorationLaneCount,lineNumbersLeft:R,lineNumbersWidth:L,decorationsLeft:O,decorationsWidth:M,contentLeft:I,contentWidth:W,minimap:$,viewportColumn:j,isWordWrapMinified:N,isViewportWrapping:B,wrappingColumn:P,verticalScrollbarWidth:x,horizontalScrollbarHeight:D,overviewRuler:{top:z,width:x,height:s-2*z,right:0}}}}function xi(t){const i=t.get(97);return"editable"===i?t.get(90):"on"!==i}function Ci(t,i){if("string"!=typeof t)return i;switch(t){case"hidden":return 2;case"visible":return 3;default:return 1}}!function(t){t.Off="off",t.OnCode="onCode",t.On="on"}(wi||(wi={}));const Si="inUntrustedWorkspace",Di="editor.unicodeHighlight.allowedCharacters",Ei="editor.unicodeHighlight.invisibleCharacters",Ai="editor.unicodeHighlight.nonBasicASCII",Mi="editor.unicodeHighlight.ambiguousCharacters",Li="editor.unicodeHighlight.includeComments",Fi="editor.unicodeHighlight.includeStrings",Ti="editor.unicodeHighlight.allowedLocales";function Ri(t,i,e){const s=e.indexOf(t);return-1===s?i:e[s]}const Oi={fontFamily:St?"Menlo, Monaco, 'Courier New', monospace":Dt?"'Droid Sans Mono', 'monospace', monospace":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:St?12:14,lineHeight:0,letterSpacing:0},Ii=[];function _i(t){return Ii[t.id]=t,t}const Ni={acceptSuggestionOnCommitCharacter:_i(new hi(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:rt(0,"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:_i(new pi(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",rt(0,"Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:rt(0,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:_i(new class extends ii{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[rt(0,"Use platform APIs to detect when a Screen Reader is attached."),rt(0,"Optimize for usage with a Screen Reader."),rt(0,"Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:rt(0,"Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(t){switch(t){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(t,i,e){return 0===e?t.accessibilitySupport:e}}),accessibilityPageSize:_i(new ai(3,"accessibilityPageSize",10,1,1073741824,{description:rt(0,"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:_i(new di(4,"ariaLabel",rt(0,"Editor content"))),ariaRequired:_i(new hi(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:_i(new hi(8,"screenReaderAnnounceInlineSuggestion",!0,{description:rt(0,"Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:_i(new pi(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",rt(0,"Use language configurations to determine when to autoclose brackets."),rt(0,"Autoclose brackets only when the cursor is to the left of whitespace."),""],description:rt(0,"Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:_i(new pi(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",rt(0,"Use language configurations to determine when to autoclose comments."),rt(0,"Autoclose comments only when the cursor is to the left of whitespace."),""],description:rt(0,"Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:_i(new pi(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",rt(0,"Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:rt(0,"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:_i(new pi(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",rt(0,"Type over closing quotes or brackets only if they were automatically inserted."),""],description:rt(0,"Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:_i(new pi(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",rt(0,"Use language configurations to determine when to autoclose quotes."),rt(0,"Autoclose quotes only when the cursor is to the left of whitespace."),""],description:rt(0,"Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:_i(new gi(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],(function(t){switch(t){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}),{enumDescriptions:[rt(0,"The editor will not insert indentation automatically."),rt(0,"The editor will keep the current line's indentation."),rt(0,"The editor will keep the current line's indentation and honor language defined brackets."),rt(0,"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),rt(0,"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:rt(0,"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:_i(new hi(13,"automaticLayout",!1)),autoSurround:_i(new pi(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[rt(0,"Use language configurations to determine when to automatically surround selections."),rt(0,"Surround with quotes but not brackets."),rt(0,"Surround with brackets but not quotes."),""],description:rt(0,"Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:_i(new class extends ii{constructor(){const t={enabled:Ht.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:Ht.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",t,{"editor.bracketPairColorization.enabled":{type:"boolean",default:t.enabled,markdownDescription:rt(0,"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:t.independentColorPoolPerBracketType,description:rt(0,"Controls whether each bracket type has its own independent color pool.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:ri(i.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}),bracketPairGuides:_i(new class extends ii{constructor(){const t={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",t,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[rt(0,"Enables bracket pair guides."),rt(0,"Enables bracket pair guides only for the active bracket pair."),rt(0,"Disables bracket pair guides.")],default:t.bracketPairs,description:rt(0,"Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[rt(0,"Enables horizontal guides as addition to vertical bracket pair guides."),rt(0,"Enables horizontal guides only for the active bracket pair."),rt(0,"Disables horizontal bracket pair guides.")],default:t.bracketPairsHorizontal,description:rt(0,"Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:t.highlightActiveBracketPair,description:rt(0,"Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:t.indentation,description:rt(0,"Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[rt(0,"Highlights the active indent guide."),rt(0,"Highlights the active indent guide even if bracket guides are highlighted."),rt(0,"Do not highlight the active indent guide.")],default:t.highlightActiveIndentation,description:rt(0,"Controls whether the editor should highlight the active indent guide.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{bracketPairs:Ri(i.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:Ri(i.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:ri(i.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:ri(i.indentation,this.defaultValue.indentation),highlightActiveIndentation:Ri(i.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}),stickyTabStops:_i(new hi(115,"stickyTabStops",!1,{description:rt(0,"Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:_i(new hi(17,"codeLens",!0,{description:rt(0,"Controls whether the editor shows CodeLens.")})),codeLensFontFamily:_i(new di(18,"codeLensFontFamily","",{description:rt(0,"Controls the font family for CodeLens.")})),codeLensFontSize:_i(new ai(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:rt(0,"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:_i(new hi(20,"colorDecorators",!0,{description:rt(0,"Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:_i(new pi(146,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[rt(0,"Make the color picker appear both on click and hover of the color decorator"),rt(0,"Make the color picker appear on hover of the color decorator"),rt(0,"Make the color picker appear on click of the color decorator")],description:rt(0,"Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:_i(new ai(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:rt(0,"Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:_i(new hi(22,"columnSelection",!1,{description:rt(0,"Enable that the selection with the mouse and keys is doing column selection.")})),comments:_i(new class extends ii{constructor(){const t={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",t,{"editor.comments.insertSpace":{type:"boolean",default:t.insertSpace,description:rt(0,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:t.ignoreEmptyLines,description:rt(0,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{insertSpace:ri(i.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:ri(i.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}),contextmenu:_i(new hi(24,"contextmenu",!0)),copyWithSyntaxHighlighting:_i(new hi(25,"copyWithSyntaxHighlighting",!0,{description:rt(0,"Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:_i(new gi(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],(function(t){switch(t){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}),{description:rt(0,"Control the cursor animation style.")})),cursorSmoothCaretAnimation:_i(new pi(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[rt(0,"Smooth caret animation is disabled."),rt(0,"Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),rt(0,"Smooth caret animation is always enabled.")],description:rt(0,"Controls whether the smooth caret animation should be enabled.")})),cursorStyle:_i(new gi(28,"cursorStyle",mi.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],(function(t){switch(t){case"line":return mi.Line;case"block":return mi.Block;case"underline":return mi.Underline;case"line-thin":return mi.LineThin;case"block-outline":return mi.BlockOutline;case"underline-thin":return mi.UnderlineThin}}),{description:rt(0,"Controls the cursor style.")})),cursorSurroundingLines:_i(new ai(29,"cursorSurroundingLines",0,0,1073741824,{description:rt(0,"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:_i(new pi(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[rt(0,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),rt(0,"`cursorSurroundingLines` is enforced always.")],markdownDescription:rt(0,"Controls when `#cursorSurroundingLines#` should be enforced.")})),cursorWidth:_i(new ai(31,"cursorWidth",0,0,1073741824,{markdownDescription:rt(0,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:_i(new hi(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:_i(new hi(33,"disableMonospaceOptimizations",!1)),domReadOnly:_i(new hi(34,"domReadOnly",!1)),dragAndDrop:_i(new hi(35,"dragAndDrop",!0,{description:rt(0,"Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:_i(new class extends hi{constructor(){super(37,"emptySelectionClipboard",!0,{description:rt(0,"Controls whether copying without a selection copies the current line.")})}compute(t,i,e){return e&&t.emptySelectionClipboard}}),dropIntoEditor:_i(new class extends ii{constructor(){const t={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",t,{"editor.dropIntoEditor.enabled":{type:"boolean",default:t.enabled,markdownDescription:rt(0,"Controls whether you can drag and drop a file into a text editor by holding down `Shift`-key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:rt(0,"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:[rt(0,"Show the drop selector widget after a file is dropped into the editor."),rt(0,"Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),showDropSelector:fi(i.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}),stickyScroll:_i(new class extends ii{constructor(){const t={enabled:!1,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(114,"stickyScroll",t,{"editor.stickyScroll.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Shows the nested current scopes during the scroll at the top of the editor.")},"editor.stickyScroll.maxLineCount":{type:"number",default:t.maxLineCount,minimum:1,maximum:10,description:rt(0,"Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:t.defaultModel,description:rt(0,"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:t.scrollWithEditor,description:rt(0,"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),maxLineCount:ai.clampedInt(i.maxLineCount,this.defaultValue.maxLineCount,1,10),defaultModel:fi(i.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:ri(i.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}),experimentalWhitespaceRendering:_i(new pi(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[rt(0,"Use a new rendering method with svgs."),rt(0,"Use a new rendering method with font characters."),rt(0,"Use the stable rendering method.")],description:rt(0,"Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:_i(new di(39,"extraEditorClassName","")),fastScrollSensitivity:_i(new ui(40,"fastScrollSensitivity",5,(t=>t<=0?5:t),{markdownDescription:rt(0,"Scrolling speed multiplier when pressing `Alt`.")})),find:_i(new class extends ii{constructor(){const t={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",t,{"editor.find.cursorMoveOnType":{type:"boolean",default:t.cursorMoveOnType,description:rt(0,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:t.seedSearchStringFromSelection,enumDescriptions:[rt(0,"Never seed search string from the editor selection."),rt(0,"Always seed search string from the editor selection, including word at cursor position."),rt(0,"Only seed search string from the editor selection.")],description:rt(0,"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:t.autoFindInSelection,enumDescriptions:[rt(0,"Never turn on Find in Selection automatically (default)."),rt(0,"Always turn on Find in Selection automatically."),rt(0,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:rt(0,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:t.globalFindClipboard,description:rt(0,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:St},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:t.addExtraSpaceOnTop,description:rt(0,"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:t.loop,description:rt(0,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{cursorMoveOnType:ri(i.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:"boolean"==typeof t.seedSearchStringFromSelection?t.seedSearchStringFromSelection?"always":"never":fi(i.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:"boolean"==typeof t.autoFindInSelection?t.autoFindInSelection?"always":"never":fi(i.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:ri(i.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:ri(i.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:ri(i.loop,this.defaultValue.loop)}}}),fixedOverflowWidgets:_i(new hi(42,"fixedOverflowWidgets",!1)),folding:_i(new hi(43,"folding",!0,{description:rt(0,"Controls whether the editor has code folding enabled.")})),foldingStrategy:_i(new pi(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[rt(0,"Use a language-specific folding strategy if available, else the indentation-based one."),rt(0,"Use the indentation-based folding strategy.")],description:rt(0,"Controls the strategy for computing folding ranges.")})),foldingHighlight:_i(new hi(45,"foldingHighlight",!0,{description:rt(0,"Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:_i(new hi(46,"foldingImportsByDefault",!1,{description:rt(0,"Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:_i(new ai(47,"foldingMaximumRegions",5e3,10,65e3,{description:rt(0,"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:_i(new hi(48,"unfoldOnClickAfterEndOfLine",!1,{description:rt(0,"Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:_i(new di(49,"fontFamily",Oi.fontFamily,{description:rt(0,"Controls the font family.")})),fontInfo:_i(new class extends ni{constructor(){super(50)}compute(t,i,e){return t.fontInfo}}),fontLigatures2:_i(new vi),fontSize:_i(new class extends oi{constructor(){super(52,"fontSize",Oi.fontSize,{type:"number",minimum:6,maximum:100,default:Oi.fontSize,description:rt(0,"Controls the font size in pixels.")})}validate(t){const i=ui.float(t,this.defaultValue);return 0===i?Oi.fontSize:ui.clamp(i,6,100)}compute(t,i,e){return t.fontInfo.fontSize}}),fontWeight:_i(new yi),fontVariations:_i(new bi),formatOnPaste:_i(new hi(55,"formatOnPaste",!1,{description:rt(0,"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:_i(new hi(56,"formatOnType",!1,{description:rt(0,"Controls whether the editor should automatically format the line after typing.")})),glyphMargin:_i(new hi(57,"glyphMargin",!0,{description:rt(0,"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:_i(new class extends ii{constructor(){const t={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},i={type:"string",enum:["peek","gotoAndPeek","goto"],default:t.multiple,enumDescriptions:[rt(0,"Show Peek view of the results (default)"),rt(0,"Go to the primary result and show a Peek view"),rt(0,"Go to the primary result and enable Peek-less navigation to others")]},e=["","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",t,{"editor.gotoLocation.multiple":{deprecationMessage:rt(0,"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:rt(0,"Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleTypeDefinitions":{description:rt(0,"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleDeclarations":{description:rt(0,"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleImplementations":{description:rt(0,"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleReferences":{description:rt(0,"Controls the behavior the 'Go to References'-command when multiple target locations exist."),...i},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:t.alternativeDefinitionCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:t.alternativeTypeDefinitionCommand,enum:e,description:rt(0,"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:t.alternativeDeclarationCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:t.alternativeImplementationCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:t.alternativeReferenceCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(t){var i,e,s,n,o;if(!t||"object"!=typeof t)return this.defaultValue;const r=t;return{multiple:fi(r.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:null!==(i=r.multipleDefinitions)&&void 0!==i?i:fi(r.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:null!==(e=r.multipleTypeDefinitions)&&void 0!==e?e:fi(r.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:null!==(s=r.multipleDeclarations)&&void 0!==s?s:fi(r.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:null!==(n=r.multipleImplementations)&&void 0!==n?n:fi(r.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:null!==(o=r.multipleReferences)&&void 0!==o?o:fi(r.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:di.string(r.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:di.string(r.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:di.string(r.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:di.string(r.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:di.string(r.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}),hideCursorInOverviewRuler:_i(new hi(59,"hideCursorInOverviewRuler",!1,{description:rt(0,"Controls whether the cursor should be hidden in the overview ruler.")})),hover:_i(new class extends ii{constructor(){const t={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",t,{"editor.hover.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:t.delay,minimum:0,maximum:1e4,description:rt(0,"Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:t.sticky,description:rt(0,"Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:t.hidingDelay,description:rt(0,"Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:t.above,description:rt(0,"Prefer showing hovers above the line, if there's space.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),delay:ai.clampedInt(i.delay,this.defaultValue.delay,0,1e4),sticky:ri(i.sticky,this.defaultValue.sticky),hidingDelay:ai.clampedInt(i.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:ri(i.above,this.defaultValue.above)}}}),inDiffEditor:_i(new hi(61,"inDiffEditor",!1)),letterSpacing:_i(new ui(63,"letterSpacing",Oi.letterSpacing,(t=>ui.clamp(t,-5,20)),{description:rt(0,"Controls the letter spacing in pixels.")})),lightbulb:_i(new class extends ii{constructor(){const t={enabled:!0,experimental:{showAiIcon:wi.Off}};super(64,"lightbulb",t,{"editor.lightbulb.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Enables the Code Action lightbulb in the editor.")},"editor.lightbulb.experimental.showAiIcon":{type:"string",enum:[wi.Off,wi.OnCode,wi.On],default:t.experimental.showAiIcon,enumDescriptions:[rt(0,"Don not show the AI icon."),rt(0,"Show an AI icon when the code action menu contains an AI action, but only on code."),rt(0,"Show an AI icon when the code action menu contains an AI action, on code and empty lines.")],description:rt(0,"Show an AI icon along with the lightbulb when the code action menu contains an AI action.")}})}validate(t){var i,e;if(!t||"object"!=typeof t)return this.defaultValue;const s=t;return{enabled:ri(s.enabled,this.defaultValue.enabled),experimental:{showAiIcon:fi(null===(i=s.experimental)||void 0===i?void 0:i.showAiIcon,null===(e=this.defaultValue.experimental)||void 0===e?void 0:e.showAiIcon,[wi.Off,wi.OnCode,wi.On])}}}}),lineDecorationsWidth:_i(new class extends ii{constructor(){super(65,"lineDecorationsWidth",10)}validate(t){return"string"==typeof t&&/^\d+(\.\d+)?ch$/.test(t)?-parseFloat(t.substring(0,t.length-2)):ai.clampedInt(t,this.defaultValue,0,1e3)}compute(t,i,e){return e<0?ai.clampedInt(-e*t.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):e}}),lineHeight:_i(new class extends ui{constructor(){super(66,"lineHeight",Oi.lineHeight,(t=>ui.clamp(t,0,150)),{markdownDescription:rt(0,"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(t,i,e){return t.fontInfo.lineHeight}}),lineNumbers:_i(new class extends ii{constructor(){super(67,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[rt(0,"Line numbers are not rendered."),rt(0,"Line numbers are rendered as absolute number."),rt(0,"Line numbers are rendered as distance in lines to cursor position."),rt(0,"Line numbers are rendered every 10 lines.")],default:"on",description:rt(0,"Controls the display of line numbers.")})}validate(t){let i=this.defaultValue.renderType,e=this.defaultValue.renderFn;return void 0!==t&&("function"==typeof t?(i=4,e=t):i="interval"===t?3:"relative"===t?2:"on"===t?1:0),{renderType:i,renderFn:e}}}),lineNumbersMinChars:_i(new ai(68,"lineNumbersMinChars",5,1,300)),linkedEditing:_i(new hi(69,"linkedEditing",!1,{description:rt(0,"Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:_i(new hi(70,"links",!0,{description:rt(0,"Controls whether the editor should detect links and make them clickable.")})),matchBrackets:_i(new pi(71,"matchBrackets","always",["always","near","never"],{description:rt(0,"Highlight matching brackets.")})),minimap:_i(new class extends ii{constructor(){const t={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1};super(72,"minimap",t,{"editor.minimap.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:t.autohide,description:rt(0,"Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[rt(0,"The minimap has the same size as the editor contents (and might scroll)."),rt(0,"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),rt(0,"The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:t.size,description:rt(0,"Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:t.side,description:rt(0,"Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:t.showSlider,description:rt(0,"Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:t.scale,minimum:1,maximum:3,enum:[1,2,3],description:rt(0,"Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:t.renderCharacters,description:rt(0,"Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:t.maxColumn,description:rt(0,"Limit the width of the minimap to render at most a certain number of columns.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),autohide:ri(i.autohide,this.defaultValue.autohide),size:fi(i.size,this.defaultValue.size,["proportional","fill","fit"]),side:fi(i.side,this.defaultValue.side,["right","left"]),showSlider:fi(i.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:ri(i.renderCharacters,this.defaultValue.renderCharacters),scale:ai.clampedInt(i.scale,1,1,3),maxColumn:ai.clampedInt(i.maxColumn,this.defaultValue.maxColumn,1,1e4)}}}),mouseStyle:_i(new pi(73,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:_i(new ui(74,"mouseWheelScrollSensitivity",1,(t=>0===t?1:t),{markdownDescription:rt(0,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:_i(new hi(75,"mouseWheelZoom",!1,{markdownDescription:rt(0,"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:_i(new hi(76,"multiCursorMergeOverlapping",!0,{description:rt(0,"Merge multiple cursors when they are overlapping.")})),multiCursorModifier:_i(new gi(77,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],(function(t){return"ctrlCmd"===t?St?"metaKey":"ctrlKey":"altKey"}),{markdownEnumDescriptions:[rt(0,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),rt(0,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:rt(0,"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:_i(new pi(78,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[rt(0,"Each cursor pastes a single line of the text."),rt(0,"Each cursor pastes the full text.")],markdownDescription:rt(0,"Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:_i(new ai(79,"multiCursorLimit",1e4,1,1e5,{markdownDescription:rt(0,"Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:_i(new pi(80,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[rt(0,"Does not highlight occurrences."),rt(0,"Highlights occurrences only in the current file."),rt(0,"Experimental: Highlights occurrences across all valid open files.")],markdownDescription:rt(0,"Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:_i(new hi(81,"overviewRulerBorder",!0,{description:rt(0,"Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:_i(new ai(82,"overviewRulerLanes",3,0,3)),padding:_i(new class extends ii{constructor(){super(83,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:rt(0,"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:rt(0,"Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{top:ai.clampedInt(i.top,0,0,1e3),bottom:ai.clampedInt(i.bottom,0,0,1e3)}}}),pasteAs:_i(new class extends ii{constructor(){const t={enabled:!0,showPasteSelector:"afterPaste"};super(84,"pasteAs",t,{"editor.pasteAs.enabled":{type:"boolean",default:t.enabled,markdownDescription:rt(0,"Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:rt(0,"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:[rt(0,"Show the paste selector widget after content is pasted into the editor."),rt(0,"Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),showPasteSelector:fi(i.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}),parameterHints:_i(new class extends ii{constructor(){const t={enabled:!0,cycle:!0};super(85,"parameterHints",t,{"editor.parameterHints.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:t.cycle,description:rt(0,"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),cycle:ri(i.cycle,this.defaultValue.cycle)}}}),peekWidgetDefaultFocus:_i(new pi(86,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[rt(0,"Focus the tree when opening peek"),rt(0,"Focus the editor when opening peek")],description:rt(0,"Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:_i(new hi(87,"definitionLinkOpensInPeek",!1,{description:rt(0,"Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:_i(new class extends ii{constructor(){const t={other:"on",comments:"off",strings:"off"},i=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[rt(0,"Quick suggestions show inside the suggest widget"),rt(0,"Quick suggestions show as ghost text"),rt(0,"Quick suggestions are disabled")]}];super(88,"quickSuggestions",t,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:i,default:t.strings,description:rt(0,"Enable quick suggestions inside strings.")},comments:{anyOf:i,default:t.comments,description:rt(0,"Enable quick suggestions inside comments.")},other:{anyOf:i,default:t.other,description:rt(0,"Enable quick suggestions outside of strings and comments.")}},default:t,markdownDescription:rt(0,"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=t}validate(t){if("boolean"==typeof t){const i=t?"on":"off";return{comments:i,strings:i,other:i}}if(!t||"object"!=typeof t)return this.defaultValue;const{other:i,comments:e,strings:s}=t,n=["on","inline","off"];let o,r,h;return o="boolean"==typeof i?i?"on":"off":fi(i,this.defaultValue.other,n),r="boolean"==typeof e?e?"on":"off":fi(e,this.defaultValue.comments,n),h="boolean"==typeof s?s?"on":"off":fi(s,this.defaultValue.strings,n),{other:o,comments:r,strings:h}}}),quickSuggestionsDelay:_i(new ai(89,"quickSuggestionsDelay",10,0,1073741824,{description:rt(0,"Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:_i(new hi(90,"readOnly",!1)),readOnlyMessage:_i(new class extends ii{constructor(){super(91,"readOnlyMessage",void 0)}validate(t){return t&&"object"==typeof t?t:this.defaultValue}}),renameOnType:_i(new hi(92,"renameOnType",!1,{description:rt(0,"Controls whether the editor auto renames on type."),markdownDeprecationMessage:rt(0,"Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:_i(new hi(93,"renderControlCharacters",!0,{description:rt(0,"Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:_i(new pi(94,"renderFinalNewline",Dt?"dimmed":"on",["off","on","dimmed"],{description:rt(0,"Render last line number when the file ends with a newline.")})),renderLineHighlight:_i(new pi(95,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",rt(0,"Highlights both the gutter and the current line.")],description:rt(0,"Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:_i(new hi(96,"renderLineHighlightOnlyWhenFocus",!1,{description:rt(0,"Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:_i(new pi(97,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:_i(new pi(98,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",rt(0,"Render whitespace characters except for single spaces between words."),rt(0,"Render whitespace characters only on selected text."),rt(0,"Render only trailing whitespace characters."),""],description:rt(0,"Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:_i(new ai(99,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:_i(new hi(100,"roundedSelection",!0,{description:rt(0,"Controls whether selections should have rounded corners.")})),rulers:_i(new class extends ii{constructor(){const t=[],i={type:"number",description:rt(0,"Number of monospace characters at which this editor ruler will render.")};super(101,"rulers",t,{type:"array",items:{anyOf:[i,{type:["object"],properties:{column:i,color:{type:"string",description:rt(0,"Color of this editor ruler."),format:"color-hex"}}}]},default:t,description:rt(0,"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(t){if(Array.isArray(t)){const i=[];for(const e of t)if("number"==typeof e)i.push({column:ai.clampedInt(e,0,0,1e4),color:null});else if(e&&"object"==typeof e){const t=e;i.push({column:ai.clampedInt(t.column,0,0,1e4),color:t.color})}return i.sort(((t,i)=>t.column-i.column)),i}return this.defaultValue}}),scrollbar:_i(new class extends ii{constructor(){const t={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(102,"scrollbar",t,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[rt(0,"The vertical scrollbar will be visible only when necessary."),rt(0,"The vertical scrollbar will always be visible."),rt(0,"The vertical scrollbar will always be hidden.")],default:"auto",description:rt(0,"Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[rt(0,"The horizontal scrollbar will be visible only when necessary."),rt(0,"The horizontal scrollbar will always be visible."),rt(0,"The horizontal scrollbar will always be hidden.")],default:"auto",description:rt(0,"Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:t.verticalScrollbarSize,description:rt(0,"The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:t.horizontalScrollbarSize,description:rt(0,"The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:t.scrollByPage,description:rt(0,"Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:t.ignoreHorizontalScrollbarInContentHeight,description:rt(0,"When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t,e=ai.clampedInt(i.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),s=ai.clampedInt(i.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:ai.clampedInt(i.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:Ci(i.vertical,this.defaultValue.vertical),horizontal:Ci(i.horizontal,this.defaultValue.horizontal),useShadows:ri(i.useShadows,this.defaultValue.useShadows),verticalHasArrows:ri(i.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:ri(i.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:ri(i.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:ri(i.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:e,horizontalSliderSize:ai.clampedInt(i.horizontalSliderSize,e,0,1e3),verticalScrollbarSize:s,verticalSliderSize:ai.clampedInt(i.verticalSliderSize,s,0,1e3),scrollByPage:ri(i.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:ri(i.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}),scrollBeyondLastColumn:_i(new ai(103,"scrollBeyondLastColumn",4,0,1073741824,{description:rt(0,"Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:_i(new hi(104,"scrollBeyondLastLine",!0,{description:rt(0,"Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:_i(new hi(105,"scrollPredominantAxis",!0,{description:rt(0,"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:_i(new hi(106,"selectionClipboard",!0,{description:rt(0,"Controls whether the Linux primary clipboard should be supported."),included:Dt})),selectionHighlight:_i(new hi(107,"selectionHighlight",!0,{description:rt(0,"Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:_i(new hi(108,"selectOnLineNumbers",!0)),showFoldingControls:_i(new pi(109,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[rt(0,"Always show the folding controls."),rt(0,"Never show the folding controls and reduce the gutter size."),rt(0,"Only show the folding controls when the mouse is over the gutter.")],description:rt(0,"Controls when the folding controls on the gutter are shown.")})),showUnused:_i(new hi(110,"showUnused",!0,{description:rt(0,"Controls fading out of unused code.")})),showDeprecated:_i(new hi(138,"showDeprecated",!0,{description:rt(0,"Controls strikethrough deprecated variables.")})),inlayHints:_i(new class extends ii{constructor(){const t={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(139,"inlayHints",t,{"editor.inlayHints.enabled":{type:"string",default:t.enabled,description:rt(0,"Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[rt(0,"Inlay hints are enabled"),rt(0,"Inlay hints are showing by default and hide when holding {0}",St?"Ctrl+Option":"Ctrl+Alt"),rt(0,"Inlay hints are hidden by default and show when holding {0}",St?"Ctrl+Option":"Ctrl+Alt"),rt(0,"Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:t.fontSize,markdownDescription:rt(0,"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:t.fontFamily,markdownDescription:rt(0,"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:t.padding,description:rt(0,"Enables the padding around the inlay hints in the editor.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return"boolean"==typeof i.enabled&&(i.enabled=i.enabled?"on":"off"),{enabled:fi(i.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:ai.clampedInt(i.fontSize,this.defaultValue.fontSize,0,100),fontFamily:di.string(i.fontFamily,this.defaultValue.fontFamily),padding:ri(i.padding,this.defaultValue.padding)}}}),snippetSuggestions:_i(new pi(111,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[rt(0,"Show snippet suggestions on top of other suggestions."),rt(0,"Show snippet suggestions below other suggestions."),rt(0,"Show snippets suggestions with other suggestions."),rt(0,"Do not show snippet suggestions.")],description:rt(0,"Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:_i(new class extends ii{constructor(){super(112,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:rt(0,"Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:rt(0,"Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(t){return t&&"object"==typeof t?{selectLeadingAndTrailingWhitespace:ri(t.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:ri(t.selectSubwords,this.defaultValue.selectSubwords)}:this.defaultValue}}),smoothScrolling:_i(new hi(113,"smoothScrolling",!1,{description:rt(0,"Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:_i(new ai(116,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:_i(new class extends ii{constructor(){const t={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(117,"suggest",t,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[rt(0,"Insert suggestion without overwriting text right of the cursor."),rt(0,"Insert suggestion and overwrite text right of the cursor.")],default:t.insertMode,description:rt(0,"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:t.filterGraceful,description:rt(0,"Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:t.localityBonus,description:rt(0,"Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:t.shareSuggestSelections,markdownDescription:rt(0,"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:[rt(0,"Always select a suggestion when automatically triggering IntelliSense."),rt(0,"Never select a suggestion when automatically triggering IntelliSense."),rt(0,"Select a suggestion only when triggering IntelliSense from a trigger character."),rt(0,"Select a suggestion only when triggering IntelliSense as you type.")],default:t.selectionMode,markdownDescription:rt(0,"Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions (`#editor.quickSuggestions#` and `#editor.suggestOnTriggerCharacters#`) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:t.snippetsPreventQuickSuggestions,description:rt(0,"Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:t.showIcons,description:rt(0,"Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:t.showStatusBar,description:rt(0,"Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:t.preview,description:rt(0,"Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:t.showInlineDetails,description:rt(0,"Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:rt(0,"This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:rt(0,"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:rt(0,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:rt(0,"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:rt(0,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{insertMode:fi(i.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:ri(i.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:ri(i.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:ri(i.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:ri(i.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:fi(i.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:ri(i.showIcons,this.defaultValue.showIcons),showStatusBar:ri(i.showStatusBar,this.defaultValue.showStatusBar),preview:ri(i.preview,this.defaultValue.preview),previewMode:fi(i.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:ri(i.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:ri(i.showMethods,this.defaultValue.showMethods),showFunctions:ri(i.showFunctions,this.defaultValue.showFunctions),showConstructors:ri(i.showConstructors,this.defaultValue.showConstructors),showDeprecated:ri(i.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:ri(i.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:ri(i.showFields,this.defaultValue.showFields),showVariables:ri(i.showVariables,this.defaultValue.showVariables),showClasses:ri(i.showClasses,this.defaultValue.showClasses),showStructs:ri(i.showStructs,this.defaultValue.showStructs),showInterfaces:ri(i.showInterfaces,this.defaultValue.showInterfaces),showModules:ri(i.showModules,this.defaultValue.showModules),showProperties:ri(i.showProperties,this.defaultValue.showProperties),showEvents:ri(i.showEvents,this.defaultValue.showEvents),showOperators:ri(i.showOperators,this.defaultValue.showOperators),showUnits:ri(i.showUnits,this.defaultValue.showUnits),showValues:ri(i.showValues,this.defaultValue.showValues),showConstants:ri(i.showConstants,this.defaultValue.showConstants),showEnums:ri(i.showEnums,this.defaultValue.showEnums),showEnumMembers:ri(i.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:ri(i.showKeywords,this.defaultValue.showKeywords),showWords:ri(i.showWords,this.defaultValue.showWords),showColors:ri(i.showColors,this.defaultValue.showColors),showFiles:ri(i.showFiles,this.defaultValue.showFiles),showReferences:ri(i.showReferences,this.defaultValue.showReferences),showFolders:ri(i.showFolders,this.defaultValue.showFolders),showTypeParameters:ri(i.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:ri(i.showSnippets,this.defaultValue.showSnippets),showUsers:ri(i.showUsers,this.defaultValue.showUsers),showIssues:ri(i.showIssues,this.defaultValue.showIssues)}}}),inlineSuggest:_i(new class extends ii{constructor(){const t={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1};super(62,"inlineSuggest",t,{"editor.inlineSuggest.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:t.showToolbar,enum:["always","onHover","never"],enumDescriptions:[rt(0,"Show the inline suggestion toolbar whenever an inline suggestion is shown."),rt(0,"Show the inline suggestion toolbar when hovering over an inline suggestion."),rt(0,"Never show the inline suggestion toolbar.")],description:rt(0,"Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:t.suppressSuggestions,description:rt(0,"Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),mode:fi(i.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:fi(i.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:ri(i.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:ri(i.keepOnBlur,this.defaultValue.keepOnBlur)}}}),inlineCompletionsAccessibilityVerbose:_i(new hi(147,"inlineCompletionsAccessibilityVerbose",!1,{description:rt(0,"Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:_i(new ai(118,"suggestFontSize",0,0,1e3,{markdownDescription:rt(0,"Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:_i(new ai(119,"suggestLineHeight",0,0,1e3,{markdownDescription:rt(0,"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:_i(new hi(120,"suggestOnTriggerCharacters",!0,{description:rt(0,"Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:_i(new pi(121,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[rt(0,"Always select the first suggestion."),rt(0,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),rt(0,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:rt(0,"Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:_i(new pi(122,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[rt(0,"Tab complete will insert the best matching suggestion when pressing tab."),rt(0,"Disable tab completions."),rt(0,"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:rt(0,"Enables tab completions.")})),tabIndex:_i(new ai(123,"tabIndex",0,-1,1073741824)),unicodeHighlight:_i(new class extends ii{constructor(){const t={nonBasicASCII:Si,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Si,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(124,"unicodeHighlight",t,{[Ai]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Si],default:t.nonBasicASCII,description:rt(0,"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.")},[Ei]:{restricted:!0,type:"boolean",default:t.invisibleCharacters,description:rt(0,"Controls whether characters that just reserve space or have no width at all are highlighted.")},[Mi]:{restricted:!0,type:"boolean",default:t.ambiguousCharacters,description:rt(0,"Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[Li]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Si],default:t.includeComments,description:rt(0,"Controls whether characters in comments should also be subject to Unicode highlighting.")},[Fi]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Si],default:t.includeStrings,description:rt(0,"Controls whether characters in strings should also be subject to Unicode highlighting.")},[Di]:{restricted:!0,type:"object",default:t.allowedCharacters,description:rt(0,"Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[Ti]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:t.allowedLocales,description:rt(0,"Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(t,i){let e=!1;i.allowedCharacters&&t&&(et(t.allowedCharacters,i.allowedCharacters)||(t={...t,allowedCharacters:i.allowedCharacters},e=!0)),i.allowedLocales&&t&&(et(t.allowedLocales,i.allowedLocales)||(t={...t,allowedLocales:i.allowedLocales},e=!0));const s=super.applyUpdate(t,i);return e?new ei(s.newValue,!0):s}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{nonBasicASCII:Ri(i.nonBasicASCII,Si,[!0,!1,Si]),invisibleCharacters:ri(i.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:ri(i.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:Ri(i.includeComments,Si,[!0,!1,Si]),includeStrings:Ri(i.includeStrings,Si,[!0,!1,Si]),allowedCharacters:this.validateBooleanMap(t.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(t.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(t,i){if("object"!=typeof t||!t)return i;const e={};for(const[i,s]of Object.entries(t))!0===s&&(e[i]=!0);return e}}),unusualLineTerminators:_i(new pi(125,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[rt(0,"Unusual line terminators are automatically removed."),rt(0,"Unusual line terminators are ignored."),rt(0,"Unusual line terminators prompt to be removed.")],description:rt(0,"Remove unusual line terminators that might cause problems.")})),useShadowDOM:_i(new hi(126,"useShadowDOM",!0)),useTabStops:_i(new hi(127,"useTabStops",!0,{description:rt(0,"Inserting and deleting whitespace follows tab stops.")})),wordBreak:_i(new pi(128,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[rt(0,"Use the default line break rule."),rt(0,"Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:rt(0,"Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSeparators:_i(new di(129,"wordSeparators",Kt,{description:rt(0,"Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:_i(new pi(130,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[rt(0,"Lines will never wrap."),rt(0,"Lines will wrap at the viewport width."),rt(0,"Lines will wrap at `#editor.wordWrapColumn#`."),rt(0,"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:rt(0,"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:_i(new di(131,"wordWrapBreakAfterCharacters"," \t})]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:_i(new di(132,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:_i(new ai(133,"wordWrapColumn",80,1,1073741824,{markdownDescription:rt(0,"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:_i(new pi(134,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:_i(new pi(135,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:_i(new class extends ni{constructor(){super(140)}compute(t,i,e){const s=["monaco-editor"];return i.get(39)&&s.push(i.get(39)),t.extraEditorClassName&&s.push(t.extraEditorClassName),"default"===i.get(73)?s.push("mouse-default"):"copy"===i.get(73)&&s.push("mouse-copy"),i.get(110)&&s.push("showUnused"),i.get(138)&&s.push("showDeprecated"),s.join(" ")}}),defaultColorDecorators:_i(new hi(145,"defaultColorDecorators",!1,{markdownDescription:rt(0,"Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:_i(new class extends ni{constructor(){super(141)}compute(t,i,e){return t.pixelRatio}}),tabFocusMode:_i(new hi(142,"tabFocusMode",!1,{markdownDescription:rt(0,"Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:_i(new ki),wrappingInfo:_i(new class extends ni{constructor(){super(144)}compute(t,i,e){const s=i.get(143);return{isDominatedByLongLines:t.isDominatedByLongLines,isWordWrapMinified:s.isWordWrapMinified,isViewportWrapping:s.isViewportWrapping,wrappingColumn:s.wrappingColumn}}}),wrappingIndent:_i(new class extends ii{constructor(){super(136,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[rt(0,"No indentation. Wrapped lines begin at column 1."),rt(0,"Wrapped lines get the same indentation as the parent."),rt(0,"Wrapped lines get +1 indentation toward the parent."),rt(0,"Wrapped lines get +2 indentation toward the parent.")],description:rt(0,"Controls the indentation of wrapped lines."),default:"same"}})}validate(t){switch(t){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(t,i,e){return 2===i.get(2)?0:e}}),wrappingStrategy:_i(new class extends ii{constructor(){super(137,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[rt(0,"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."),rt(0,"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:rt(0,"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(t){return fi(t,"simple",["simple","advanced"])}compute(t,i,e){return 2===i.get(2)?"advanced":e}})},Bi=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout((()=>{if(t.stack){if(Ki.isErrorNoTelemetry(t))throw new Ki(t.message+"\n\n"+t.stack);throw new Error(t.message+"\n\n"+t.stack)}throw t}),0)}}emit(t){this.listeners.forEach((i=>{i(t)}))}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}};function Pi(t){zi(t)||Bi.onUnexpectedError(t)}function $i(t){zi(t)||Bi.onUnexpectedExternalError(t)}function Wi(t){if(t instanceof Error){const{name:i,message:e}=t;return{$isError:!0,name:i,message:e,stack:t.stacktrace||t.stack,noTelemetry:Ki.isErrorNoTelemetry(t)}}return t}const ji="Canceled";function zi(t){return t instanceof Hi||t instanceof Error&&t.name===ji&&t.message===ji}class Hi extends Error{constructor(){super(ji),this.name=this.message}}function Vi(t){return t?new Error(`Illegal argument: ${t}`):new Error("Illegal argument")}function Ui(t){return t?new Error(`Illegal state: ${t}`):new Error("Illegal state")}class qi extends Error{constructor(t){super("NotSupported"),t&&(this.message=t)}}class Ki extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof Ki)return t;const i=new Ki;return i.message=t.message,i.stack=t.stack,i}static isErrorNoTelemetry(t){return"CodeExpectedError"===t.name}}class Gi extends Error{constructor(t){super(t||"An unexpected bug occurred."),Object.setPrototypeOf(this,Gi.prototype)}}function Zi(t,i){const e=this;let s,n=!1;return function(){if(n)return s;if(n=!0,i)try{s=t.apply(e,arguments)}finally{i()}else s=t.apply(e,arguments);return s}}function Qi(t){return"function"==typeof t.dispose&&0===t.dispose.length}function Ji(t){if(Vt.is(t)){const i=[];for(const e of t)if(e)try{e.dispose()}catch(t){i.push(t)}if(1===i.length)throw i[0];if(i.length>1)throw new AggregateError(i,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}if(t)return t.dispose(),t}function Yi(...t){return Xi((()=>Ji(t)))}function Xi(t){return{dispose:Zi((()=>{t()}))}}class te{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{Ji(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?te.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}deleteAndLeak(t){t&&this._toDispose.has(t)&&this._toDispose.delete(t)}}te.DISABLE_DISPOSED_WARNING=!1;class ie{constructor(){this._store=new te}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}ie.None=Object.freeze({dispose(){}});class ee{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(t){var i;this._isDisposed||t===this._value||(null===(i=this._value)||void 0===i||i.dispose(),this._value=t)}clear(){this.value=void 0}dispose(){var t;this._isDisposed=!0,null===(t=this._value)||void 0===t||t.dispose(),this._value=void 0}}class se{constructor(t){this._disposable=t,this._counter=1}acquire(){return this._counter++,this}release(){return 0==--this._counter&&this._disposable.dispose(),this}}class ne{constructor(t){this.object=t}dispose(){}}class oe{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{Ji(this._store.values())}finally{this._store.clear()}}get(t){return this._store.get(t)}set(t,i,e=!1){var s;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),e||null===(s=this._store.get(t))||void 0===s||s.dispose(),this._store.set(t,i)}deleteAndDispose(t){var i;null===(i=this._store.get(t))||void 0===i||i.dispose(),this._store.delete(t)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}const re=globalThis.performance&&"function"==typeof globalThis.performance.now;class he{static create(t){return new he(t)}constructor(t){this._now=re&&!1===t?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}var ce;!function(t){function i(t){return(i,e=null,s)=>{let n,o=!1;return n=t((t=>{if(!o)return n?n.dispose():o=!0,i.call(e,t)}),null,s),o&&n.dispose(),n}}function e(t,i,e){return n(((e,s=null,n)=>t((t=>e.call(s,i(t))),null,n)),e)}function s(t,i,e){return n(((e,s=null,n)=>t((t=>i(t)&&e.call(s,t)),null,n)),e)}function n(t,i){let e;const s=new fe({onWillAddFirstListener(){e=t(s.fire,s)},onDidRemoveLastListener(){null==e||e.dispose()}});return null==i||i.add(s),s.event}function o(t,i,e=100,s=!1,n=!1,o,r){let h,c,a,l,u=0;const d=new fe({leakWarningThreshold:o,onWillAddFirstListener(){h=t((t=>{u++,c=i(c,t),s&&!a&&(d.fire(c),c=void 0),l=()=>{const t=c;c=void 0,a=void 0,(!s||u>1)&&d.fire(t),u=0},"number"==typeof e?(clearTimeout(a),a=setTimeout(l,e)):void 0===a&&(a=0,queueMicrotask(l))}))},onWillRemoveListener(){n&&u>0&&(null==l||l())},onDidRemoveLastListener(){l=void 0,h.dispose()}});return null==r||r.add(d),d.event}t.None=()=>ie.None,t.defer=function(t,i){return o(t,(()=>{}),0,void 0,!0,void 0,i)},t.once=i,t.map=e,t.forEach=function(t,i,e){return n(((e,s=null,n)=>t((t=>{i(t),e.call(s,t)}),null,n)),e)},t.filter=s,t.signal=function(t){return t},t.any=function(...t){return(i,e=null,s)=>{return n=Yi(...t.map((t=>t((t=>i.call(e,t)))))),(o=s)instanceof Array?o.push(n):o&&o.add(n),n;var n,o}},t.reduce=function(t,i,s,n){let o=s;return e(t,(t=>(o=i(o,t),o)),n)},t.debounce=o,t.accumulate=function(i,e=0,s){return t.debounce(i,((t,i)=>t?(t.push(i),t):[i]),e,void 0,!0,void 0,s)},t.latch=function(t,i=((t,i)=>t===i),e){let n,o=!0;return s(t,(t=>{const e=o||!i(t,n);return o=!1,n=t,e}),e)},t.split=function(i,e,s){return[t.filter(i,e,s),t.filter(i,(t=>!e(t)),s)]},t.buffer=function(t,i=!1,e=[],s){let n=e.slice(),o=t((t=>{n?n.push(t):h.fire(t)}));s&&s.add(o);const r=()=>{null==n||n.forEach((t=>h.fire(t))),n=null},h=new fe({onWillAddFirstListener(){o||(o=t((t=>h.fire(t))),s&&s.add(o))},onDidAddFirstListener(){n&&(i?setTimeout(r):r())},onDidRemoveLastListener(){o&&o.dispose(),o=null}});return s&&s.add(h),h.event},t.chain=function(t,i){return(e,s,n)=>{const o=i(new h);return t((function(t){const i=o.evaluate(t);i!==r&&e.call(s,i)}),void 0,n)}};const r=Symbol("HaltChainable");class h{constructor(){this.steps=[]}map(t){return this.steps.push(t),this}forEach(t){return this.steps.push((i=>(t(i),i))),this}filter(t){return this.steps.push((i=>t(i)?i:r)),this}reduce(t,i){let e=i;return this.steps.push((i=>(e=t(e,i),e))),this}latch(t=((t,i)=>t===i)){let i,e=!0;return this.steps.push((s=>{const n=e||!t(s,i);return e=!1,i=s,n?s:r})),this}evaluate(t){for(const i of this.steps)if((t=i(t))===r)break;return t}}t.fromNodeEventEmitter=function(t,i,e=(t=>t)){const s=(...t)=>n.fire(e(...t)),n=new fe({onWillAddFirstListener:()=>t.on(i,s),onDidRemoveLastListener:()=>t.removeListener(i,s)});return n.event},t.fromDOMEventEmitter=function(t,i,e=(t=>t)){const s=(...t)=>n.fire(e(...t)),n=new fe({onWillAddFirstListener:()=>t.addEventListener(i,s),onDidRemoveLastListener:()=>t.removeEventListener(i,s)});return n.event},t.toPromise=function(t){return new Promise((e=>i(t)(e)))},t.fromPromise=function(t){const i=new fe;return t.then((t=>{i.fire(t)}),(()=>{i.fire(void 0)})).finally((()=>{i.dispose()})),i.event},t.runAndSubscribe=function(t,i,e){return i(e),t((t=>i(t)))},t.runAndSubscribeWithStore=function(t,i){let e=null;function s(t){null==e||e.dispose(),e=new te,i(t,e)}s(void 0);const n=t((t=>s(t)));return Xi((()=>{n.dispose(),null==e||e.dispose()}))};class c{constructor(t,i){this._observable=t,this._counter=0,this._hasChanged=!1,this.emitter=new fe({onWillAddFirstListener:()=>{t.addObserver(this)},onDidRemoveLastListener:()=>{t.removeObserver(this)}}),i&&i.add(this.emitter)}beginUpdate(t){this._counter++}handlePossibleChange(t){}handleChange(t,i){this._hasChanged=!0}endUpdate(t){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}t.fromObservable=function(t,i){return new c(t,i).emitter.event},t.fromObservableLight=function(t){return(i,e,s)=>{let n=0,o=!1;const r={beginUpdate(){n++},endUpdate(){n--,0===n&&(t.reportChanges(),o&&(o=!1,i.call(e)))},handlePossibleChange(){},handleChange(){o=!0}};t.addObserver(r),t.reportChanges();const h={dispose(){t.removeObserver(r)}};return s instanceof te?s.add(h):Array.isArray(s)&&s.push(h),h}}}(ce||(ce={}));class ae{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${ae._idPool++}`,ae.all.add(this)}start(t){this._stopWatch=new he,this.listenerCount=t}stop(){if(this._stopWatch){const t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}}ae.all=new Set,ae._idPool=0;class le{constructor(t,i=Math.random().toString(18).slice(2,5)){this.threshold=t,this.name=i,this._warnCountdown=0}dispose(){var t;null===(t=this._stacks)||void 0===t||t.clear()}check(t,i){const e=this.threshold;if(e<=0||i{const i=this._stacks.get(t.value)||0;this._stacks.set(t.value,i-1)}}}class ue{static create(){var t;return new ue(null!==(t=(new Error).stack)&&void 0!==t?t:"")}constructor(t){this.value=t}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}}class de{constructor(t){this.value=t}}class fe{constructor(t){var i,e,s,n,o;this._size=0,this._options=t,this._leakageMon=(null===(i=this._options)||void 0===i?void 0:i.leakWarningThreshold)?new le(null!==(s=null===(e=this._options)||void 0===e?void 0:e.leakWarningThreshold)&&void 0!==s?s:-1):void 0,this._perfMon=(null===(n=this._options)||void 0===n?void 0:n._profName)?new ae(this._options._profName):void 0,this._deliveryQueue=null===(o=this._options)||void 0===o?void 0:o.deliveryQueue}dispose(){var t,i,e,s;this._disposed||(this._disposed=!0,(null===(t=this._deliveryQueue)||void 0===t?void 0:t.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),null===(e=null===(i=this._options)||void 0===i?void 0:i.onDidRemoveLastListener)||void 0===e||e.call(i),null===(s=this._leakageMon)||void 0===s||s.dispose())}get event(){var t;return null!==(t=this._event)&&void 0!==t||(this._event=(t,i,e)=>{var s,n,o,r,h;if(this._leakageMon&&this._size>3*this._leakageMon.threshold)return console.warn(`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far`),ie.None;if(this._disposed)return ie.None;i&&(t=t.bind(i));const c=new de(t);let a;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(c.stack=ue.create(),a=this._leakageMon.check(c.stack,this._size+1)),this._listeners?this._listeners instanceof de?(null!==(h=this._deliveryQueue)&&void 0!==h||(this._deliveryQueue=new pe),this._listeners=[this._listeners,c]):this._listeners.push(c):(null===(n=null===(s=this._options)||void 0===s?void 0:s.onWillAddFirstListener)||void 0===n||n.call(s,this),this._listeners=c,null===(r=null===(o=this._options)||void 0===o?void 0:o.onDidAddFirstListener)||void 0===r||r.call(o,this)),this._size++;const l=Xi((()=>{null==a||a(),this._removeListener(c)}));return e instanceof te?e.add(l):Array.isArray(e)&&e.push(l),l}),this._event}_removeListener(t){var i,e,s,n;if(null===(e=null===(i=this._options)||void 0===i?void 0:i.onWillRemoveListener)||void 0===e||e.call(i,this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,null===(n=null===(s=this._options)||void 0===s?void 0:s.onDidRemoveLastListener)||void 0===n||n.call(s,this),void(this._size=0);const o=this._listeners,r=o.indexOf(t);if(-1===r)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--,o[r]=void 0;const h=this._deliveryQueue.current===this;if(2*this._size<=o.length){let t=0;for(let i=0;i0}}class pe{constructor(){this.i=-1,this.end=0}enqueue(t,i,e){this.i=0,this.end=e,this.current=t,this.value=i}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class ge extends fe{constructor(t){super(t),this._isPaused=0,this._eventQueue=new qt,this._mergeFn=null==t?void 0:t.merge}pause(){this._isPaused++}resume(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){if(this._eventQueue.size>0){const t=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(t))}}else for(;!this._isPaused&&0!==this._eventQueue.size;)super.fire(this._eventQueue.shift())}fire(t){this._size&&(0!==this._isPaused?this._eventQueue.push(t):super.fire(t))}}class me extends ge{constructor(t){var i;super(t),this._delay=null!==(i=t.delay)&&void 0!==i?i:100}fire(t){this._handle||(this.pause(),this._handle=setTimeout((()=>{this._handle=void 0,this.resume()}),this._delay)),super.fire(t)}}class we extends fe{constructor(t){super(t),this._queuedEvents=[],this._mergeFn=null==t?void 0:t.merge}fire(t){this.hasListeners()&&(this._queuedEvents.push(t),1===this._queuedEvents.length&&queueMicrotask((()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach((t=>super.fire(t))),this._queuedEvents=[]})))}}class ve{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new fe({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(t){const i={event:t,listener:null};return this.events.push(i),this.hasListeners&&this.hook(i),Xi(Zi((()=>{this.hasListeners&&this.unhook(i);const t=this.events.indexOf(i);this.events.splice(t,1)})))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach((t=>this.hook(t)))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach((t=>this.unhook(t)))}hook(t){t.listener=t.event((t=>this.emitter.fire(t)))}unhook(t){t.listener&&t.listener.dispose(),t.listener=null}dispose(){this.emitter.dispose()}}class be{constructor(){this.buffers=[]}wrapEvent(t){return(i,e,s)=>t((t=>{const s=this.buffers[this.buffers.length-1];s?s.push((()=>i.call(e,t))):i.call(e,t)}),void 0,s)}bufferEvents(t){const i=[];this.buffers.push(i);const e=t();return this.buffers.pop(),i.forEach((t=>t())),e}}class ye{constructor(){this.listening=!1,this.inputEvent=ce.None,this.inputEventListener=ie.None,this.emitter=new fe({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(t){this.inputEvent=t,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=t(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const ke=Object.freeze((function(t,i){const e=setTimeout(t.bind(i),0);return{dispose(){clearTimeout(e)}}}));var xe;!function(t){t.isCancellationToken=function(i){return i===t.None||i===t.Cancelled||i instanceof Ce||!(!i||"object"!=typeof i)&&"boolean"==typeof i.isCancellationRequested&&"function"==typeof i.onCancellationRequested},t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ce.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:ke})}(xe||(xe={}));class Ce{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?ke:(this._emitter||(this._emitter=new fe),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Se{constructor(t){this._token=void 0,this._parentListener=void 0,this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Ce),this._token}cancel(){this._token?this._token instanceof Ce&&this._token.cancel():this._token=xe.Cancelled}dispose(t=!1){var i;t&&this.cancel(),null===(i=this._parentListener)||void 0===i||i.dispose(),this._token?this._token instanceof Ce&&this._token.dispose():this._token=xe.None}}class De{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,i){this._keyCodeToStr[t]=i,this._strToKeyCode[i.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const Ee=new De,Ae=new De,Me=new De,Le=new Array(230),Fe={},Te=[],Re=Object.create(null),Oe=Object.create(null),Ie=[],_e=[];for(let t=0;t<=193;t++)Ie[t]=-1;for(let t=0;t<=132;t++)_e[t]=-1;var Ne;function Be(t,i){return(t|(65535&i)<<16>>>0)>>>0}let Pe;!function(){const t="",i=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",t,t],[1,1,"Hyper",0,t,0,t,t,t],[1,2,"Super",0,t,0,t,t,t],[1,3,"Fn",0,t,0,t,t,t],[1,4,"FnLock",0,t,0,t,t,t],[1,5,"Suspend",0,t,0,t,t,t],[1,6,"Resume",0,t,0,t,t,t],[1,7,"Turbo",0,t,0,t,t,t],[1,8,"Sleep",0,t,0,"VK_SLEEP",t,t],[1,9,"WakeUp",0,t,0,t,t,t],[0,10,"KeyA",31,"A",65,"VK_A",t,t],[0,11,"KeyB",32,"B",66,"VK_B",t,t],[0,12,"KeyC",33,"C",67,"VK_C",t,t],[0,13,"KeyD",34,"D",68,"VK_D",t,t],[0,14,"KeyE",35,"E",69,"VK_E",t,t],[0,15,"KeyF",36,"F",70,"VK_F",t,t],[0,16,"KeyG",37,"G",71,"VK_G",t,t],[0,17,"KeyH",38,"H",72,"VK_H",t,t],[0,18,"KeyI",39,"I",73,"VK_I",t,t],[0,19,"KeyJ",40,"J",74,"VK_J",t,t],[0,20,"KeyK",41,"K",75,"VK_K",t,t],[0,21,"KeyL",42,"L",76,"VK_L",t,t],[0,22,"KeyM",43,"M",77,"VK_M",t,t],[0,23,"KeyN",44,"N",78,"VK_N",t,t],[0,24,"KeyO",45,"O",79,"VK_O",t,t],[0,25,"KeyP",46,"P",80,"VK_P",t,t],[0,26,"KeyQ",47,"Q",81,"VK_Q",t,t],[0,27,"KeyR",48,"R",82,"VK_R",t,t],[0,28,"KeyS",49,"S",83,"VK_S",t,t],[0,29,"KeyT",50,"T",84,"VK_T",t,t],[0,30,"KeyU",51,"U",85,"VK_U",t,t],[0,31,"KeyV",52,"V",86,"VK_V",t,t],[0,32,"KeyW",53,"W",87,"VK_W",t,t],[0,33,"KeyX",54,"X",88,"VK_X",t,t],[0,34,"KeyY",55,"Y",89,"VK_Y",t,t],[0,35,"KeyZ",56,"Z",90,"VK_Z",t,t],[0,36,"Digit1",22,"1",49,"VK_1",t,t],[0,37,"Digit2",23,"2",50,"VK_2",t,t],[0,38,"Digit3",24,"3",51,"VK_3",t,t],[0,39,"Digit4",25,"4",52,"VK_4",t,t],[0,40,"Digit5",26,"5",53,"VK_5",t,t],[0,41,"Digit6",27,"6",54,"VK_6",t,t],[0,42,"Digit7",28,"7",55,"VK_7",t,t],[0,43,"Digit8",29,"8",56,"VK_8",t,t],[0,44,"Digit9",30,"9",57,"VK_9",t,t],[0,45,"Digit0",21,"0",48,"VK_0",t,t],[1,46,"Enter",3,"Enter",13,"VK_RETURN",t,t],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",t,t],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",t,t],[1,49,"Tab",2,"Tab",9,"VK_TAB",t,t],[1,50,"Space",10,"Space",32,"VK_SPACE",t,t],[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,t,0,t,t,t],[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",t,t],[1,64,"F1",59,"F1",112,"VK_F1",t,t],[1,65,"F2",60,"F2",113,"VK_F2",t,t],[1,66,"F3",61,"F3",114,"VK_F3",t,t],[1,67,"F4",62,"F4",115,"VK_F4",t,t],[1,68,"F5",63,"F5",116,"VK_F5",t,t],[1,69,"F6",64,"F6",117,"VK_F6",t,t],[1,70,"F7",65,"F7",118,"VK_F7",t,t],[1,71,"F8",66,"F8",119,"VK_F8",t,t],[1,72,"F9",67,"F9",120,"VK_F9",t,t],[1,73,"F10",68,"F10",121,"VK_F10",t,t],[1,74,"F11",69,"F11",122,"VK_F11",t,t],[1,75,"F12",70,"F12",123,"VK_F12",t,t],[1,76,"PrintScreen",0,t,0,t,t,t],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",t,t],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",t,t],[1,79,"Insert",19,"Insert",45,"VK_INSERT",t,t],[1,80,"Home",14,"Home",36,"VK_HOME",t,t],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",t,t],[1,82,"Delete",20,"Delete",46,"VK_DELETE",t,t],[1,83,"End",13,"End",35,"VK_END",t,t],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",t,t],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",t],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",t],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",t],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",t],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",t,t],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",t,t],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",t,t],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",t,t],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",t,t],[1,94,"NumpadEnter",3,t,0,t,t,t],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",t,t],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",t,t],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",t,t],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",t,t],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",t,t],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",t,t],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",t,t],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",t,t],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",t,t],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",t,t],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",t,t],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",t,t],[1,107,"ContextMenu",58,"ContextMenu",93,t,t,t],[1,108,"Power",0,t,0,t,t,t],[1,109,"NumpadEqual",0,t,0,t,t,t],[1,110,"F13",71,"F13",124,"VK_F13",t,t],[1,111,"F14",72,"F14",125,"VK_F14",t,t],[1,112,"F15",73,"F15",126,"VK_F15",t,t],[1,113,"F16",74,"F16",127,"VK_F16",t,t],[1,114,"F17",75,"F17",128,"VK_F17",t,t],[1,115,"F18",76,"F18",129,"VK_F18",t,t],[1,116,"F19",77,"F19",130,"VK_F19",t,t],[1,117,"F20",78,"F20",131,"VK_F20",t,t],[1,118,"F21",79,"F21",132,"VK_F21",t,t],[1,119,"F22",80,"F22",133,"VK_F22",t,t],[1,120,"F23",81,"F23",134,"VK_F23",t,t],[1,121,"F24",82,"F24",135,"VK_F24",t,t],[1,122,"Open",0,t,0,t,t,t],[1,123,"Help",0,t,0,t,t,t],[1,124,"Select",0,t,0,t,t,t],[1,125,"Again",0,t,0,t,t,t],[1,126,"Undo",0,t,0,t,t,t],[1,127,"Cut",0,t,0,t,t,t],[1,128,"Copy",0,t,0,t,t,t],[1,129,"Paste",0,t,0,t,t,t],[1,130,"Find",0,t,0,t,t,t],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",t,t],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",t,t],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",t,t],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",t,t],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",t,t],[1,136,"KanaMode",0,t,0,t,t,t],[0,137,"IntlYen",0,t,0,t,t,t],[1,138,"Convert",0,t,0,t,t,t],[1,139,"NonConvert",0,t,0,t,t,t],[1,140,"Lang1",0,t,0,t,t,t],[1,141,"Lang2",0,t,0,t,t,t],[1,142,"Lang3",0,t,0,t,t,t],[1,143,"Lang4",0,t,0,t,t,t],[1,144,"Lang5",0,t,0,t,t,t],[1,145,"Abort",0,t,0,t,t,t],[1,146,"Props",0,t,0,t,t,t],[1,147,"NumpadParenLeft",0,t,0,t,t,t],[1,148,"NumpadParenRight",0,t,0,t,t,t],[1,149,"NumpadBackspace",0,t,0,t,t,t],[1,150,"NumpadMemoryStore",0,t,0,t,t,t],[1,151,"NumpadMemoryRecall",0,t,0,t,t,t],[1,152,"NumpadMemoryClear",0,t,0,t,t,t],[1,153,"NumpadMemoryAdd",0,t,0,t,t,t],[1,154,"NumpadMemorySubtract",0,t,0,t,t,t],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",t,t],[1,156,"NumpadClearEntry",0,t,0,t,t,t],[1,0,t,5,"Ctrl",17,"VK_CONTROL",t,t],[1,0,t,4,"Shift",16,"VK_SHIFT",t,t],[1,0,t,6,"Alt",18,"VK_MENU",t,t],[1,0,t,57,"Meta",91,"VK_COMMAND",t,t],[1,157,"ControlLeft",5,t,0,"VK_LCONTROL",t,t],[1,158,"ShiftLeft",4,t,0,"VK_LSHIFT",t,t],[1,159,"AltLeft",6,t,0,"VK_LMENU",t,t],[1,160,"MetaLeft",57,t,0,"VK_LWIN",t,t],[1,161,"ControlRight",5,t,0,"VK_RCONTROL",t,t],[1,162,"ShiftRight",4,t,0,"VK_RSHIFT",t,t],[1,163,"AltRight",6,t,0,"VK_RMENU",t,t],[1,164,"MetaRight",57,t,0,"VK_RWIN",t,t],[1,165,"BrightnessUp",0,t,0,t,t,t],[1,166,"BrightnessDown",0,t,0,t,t,t],[1,167,"MediaPlay",0,t,0,t,t,t],[1,168,"MediaRecord",0,t,0,t,t,t],[1,169,"MediaFastForward",0,t,0,t,t,t],[1,170,"MediaRewind",0,t,0,t,t,t],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",t,t],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",t,t],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",t,t],[1,174,"Eject",0,t,0,t,t,t],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",t,t],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",t,t],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",t,t],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",t,t],[1,179,"LaunchApp1",0,t,0,"VK_MEDIA_LAUNCH_APP1",t,t],[1,180,"SelectTask",0,t,0,t,t,t],[1,181,"LaunchScreenSaver",0,t,0,t,t,t],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",t,t],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",t,t],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",t,t],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",t,t],[1,186,"BrowserStop",0,t,0,"VK_BROWSER_STOP",t,t],[1,187,"BrowserRefresh",0,t,0,"VK_BROWSER_REFRESH",t,t],[1,188,"BrowserFavorites",0,t,0,"VK_BROWSER_FAVORITES",t,t],[1,189,"ZoomToggle",0,t,0,t,t,t],[1,190,"MailReply",0,t,0,t,t,t],[1,191,"MailForward",0,t,0,t,t,t],[1,192,"MailSend",0,t,0,t,t,t],[1,0,t,114,"KeyInComposition",229,t,t,t],[1,0,t,116,"ABNT_C2",194,"VK_ABNT_C2",t,t],[1,0,t,96,"OEM_8",223,"VK_OEM_8",t,t],[1,0,t,0,t,0,"VK_KANA",t,t],[1,0,t,0,t,0,"VK_HANGUL",t,t],[1,0,t,0,t,0,"VK_JUNJA",t,t],[1,0,t,0,t,0,"VK_FINAL",t,t],[1,0,t,0,t,0,"VK_HANJA",t,t],[1,0,t,0,t,0,"VK_KANJI",t,t],[1,0,t,0,t,0,"VK_CONVERT",t,t],[1,0,t,0,t,0,"VK_NONCONVERT",t,t],[1,0,t,0,t,0,"VK_ACCEPT",t,t],[1,0,t,0,t,0,"VK_MODECHANGE",t,t],[1,0,t,0,t,0,"VK_SELECT",t,t],[1,0,t,0,t,0,"VK_PRINT",t,t],[1,0,t,0,t,0,"VK_EXECUTE",t,t],[1,0,t,0,t,0,"VK_SNAPSHOT",t,t],[1,0,t,0,t,0,"VK_HELP",t,t],[1,0,t,0,t,0,"VK_APPS",t,t],[1,0,t,0,t,0,"VK_PROCESSKEY",t,t],[1,0,t,0,t,0,"VK_PACKET",t,t],[1,0,t,0,t,0,"VK_DBE_SBCSCHAR",t,t],[1,0,t,0,t,0,"VK_DBE_DBCSCHAR",t,t],[1,0,t,0,t,0,"VK_ATTN",t,t],[1,0,t,0,t,0,"VK_CRSEL",t,t],[1,0,t,0,t,0,"VK_EXSEL",t,t],[1,0,t,0,t,0,"VK_EREOF",t,t],[1,0,t,0,t,0,"VK_PLAY",t,t],[1,0,t,0,t,0,"VK_ZOOM",t,t],[1,0,t,0,t,0,"VK_NONAME",t,t],[1,0,t,0,t,0,"VK_PA1",t,t],[1,0,t,0,t,0,"VK_OEM_CLEAR",t,t]],e=[],s=[];for(const t of i){const[i,n,o,r,h,c,a,l,u]=t;if(s[n]||(s[n]=!0,Te[n]=o,Re[o]=n,Oe[o.toLowerCase()]=n,i&&(Ie[n]=r,0!==r&&3!==r&&5!==r&&4!==r&&6!==r&&57!==r&&(_e[r]=n))),!e[r]){if(e[r]=!0,!h)throw new Error(`String representation missing for key code ${r} around scan code ${o}`);Ee.define(r,h),Ae.define(r,l||h),Me.define(r,u||l||h)}c&&(Le[c]=r),a&&(Fe[a]=r)}_e[3]=46}(),function(t){t.toString=function(t){return Ee.keyCodeToStr(t)},t.fromString=function(t){return Ee.strToKeyCode(t)},t.toUserSettingsUS=function(t){return Ae.keyCodeToStr(t)},t.toUserSettingsGeneral=function(t){return Me.keyCodeToStr(t)},t.fromUserSettings=function(t){return Ae.strToKeyCode(t)||Me.strToKeyCode(t)},t.toElectronAccelerator=function(t){if(t>=98&&t<=113)return null;switch(t){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Ee.keyCodeToStr(t)}}(Ne||(Ne={}));const $e=globalThis.vscode;if(void 0!==$e&&void 0!==$e.process){const t=$e.process;Pe={get platform(){return t.platform},get arch(){return t.arch},get env(){return t.env},cwd:()=>t.cwd()}}else Pe="undefined"!=typeof process?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd()}:{get platform(){return Ct?"win32":St?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const We=Pe.cwd,je=Pe.env,ze=Pe.platform,He=46,Ve=47,Ue=92,qe=58;class Ke extends Error{constructor(t,i,e){let s;"string"==typeof i&&0===i.indexOf("not ")?(s="must not be",i=i.replace(/^not /,"")):s="must be";const n=-1!==t.indexOf(".")?"property":"argument";let o=`The "${t}" ${n} ${s} of type ${i}`;o+=". Received type "+typeof e,super(o),this.code="ERR_INVALID_ARG_TYPE"}}function Ge(t,i){if("string"!=typeof t)throw new Ke(i,"string",t)}const Ze="win32"===ze;function Qe(t){return t===Ve||t===Ue}function Je(t){return t===Ve}function Ye(t){return t>=65&&t<=90||t>=97&&t<=122}function Xe(t,i,e,s){let n="",o=0,r=-1,h=0,c=0;for(let a=0;a<=t.length;++a){if(a2){const t=n.lastIndexOf(e);-1===t?(n="",o=0):(n=n.slice(0,t),o=n.length-1-n.lastIndexOf(e)),r=a,h=0;continue}if(0!==n.length){n="",o=0,r=a,h=0;continue}}i&&(n+=n.length>0?`${e}..`:"..",o=2)}else n.length>0?n+=`${e}${t.slice(r+1,a)}`:n=t.slice(r+1,a),o=a-r-1;r=a,h=0}else c===He&&-1!==h?++h:h=-1}return n}function ts(t,i){!function(t){if(null===t||"object"!=typeof t)throw new Ke("pathObject","Object",t)}(i);const e=i.dir||i.root,s=i.base||`${i.name||""}${i.ext||""}`;return e?e===i.root?`${e}${s}`:`${e}${t}${s}`:s}const is={resolve(...t){let i="",e="",s=!1;for(let n=t.length-1;n>=-1;n--){let o;if(n>=0){if(o=t[n],Ge(o,"path"),0===o.length)continue}else 0===i.length?o=We():(o=je[`=${i}`]||We(),(void 0===o||o.slice(0,2).toLowerCase()!==i.toLowerCase()&&o.charCodeAt(2)===Ue)&&(o=`${i}\\`));const r=o.length;let h=0,c="",a=!1;const l=o.charCodeAt(0);if(1===r)Qe(l)&&(h=1,a=!0);else if(Qe(l))if(a=!0,Qe(o.charCodeAt(1))){let t=2,i=t;for(;t2&&Qe(o.charCodeAt(2))&&(a=!0,h=3));if(c.length>0)if(i.length>0){if(c.toLowerCase()!==i.toLowerCase())continue}else i=c;if(s){if(i.length>0)break}else if(e=`${o.slice(h)}\\${e}`,s=a,a&&i.length>0)break}return e=Xe(e,!s,"\\",Qe),s?`${i}\\${e}`:`${i}${e}`||"."},normalize(t){Ge(t,"path");const i=t.length;if(0===i)return".";let e,s=0,n=!1;const o=t.charCodeAt(0);if(1===i)return Je(o)?"\\":t;if(Qe(o))if(n=!0,Qe(t.charCodeAt(1))){let n=2,o=n;for(;n2&&Qe(t.charCodeAt(2))&&(n=!0,s=3));let r=s0&&Qe(t.charCodeAt(i-1))&&(r+="\\"),void 0===e?n?`\\${r}`:r:n?`${e}\\${r}`:`${e}${r}`},isAbsolute(t){Ge(t,"path");const i=t.length;if(0===i)return!1;const e=t.charCodeAt(0);return Qe(e)||i>2&&Ye(e)&&t.charCodeAt(1)===qe&&Qe(t.charCodeAt(2))},join(...t){if(0===t.length)return".";let i,e;for(let s=0;s0&&(void 0===i?i=e=n:i+=`\\${n}`)}if(void 0===i)return".";let s=!0,n=0;if("string"==typeof e&&Qe(e.charCodeAt(0))){++n;const t=e.length;t>1&&Qe(e.charCodeAt(1))&&(++n,t>2&&(Qe(e.charCodeAt(2))?++n:s=!1))}if(s){for(;n=2&&(i=`\\${i.slice(n)}`)}return is.normalize(i)},relative(t,i){if(Ge(t,"from"),Ge(i,"to"),t===i)return"";const e=is.resolve(t),s=is.resolve(i);if(e===s)return"";if((t=e.toLowerCase())===(i=s.toLowerCase()))return"";let n=0;for(;nn&&t.charCodeAt(o-1)===Ue;)o--;const r=o-n;let h=0;for(;hh&&i.charCodeAt(c-1)===Ue;)c--;const a=c-h,l=rl){if(i.charCodeAt(h+d)===Ue)return s.slice(h+d+1);if(2===d)return s.slice(h+d)}r>l&&(t.charCodeAt(n+d)===Ue?u=d:2===d&&(u=3)),-1===u&&(u=0)}let f="";for(d=n+u+1;d<=o;++d)d!==o&&t.charCodeAt(d)!==Ue||(f+=0===f.length?"..":"\\..");return h+=u,f.length>0?`${f}${s.slice(h,c)}`:(s.charCodeAt(h)===Ue&&++h,s.slice(h,c))},toNamespacedPath(t){if("string"!=typeof t||0===t.length)return t;const i=is.resolve(t);if(i.length<=2)return t;if(i.charCodeAt(0)===Ue){if(i.charCodeAt(1)===Ue){const t=i.charCodeAt(2);if(63!==t&&t!==He)return`\\\\?\\UNC\\${i.slice(2)}`}}else if(Ye(i.charCodeAt(0))&&i.charCodeAt(1)===qe&&i.charCodeAt(2)===Ue)return`\\\\?\\${i}`;return t},dirname(t){Ge(t,"path");const i=t.length;if(0===i)return".";let e=-1,s=0;const n=t.charCodeAt(0);if(1===i)return Qe(n)?t:".";if(Qe(n)){if(e=s=1,Qe(t.charCodeAt(1))){let n=2,o=n;for(;n2&&Qe(t.charCodeAt(2))?3:2,s=e);let o=-1,r=!0;for(let e=i-1;e>=s;--e)if(Qe(t.charCodeAt(e))){if(!r){o=e;break}}else r=!1;if(-1===o){if(-1===e)return".";o=e}return t.slice(0,o)},basename(t,i){void 0!==i&&Ge(i,"ext"),Ge(t,"path");let e,s=0,n=-1,o=!0;if(t.length>=2&&Ye(t.charCodeAt(0))&&t.charCodeAt(1)===qe&&(s=2),void 0!==i&&i.length>0&&i.length<=t.length){if(i===t)return"";let r=i.length-1,h=-1;for(e=t.length-1;e>=s;--e){const c=t.charCodeAt(e);if(Qe(c)){if(!o){s=e+1;break}}else-1===h&&(o=!1,h=e+1),r>=0&&(c===i.charCodeAt(r)?-1==--r&&(n=e):(r=-1,n=h))}return s===n?n=h:-1===n&&(n=t.length),t.slice(s,n)}for(e=t.length-1;e>=s;--e)if(Qe(t.charCodeAt(e))){if(!o){s=e+1;break}}else-1===n&&(o=!1,n=e+1);return-1===n?"":t.slice(s,n)},extname(t){Ge(t,"path");let i=0,e=-1,s=0,n=-1,o=!0,r=0;t.length>=2&&t.charCodeAt(1)===qe&&Ye(t.charCodeAt(0))&&(i=s=2);for(let h=t.length-1;h>=i;--h){const i=t.charCodeAt(h);if(Qe(i)){if(!o){s=h+1;break}}else-1===n&&(o=!1,n=h+1),i===He?-1===e?e=h:1!==r&&(r=1):-1!==e&&(r=-1)}return-1===e||-1===n||0===r||1===r&&e===n-1&&e===s+1?"":t.slice(e,n)},format:ts.bind(null,"\\"),parse(t){Ge(t,"path");const i={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return i;const e=t.length;let s=0,n=t.charCodeAt(0);if(1===e)return Qe(n)?(i.root=i.dir=t,i):(i.base=i.name=t,i);if(Qe(n)){if(s=1,Qe(t.charCodeAt(1))){let i=2,n=i;for(;i0&&(i.root=t.slice(0,s));let o=-1,r=s,h=-1,c=!0,a=t.length-1,l=0;for(;a>=s;--a)if(n=t.charCodeAt(a),Qe(n)){if(!c){r=a+1;break}}else-1===h&&(c=!1,h=a+1),n===He?-1===o?o=a:1!==l&&(l=1):-1!==o&&(l=-1);return-1!==h&&(-1===o||0===l||1===l&&o===h-1&&o===r+1?i.base=i.name=t.slice(r,h):(i.name=t.slice(r,o),i.base=t.slice(r,h),i.ext=t.slice(o,h))),i.dir=r>0&&r!==s?t.slice(0,r-1):i.root,i},sep:"\\",delimiter:";",win32:null,posix:null},es=(()=>{if(Ze){const t=/\\/g;return()=>{const i=We().replace(t,"/");return i.slice(i.indexOf("/"))}}return()=>We()})(),ss={resolve(...t){let i="",e=!1;for(let s=t.length-1;s>=-1&&!e;s--){const n=s>=0?t[s]:es();Ge(n,"path"),0!==n.length&&(i=`${n}/${i}`,e=n.charCodeAt(0)===Ve)}return i=Xe(i,!e,"/",Je),e?`/${i}`:i.length>0?i:"."},normalize(t){if(Ge(t,"path"),0===t.length)return".";const i=t.charCodeAt(0)===Ve,e=t.charCodeAt(t.length-1)===Ve;return 0===(t=Xe(t,!i,"/",Je)).length?i?"/":e?"./":".":(e&&(t+="/"),i?`/${t}`:t)},isAbsolute:t=>(Ge(t,"path"),t.length>0&&t.charCodeAt(0)===Ve),join(...t){if(0===t.length)return".";let i;for(let e=0;e0&&(void 0===i?i=s:i+=`/${s}`)}return void 0===i?".":ss.normalize(i)},relative(t,i){if(Ge(t,"from"),Ge(i,"to"),t===i)return"";if((t=ss.resolve(t))===(i=ss.resolve(i)))return"";const e=t.length,s=e-1,n=i.length-1,o=so){if(i.charCodeAt(1+h)===Ve)return i.slice(1+h+1);if(0===h)return i.slice(1+h)}else s>o&&(t.charCodeAt(1+h)===Ve?r=h:0===h&&(r=0));let c="";for(h=1+r+1;h<=e;++h)h!==e&&t.charCodeAt(h)!==Ve||(c+=0===c.length?"..":"/..");return`${c}${i.slice(1+r)}`},toNamespacedPath:t=>t,dirname(t){if(Ge(t,"path"),0===t.length)return".";const i=t.charCodeAt(0)===Ve;let e=-1,s=!0;for(let i=t.length-1;i>=1;--i)if(t.charCodeAt(i)===Ve){if(!s){e=i;break}}else s=!1;return-1===e?i?"/":".":i&&1===e?"//":t.slice(0,e)},basename(t,i){void 0!==i&&Ge(i,"ext"),Ge(t,"path");let e,s=0,n=-1,o=!0;if(void 0!==i&&i.length>0&&i.length<=t.length){if(i===t)return"";let r=i.length-1,h=-1;for(e=t.length-1;e>=0;--e){const c=t.charCodeAt(e);if(c===Ve){if(!o){s=e+1;break}}else-1===h&&(o=!1,h=e+1),r>=0&&(c===i.charCodeAt(r)?-1==--r&&(n=e):(r=-1,n=h))}return s===n?n=h:-1===n&&(n=t.length),t.slice(s,n)}for(e=t.length-1;e>=0;--e)if(t.charCodeAt(e)===Ve){if(!o){s=e+1;break}}else-1===n&&(o=!1,n=e+1);return-1===n?"":t.slice(s,n)},extname(t){Ge(t,"path");let i=-1,e=0,s=-1,n=!0,o=0;for(let r=t.length-1;r>=0;--r){const h=t.charCodeAt(r);if(h!==Ve)-1===s&&(n=!1,s=r+1),h===He?-1===i?i=r:1!==o&&(o=1):-1!==i&&(o=-1);else if(!n){e=r+1;break}}return-1===i||-1===s||0===o||1===o&&i===s-1&&i===e+1?"":t.slice(i,s)},format:ts.bind(null,"/"),parse(t){Ge(t,"path");const i={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return i;const e=t.charCodeAt(0)===Ve;let s;e?(i.root="/",s=1):s=0;let n=-1,o=0,r=-1,h=!0,c=t.length-1,a=0;for(;c>=s;--c){const i=t.charCodeAt(c);if(i!==Ve)-1===r&&(h=!1,r=c+1),i===He?-1===n?n=c:1!==a&&(a=1):-1!==n&&(a=-1);else if(!h){o=c+1;break}}if(-1!==r){const s=0===o&&e?1:o;-1===n||0===a||1===a&&n===r-1&&n===o+1?i.base=i.name=t.slice(s,r):(i.name=t.slice(s,n),i.base=t.slice(s,r),i.ext=t.slice(n,r))}return o>0?i.dir=t.slice(0,o-1):e&&(i.dir="/"),i},sep:"/",delimiter:":",win32:null,posix:null};ss.win32=is.win32=is,ss.posix=is.posix=ss;const ns=Ze?is.normalize:ss.normalize,os=Ze?is.resolve:ss.resolve,rs=Ze?is.relative:ss.relative,hs=Ze?is.dirname:ss.dirname,cs=Ze?is.basename:ss.basename,as=Ze?is.extname:ss.extname,ls=Ze?is.sep:ss.sep,us=/^\w[\w\d+.-]*$/,ds=/^\//,fs=/^\/\//,ps="",gs="/",ms=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class ws{static isUri(t){return t instanceof ws||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString}constructor(t,i,e,s,n,o=!1){"object"==typeof t?(this.scheme=t.scheme||ps,this.authority=t.authority||ps,this.path=t.path||ps,this.query=t.query||ps,this.fragment=t.fragment||ps):(this.scheme=function(t,i){return t||i?t:"file"}(t,o),this.authority=i||ps,this.path=function(t,i){switch(t){case"https":case"http":case"file":i?i[0]!==gs&&(i=gs+i):i=gs}return i}(this.scheme,e||ps),this.query=s||ps,this.fragment=n||ps,function(t,i){if(!t.scheme&&i)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${t.authority}", path: "${t.path}", query: "${t.query}", fragment: "${t.fragment}"}`);if(t.scheme&&!us.test(t.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(t.path)if(t.authority){if(!ds.test(t.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(fs.test(t.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,o))}get fsPath(){return Cs(this,!1)}with(t){if(!t)return this;let{scheme:i,authority:e,path:s,query:n,fragment:o}=t;return void 0===i?i=this.scheme:null===i&&(i=ps),void 0===e?e=this.authority:null===e&&(e=ps),void 0===s?s=this.path:null===s&&(s=ps),void 0===n?n=this.query:null===n&&(n=ps),void 0===o?o=this.fragment:null===o&&(o=ps),i===this.scheme&&e===this.authority&&s===this.path&&n===this.query&&o===this.fragment?this:new bs(i,e,s,n,o)}static parse(t,i=!1){const e=ms.exec(t);return e?new bs(e[2]||ps,As(e[4]||ps),As(e[5]||ps),As(e[7]||ps),As(e[9]||ps),i):new bs(ps,ps,ps,ps,ps)}static file(t){let i=ps;if(Ct&&(t=t.replace(/\\/g,gs)),t[0]===gs&&t[1]===gs){const e=t.indexOf(gs,2);-1===e?(i=t.substring(2),t=gs):(i=t.substring(2,e),t=t.substring(e)||gs)}return new bs("file",i,t,ps,ps)}static from(t,i){return new bs(t.scheme,t.authority,t.path,t.query,t.fragment,i)}static joinPath(t,...i){if(!t.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let e;return e=Ct&&"file"===t.scheme?ws.file(is.join(Cs(t,!0),...i)).path:ss.join(t.path,...i),t.with({path:e})}toString(t=!1){return Ss(this,t)}toJSON(){return this}static revive(t){var i,e;if(t){if(t instanceof ws)return t;{const s=new bs(t);return s._formatted=null!==(i=t.external)&&void 0!==i?i:null,s._fsPath=t._sep===vs&&null!==(e=t.fsPath)&&void 0!==e?e:null,s}}return t}}const vs=Ct?1:void 0;class bs extends ws{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=Cs(this,!1)),this._fsPath}toString(t=!1){return t?Ss(this,!0):(this._formatted||(this._formatted=Ss(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=vs),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const ys={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 ks(t,i,e){let s,n=-1;for(let o=0;o=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||i&&47===r||e&&91===r||e&&93===r||e&&58===r)-1!==n&&(s+=encodeURIComponent(t.substring(n,o)),n=-1),void 0!==s&&(s+=t.charAt(o));else{void 0===s&&(s=t.substr(0,o));const i=ys[r];void 0!==i?(-1!==n&&(s+=encodeURIComponent(t.substring(n,o)),n=-1),s+=i):-1===n&&(n=o)}}return-1!==n&&(s+=encodeURIComponent(t.substring(n))),void 0!==s?s:t}function xs(t){let i;for(let e=0;e1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&t.path.charCodeAt(1)<=90||t.path.charCodeAt(1)>=97&&t.path.charCodeAt(1)<=122)&&58===t.path.charCodeAt(2)?i?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,Ct&&(e=e.replace(/\//g,"\\")),e}function Ss(t,i){const e=i?xs:ks;let s="",{scheme:n,authority:o,path:r,query:h,fragment:c}=t;if(n&&(s+=n,s+=":"),(o||"file"===n)&&(s+=gs,s+=gs),o){let t=o.indexOf("@");if(-1!==t){const i=o.substr(0,t);o=o.substr(t+1),t=i.lastIndexOf(":"),-1===t?s+=e(i,!1,!1):(s+=e(i.substr(0,t),!1,!1),s+=":",s+=e(i.substr(t+1),!1,!0)),s+="@"}o=o.toLowerCase(),t=o.lastIndexOf(":"),-1===t?s+=e(o,!1,!0):(s+=e(o.substr(0,t),!1,!0),s+=o.substr(t))}if(r){if(r.length>=3&&47===r.charCodeAt(0)&&58===r.charCodeAt(2)){const t=r.charCodeAt(1);t>=65&&t<=90&&(r=`/${String.fromCharCode(t+32)}:${r.substr(3)}`)}else if(r.length>=2&&58===r.charCodeAt(1)){const t=r.charCodeAt(0);t>=65&&t<=90&&(r=`${String.fromCharCode(t+32)}:${r.substr(2)}`)}s+=e(r,!0,!1)}return h&&(s+="?",s+=e(h,!1,!1)),c&&(s+="#",s+=i?c:ks(c,!1,!1)),s}function Ds(t){try{return decodeURIComponent(t)}catch(i){return t.length>3?t.substr(0,3)+Ds(t.substr(3)):t}}const Es=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function As(t){return t.match(Es)?t.replace(Es,(t=>Ds(t))):t}class Ms{constructor(t,i){this.lineNumber=t,this.column=i}with(t=this.lineNumber,i=this.column){return t===this.lineNumber&&i===this.column?this:new Ms(t,i)}delta(t=0,i=0){return this.with(this.lineNumber+t,this.column+i)}equals(t){return Ms.equals(this,t)}static equals(t,i){return!t&&!i||!!t&&!!i&&t.lineNumber===i.lineNumber&&t.column===i.column}isBefore(t){return Ms.isBefore(this,t)}static isBefore(t,i){return t.lineNumbere||t===e&&i>s?(this.startLineNumber=e,this.startColumn=s,this.endLineNumber=t,this.endColumn=i):(this.startLineNumber=t,this.startColumn=i,this.endLineNumber=e,this.endColumn=s)}isEmpty(){return Ls.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return Ls.containsPosition(this,t)}static containsPosition(t,i){return!(i.lineNumbert.endLineNumber||i.lineNumber===t.startLineNumber&&i.columnt.endColumn)}static strictContainsPosition(t,i){return!(i.lineNumbert.endLineNumber||i.lineNumber===t.startLineNumber&&i.column<=t.startColumn||i.lineNumber===t.endLineNumber&&i.column>=t.endColumn)}containsRange(t){return Ls.containsRange(this,t)}static containsRange(t,i){return!(i.startLineNumbert.endLineNumber||i.endLineNumber>t.endLineNumber||i.startLineNumber===t.startLineNumber&&i.startColumnt.endColumn)}strictContainsRange(t){return Ls.strictContainsRange(this,t)}static strictContainsRange(t,i){return!(i.startLineNumbert.endLineNumber||i.endLineNumber>t.endLineNumber||i.startLineNumber===t.startLineNumber&&i.startColumn<=t.startColumn||i.endLineNumber===t.endLineNumber&&i.endColumn>=t.endColumn)}plusRange(t){return Ls.plusRange(this,t)}static plusRange(t,i){let e,s,n,o;return i.startLineNumbert.endLineNumber?(n=i.endLineNumber,o=i.endColumn):i.endLineNumber===t.endLineNumber?(n=i.endLineNumber,o=Math.max(i.endColumn,t.endColumn)):(n=t.endLineNumber,o=t.endColumn),new Ls(e,s,n,o)}intersectRanges(t){return Ls.intersectRanges(this,t)}static intersectRanges(t,i){let e=t.startLineNumber,s=t.startColumn,n=t.endLineNumber,o=t.endColumn;const r=i.startLineNumber,h=i.startColumn,c=i.endLineNumber,a=i.endColumn;return ec?(n=c,o=a):n===c&&(o=Math.min(o,a)),e>n||e===n&&s>o?null:new Ls(e,s,n,o)}equalsRange(t){return Ls.equalsRange(this,t)}static equalsRange(t,i){return!t&&!i||!!t&&!!i&&t.startLineNumber===i.startLineNumber&&t.startColumn===i.startColumn&&t.endLineNumber===i.endLineNumber&&t.endColumn===i.endColumn}getEndPosition(){return Ls.getEndPosition(this)}static getEndPosition(t){return new Ms(t.endLineNumber,t.endColumn)}getStartPosition(){return Ls.getStartPosition(this)}static getStartPosition(t){return new Ms(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,i){return new Ls(this.startLineNumber,this.startColumn,t,i)}setStartPosition(t,i){return new Ls(t,i,this.endLineNumber,this.endColumn)}collapseToStart(){return Ls.collapseToStart(this)}static collapseToStart(t){return new Ls(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}collapseToEnd(){return Ls.collapseToEnd(this)}static collapseToEnd(t){return new Ls(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn)}delta(t){return new Ls(this.startLineNumber+t,this.startColumn,this.endLineNumber+t,this.endColumn)}static fromPositions(t,i=t){return new Ls(t.lineNumber,t.column,i.lineNumber,i.column)}static lift(t){return t?new Ls(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return t&&"number"==typeof t.startLineNumber&&"number"==typeof t.startColumn&&"number"==typeof t.endLineNumber&&"number"==typeof t.endColumn}static areIntersectingOrTouching(t,i){return!(t.endLineNumbert.startLineNumber}toJSON(){return this}}class Fs extends Ls{constructor(t,i,e,s){super(t,i,e,s),this.selectionStartLineNumber=t,this.selectionStartColumn=i,this.positionLineNumber=e,this.positionColumn=s}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return Fs.selectionsEqual(this,t)}static selectionsEqual(t,i){return t.selectionStartLineNumber===i.selectionStartLineNumber&&t.selectionStartColumn===i.selectionStartColumn&&t.positionLineNumber===i.positionLineNumber&&t.positionColumn===i.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,i){return 0===this.getDirection()?new Fs(this.startLineNumber,this.startColumn,t,i):new Fs(t,i,this.startLineNumber,this.startColumn)}getPosition(){return new Ms(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new Ms(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,i){return 0===this.getDirection()?new Fs(t,i,this.endLineNumber,this.endColumn):new Fs(this.endLineNumber,this.endColumn,t,i)}static fromPositions(t,i=t){return new Fs(t.lineNumber,t.column,i.lineNumber,i.column)}static fromRange(t,i){return 0===i?new Fs(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new Fs(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new Fs(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,i){if(t&&!i||!t&&i)return!1;if(!t&&!i)return!0;if(t.length!==i.length)return!1;for(let e=0,s=t.length;e{t&&t.dispose()}))}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const Qs=new class{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(t){this._onDidChange.fire({changedLanguages:t,changedColorMap:!1})}register(t,i){return this._tokenizationSupports.set(t,i),this.handleChange([t]),Xi((()=>{this._tokenizationSupports.get(t)===i&&(this._tokenizationSupports.delete(t),this.handleChange([t]))}))}get(t){return this._tokenizationSupports.get(t)||null}registerFactory(t,i){var e;null===(e=this._factories.get(t))||void 0===e||e.dispose();const s=new _s(this,t,i);return this._factories.set(t,s),Xi((()=>{const i=this._factories.get(t);i&&i===s&&(this._factories.delete(t),i.dispose())}))}async getOrCreate(t){const i=this.get(t);if(i)return i;const e=this._factories.get(t);return!e||e.isResolved?null:(await e.resolve(),this.get(t))}isResolved(t){if(this.get(t))return!0;const i=this._factories.get(t);return!(i&&!i.isResolved)}setColorMap(t){this._colorMap=t,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}};var Js,Ys,Xs,tn,en,sn,nn,on,rn,hn,cn,an,ln,un,dn,fn,pn,gn,mn,wn,vn,bn,yn,kn,xn,Cn,Sn,Dn,En,An,Mn,Ln,Fn,Tn,Rn,On,In,_n,Nn,Bn;!function(t){t[t.Unknown=0]="Unknown",t[t.Disabled=1]="Disabled",t[t.Enabled=2]="Enabled"}(Js||(Js={})),function(t){t[t.Invoke=1]="Invoke",t[t.Auto=2]="Auto"}(Ys||(Ys={})),function(t){t[t.None=0]="None",t[t.KeepWhitespace=1]="KeepWhitespace",t[t.InsertAsSnippet=4]="InsertAsSnippet"}(Xs||(Xs={})),function(t){t[t.Method=0]="Method",t[t.Function=1]="Function",t[t.Constructor=2]="Constructor",t[t.Field=3]="Field",t[t.Variable=4]="Variable",t[t.Class=5]="Class",t[t.Struct=6]="Struct",t[t.Interface=7]="Interface",t[t.Module=8]="Module",t[t.Property=9]="Property",t[t.Event=10]="Event",t[t.Operator=11]="Operator",t[t.Unit=12]="Unit",t[t.Value=13]="Value",t[t.Constant=14]="Constant",t[t.Enum=15]="Enum",t[t.EnumMember=16]="EnumMember",t[t.Keyword=17]="Keyword",t[t.Text=18]="Text",t[t.Color=19]="Color",t[t.File=20]="File",t[t.Reference=21]="Reference",t[t.Customcolor=22]="Customcolor",t[t.Folder=23]="Folder",t[t.TypeParameter=24]="TypeParameter",t[t.User=25]="User",t[t.Issue=26]="Issue",t[t.Snippet=27]="Snippet"}(tn||(tn={})),function(t){t[t.Deprecated=1]="Deprecated"}(en||(en={})),function(t){t[t.Invoke=0]="Invoke",t[t.TriggerCharacter=1]="TriggerCharacter",t[t.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(sn||(sn={})),function(t){t[t.EXACT=0]="EXACT",t[t.ABOVE=1]="ABOVE",t[t.BELOW=2]="BELOW"}(nn||(nn={})),function(t){t[t.NotSet=0]="NotSet",t[t.ContentFlush=1]="ContentFlush",t[t.RecoverFromMarkers=2]="RecoverFromMarkers",t[t.Explicit=3]="Explicit",t[t.Paste=4]="Paste",t[t.Undo=5]="Undo",t[t.Redo=6]="Redo"}(on||(on={})),function(t){t[t.LF=1]="LF",t[t.CRLF=2]="CRLF"}(rn||(rn={})),function(t){t[t.Text=0]="Text",t[t.Read=1]="Read",t[t.Write=2]="Write"}(hn||(hn={})),function(t){t[t.None=0]="None",t[t.Keep=1]="Keep",t[t.Brackets=2]="Brackets",t[t.Advanced=3]="Advanced",t[t.Full=4]="Full"}(cn||(cn={})),function(t){t[t.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",t[t.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",t[t.accessibilitySupport=2]="accessibilitySupport",t[t.accessibilityPageSize=3]="accessibilityPageSize",t[t.ariaLabel=4]="ariaLabel",t[t.ariaRequired=5]="ariaRequired",t[t.autoClosingBrackets=6]="autoClosingBrackets",t[t.autoClosingComments=7]="autoClosingComments",t[t.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",t[t.autoClosingDelete=9]="autoClosingDelete",t[t.autoClosingOvertype=10]="autoClosingOvertype",t[t.autoClosingQuotes=11]="autoClosingQuotes",t[t.autoIndent=12]="autoIndent",t[t.automaticLayout=13]="automaticLayout",t[t.autoSurround=14]="autoSurround",t[t.bracketPairColorization=15]="bracketPairColorization",t[t.guides=16]="guides",t[t.codeLens=17]="codeLens",t[t.codeLensFontFamily=18]="codeLensFontFamily",t[t.codeLensFontSize=19]="codeLensFontSize",t[t.colorDecorators=20]="colorDecorators",t[t.colorDecoratorsLimit=21]="colorDecoratorsLimit",t[t.columnSelection=22]="columnSelection",t[t.comments=23]="comments",t[t.contextmenu=24]="contextmenu",t[t.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",t[t.cursorBlinking=26]="cursorBlinking",t[t.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",t[t.cursorStyle=28]="cursorStyle",t[t.cursorSurroundingLines=29]="cursorSurroundingLines",t[t.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",t[t.cursorWidth=31]="cursorWidth",t[t.disableLayerHinting=32]="disableLayerHinting",t[t.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",t[t.domReadOnly=34]="domReadOnly",t[t.dragAndDrop=35]="dragAndDrop",t[t.dropIntoEditor=36]="dropIntoEditor",t[t.emptySelectionClipboard=37]="emptySelectionClipboard",t[t.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",t[t.extraEditorClassName=39]="extraEditorClassName",t[t.fastScrollSensitivity=40]="fastScrollSensitivity",t[t.find=41]="find",t[t.fixedOverflowWidgets=42]="fixedOverflowWidgets",t[t.folding=43]="folding",t[t.foldingStrategy=44]="foldingStrategy",t[t.foldingHighlight=45]="foldingHighlight",t[t.foldingImportsByDefault=46]="foldingImportsByDefault",t[t.foldingMaximumRegions=47]="foldingMaximumRegions",t[t.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",t[t.fontFamily=49]="fontFamily",t[t.fontInfo=50]="fontInfo",t[t.fontLigatures=51]="fontLigatures",t[t.fontSize=52]="fontSize",t[t.fontWeight=53]="fontWeight",t[t.fontVariations=54]="fontVariations",t[t.formatOnPaste=55]="formatOnPaste",t[t.formatOnType=56]="formatOnType",t[t.glyphMargin=57]="glyphMargin",t[t.gotoLocation=58]="gotoLocation",t[t.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",t[t.hover=60]="hover",t[t.inDiffEditor=61]="inDiffEditor",t[t.inlineSuggest=62]="inlineSuggest",t[t.letterSpacing=63]="letterSpacing",t[t.lightbulb=64]="lightbulb",t[t.lineDecorationsWidth=65]="lineDecorationsWidth",t[t.lineHeight=66]="lineHeight",t[t.lineNumbers=67]="lineNumbers",t[t.lineNumbersMinChars=68]="lineNumbersMinChars",t[t.linkedEditing=69]="linkedEditing",t[t.links=70]="links",t[t.matchBrackets=71]="matchBrackets",t[t.minimap=72]="minimap",t[t.mouseStyle=73]="mouseStyle",t[t.mouseWheelScrollSensitivity=74]="mouseWheelScrollSensitivity",t[t.mouseWheelZoom=75]="mouseWheelZoom",t[t.multiCursorMergeOverlapping=76]="multiCursorMergeOverlapping",t[t.multiCursorModifier=77]="multiCursorModifier",t[t.multiCursorPaste=78]="multiCursorPaste",t[t.multiCursorLimit=79]="multiCursorLimit",t[t.occurrencesHighlight=80]="occurrencesHighlight",t[t.overviewRulerBorder=81]="overviewRulerBorder",t[t.overviewRulerLanes=82]="overviewRulerLanes",t[t.padding=83]="padding",t[t.pasteAs=84]="pasteAs",t[t.parameterHints=85]="parameterHints",t[t.peekWidgetDefaultFocus=86]="peekWidgetDefaultFocus",t[t.definitionLinkOpensInPeek=87]="definitionLinkOpensInPeek",t[t.quickSuggestions=88]="quickSuggestions",t[t.quickSuggestionsDelay=89]="quickSuggestionsDelay",t[t.readOnly=90]="readOnly",t[t.readOnlyMessage=91]="readOnlyMessage",t[t.renameOnType=92]="renameOnType",t[t.renderControlCharacters=93]="renderControlCharacters",t[t.renderFinalNewline=94]="renderFinalNewline",t[t.renderLineHighlight=95]="renderLineHighlight",t[t.renderLineHighlightOnlyWhenFocus=96]="renderLineHighlightOnlyWhenFocus",t[t.renderValidationDecorations=97]="renderValidationDecorations",t[t.renderWhitespace=98]="renderWhitespace",t[t.revealHorizontalRightPadding=99]="revealHorizontalRightPadding",t[t.roundedSelection=100]="roundedSelection",t[t.rulers=101]="rulers",t[t.scrollbar=102]="scrollbar",t[t.scrollBeyondLastColumn=103]="scrollBeyondLastColumn",t[t.scrollBeyondLastLine=104]="scrollBeyondLastLine",t[t.scrollPredominantAxis=105]="scrollPredominantAxis",t[t.selectionClipboard=106]="selectionClipboard",t[t.selectionHighlight=107]="selectionHighlight",t[t.selectOnLineNumbers=108]="selectOnLineNumbers",t[t.showFoldingControls=109]="showFoldingControls",t[t.showUnused=110]="showUnused",t[t.snippetSuggestions=111]="snippetSuggestions",t[t.smartSelect=112]="smartSelect",t[t.smoothScrolling=113]="smoothScrolling",t[t.stickyScroll=114]="stickyScroll",t[t.stickyTabStops=115]="stickyTabStops",t[t.stopRenderingLineAfter=116]="stopRenderingLineAfter",t[t.suggest=117]="suggest",t[t.suggestFontSize=118]="suggestFontSize",t[t.suggestLineHeight=119]="suggestLineHeight",t[t.suggestOnTriggerCharacters=120]="suggestOnTriggerCharacters",t[t.suggestSelection=121]="suggestSelection",t[t.tabCompletion=122]="tabCompletion",t[t.tabIndex=123]="tabIndex",t[t.unicodeHighlighting=124]="unicodeHighlighting",t[t.unusualLineTerminators=125]="unusualLineTerminators",t[t.useShadowDOM=126]="useShadowDOM",t[t.useTabStops=127]="useTabStops",t[t.wordBreak=128]="wordBreak",t[t.wordSeparators=129]="wordSeparators",t[t.wordWrap=130]="wordWrap",t[t.wordWrapBreakAfterCharacters=131]="wordWrapBreakAfterCharacters",t[t.wordWrapBreakBeforeCharacters=132]="wordWrapBreakBeforeCharacters",t[t.wordWrapColumn=133]="wordWrapColumn",t[t.wordWrapOverride1=134]="wordWrapOverride1",t[t.wordWrapOverride2=135]="wordWrapOverride2",t[t.wrappingIndent=136]="wrappingIndent",t[t.wrappingStrategy=137]="wrappingStrategy",t[t.showDeprecated=138]="showDeprecated",t[t.inlayHints=139]="inlayHints",t[t.editorClassName=140]="editorClassName",t[t.pixelRatio=141]="pixelRatio",t[t.tabFocusMode=142]="tabFocusMode",t[t.layoutInfo=143]="layoutInfo",t[t.wrappingInfo=144]="wrappingInfo",t[t.defaultColorDecorators=145]="defaultColorDecorators",t[t.colorDecoratorsActivatedOn=146]="colorDecoratorsActivatedOn",t[t.inlineCompletionsAccessibilityVerbose=147]="inlineCompletionsAccessibilityVerbose"}(an||(an={})),function(t){t[t.TextDefined=0]="TextDefined",t[t.LF=1]="LF",t[t.CRLF=2]="CRLF"}(ln||(ln={})),function(t){t[t.LF=0]="LF",t[t.CRLF=1]="CRLF"}(un||(un={})),function(t){t[t.Left=1]="Left",t[t.Right=2]="Right"}(dn||(dn={})),function(t){t[t.None=0]="None",t[t.Indent=1]="Indent",t[t.IndentOutdent=2]="IndentOutdent",t[t.Outdent=3]="Outdent"}(fn||(fn={})),function(t){t[t.Both=0]="Both",t[t.Right=1]="Right",t[t.Left=2]="Left",t[t.None=3]="None"}(pn||(pn={})),function(t){t[t.Type=1]="Type",t[t.Parameter=2]="Parameter"}(gn||(gn={})),function(t){t[t.Automatic=0]="Automatic",t[t.Explicit=1]="Explicit"}(mn||(mn={})),function(t){t[t.DependsOnKbLayout=-1]="DependsOnKbLayout",t[t.Unknown=0]="Unknown",t[t.Backspace=1]="Backspace",t[t.Tab=2]="Tab",t[t.Enter=3]="Enter",t[t.Shift=4]="Shift",t[t.Ctrl=5]="Ctrl",t[t.Alt=6]="Alt",t[t.PauseBreak=7]="PauseBreak",t[t.CapsLock=8]="CapsLock",t[t.Escape=9]="Escape",t[t.Space=10]="Space",t[t.PageUp=11]="PageUp",t[t.PageDown=12]="PageDown",t[t.End=13]="End",t[t.Home=14]="Home",t[t.LeftArrow=15]="LeftArrow",t[t.UpArrow=16]="UpArrow",t[t.RightArrow=17]="RightArrow",t[t.DownArrow=18]="DownArrow",t[t.Insert=19]="Insert",t[t.Delete=20]="Delete",t[t.Digit0=21]="Digit0",t[t.Digit1=22]="Digit1",t[t.Digit2=23]="Digit2",t[t.Digit3=24]="Digit3",t[t.Digit4=25]="Digit4",t[t.Digit5=26]="Digit5",t[t.Digit6=27]="Digit6",t[t.Digit7=28]="Digit7",t[t.Digit8=29]="Digit8",t[t.Digit9=30]="Digit9",t[t.KeyA=31]="KeyA",t[t.KeyB=32]="KeyB",t[t.KeyC=33]="KeyC",t[t.KeyD=34]="KeyD",t[t.KeyE=35]="KeyE",t[t.KeyF=36]="KeyF",t[t.KeyG=37]="KeyG",t[t.KeyH=38]="KeyH",t[t.KeyI=39]="KeyI",t[t.KeyJ=40]="KeyJ",t[t.KeyK=41]="KeyK",t[t.KeyL=42]="KeyL",t[t.KeyM=43]="KeyM",t[t.KeyN=44]="KeyN",t[t.KeyO=45]="KeyO",t[t.KeyP=46]="KeyP",t[t.KeyQ=47]="KeyQ",t[t.KeyR=48]="KeyR",t[t.KeyS=49]="KeyS",t[t.KeyT=50]="KeyT",t[t.KeyU=51]="KeyU",t[t.KeyV=52]="KeyV",t[t.KeyW=53]="KeyW",t[t.KeyX=54]="KeyX",t[t.KeyY=55]="KeyY",t[t.KeyZ=56]="KeyZ",t[t.Meta=57]="Meta",t[t.ContextMenu=58]="ContextMenu",t[t.F1=59]="F1",t[t.F2=60]="F2",t[t.F3=61]="F3",t[t.F4=62]="F4",t[t.F5=63]="F5",t[t.F6=64]="F6",t[t.F7=65]="F7",t[t.F8=66]="F8",t[t.F9=67]="F9",t[t.F10=68]="F10",t[t.F11=69]="F11",t[t.F12=70]="F12",t[t.F13=71]="F13",t[t.F14=72]="F14",t[t.F15=73]="F15",t[t.F16=74]="F16",t[t.F17=75]="F17",t[t.F18=76]="F18",t[t.F19=77]="F19",t[t.F20=78]="F20",t[t.F21=79]="F21",t[t.F22=80]="F22",t[t.F23=81]="F23",t[t.F24=82]="F24",t[t.NumLock=83]="NumLock",t[t.ScrollLock=84]="ScrollLock",t[t.Semicolon=85]="Semicolon",t[t.Equal=86]="Equal",t[t.Comma=87]="Comma",t[t.Minus=88]="Minus",t[t.Period=89]="Period",t[t.Slash=90]="Slash",t[t.Backquote=91]="Backquote",t[t.BracketLeft=92]="BracketLeft",t[t.Backslash=93]="Backslash",t[t.BracketRight=94]="BracketRight",t[t.Quote=95]="Quote",t[t.OEM_8=96]="OEM_8",t[t.IntlBackslash=97]="IntlBackslash",t[t.Numpad0=98]="Numpad0",t[t.Numpad1=99]="Numpad1",t[t.Numpad2=100]="Numpad2",t[t.Numpad3=101]="Numpad3",t[t.Numpad4=102]="Numpad4",t[t.Numpad5=103]="Numpad5",t[t.Numpad6=104]="Numpad6",t[t.Numpad7=105]="Numpad7",t[t.Numpad8=106]="Numpad8",t[t.Numpad9=107]="Numpad9",t[t.NumpadMultiply=108]="NumpadMultiply",t[t.NumpadAdd=109]="NumpadAdd",t[t.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",t[t.NumpadSubtract=111]="NumpadSubtract",t[t.NumpadDecimal=112]="NumpadDecimal",t[t.NumpadDivide=113]="NumpadDivide",t[t.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",t[t.ABNT_C1=115]="ABNT_C1",t[t.ABNT_C2=116]="ABNT_C2",t[t.AudioVolumeMute=117]="AudioVolumeMute",t[t.AudioVolumeUp=118]="AudioVolumeUp",t[t.AudioVolumeDown=119]="AudioVolumeDown",t[t.BrowserSearch=120]="BrowserSearch",t[t.BrowserHome=121]="BrowserHome",t[t.BrowserBack=122]="BrowserBack",t[t.BrowserForward=123]="BrowserForward",t[t.MediaTrackNext=124]="MediaTrackNext",t[t.MediaTrackPrevious=125]="MediaTrackPrevious",t[t.MediaStop=126]="MediaStop",t[t.MediaPlayPause=127]="MediaPlayPause",t[t.LaunchMediaPlayer=128]="LaunchMediaPlayer",t[t.LaunchMail=129]="LaunchMail",t[t.LaunchApp2=130]="LaunchApp2",t[t.Clear=131]="Clear",t[t.MAX_VALUE=132]="MAX_VALUE"}(wn||(wn={})),function(t){t[t.Hint=1]="Hint",t[t.Info=2]="Info",t[t.Warning=4]="Warning",t[t.Error=8]="Error"}(vn||(vn={})),function(t){t[t.Unnecessary=1]="Unnecessary",t[t.Deprecated=2]="Deprecated"}(bn||(bn={})),function(t){t[t.Inline=1]="Inline",t[t.Gutter=2]="Gutter"}(yn||(yn={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.TEXTAREA=1]="TEXTAREA",t[t.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",t[t.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",t[t.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",t[t.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",t[t.CONTENT_TEXT=6]="CONTENT_TEXT",t[t.CONTENT_EMPTY=7]="CONTENT_EMPTY",t[t.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",t[t.CONTENT_WIDGET=9]="CONTENT_WIDGET",t[t.OVERVIEW_RULER=10]="OVERVIEW_RULER",t[t.SCROLLBAR=11]="SCROLLBAR",t[t.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",t[t.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(kn||(kn={})),function(t){t[t.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",t[t.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",t[t.TOP_CENTER=2]="TOP_CENTER"}(xn||(xn={})),function(t){t[t.Left=1]="Left",t[t.Center=2]="Center",t[t.Right=4]="Right",t[t.Full=7]="Full"}(Cn||(Cn={})),function(t){t[t.Left=0]="Left",t[t.Right=1]="Right",t[t.None=2]="None",t[t.LeftOfInjectedText=3]="LeftOfInjectedText",t[t.RightOfInjectedText=4]="RightOfInjectedText"}(Sn||(Sn={})),function(t){t[t.Off=0]="Off",t[t.On=1]="On",t[t.Relative=2]="Relative",t[t.Interval=3]="Interval",t[t.Custom=4]="Custom"}(Dn||(Dn={})),function(t){t[t.None=0]="None",t[t.Text=1]="Text",t[t.Blocks=2]="Blocks"}(En||(En={})),function(t){t[t.Smooth=0]="Smooth",t[t.Immediate=1]="Immediate"}(An||(An={})),function(t){t[t.Auto=1]="Auto",t[t.Hidden=2]="Hidden",t[t.Visible=3]="Visible"}(Mn||(Mn={})),function(t){t[t.LTR=0]="LTR",t[t.RTL=1]="RTL"}(Ln||(Ln={})),function(t){t.Off="off",t.OnCode="onCode",t.On="on"}(Fn||(Fn={})),function(t){t[t.Invoke=1]="Invoke",t[t.TriggerCharacter=2]="TriggerCharacter",t[t.ContentChange=3]="ContentChange"}(Tn||(Tn={})),function(t){t[t.File=0]="File",t[t.Module=1]="Module",t[t.Namespace=2]="Namespace",t[t.Package=3]="Package",t[t.Class=4]="Class",t[t.Method=5]="Method",t[t.Property=6]="Property",t[t.Field=7]="Field",t[t.Constructor=8]="Constructor",t[t.Enum=9]="Enum",t[t.Interface=10]="Interface",t[t.Function=11]="Function",t[t.Variable=12]="Variable",t[t.Constant=13]="Constant",t[t.String=14]="String",t[t.Number=15]="Number",t[t.Boolean=16]="Boolean",t[t.Array=17]="Array",t[t.Object=18]="Object",t[t.Key=19]="Key",t[t.Null=20]="Null",t[t.EnumMember=21]="EnumMember",t[t.Struct=22]="Struct",t[t.Event=23]="Event",t[t.Operator=24]="Operator",t[t.TypeParameter=25]="TypeParameter"}(Rn||(Rn={})),function(t){t[t.Deprecated=1]="Deprecated"}(On||(On={})),function(t){t[t.Hidden=0]="Hidden",t[t.Blink=1]="Blink",t[t.Smooth=2]="Smooth",t[t.Phase=3]="Phase",t[t.Expand=4]="Expand",t[t.Solid=5]="Solid"}(In||(In={})),function(t){t[t.Line=1]="Line",t[t.Block=2]="Block",t[t.Underline=3]="Underline",t[t.LineThin=4]="LineThin",t[t.BlockOutline=5]="BlockOutline",t[t.UnderlineThin=6]="UnderlineThin"}(_n||(_n={})),function(t){t[t.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",t[t.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",t[t.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",t[t.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(Nn||(Nn={})),function(t){t[t.None=0]="None",t[t.Same=1]="Same",t[t.Indent=2]="Indent",t[t.DeepIndent=3]="DeepIndent"}(Bn||(Bn={}));class Pn{static chord(t,i){return Be(t,i)}}function $n(){return{editor:void 0,languages:void 0,CancellationTokenSource:Se,Emitter:fe,KeyCode:wn,KeyMod:Pn,Position:Ms,Range:Ls,Selection:Fs,SelectionDirection:Ln,MarkerSeverity:vn,MarkerTag:bn,Uri:ws,Token:Ns}}Pn.CtrlCmd=2048,Pn.Shift=1024,Pn.Alt=512,Pn.WinCtrl=256;const Wn=window,jn=Wn;class zn{get cachedValues(){return this._map}constructor(t){this.fn=t,this._map=new Map}get(t){if(this._map.has(t))return this._map.get(t);const i=this.fn(t);return this._map.set(t,i),i}}class Hn{constructor(t){this.executor=t,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(t){this._error=t}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}var Vn;function Un(t){return!t||"string"!=typeof t||0===t.trim().length}const qn=/{(\d+)}/g;function Kn(t,...i){return 0===i.length?t:t.replace(qn,(function(t,e){const s=parseInt(e,10);return isNaN(s)||s<0||s>=i.length?t:i[s]}))}function Gn(t){return t.replace(/[<>&]/g,(function(t){switch(t){case"<":return"<";case">":return">";case"&":return"&";default:return t}}))}function Zn(t){return t.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function Qn(t,i=" "){return Yn(Jn(t,i),i)}function Jn(t,i){if(!t||!i)return t;const e=i.length;if(0===e||0===t.length)return t;let s=0;for(;t.indexOf(i,s)===s;)s+=e;return t.substring(s)}function Yn(t,i){if(!t||!i)return t;const e=i.length,s=t.length;if(0===e||0===s)return t;let n=s,o=-1;for(;o=t.lastIndexOf(i,n-1),-1!==o&&o+e===n;){if(0===o)return"";n=o}return t.substring(0,n)}function Xn(t,i,e={}){if(!t)throw new Error("Cannot create regex from empty string");i||(t=Zn(t)),e.wholeWord&&(/\B/.test(t.charAt(0))||(t="\\b"+t),/\B/.test(t.charAt(t.length-1))||(t+="\\b"));let s="";return e.global&&(s+="g"),e.matchCase||(s+="i"),e.multiline&&(s+="m"),e.unicode&&(s+="u"),new RegExp(t,s)}function to(t){return t.split(/\r\n|\r|\n/)}function io(t){for(let i=0,e=t.length;i=0;e--){const i=t.charCodeAt(e);if(32!==i&&9!==i)return e}return-1}function no(t,i){return ti?1:0}function oo(t,i,e=0,s=t.length,n=0,o=i.length){for(;eo)return 1}const r=s-e,h=o-n;return rh?1:0}function ro(t,i){return ho(t,i,0,t.length,0,i.length)}function ho(t,i,e=0,s=t.length,n=0,o=i.length){for(;e=128||h>=128)return oo(t.toLowerCase(),i.toLowerCase(),e,s,n,o);ao(r)&&(r-=32),ao(h)&&(h-=32);const c=r-h;if(0!==c)return c}const r=s-e,h=o-n;return rh?1:0}function co(t){return t>=48&&t<=57}function ao(t){return t>=97&&t<=122}function lo(t){return t>=65&&t<=90}function uo(t,i){return t.length===i.length&&0===ho(t,i)}function fo(t,i){return!(i.length>t.length)&&0===ho(t,i,0,i.length)}function po(t,i){const e=Math.min(t.length,i.length);let s;for(s=0;s1){const s=t.charCodeAt(i-2);if(mo(s))return vo(s,e)}return e}(this._str,this._offset);return this._offset-=t>=65536?2:1,t}nextCodePoint(){const t=bo(this._str,this._len,this._offset);return this._offset+=t>=65536?2:1,t}eol(){return this._offset>=this._len}}class ko{get offset(){return this._iterator.offset}constructor(t,i=0){this._iterator=new yo(t,i)}nextGraphemeLength(){const t=No.getInstance(),i=this._iterator,e=i.offset;let s=t.getGraphemeBreakType(i.nextCodePoint());for(;!i.eol();){const e=i.offset,n=t.getGraphemeBreakType(i.nextCodePoint());if(_o(s,n)){i.setOffset(e);break}s=n}return i.offset-e}prevGraphemeLength(){const t=No.getInstance(),i=this._iterator,e=i.offset;let s=t.getGraphemeBreakType(i.prevCodePoint());for(;i.offset>0;){const e=i.offset,n=t.getGraphemeBreakType(i.prevCodePoint());if(_o(n,s)){i.setOffset(e);break}s=n}return e-i.offset}eol(){return this._iterator.eol()}}function xo(t,i){return new ko(t,i).nextGraphemeLength()}function Co(t,i){return new ko(t,i).prevGraphemeLength()}let So;function Do(t){return So||(So=/(?:[\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])/),So.test(t)}const Eo=/^[\t\n\r\x20-\x7E]*$/;function Ao(t){return Eo.test(t)}const Mo=/[\u2028\u2029]/;function Lo(t){return Mo.test(t)}function Fo(t){return t>=11904&&t<=55215||t>=63744&&t<=64255||t>=65281&&t<=65374}function To(t){return t>=127462&&t<=127487||8986===t||8987===t||9200===t||9203===t||t>=9728&&t<=10175||11088===t||11093===t||t>=127744&&t<=128591||t>=128640&&t<=128764||t>=128992&&t<=129008||t>=129280&&t<=129535||t>=129648&&t<=129782}const Ro=String.fromCharCode(65279);function Oo(t){return!!(t&&t.length>0&&65279===t.charCodeAt(0))}function Io(t){return t%=52,String.fromCharCode(t<26?97+t:65+t-26)}function _o(t,i){return 0===t?5!==i&&7!==i:!(2===t&&3===i||4!==t&&2!==t&&3!==t&&4!==i&&2!==i&&3!==i&&(8===t&&(8===i||9===i||11===i||12===i)||!(11!==t&&9!==t||9!==i&&10!==i)||(12===t||10===t)&&10===i||5===i||13===i||7===i||1===t||13===t&&14===i||6===t&&6===i))}class No{static getInstance(){return No._INSTANCE||(No._INSTANCE=new No),No._INSTANCE}constructor(){this._data=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]")}getGraphemeBreakType(t){if(t<32)return 10===t?3:13===t?2:4;if(t<127)return 0;const i=this._data,e=i.length/3;let s=1;for(;s<=e;)if(ti[3*s+1]))return i[3*s+2];s=2*s+1}return 0}}function Bo(t){return 127995<=t&&t<=127999}No._INSTANCE=null;class Po{static getInstance(t){return Vn.cache.get(Array.from(t))}static getLocales(){return Vn._locales.value}constructor(t){this.confusableDictionary=t}isAmbiguous(t){return this.confusableDictionary.has(t)}getPrimaryConfusable(t){return this.confusableDictionary.get(t)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}Vn=Po,Po.ambiguousCharacterData=new Hn((()=>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]}'))),Po.cache=new class{constructor(t){this.fn=t,this.lastCache=void 0,this.lastArgKey=void 0}get(t){const i=JSON.stringify(t);return this.lastArgKey!==i&&(this.lastArgKey=i,this.lastCache=this.fn(t)),this.lastCache}}((t=>{function i(t){const i=new Map;for(let e=0;e!t.startsWith("_")&&t in s));0===o.length&&(o=["_default"]);for(const t of o)n=e(n,i(s[t]));const r=function(t,i){const e=new Map(t);for(const[t,s]of i)e.set(t,s);return e}(i(s._common),n);return new Vn(r)})),Po._locales=new Hn((()=>Object.keys(Vn.ambiguousCharacterData.value).filter((t=>!t.startsWith("_")))));class $o{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($o.getRawData())),this._data}static isInvisibleCharacter(t){return $o.getData().has(t)}static get codePoints(){return $o.getData()}}$o._data=void 0;class Wo{constructor(){this._zoomFactor=1}getZoomFactor(){return this._zoomFactor}}Wo.INSTANCE=new Wo;class jo extends ie{constructor(){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(!0),this._mediaQueryList=null,this._handleChange(!1)}_handleChange(t){var i;null===(i=this._mediaQueryList)||void 0===i||i.removeEventListener("change",this._listener),this._mediaQueryList=jn.matchMedia(`(resolution: ${jn.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}}class zo extends ie{get value(){return this._value}constructor(){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio();const t=this._register(new jo);this._register(t.onDidChange((()=>{this._value=this._getPixelRatio(),this._onDidChange.fire(this._value)})))}_getPixelRatio(){const t=document.createElement("canvas").getContext("2d");return(jn.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}}function Ho(t,i){"string"==typeof t&&(t=jn.matchMedia(t)),t.addEventListener("change",i)}const Vo=new class{constructor(){this._pixelRatioMonitor=null}_getOrCreatePixelRatioMonitor(){return this._pixelRatioMonitor||(this._pixelRatioMonitor=new zo),this._pixelRatioMonitor}get value(){return this._getOrCreatePixelRatioMonitor().value}get onDidChange(){return this._getOrCreatePixelRatioMonitor().onDidChange}},Uo=navigator.userAgent,qo=Uo.indexOf("Firefox")>=0,Ko=Uo.indexOf("AppleWebKit")>=0,Go=Uo.indexOf("Chrome")>=0,Zo=!Go&&Uo.indexOf("Safari")>=0,Qo=!Go&&!Zo&&Ko;Uo.indexOf("Electron/");const Jo=Uo.indexOf("Android")>=0;let Yo=!1;if(jn.matchMedia){const t=jn.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),i=jn.matchMedia("(display-mode: fullscreen)");Yo=t.matches,Ho(t,(({matches:t})=>{Yo&&i.matches||(Yo=t)}))}class Xo{constructor(t){this.domNode=t,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(t){const i=tr(t);this._maxWidth!==i&&(this._maxWidth=i,this.domNode.style.maxWidth=this._maxWidth)}setWidth(t){const i=tr(t);this._width!==i&&(this._width=i,this.domNode.style.width=this._width)}setHeight(t){const i=tr(t);this._height!==i&&(this._height=i,this.domNode.style.height=this._height)}setTop(t){const i=tr(t);this._top!==i&&(this._top=i,this.domNode.style.top=this._top)}setLeft(t){const i=tr(t);this._left!==i&&(this._left=i,this.domNode.style.left=this._left)}setBottom(t){const i=tr(t);this._bottom!==i&&(this._bottom=i,this.domNode.style.bottom=this._bottom)}setRight(t){const i=tr(t);this._right!==i&&(this._right=i,this.domNode.style.right=this._right)}setPaddingLeft(t){const i=tr(t);this._paddingLeft!==i&&(this._paddingLeft=i,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(t){this._fontFamily!==t&&(this._fontFamily=t,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(t){const i=tr(t);this._fontSize!==i&&(this._fontSize=i,this.domNode.style.fontSize=this._fontSize)}setFontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(t){this._fontFeatureSettings!==t&&(this._fontFeatureSettings=t,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(t){this._fontVariationSettings!==t&&(this._fontVariationSettings=t,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(t){this._textDecoration!==t&&(this._textDecoration=t,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(t){const i=tr(t);this._lineHeight!==i&&(this._lineHeight=i,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(t){const i=tr(t);this._letterSpacing!==i&&(this._letterSpacing=i,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(t){this._className!==t&&(this._className=t,this.domNode.className=this._className)}toggleClassName(t,i){this.domNode.classList.toggle(t,i),this._className=this.domNode.className}setDisplay(t){this._display!==t&&(this._display=t,this.domNode.style.display=this._display)}setPosition(t){this._position!==t&&(this._position=t,this.domNode.style.position=this._position)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this.domNode.style.visibility=this._visibility)}setColor(t){this._color!==t&&(this._color=t,this.domNode.style.color=this._color)}setBackgroundColor(t){this._backgroundColor!==t&&(this._backgroundColor=t,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(t){this._layerHint!==t&&(this._layerHint=t,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(t){this._boxShadow!==t&&(this._boxShadow=t,this.domNode.style.boxShadow=t)}setContain(t){this._contain!==t&&(this._contain=t,this.domNode.style.contain=this._contain)}setAttribute(t,i){this.domNode.setAttribute(t,i)}removeAttribute(t){this.domNode.removeAttribute(t)}appendChild(t){this.domNode.appendChild(t.domNode)}removeChild(t){this.domNode.removeChild(t.domNode)}}function tr(t){return"number"==typeof t?`${t}px`:t}function ir(t){return new Xo(t)}function er(t,i){t instanceof Xo?(t.setFontFamily(i.getMassagedFontFamily()),t.setFontWeight(i.fontWeight),t.setFontSize(i.fontSize),t.setFontFeatureSettings(i.fontFeatureSettings),t.setFontVariationSettings(i.fontVariationSettings),t.setLineHeight(i.lineHeight),t.setLetterSpacing(i.letterSpacing)):(t.style.fontFamily=i.getMassagedFontFamily(),t.style.fontWeight=i.fontWeight,t.style.fontSize=i.fontSize+"px",t.style.fontFeatureSettings=i.fontFeatureSettings,t.style.fontVariationSettings=i.fontVariationSettings,t.style.lineHeight=i.lineHeight+"px",t.style.letterSpacing=i.letterSpacing+"px")}class sr{constructor(t,i){this.chr=t,this.type=i,this.width=0}fulfill(t){this.width=t}}class nr{constructor(t,i){this._bareFontInfo=t,this._requests=i,this._container=null,this._testElements=null}read(){this._createDomElements(),jn.document.body.appendChild(this._container),this._readFromDomElements(),jn.document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const t=document.createElement("div");t.style.position="absolute",t.style.top="-50000px",t.style.width="50000px";const i=document.createElement("div");er(i,this._bareFontInfo),t.appendChild(i);const e=document.createElement("div");er(e,this._bareFontInfo),e.style.fontWeight="bold",t.appendChild(e);const s=document.createElement("div");er(s,this._bareFontInfo),s.style.fontStyle="italic",t.appendChild(s);const n=[];for(const t of this._requests){let o;0===t.type&&(o=i),2===t.type&&(o=e),1===t.type&&(o=s),o.appendChild(document.createElement("br"));const r=document.createElement("span");nr._render(r,t),o.appendChild(r),n.push(r)}this._container=t,this._testElements=n}static _render(t,i){if(" "===i.chr){let i=" ";for(let t=0;t<8;t++)i+=i;t.innerText=i}else{let e=i.chr;for(let t=0;t<8;t++)e+=e;t.textContent=e}}_readFromDomElements(){for(let t=0,i=this._requests.length;tthis._values[t]))}}const lr=new class extends ie{constructor(){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._cache=new ar,this._evictUntrustedReadingsTimeout=-1}dispose(){-1!==this._evictUntrustedReadingsTimeout&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache=new ar,this._onDidChange.fire()}_writeToCache(t,i){this._cache.put(t,i),i.isTrusted||-1!==this._evictUntrustedReadingsTimeout||(this._evictUntrustedReadingsTimeout=Wn.setTimeout((()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings()}),5e3))}_evictUntrustedReadings(){const t=this._cache.getValues();let i=!1;for(const e of t)e.isTrusted||(i=!0,this._cache.remove(e));i&&this._onDidChange.fire()}readFontInfo(t){if(!this._cache.has(t)){let i=this._actualReadFontInfo(t);(i.typicalHalfwidthCharacterWidth<=2||i.typicalFullwidthCharacterWidth<=2||i.spaceWidth<=2||i.maxDigitWidth<=2)&&(i=new cr({pixelRatio:Vo.value,fontFamily:i.fontFamily,fontWeight:i.fontWeight,fontSize:i.fontSize,fontFeatureSettings:i.fontFeatureSettings,fontVariationSettings:i.fontVariationSettings,lineHeight:i.lineHeight,letterSpacing:i.letterSpacing,isMonospace:i.isMonospace,typicalHalfwidthCharacterWidth:Math.max(i.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(i.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:i.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(i.spaceWidth,5),middotWidth:Math.max(i.middotWidth,5),wsmiddotWidth:Math.max(i.wsmiddotWidth,5),maxDigitWidth:Math.max(i.maxDigitWidth,5)},!1)),this._writeToCache(t,i)}return this._cache.get(t)}_createRequest(t,i,e,s){const n=new sr(t,i);return e.push(n),null==s||s.push(n),n}_actualReadFontInfo(t){const i=[],e=[],s=this._createRequest("n",0,i,e),n=this._createRequest("m",0,i,null),o=this._createRequest(" ",0,i,e),r=this._createRequest("0",0,i,e),h=this._createRequest("1",0,i,e),c=this._createRequest("2",0,i,e),a=this._createRequest("3",0,i,e),l=this._createRequest("4",0,i,e),u=this._createRequest("5",0,i,e),d=this._createRequest("6",0,i,e),f=this._createRequest("7",0,i,e),p=this._createRequest("8",0,i,e),g=this._createRequest("9",0,i,e),m=this._createRequest("→",0,i,e),w=this._createRequest("→",0,i,null),v=this._createRequest("·",0,i,e),b=this._createRequest(String.fromCharCode(11825),0,i,null),y="|/-_ilm%";for(let t=0,s=8;t.001){x=!1;break}}let S=!0;return x&&w.width!==C&&(S=!1),w.width>m.width&&(S=!1),new cr({pixelRatio:Vo.value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:x,typicalHalfwidthCharacterWidth:s.width,typicalFullwidthCharacterWidth:n.width,canUseHalfwidthRightwardsArrow:S,spaceWidth:o.width,middotWidth:v.width,wsmiddotWidth:b.width,maxDigitWidth:k},!0)}};var ur;!function(t){t.serviceIds=new Map,t.DI_TARGET="$di$target",t.DI_DEPENDENCIES="$di$dependencies",t.getServiceDependencies=function(i){return i[t.DI_DEPENDENCIES]||[]}}(ur||(ur={}));const dr=fr("instantiationService");function fr(t){if(ur.serviceIds.has(t))return ur.serviceIds.get(t);const i=function(t,e,s){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(t,i,e){i[ur.DI_TARGET]===i?i[ur.DI_DEPENDENCIES].push({id:t,index:e}):(i[ur.DI_DEPENDENCIES]=[{id:t,index:e}],i[ur.DI_TARGET]=i)}(i,t,s)};return i.toString=()=>t,ur.serviceIds.set(t,i),i}const pr=fr("codeEditorService"),gr=fr("modelService"),mr=fr("textModelService");class wr extends ie{constructor(t,i="",e="",s=!0,n){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=t,this._label=i,this._cssClass=e,this._enabled=s,this._actionCallback=n}get id(){return this._id}get label(){return this._label}set label(t){this._setLabel(t)}_setLabel(t){this._label!==t&&(this._label=t,this._onDidChange.fire({label:t}))}get tooltip(){return this._tooltip||""}set tooltip(t){this._setTooltip(t)}_setTooltip(t){this._tooltip!==t&&(this._tooltip=t,this._onDidChange.fire({tooltip:t}))}get class(){return this._cssClass}set class(t){this._setClass(t)}_setClass(t){this._cssClass!==t&&(this._cssClass=t,this._onDidChange.fire({class:t}))}get enabled(){return this._enabled}set enabled(t){this._setEnabled(t)}_setEnabled(t){this._enabled!==t&&(this._enabled=t,this._onDidChange.fire({enabled:t}))}get checked(){return this._checked}set checked(t){this._setChecked(t)}_setChecked(t){this._checked!==t&&(this._checked=t,this._onDidChange.fire({checked:t}))}async run(t,i){this._actionCallback&&await this._actionCallback(t)}}class vr extends ie{constructor(){super(...arguments),this._onWillRun=this._register(new fe),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new fe),this.onDidRun=this._onDidRun.event}async run(t,i){if(!t.enabled)return;let e;this._onWillRun.fire({action:t});try{await this.runAction(t,i)}catch(t){e=t}this._onDidRun.fire({action:t,error:e})}async runAction(t,i){await t.run(i)}}class br{constructor(){this.id=br.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...t){let i=[];for(const e of t)e.length&&(i=i.length?[...i,new br,...e]:e);return i}async run(){}}br.ID="vs.actions.separator";class yr{get actions(){return this._actions}constructor(t,i,e,s){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=t,this.label=i,this.class=s,this._actions=e}async run(){}}class kr extends wr{constructor(){super(kr.ID,rt(0,"(empty)"),void 0,!1)}}function xr(t){var i,e;return{id:t.id,label:t.label,class:t.class,enabled:null===(i=t.enabled)||void 0===i||i,checked:null!==(e=t.checked)&&void 0!==e&&e,run:async(...i)=>t.run(...i),tooltip:t.label}}var Cr,Sr;kr.ID="vs.actions.empty",function(t){t.isThemeColor=function(t){return t&&"object"==typeof t&&"string"==typeof t.id}}(Cr||(Cr={})),function(t){t.iconNameSegment="[A-Za-z0-9]+",t.iconNameExpression="[A-Za-z0-9-]+",t.iconModifierExpression="~[A-Za-z]+",t.iconNameCharacter="[A-Za-z0-9~-]";const i=new RegExp(`^(${t.iconNameExpression})(${t.iconModifierExpression})?$`);function e(t){const s=i.exec(t.id);if(!s)return e(Is.error);const[,n,o]=s,r=["codicon","codicon-"+n];return o&&r.push("codicon-modifier-"+o.substring(1)),r}t.asClassNameArray=e,t.asClassName=function(t){return e(t).join(" ")},t.asCSSSelector=function(t){return"."+e(t).join(".")},t.isThemeIcon=function(t){return t&&"object"==typeof t&&"string"==typeof t.id&&(void 0===t.color||Cr.isThemeColor(t.color))};const s=new RegExp(`^\\$\\((${t.iconNameExpression}(?:${t.iconModifierExpression})?)\\)$`);t.fromString=function(t){const i=s.exec(t);if(!i)return;const[,e]=i;return{id:e}},t.fromId=function(t){return{id:t}},t.modify=function(t,i){let e=t.id;const s=e.lastIndexOf("~");return-1!==s&&(e=e.substring(0,s)),i&&(e=`${e}~${i}`),{id:e}},t.getModifier=function(t){const i=t.id.lastIndexOf("~");if(-1!==i)return t.id.substring(i+1)},t.isEqual=function(t,i){var e,s;return t.id===i.id&&(null===(e=t.color)||void 0===e?void 0:e.id)===(null===(s=i.color)||void 0===s?void 0:s.id)}}(Sr||(Sr={}));const Dr=fr("commandService"),Er=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new fe,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(t,i){if(!t)throw new Error("invalid command");if("string"==typeof t){if(!i)throw new Error("invalid command");return this.registerCommand({id:t,handler:i})}if(t.metadata&&Array.isArray(t.metadata.args)){const i=[];for(const e of t.metadata.args)i.push(e.constraint);const e=t.handler;t.handler=function(t,...s){return function(t,i){const e=Math.min(t.length,i.length);for(let s=0;s{n();const t=this._commands.get(e);(null==t?void 0:t.isEmpty())&&this._commands.delete(e)}));return this._onDidRegisterCommand.fire(e),o}registerCommandAlias(t,i){return Er.registerCommand(t,((t,...e)=>t.get(Dr).executeCommand(i,...e)))}getCommand(t){const i=this._commands.get(t);if(i&&!i.isEmpty())return Vt.first(i)}getCommands(){const t=new Map;for(const i of this._commands.keys()){const e=this.getCommand(i);e&&t.set(i,e)}return t}};function Ar(...t){switch(t.length){case 1:return rt(0,"Did you mean {0}?",t[0]);case 2:return rt(0,"Did you mean {0} or {1}?",t[0],t[1]);case 3:return rt(0,"Did you mean {0}, {1} or {2}?",t[0],t[1],t[2]);default:return}}Er.registerCommand("noop",(()=>{}));const Mr=rt(0,"Did you forget to open or close the quote?"),Lr=rt(0,"Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");class Fr{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(t){switch(t.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return t.isTripleEq?"===":"==";case 4:return t.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:case 8:return">=";case 9:return"=~";case 10:case 17:case 18:case 19:return t.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 20:return"EOF";default:throw Ui(`unhandled token type: ${JSON.stringify(t)}; have you forgotten to add a case?`)}}reset(t){return this._input=t,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){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(Ar("==","=~"));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(Ar("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(Ar("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(t){return!this._isAtEnd()&&this._input.charCodeAt(this._current)===t&&(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(t){this._tokens.push({type:t,offset:this._start})}_error(t){const i=this._start,e=this._input.substring(this._start,this._current),s={type:19,offset:this._start,lexeme:e};this._errors.push({offset:i,lexeme:e,additionalInfo:t}),this._tokens.push(s)}_string(){this.stringRe.lastIndex=this._start;const t=this.stringRe.exec(this._input);if(t){this._current=this._start+t[0].length;const i=this._input.substring(this._start,this._current),e=Fr._keywords.get(i);e?this._addToken(e):this._tokens.push({type:17,lexeme:i,offset:this._start})}}_quotedString(){for(;39!==this._peek()&&!this._isAtEnd();)this._advance();this._isAtEnd()?this._error(Mr):(this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1}))}_regex(){let t=this._current,i=!1,e=!1;for(;;){if(t>=this._input.length)return this._current=t,void this._error(Lr);const s=this._input.charCodeAt(t);if(i)i=!1;else{if(47===s&&!e){t++;break}91===s?e=!0:92===s?i=!0:93===s&&(e=!1)}t++}for(;t=this._input.length}}Fr._regexFlags=new Set(["i","g","s","m","y","u"].map((t=>t.charCodeAt(0)))),Fr._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]);const Tr=new Map;Tr.set("false",!1),Tr.set("true",!0),Tr.set("isMac",St),Tr.set("isLinux",Dt),Tr.set("isWindows",Ct),Tr.set("isWeb",At),Tr.set("isMacNative",St&&!At),Tr.set("isEdge",zt),Tr.set("isFirefox",Wt),Tr.set("isChrome",$t),Tr.set("isSafari",jt);const Rr=Object.prototype.hasOwnProperty,Or={regexParsingWithErrorRecovery:!0},Ir=rt(0,"Empty context key expression"),_r=rt(0,"Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),Nr=rt(0,"'in' after 'not'."),Br=rt(0,"closing parenthesis ')'"),Pr=rt(0,"Unexpected token"),$r=rt(0,"Did you forget to put && or || before the token?"),Wr=rt(0,"Unexpected end of expression"),jr=rt(0,"Did you forget to put a context key?");class zr{constructor(t=Or){this._config=t,this._scanner=new Fr,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(t){if(""!==t){this._tokens=this._scanner.reset(t).scan(),this._current=0,this._parsingErrors=[];try{const t=this._expr();if(!this._isAtEnd()){const t=this._peek(),i=17===t.type?$r:void 0;throw this._parsingErrors.push({message:Pr,offset:t.offset,lexeme:Fr.getLexeme(t),additionalInfo:i}),zr._parseError}return t}catch(t){if(t!==zr._parseError)throw t;return}}else this._parsingErrors.push({message:Ir,offset:0,lexeme:"",additionalInfo:_r})}_expr(){return this._or()}_or(){const t=[this._and()];for(;this._matchOne(16);){const i=this._and();t.push(i)}return 1===t.length?t[0]:Hr.or(...t)}_and(){const t=[this._term()];for(;this._matchOne(15);){const i=this._term();t.push(i)}return 1===t.length?t[0]:Hr.and(...t)}_term(){if(this._matchOne(2)){const t=this._peek();switch(t.type){case 11:return this._advance(),Ur.INSTANCE;case 12:return this._advance(),qr.INSTANCE;case 0:{this._advance();const t=this._expr();return this._consume(1,Br),null==t?void 0:t.negate()}case 17:return this._advance(),Yr.create(t.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",t)}}return this._primary()}_primary(){const t=this._peek();switch(t.type){case 11:return this._advance(),Hr.true();case 12:return this._advance(),Hr.false();case 0:{this._advance();const t=this._expr();return this._consume(1,Br),t}case 17:{const i=t.lexeme;if(this._advance(),this._matchOne(9)){const t=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),10!==t.type)throw this._errExpectedButGot("REGEX",t);const e=t.lexeme,s=e.lastIndexOf("/"),n=s===e.length-1?void 0:this._removeFlagsGY(e.substring(s+1));let o;try{o=new RegExp(e.substring(1,s),n)}catch(i){throw this._errExpectedButGot("REGEX",t)}return nh.create(i,o)}switch(t.type){case 10:case 19:{const e=[t.lexeme];this._advance();let s=this._peek(),n=0;for(let i=0;i=0){const o=e.slice(i+1,n),r="i"===e[n+1]?"i":"";try{s=new RegExp(o,r)}catch(i){throw this._errExpectedButGot("REGEX",t)}}}if(null===s)throw this._errExpectedButGot("REGEX",t);return nh.create(i,s)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,Nr);const t=this._value();return Hr.notIn(i,t)}switch(this._peek().type){case 3:{this._advance();const t=this._value();if(18===this._previous().type)return Hr.equals(i,t);switch(t){case"true":return Hr.has(i);case"false":return Hr.not(i);default:return Hr.equals(i,t)}}case 4:{this._advance();const t=this._value();if(18===this._previous().type)return Hr.notEquals(i,t);switch(t){case"true":return Hr.not(i);case"false":return Hr.has(i);default:return Hr.notEquals(i,t)}}case 5:return this._advance(),eh.create(i,this._value());case 6:return this._advance(),sh.create(i,this._value());case 7:return this._advance(),th.create(i,this._value());case 8:return this._advance(),ih.create(i,this._value());case 13:return this._advance(),Hr.in(i,this._value());default:return Hr.has(i)}}case 20:throw this._parsingErrors.push({message:Wr,offset:t.offset,lexeme:"",additionalInfo:jr}),zr._parseError;default:throw this._errExpectedButGot("true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const t=this._peek();switch(t.type){case 17:case 18:return this._advance(),t.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(t){return t.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(t){return!!this._check(t)&&(this._advance(),!0)}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(t,i){if(this._check(t))return this._advance();throw this._errExpectedButGot(i,this._peek())}_errExpectedButGot(t,i,e){const s=rt(0,"Expected: {0}\nReceived: '{1}'.",t,Fr.getLexeme(i)),n=i.offset,o=Fr.getLexeme(i);return this._parsingErrors.push({message:s,offset:n,lexeme:o,additionalInfo:e}),zr._parseError}_check(t){return this._peek().type===t}_peek(){return this._tokens[this._current]}_isAtEnd(){return 20===this._peek().type}}zr._parseError=new Error;class Hr{static false(){return Ur.INSTANCE}static true(){return qr.INSTANCE}static has(t){return Kr.create(t)}static equals(t,i){return Gr.create(t,i)}static notEquals(t,i){return Jr.create(t,i)}static regex(t,i){return nh.create(t,i)}static in(t,i){return Zr.create(t,i)}static notIn(t,i){return Qr.create(t,i)}static not(t){return Yr.create(t)}static and(...t){return hh.create(t,null,!0)}static or(...t){return ch.create(t,null,!0)}static deserialize(t){if(null!=t)return this._parser.parse(t)}}function Vr(t,i){return t.cmp(i)}Hr._parser=new zr({regexParsingWithErrorRecovery:!1});class Ur{constructor(){this.type=0}cmp(t){return this.type-t.type}equals(t){return t.type===this.type}substituteConstants(){return this}evaluate(t){return!1}serialize(){return"false"}keys(){return[]}negate(){return qr.INSTANCE}}Ur.INSTANCE=new Ur;class qr{constructor(){this.type=1}cmp(t){return this.type-t.type}equals(t){return t.type===this.type}substituteConstants(){return this}evaluate(t){return!0}serialize(){return"true"}keys(){return[]}negate(){return Ur.INSTANCE}}qr.INSTANCE=new qr;class Kr{static create(t,i=null){const e=Tr.get(t);return"boolean"==typeof e?e?qr.INSTANCE:Ur.INSTANCE:new Kr(t,i)}constructor(t,i){this.key=t,this.negated=i,this.type=2}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,t.key)}equals(t){return t.type===this.type&&this.key===t.key}substituteConstants(){const t=Tr.get(this.key);return"boolean"==typeof t?t?qr.INSTANCE:Ur.INSTANCE:this}evaluate(t){return!!t.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=Yr.create(this.key,this)),this.negated}}class Gr{static create(t,i,e=null){if("boolean"==typeof i)return i?Kr.create(t,e):Yr.create(t,e);const s=Tr.get(t);return"boolean"==typeof s?i===(s?"true":"false")?qr.INSTANCE:Ur.INSTANCE:new Gr(t,i,e)}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=4}cmp(t){return t.type!==this.type?this.type-t.type:dh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){const t=Tr.get(this.key);return"boolean"==typeof t?this.value===(t?"true":"false")?qr.INSTANCE:Ur.INSTANCE:this}evaluate(t){return t.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Jr.create(this.key,this.value,this)),this.negated}}class Zr{static create(t,i){return new Zr(t,i)}constructor(t,i){this.key=t,this.valueKey=i,this.type=10,this.negated=null}cmp(t){return t.type!==this.type?this.type-t.type:dh(this.key,this.valueKey,t.key,t.valueKey)}equals(t){return t.type===this.type&&this.key===t.key&&this.valueKey===t.valueKey}substituteConstants(){return this}evaluate(t){const i=t.getValue(this.valueKey),e=t.getValue(this.key);return Array.isArray(i)?i.includes(e):"string"==typeof e&&"object"==typeof i&&null!==i&&Rr.call(i,e)}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=Qr.create(this.key,this.valueKey)),this.negated}}class Qr{static create(t,i){return new Qr(t,i)}constructor(t,i){this.key=t,this.valueKey=i,this.type=11,this._negated=Zr.create(t,i)}cmp(t){return t.type!==this.type?this.type-t.type:this._negated.cmp(t._negated)}equals(t){return t.type===this.type&&this._negated.equals(t._negated)}substituteConstants(){return this}evaluate(t){return!this._negated.evaluate(t)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class Jr{static create(t,i,e=null){if("boolean"==typeof i)return i?Yr.create(t,e):Kr.create(t,e);const s=Tr.get(t);return"boolean"==typeof s?i===(s?"true":"false")?Ur.INSTANCE:qr.INSTANCE:new Jr(t,i,e)}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=5}cmp(t){return t.type!==this.type?this.type-t.type:dh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){const t=Tr.get(this.key);return"boolean"==typeof t?this.value===(t?"true":"false")?Ur.INSTANCE:qr.INSTANCE:this}evaluate(t){return t.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Gr.create(this.key,this.value,this)),this.negated}}class Yr{static create(t,i=null){const e=Tr.get(t);return"boolean"==typeof e?e?Ur.INSTANCE:qr.INSTANCE:new Yr(t,i)}constructor(t,i){this.key=t,this.negated=i,this.type=3}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,t.key)}equals(t){return t.type===this.type&&this.key===t.key}substituteConstants(){const t=Tr.get(this.key);return"boolean"==typeof t?t?Ur.INSTANCE:qr.INSTANCE:this}evaluate(t){return!t.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Kr.create(this.key,this)),this.negated}}function Xr(t,i){if("string"==typeof t){const i=parseFloat(t);isNaN(i)||(t=i)}return"string"==typeof t||"number"==typeof t?i(t):Ur.INSTANCE}class th{static create(t,i,e=null){return Xr(i,(i=>new th(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=12}cmp(t){return t.type!==this.type?this.type-t.type:dh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=sh.create(this.key,this.value,this)),this.negated}}class ih{static create(t,i,e=null){return Xr(i,(i=>new ih(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=13}cmp(t){return t.type!==this.type?this.type-t.type:dh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=eh.create(this.key,this.value,this)),this.negated}}class eh{static create(t,i,e=null){return Xr(i,(i=>new eh(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=14}cmp(t){return t.type!==this.type?this.type-t.type:dh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))new sh(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=15}cmp(t){return t.type!==this.type?this.type-t.type:dh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=th.create(this.key,this.value,this)),this.negated}}class nh{static create(t,i){return new nh(t,i)}constructor(t,i){this.key=t,this.regexp=i,this.type=7,this.negated=null}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.keyt.key)return 1;const i=this.regexp?this.regexp.source:"",e=t.regexp?t.regexp.source:"";return ie?1:0}equals(t){return t.type===this.type&&(this.key===t.key&&(this.regexp?this.regexp.source:"")===(t.regexp?t.regexp.source:""))}substituteConstants(){return this}evaluate(t){const i=t.getValue(this.key);return!!this.regexp&&this.regexp.test(i)}serialize(){return`${this.key} =~ ${this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/"}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=oh.create(this)),this.negated}}class oh{static create(t){return new oh(t)}constructor(t){this._actual=t,this.type=8}cmp(t){return t.type!==this.type?this.type-t.type:this._actual.cmp(t._actual)}equals(t){return t.type===this.type&&this._actual.equals(t._actual)}substituteConstants(){return this}evaluate(t){return!this._actual.evaluate(t)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function rh(t){let i=null;for(let e=0,s=t.length;et.expr.length)return 1;for(let i=0,e=this.expr.length;i1;){const t=s[s.length-1];if(9!==t.type)break;s.pop();const i=s.pop(),n=0===s.length,o=ch.create(t.expr.map((t=>hh.create([t,i],null,e))),null,n);o&&(s.push(o),s.sort(Vr))}if(1===s.length)return s[0];if(e){for(let t=0;tt.serialize())).join(" && ")}keys(){const t=[];for(const i of this.expr)t.push(...i.keys());return t}negate(){if(!this.negated){const t=[];for(const i of this.expr)t.push(i.negate());this.negated=ch.create(t,this,!0)}return this.negated}}class ch{static create(t,i,e){return ch._normalizeArr(t,i,e)}constructor(t,i){this.expr=t,this.negated=i,this.type=9}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.expr.lengtht.expr.length)return 1;for(let i=0,e=this.expr.length;it.serialize())).join(" || ")}keys(){const t=[];for(const i of this.expr)t.push(...i.keys());return t}negate(){if(!this.negated){const t=[];for(const i of this.expr)t.push(i.negate());for(;t.length>1;){const i=t.shift(),e=t.shift(),s=[];for(const t of gh(i))for(const i of gh(e))s.push(hh.create([t,i],null,!1));t.unshift(ch.create(s,null,!1))}this.negated=ch.create(t,this,!0)}return this.negated}}class ah extends Kr{static all(){return ah._info.values()}constructor(t,i,e){super(t,null),this._defaultValue=i,"object"==typeof e?ah._info.push({...e,key:t}):!0!==e&&ah._info.push({key:t,description:e,type:null!=i?typeof i:void 0})}bindTo(t){return t.createKey(this.key,this._defaultValue)}getValue(t){return t.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(t){return Gr.create(this.key,t)}}ah._info=[];const lh=fr("contextKeyService");function uh(t,i){return ti?1:0}function dh(t,i,e,s){return te?1:is?1:0}function fh(t,i){if(0===t.type||1===i.type)return!0;if(9===t.type)return 9===i.type&&ph(t.expr,i.expr);if(9===i.type){for(const e of i.expr)if(fh(t,e))return!0;return!1}if(6===t.type){if(6===i.type)return ph(i.expr,t.expr);for(const e of t.expr)if(fh(e,i))return!0;return!1}return t.equals(i)}function ph(t,i){let e=0,s=0;for(;e>>0,s=(4294901760&t)>>>16;return new bh(0!==s?[wh(e,i),wh(s,i)]:[wh(e,i)])}{const e=[];for(let s=0;s{r(),this._cachedMergedKeybindings=null}))}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(Lh)),this._cachedMergedKeybindings.slice(0)}}const Mh=new Ah;function Lh(t,i){if(t.weight1!==i.weight1)return t.weight1-i.weight1;if(t.command&&i.command){if(t.commandi.command)return 1}return t.weight2-i.weight2}Eh.add("platform.keybindingsRegistry",Mh);var Fh,Th=function(t,i){return function(e,s){i(e,s,t)}};function Rh(t){return void 0!==t.command}class Oh{constructor(t){if(Oh._instances.has(t))throw new TypeError(`MenuId with identifier '${t}' already exists. Use MenuId.for(ident) or a unique identifier`);Oh._instances.set(t,this),this.id=t}}Oh._instances=new Map,Oh.CommandPalette=new Oh("CommandPalette"),Oh.DebugBreakpointsContext=new Oh("DebugBreakpointsContext"),Oh.DebugCallStackContext=new Oh("DebugCallStackContext"),Oh.DebugConsoleContext=new Oh("DebugConsoleContext"),Oh.DebugVariablesContext=new Oh("DebugVariablesContext"),Oh.DebugWatchContext=new Oh("DebugWatchContext"),Oh.DebugToolBar=new Oh("DebugToolBar"),Oh.DebugToolBarStop=new Oh("DebugToolBarStop"),Oh.EditorContext=new Oh("EditorContext"),Oh.SimpleEditorContext=new Oh("SimpleEditorContext"),Oh.EditorContent=new Oh("EditorContent"),Oh.EditorLineNumberContext=new Oh("EditorLineNumberContext"),Oh.EditorContextCopy=new Oh("EditorContextCopy"),Oh.EditorContextPeek=new Oh("EditorContextPeek"),Oh.EditorContextShare=new Oh("EditorContextShare"),Oh.EditorTitle=new Oh("EditorTitle"),Oh.EditorTitleRun=new Oh("EditorTitleRun"),Oh.EditorTitleContext=new Oh("EditorTitleContext"),Oh.EditorTitleContextShare=new Oh("EditorTitleContextShare"),Oh.EmptyEditorGroup=new Oh("EmptyEditorGroup"),Oh.EmptyEditorGroupContext=new Oh("EmptyEditorGroupContext"),Oh.EditorTabsBarContext=new Oh("EditorTabsBarContext"),Oh.EditorTabsBarShowTabsSubmenu=new Oh("EditorTabsBarShowTabsSubmenu"),Oh.EditorActionsPositionSubmenu=new Oh("EditorActionsPositionSubmenu"),Oh.ExplorerContext=new Oh("ExplorerContext"),Oh.ExplorerContextShare=new Oh("ExplorerContextShare"),Oh.ExtensionContext=new Oh("ExtensionContext"),Oh.GlobalActivity=new Oh("GlobalActivity"),Oh.CommandCenter=new Oh("CommandCenter"),Oh.CommandCenterCenter=new Oh("CommandCenterCenter"),Oh.LayoutControlMenuSubmenu=new Oh("LayoutControlMenuSubmenu"),Oh.LayoutControlMenu=new Oh("LayoutControlMenu"),Oh.MenubarMainMenu=new Oh("MenubarMainMenu"),Oh.MenubarAppearanceMenu=new Oh("MenubarAppearanceMenu"),Oh.MenubarDebugMenu=new Oh("MenubarDebugMenu"),Oh.MenubarEditMenu=new Oh("MenubarEditMenu"),Oh.MenubarCopy=new Oh("MenubarCopy"),Oh.MenubarFileMenu=new Oh("MenubarFileMenu"),Oh.MenubarGoMenu=new Oh("MenubarGoMenu"),Oh.MenubarHelpMenu=new Oh("MenubarHelpMenu"),Oh.MenubarLayoutMenu=new Oh("MenubarLayoutMenu"),Oh.MenubarNewBreakpointMenu=new Oh("MenubarNewBreakpointMenu"),Oh.PanelAlignmentMenu=new Oh("PanelAlignmentMenu"),Oh.PanelPositionMenu=new Oh("PanelPositionMenu"),Oh.ActivityBarPositionMenu=new Oh("ActivityBarPositionMenu"),Oh.MenubarPreferencesMenu=new Oh("MenubarPreferencesMenu"),Oh.MenubarRecentMenu=new Oh("MenubarRecentMenu"),Oh.MenubarSelectionMenu=new Oh("MenubarSelectionMenu"),Oh.MenubarShare=new Oh("MenubarShare"),Oh.MenubarSwitchEditorMenu=new Oh("MenubarSwitchEditorMenu"),Oh.MenubarSwitchGroupMenu=new Oh("MenubarSwitchGroupMenu"),Oh.MenubarTerminalMenu=new Oh("MenubarTerminalMenu"),Oh.MenubarViewMenu=new Oh("MenubarViewMenu"),Oh.MenubarHomeMenu=new Oh("MenubarHomeMenu"),Oh.OpenEditorsContext=new Oh("OpenEditorsContext"),Oh.OpenEditorsContextShare=new Oh("OpenEditorsContextShare"),Oh.ProblemsPanelContext=new Oh("ProblemsPanelContext"),Oh.SCMInputBox=new Oh("SCMInputBox"),Oh.SCMHistoryItem=new Oh("SCMHistoryItem"),Oh.SCMChangeContext=new Oh("SCMChangeContext"),Oh.SCMResourceContext=new Oh("SCMResourceContext"),Oh.SCMResourceContextShare=new Oh("SCMResourceContextShare"),Oh.SCMResourceFolderContext=new Oh("SCMResourceFolderContext"),Oh.SCMResourceGroupContext=new Oh("SCMResourceGroupContext"),Oh.SCMSourceControl=new Oh("SCMSourceControl"),Oh.SCMTitle=new Oh("SCMTitle"),Oh.SearchContext=new Oh("SearchContext"),Oh.SearchActionMenu=new Oh("SearchActionContext"),Oh.StatusBarWindowIndicatorMenu=new Oh("StatusBarWindowIndicatorMenu"),Oh.StatusBarRemoteIndicatorMenu=new Oh("StatusBarRemoteIndicatorMenu"),Oh.StickyScrollContext=new Oh("StickyScrollContext"),Oh.TestItem=new Oh("TestItem"),Oh.TestItemGutter=new Oh("TestItemGutter"),Oh.TestMessageContext=new Oh("TestMessageContext"),Oh.TestMessageContent=new Oh("TestMessageContent"),Oh.TestPeekElement=new Oh("TestPeekElement"),Oh.TestPeekTitle=new Oh("TestPeekTitle"),Oh.TouchBarContext=new Oh("TouchBarContext"),Oh.TitleBarContext=new Oh("TitleBarContext"),Oh.TitleBarTitleContext=new Oh("TitleBarTitleContext"),Oh.TunnelContext=new Oh("TunnelContext"),Oh.TunnelPrivacy=new Oh("TunnelPrivacy"),Oh.TunnelProtocol=new Oh("TunnelProtocol"),Oh.TunnelPortInline=new Oh("TunnelInline"),Oh.TunnelTitle=new Oh("TunnelTitle"),Oh.TunnelLocalAddressInline=new Oh("TunnelLocalAddressInline"),Oh.TunnelOriginInline=new Oh("TunnelOriginInline"),Oh.ViewItemContext=new Oh("ViewItemContext"),Oh.ViewContainerTitle=new Oh("ViewContainerTitle"),Oh.ViewContainerTitleContext=new Oh("ViewContainerTitleContext"),Oh.ViewTitle=new Oh("ViewTitle"),Oh.ViewTitleContext=new Oh("ViewTitleContext"),Oh.CommentEditorActions=new Oh("CommentEditorActions"),Oh.CommentThreadTitle=new Oh("CommentThreadTitle"),Oh.CommentThreadActions=new Oh("CommentThreadActions"),Oh.CommentThreadAdditionalActions=new Oh("CommentThreadAdditionalActions"),Oh.CommentThreadTitleContext=new Oh("CommentThreadTitleContext"),Oh.CommentThreadCommentContext=new Oh("CommentThreadCommentContext"),Oh.CommentTitle=new Oh("CommentTitle"),Oh.CommentActions=new Oh("CommentActions"),Oh.InteractiveToolbar=new Oh("InteractiveToolbar"),Oh.InteractiveCellTitle=new Oh("InteractiveCellTitle"),Oh.InteractiveCellDelete=new Oh("InteractiveCellDelete"),Oh.InteractiveCellExecute=new Oh("InteractiveCellExecute"),Oh.InteractiveInputExecute=new Oh("InteractiveInputExecute"),Oh.NotebookToolbar=new Oh("NotebookToolbar"),Oh.NotebookStickyScrollContext=new Oh("NotebookStickyScrollContext"),Oh.NotebookCellTitle=new Oh("NotebookCellTitle"),Oh.NotebookCellDelete=new Oh("NotebookCellDelete"),Oh.NotebookCellInsert=new Oh("NotebookCellInsert"),Oh.NotebookCellBetween=new Oh("NotebookCellBetween"),Oh.NotebookCellListTop=new Oh("NotebookCellTop"),Oh.NotebookCellExecute=new Oh("NotebookCellExecute"),Oh.NotebookCellExecutePrimary=new Oh("NotebookCellExecutePrimary"),Oh.NotebookDiffCellInputTitle=new Oh("NotebookDiffCellInputTitle"),Oh.NotebookDiffCellMetadataTitle=new Oh("NotebookDiffCellMetadataTitle"),Oh.NotebookDiffCellOutputsTitle=new Oh("NotebookDiffCellOutputsTitle"),Oh.NotebookOutputToolbar=new Oh("NotebookOutputToolbar"),Oh.NotebookEditorLayoutConfigure=new Oh("NotebookEditorLayoutConfigure"),Oh.NotebookKernelSource=new Oh("NotebookKernelSource"),Oh.BulkEditTitle=new Oh("BulkEditTitle"),Oh.BulkEditContext=new Oh("BulkEditContext"),Oh.TimelineItemContext=new Oh("TimelineItemContext"),Oh.TimelineTitle=new Oh("TimelineTitle"),Oh.TimelineTitleContext=new Oh("TimelineTitleContext"),Oh.TimelineFilterSubMenu=new Oh("TimelineFilterSubMenu"),Oh.AccountsContext=new Oh("AccountsContext"),Oh.SidebarTitle=new Oh("SidebarTitle"),Oh.PanelTitle=new Oh("PanelTitle"),Oh.AuxiliaryBarTitle=new Oh("AuxiliaryBarTitle"),Oh.TerminalInstanceContext=new Oh("TerminalInstanceContext"),Oh.TerminalEditorInstanceContext=new Oh("TerminalEditorInstanceContext"),Oh.TerminalNewDropdownContext=new Oh("TerminalNewDropdownContext"),Oh.TerminalTabContext=new Oh("TerminalTabContext"),Oh.TerminalTabEmptyAreaContext=new Oh("TerminalTabEmptyAreaContext"),Oh.TerminalStickyScrollContext=new Oh("TerminalStickyScrollContext"),Oh.WebviewContext=new Oh("WebviewContext"),Oh.InlineCompletionsActions=new Oh("InlineCompletionsActions"),Oh.NewFile=new Oh("NewFile"),Oh.MergeInput1Toolbar=new Oh("MergeToolbar1Toolbar"),Oh.MergeInput2Toolbar=new Oh("MergeToolbar2Toolbar"),Oh.MergeBaseToolbar=new Oh("MergeBaseToolbar"),Oh.MergeInputResultToolbar=new Oh("MergeToolbarResultToolbar"),Oh.InlineSuggestionToolbar=new Oh("InlineSuggestionToolbar"),Oh.ChatContext=new Oh("ChatContext"),Oh.ChatCodeBlock=new Oh("ChatCodeblock"),Oh.ChatMessageTitle=new Oh("ChatMessageTitle"),Oh.ChatExecute=new Oh("ChatExecute"),Oh.ChatInputSide=new Oh("ChatInputSide"),Oh.AccessibleView=new Oh("AccessibleView"),Oh.MultiDiffEditorFileToolbar=new Oh("MultiDiffEditorFileToolbar");const Ih=fr("menuService");class _h{static for(t){let i=this._all.get(t);return i||(i=new _h(t),this._all.set(t,i)),i}static merge(t){const i=new Set;for(const e of t)e instanceof _h&&i.add(e.id);return i}constructor(t){this.id=t,this.has=i=>i===t}}_h._all=new Map;const Nh=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new we({merge:_h.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(t){return this._commands.set(t.id,t),this._onDidChangeMenu.fire(_h.for(Oh.CommandPalette)),Xi((()=>{this._commands.delete(t.id)&&this._onDidChangeMenu.fire(_h.for(Oh.CommandPalette))}))}getCommand(t){return this._commands.get(t)}getCommands(){const t=new Map;return this._commands.forEach(((i,e)=>t.set(e,i))),t}appendMenuItem(t,i){let e=this._menuItems.get(t);e||(e=new qt,this._menuItems.set(t,e));const s=e.push(i);return this._onDidChangeMenu.fire(_h.for(t)),Xi((()=>{s(),this._onDidChangeMenu.fire(_h.for(t))}))}appendMenuItems(t){const i=new te;for(const{id:e,item:s}of t)i.add(this.appendMenuItem(e,s));return i}getMenuItems(t){let i;return i=this._menuItems.has(t)?[...this._menuItems.get(t)]:[],t===Oh.CommandPalette&&this._appendImplicitItems(i),i}_appendImplicitItems(t){const i=new Set;for(const e of t)Rh(e)&&(i.add(e.command.id),e.alt&&i.add(e.alt.id));this._commands.forEach(((e,s)=>{i.has(s)||t.push({command:e})}))}};class Bh extends yr{constructor(t,i,e){super(`submenuitem.${t.submenu.id}`,"string"==typeof t.title?t.title:t.title.value,e,"submenu"),this.item=t,this.hideActions=i}}let Ph=Fh=class{static label(t,i){return(null==i?void 0:i.renderShortTitle)&&t.shortTitle?"string"==typeof t.shortTitle?t.shortTitle:t.shortTitle.value:"string"==typeof t.title?t.title:t.title.value}constructor(t,i,e,s,n,o){var r,h;let c;if(this.hideActions=s,this._commandService=o,this.id=t.id,this.label=Fh.label(t,e),this.tooltip=null!==(h="string"==typeof t.tooltip?t.tooltip:null===(r=t.tooltip)||void 0===r?void 0:r.value)&&void 0!==h?h:"",this.enabled=!t.precondition||n.contextMatchesRules(t.precondition),this.checked=void 0,t.toggled){const i=t.toggled.condition?t.toggled:{condition:t.toggled};this.checked=n.contextMatchesRules(i.condition),this.checked&&i.tooltip&&(this.tooltip="string"==typeof i.tooltip?i.tooltip:i.tooltip.value),this.checked&&Sr.isThemeIcon(i.icon)&&(c=i.icon),this.checked&&i.title&&(this.label="string"==typeof i.title?i.title:i.title.value)}c||(c=Sr.isThemeIcon(t.icon)?t.icon:void 0),this.item=t,this.alt=i?new Fh(i,void 0,e,s,n,o):void 0,this._options=e,this.class=c&&Sr.asClassName(c)}run(...t){var i,e;let s=[];return(null===(i=this._options)||void 0===i?void 0:i.arg)&&(s=[...s,this._options.arg]),(null===(e=this._options)||void 0===e?void 0:e.shouldForwardArgs)&&(s=[...s,...t]),this._commandService.executeCommand(this.id,...s)}};Ph=Fh=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Th(4,lh),Th(5,Dr)],Ph);class $h{constructor(t){this.desc=t}}function Wh(t){const i=new te,e=new t,{f1:s,menu:n,keybinding:o,...r}=e.desc;if(i.add(Er.registerCommand({id:r.id,handler:(t,...i)=>e.run(t,...i),metadata:r.metadata})),Array.isArray(n))for(const t of n)i.add(Nh.appendMenuItem(t.id,{command:{...r,precondition:null===t.precondition?void 0:r.precondition},...t}));else n&&i.add(Nh.appendMenuItem(n.id,{command:{...r,precondition:null===n.precondition?void 0:r.precondition},...n}));if(s&&(i.add(Nh.appendMenuItem(Oh.CommandPalette,{command:r,when:r.precondition})),i.add(Nh.addCommand(r))),Array.isArray(o))for(const t of o)i.add(Mh.registerKeybindingRule({...t,id:r.id,when:r.precondition?Hr.and(r.precondition,t.when):t.when}));else o&&i.add(Mh.registerKeybindingRule({...o,id:r.id,when:r.precondition?Hr.and(r.precondition,o.when):o.when}));return i}const jh=fr("telemetryService"),zh=fr("logService");var Hh;!function(t){t[t.Off=0]="Off",t[t.Trace=1]="Trace",t[t.Debug=2]="Debug",t[t.Info=3]="Info",t[t.Warning=4]="Warning",t[t.Error=5]="Error"}(Hh||(Hh={}));const Vh=Hh.Info;class Uh extends ie{constructor(){super(...arguments),this.level=Vh,this._onDidChangeLogLevel=this._register(new fe),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(t){this.level!==t&&(this.level=t,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(t){return this.level!==Hh.Off&&this.level<=t}}class qh extends Uh{constructor(t=Vh,i=!0){super(),this.useColors=i,this.setLevel(t)}trace(t,...i){this.checkLogLevel(Hh.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",t,...i):console.log(t,...i))}debug(t,...i){this.checkLogLevel(Hh.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",t,...i):console.log(t,...i))}info(t,...i){this.checkLogLevel(Hh.Info)&&(this.useColors?console.log("%c INFO","color: #33f",t,...i):console.log(t,...i))}warn(t,...i){this.checkLogLevel(Hh.Warning)&&(this.useColors?console.log("%c WARN","color: #993",t,...i):console.log(t,...i))}error(t,...i){this.checkLogLevel(Hh.Error)&&(this.useColors?console.log("%c ERR","color: #f33",t,...i):console.error(t,...i))}dispose(){}}class Kh extends Uh{constructor(t){super(),this.loggers=t,t.length&&this.setLevel(t[0].getLevel())}setLevel(t){for(const i of this.loggers)i.setLevel(t);super.setLevel(t)}trace(t,...i){for(const e of this.loggers)e.trace(t,...i)}debug(t,...i){for(const e of this.loggers)e.debug(t,...i)}info(t,...i){for(const e of this.loggers)e.info(t,...i)}warn(t,...i){for(const e of this.loggers)e.warn(t,...i)}error(t,...i){for(const e of this.loggers)e.error(t,...i)}dispose(){for(const t of this.loggers)t.dispose()}}new ah("logLevel",function(){switch(Hh.Info){case Hh.Trace:return"trace";case Hh.Debug:return"debug";case Hh.Info:return"info";case Hh.Warning:return"warn";case Hh.Error:return"error";case Hh.Off:return"off"}}()),Et||document.queryCommandSupported&&document.queryCommandSupported("copy")||navigator&&navigator.clipboard&&navigator,Et||navigator&&navigator.clipboard&&navigator,Et||Yo||navigator,"ontouchstart"in Wn||navigator;const Gh=Wn.PointerEvent&&("ontouchstart"in Wn||navigator.maxTouchPoints>0||navigator.maxTouchPoints>0),Zh=St?256:2048,Qh=St?2048:256;class Jh{constructor(t){this._standardKeyboardEventBrand=!0;const i=t;this.browserEvent=i,this.target=i.target,this.ctrlKey=i.ctrlKey,this.shiftKey=i.shiftKey,this.altKey=i.altKey,this.metaKey=i.metaKey,this.altGraphKey=i.getModifierState("AltGraph"),this.keyCode=function(t){if(t.charCode){const i=String.fromCharCode(t.charCode).toUpperCase();return Ne.fromString(i)}const i=t.keyCode;if(3===i)return 7;if(qo)switch(i){case 59:return 85;case 60:if(Dt)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(St)return 57}else if(Ko){if(St&&93===i)return 57;if(!St&&92===i)return 57}return Le[i]||0}(i),this.code=i.code,this.ctrlKey=this.ctrlKey||5===this.keyCode,this.altKey=this.altKey||6===this.keyCode,this.shiftKey=this.shiftKey||4===this.keyCode,this.metaKey=this.metaKey||57===this.keyCode,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(t){return this._asKeybinding===t}_computeKeybinding(){let t=0;5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(t=this.keyCode);let i=0;return this.ctrlKey&&(i|=Zh),this.altKey&&(i|=512),this.shiftKey&&(i|=1024),this.metaKey&&(i|=Qh),i|=t,i}_computeKeyCodeChord(){let t=0;return 5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(t=this.keyCode),new vh(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,t)}}const Yh=new WeakMap;function Xh(t){if(!t.parent||t.parent===t)return null;try{const i=t.location,e=t.parent.location;if("null"!==i.origin&&"null"!==e.origin&&i.origin!==e.origin)return null}catch(t){return null}return t.parent}class tc{static getSameOriginWindowChain(t){let i=Yh.get(t);if(!i){i=[],Yh.set(t,i);let e,s=t;do{e=Xh(s),i.push(e?{window:new WeakRef(s),iframeElement:s.frameElement||null}:{window:new WeakRef(s),iframeElement:null}),s=e}while(s)}return i.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(t,i){var e,s;if(!i||t===i)return{top:0,left:0};let n=0,o=0;const r=this.getSameOriginWindowChain(t);for(const t of r){const r=t.window.deref();if(n+=null!==(e=null==r?void 0:r.scrollY)&&void 0!==e?e:0,o+=null!==(s=null==r?void 0:r.scrollX)&&void 0!==s?s:0,r===i)break;if(!t.iframeElement)break;const h=t.iframeElement.getBoundingClientRect();n+=h.top,o+=h.left}return{top:n,left:o}}}class ic{constructor(t,i){this.timestamp=Date.now(),this.browserEvent=i,this.leftButton=0===i.button,this.middleButton=1===i.button,this.rightButton=2===i.button,this.buttons=i.buttons,this.target=i.target,this.detail=i.detail||1,"dblclick"===i.type&&(this.detail=2),this.ctrlKey=i.ctrlKey,this.shiftKey=i.shiftKey,this.altKey=i.altKey,this.metaKey=i.metaKey,"number"==typeof i.pageX?(this.posx=i.pageX,this.posy=i.pageY):(this.posx=i.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=i.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);const e=tc.getPositionOfChildWindowRelativeToAncestorWindow(t,i.view);this.posx-=e.left,this.posy-=e.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}class ec{constructor(t,i=0,e=0){if(this.browserEvent=t||null,this.target=t?t.target||t.targetNode||t.srcElement:null,this.deltaY=e,this.deltaX=i,t){const i=t,e=t;void 0!==i.wheelDeltaY?this.deltaY=i.wheelDeltaY/120:void 0!==e.VERTICAL_AXIS&&e.axis===e.VERTICAL_AXIS?this.deltaY=-e.detail/3:"wheel"===t.type&&(this.deltaY=t.deltaMode===t.DOM_DELTA_LINE?qo&&!St?-t.deltaY/3:-t.deltaY:-t.deltaY/40),void 0!==i.wheelDeltaX?this.deltaX=Zo&&Ct?-i.wheelDeltaX/120:i.wheelDeltaX/120:void 0!==e.HORIZONTAL_AXIS&&e.axis===e.HORIZONTAL_AXIS?this.deltaX=-t.detail/3:"wheel"===t.type&&(this.deltaX=t.deltaMode===t.DOM_DELTA_LINE?qo&&!St?-t.deltaX/3:-t.deltaX:-t.deltaX/40),0===this.deltaY&&0===this.deltaX&&t.wheelDelta&&(this.deltaY=t.wheelDelta/120)}}preventDefault(){var t;null===(t=this.browserEvent)||void 0===t||t.preventDefault()}stopPropagation(){var t;null===(t=this.browserEvent)||void 0===t||t.stopPropagation()}}const sc=Symbol("MicrotaskDelay");function nc(t){return!!t&&"function"==typeof t.then}function oc(t){const i=new Se,e=t(i.token),s=new Promise(((t,s)=>{const n=i.token.onCancellationRequested((()=>{n.dispose(),i.dispose(),s(new Hi)}));Promise.resolve(e).then((e=>{n.dispose(),i.dispose(),t(e)}),(t=>{n.dispose(),i.dispose(),s(t)}))}));return new class{cancel(){i.cancel()}then(t,i){return s.then(t,i)}catch(t){return this.then(void 0,t)}finally(t){return s.finally(t)}}}function rc(t,i,e){return new Promise(((s,n)=>{const o=i.onCancellationRequested((()=>{o.dispose(),s(e)}));t.then(s,n).finally((()=>o.dispose()))}))}class hc{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(t){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=t,!this.queuedPromise){const t=()=>{if(this.queuedPromise=null,this.isDisposed)return;const t=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,t};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=t(),new Promise(((t,i)=>{this.activePromise.then((i=>{this.activePromise=null,t(i)}),(t=>{this.activePromise=null,i(t)}))}))}dispose(){this.isDisposed=!0}}class cc{constructor(t){this.defaultDelay=t,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(t,i=this.defaultDelay){this.task=t,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(((t,i)=>{this.doResolve=t,this.doReject=i})).then((()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const t=this.task;return this.task=null,t()}})));const e=()=>{var t;this.deferred=null,null===(t=this.doResolve)||void 0===t||t.call(this,null)};return this.deferred=i===sc?(t=>{let i=!0;return queueMicrotask((()=>{i&&(i=!1,t())})),{isTriggered:()=>i,dispose:()=>{i=!1}}})(e):((t,i)=>{let e=!0;const s=setTimeout((()=>{e=!1,i()}),t);return{isTriggered:()=>e,dispose:()=>{clearTimeout(s),e=!1}}})(i,e),this.completionPromise}isTriggered(){var t;return!!(null===(t=this.deferred)||void 0===t?void 0:t.isTriggered())}cancel(){var t;this.cancelTimeout(),this.completionPromise&&(null===(t=this.doReject)||void 0===t||t.call(this,new Hi),this.completionPromise=null)}cancelTimeout(){var t;null===(t=this.deferred)||void 0===t||t.dispose(),this.deferred=null}dispose(){this.cancel()}}class ac{constructor(t){this.delayer=new cc(t),this.throttler=new hc}trigger(t,i){return this.delayer.trigger((()=>this.throttler.queue(t)),i)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function lc(t,i){return i?new Promise(((e,s)=>{const n=setTimeout((()=>{o.dispose(),e()}),t),o=i.onCancellationRequested((()=>{clearTimeout(n),o.dispose(),s(new Hi)}))})):oc((i=>lc(t,i)))}function uc(t,i=0,e){const s=setTimeout((()=>{t(),e&&n.dispose()}),i),n=Xi((()=>{clearTimeout(s),null==e||e.deleteAndLeak(n)}));return null==e||e.add(n),n}function dc(t,i=(t=>!!t),e=null){let s=0;const n=t.length,o=()=>{if(s>=n)return Promise.resolve(e);const r=t[s++];return Promise.resolve(r()).then((t=>i(t)?Promise.resolve(t):o()))};return o()}class fc{constructor(t,i){this._token=-1,"function"==typeof t&&"number"==typeof i&&this.setIfNotSet(t,i)}dispose(){this.cancel()}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(t,i){this.cancel(),this._token=setTimeout((()=>{this._token=-1,t()}),i)}setIfNotSet(t,i){-1===this._token&&(this._token=setTimeout((()=>{this._token=-1,t()}),i))}}class pc{constructor(){this.disposable=void 0}cancel(){var t;null===(t=this.disposable)||void 0===t||t.dispose(),this.disposable=void 0}cancelAndSet(t,i,e=globalThis){this.cancel();const s=e.setInterval((()=>{t()}),i);this.disposable=Xi((()=>{e.clearInterval(s),this.disposable=void 0}))}dispose(){this.cancel()}}class gc{constructor(t,i){this.timeoutToken=-1,this.runner=t,this.timeout=i,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(t=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,t)}get delay(){return this.timeout}set delay(t){this.timeout=t}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var t;null===(t=this.runner)||void 0===t||t.call(this)}}let mc,wc;wc="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(t,i)=>{It((()=>{if(e)return;const t=Date.now()+15;i(Object.freeze({didTimeout:!0,timeRemaining:()=>Math.max(0,t-Date.now())}))}));let e=!1;return{dispose(){e||(e=!0)}}}:(t,i,e)=>{const s=t.requestIdleCallback(i,"number"==typeof e?{timeout:e}:void 0);let n=!1;return{dispose(){n||(n=!0,t.cancelIdleCallback(s))}}},mc=t=>wc(globalThis,t);class vc{constructor(t,i){this._didRun=!1,this._executor=()=>{try{this._value=i()}catch(t){this._error=t}finally{this._didRun=!0}},this._handle=wc(t,(()=>this._executor()))}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class bc extends vc{constructor(t){super(globalThis,t)}}class yc{get isRejected(){var t;return 1===(null===(t=this.outcome)||void 0===t?void 0:t.outcome)}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise(((t,i)=>{this.completeCallback=t,this.errorCallback=i}))}complete(t){return new Promise((i=>{this.completeCallback(t),this.outcome={outcome:0,value:t},i()}))}error(t){return new Promise((i=>{this.errorCallback(t),this.outcome={outcome:1,value:t},i()}))}cancel(){return this.error(new Hi)}}var kc;!function(t){t.settled=async function(t){let i;const e=await Promise.all(t.map((t=>t.then((t=>t),(t=>{i||(i=t)})))));if(void 0!==i)throw i;return e},t.withAsyncBody=function(t){return new Promise((async(i,e)=>{try{await t(i,e)}catch(t){e(t)}}))}}(kc||(kc={}));class xc{static fromArray(t){return new xc((i=>{i.emitMany(t)}))}static fromPromise(t){return new xc((async i=>{i.emitMany(await t)}))}static fromPromises(t){return new xc((async i=>{await Promise.all(t.map((async t=>i.emitOne(await t))))}))}static merge(t){return new xc((async i=>{await Promise.all(t.map((async t=>{for await(const e of t)i.emitOne(e)})))}))}constructor(t){this._state=0,this._results=[],this._error=null,this._onStateChanged=new fe,queueMicrotask((async()=>{const i={emitOne:t=>this.emitOne(t),emitMany:t=>this.emitMany(t),reject:t=>this.reject(t)};try{await Promise.resolve(t(i)),this.resolve()}catch(t){this.reject(t)}finally{i.emitOne=void 0,i.emitMany=void 0,i.reject=void 0}}))}[Symbol.asyncIterator](){let t=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(t{for await(const s of t)e.emitOne(i(s))}))}map(t){return xc.map(this,t)}static filter(t,i){return new xc((async e=>{for await(const s of t)i(s)&&e.emitOne(s)}))}filter(t){return xc.filter(this,t)}static coalesce(t){return xc.filter(t,(t=>!!t))}coalesce(){return xc.coalesce(this)}static async toPromise(t){const i=[];for await(const e of t)i.push(e);return i}toPromise(){return xc.toPromise(this)}emitOne(t){0===this._state&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){0===this._state&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(t){0===this._state&&(this._state=2,this._error=t,this._onStateChanged.fire())}}xc.EMPTY=xc.fromArray([]);class Cc extends xc{constructor(t,i){super(i),this._source=t}cancel(){this._source.cancel()}} /*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */ const{entries:Sc,setPrototypeOf:Dc,isFrozen:Ec,getPrototypeOf:Ac,getOwnPropertyDescriptor:Mc}=Object;let{freeze:Lc,seal:Fc,create:Tc}=Object,{apply:Rc,construct:Oc}="undefined"!=typeof Reflect&&Reflect;Rc||(Rc=function(t,i,e){return t.apply(i,e)}),Lc||(Lc=function(t){return t}),Fc||(Fc=function(t){return t}),Oc||(Oc=function(t,i){return new t(...i)});const Ic=qc(Array.prototype.forEach),_c=qc(Array.prototype.pop),Nc=qc(Array.prototype.push),Bc=qc(String.prototype.toLowerCase),Pc=qc(String.prototype.toString),$c=qc(String.prototype.match),Wc=qc(String.prototype.replace),jc=qc(String.prototype.indexOf),zc=qc(String.prototype.trim),Hc=qc(RegExp.prototype.test),Vc=(Uc=TypeError,function(){for(var t=arguments.length,i=new Array(t),e=0;e1?e-1:0),n=1;n/gm),aa=Fc(/\${[\w\W]*}/gm),la=Fc(/^data-[\-\w.\u00B7-\uFFFF]/),ua=Fc(/^aria-[\-\w]+$/),da=Fc(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),fa=Fc(/^(?:\w+script|data):/i),pa=Fc(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ga=Fc(/^html$/i);var ma=Object.freeze({__proto__:null,MUSTACHE_EXPR:ha,ERB_EXPR:ca,TMPLIT_EXPR:aa,DATA_ATTR:la,ARIA_ATTR:ua,IS_ALLOWED_URI:da,IS_SCRIPT_OR_DATA:fa,ATTR_WHITESPACE:pa,DOCTYPE_NAME:ga});const wa=()=>"undefined"==typeof window?null:window;var va=function t(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:wa();const e=i=>t(i);if(e.version="3.0.5",e.removed=[],!i||!i.document||9!==i.document.nodeType)return e.isSupported=!1,e;const s=i.document,n=s.currentScript;let{document:o}=i;const{DocumentFragment:r,HTMLTemplateElement:h,Node:c,Element:a,NodeFilter:l,NamedNodeMap:u=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=i,g=a.prototype,m=Zc(g,"cloneNode"),w=Zc(g,"nextSibling"),v=Zc(g,"childNodes"),b=Zc(g,"parentNode");if("function"==typeof h){const t=o.createElement("template");t.content&&t.content.ownerDocument&&(o=t.content.ownerDocument)}let y,k="";const{implementation:x,createNodeIterator:C,createDocumentFragment:S,getElementsByTagName:D}=o,{importNode:E}=s;let A={};e.isSupported="function"==typeof Sc&&"function"==typeof b&&x&&void 0!==x.createHTMLDocument;const{MUSTACHE_EXPR:M,ERB_EXPR:L,TMPLIT_EXPR:F,DATA_ATTR:T,ARIA_ATTR:R,IS_SCRIPT_OR_DATA:O,ATTR_WHITESPACE:I}=ma;let{IS_ALLOWED_URI:_}=ma,N=null;const B=Kc({},[...Qc,...Jc,...Yc,...ta,...ea]);let P=null;const $=Kc({},[...sa,...na,...oa,...ra]);let W=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),j=null,z=null,H=!0,V=!0,U=!1,q=!0,K=!1,G=!1,Z=!1,Q=!1,J=!1,Y=!1,X=!1,tt=!0,it=!1,et=!0,st=!1,nt={},ot=null;const rt=Kc({},["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 ht=null;const ct=Kc({},["audio","video","img","source","image","track"]);let at=null;const lt=Kc({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ut="http://www.w3.org/1998/Math/MathML",dt="http://www.w3.org/2000/svg",ft="http://www.w3.org/1999/xhtml";let pt=ft,gt=!1,mt=null;const wt=Kc({},[ut,dt,ft],Pc);let vt;const bt=["application/xhtml+xml","text/html"];let yt,kt=null;const xt=o.createElement("form"),Ct=function(t){return t instanceof RegExp||t instanceof Function},St=function(t){if(!kt||kt!==t){if(t&&"object"==typeof t||(t={}),t=Gc(t),vt=vt=-1===bt.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE,yt="application/xhtml+xml"===vt?Pc:Bc,N="ALLOWED_TAGS"in t?Kc({},t.ALLOWED_TAGS,yt):B,P="ALLOWED_ATTR"in t?Kc({},t.ALLOWED_ATTR,yt):$,mt="ALLOWED_NAMESPACES"in t?Kc({},t.ALLOWED_NAMESPACES,Pc):wt,at="ADD_URI_SAFE_ATTR"in t?Kc(Gc(lt),t.ADD_URI_SAFE_ATTR,yt):lt,ht="ADD_DATA_URI_TAGS"in t?Kc(Gc(ct),t.ADD_DATA_URI_TAGS,yt):ct,ot="FORBID_CONTENTS"in t?Kc({},t.FORBID_CONTENTS,yt):rt,j="FORBID_TAGS"in t?Kc({},t.FORBID_TAGS,yt):{},z="FORBID_ATTR"in t?Kc({},t.FORBID_ATTR,yt):{},nt="USE_PROFILES"in t&&t.USE_PROFILES,H=!1!==t.ALLOW_ARIA_ATTR,V=!1!==t.ALLOW_DATA_ATTR,U=t.ALLOW_UNKNOWN_PROTOCOLS||!1,q=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,K=t.SAFE_FOR_TEMPLATES||!1,G=t.WHOLE_DOCUMENT||!1,J=t.RETURN_DOM||!1,Y=t.RETURN_DOM_FRAGMENT||!1,X=t.RETURN_TRUSTED_TYPE||!1,Q=t.FORCE_BODY||!1,tt=!1!==t.SANITIZE_DOM,it=t.SANITIZE_NAMED_PROPS||!1,et=!1!==t.KEEP_CONTENT,st=t.IN_PLACE||!1,_=t.ALLOWED_URI_REGEXP||da,pt=t.NAMESPACE||ft,W=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&Ct(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(W.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&Ct(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(W.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(W.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),K&&(V=!1),Y&&(J=!0),nt&&(N=Kc({},[...ea]),P=[],!0===nt.html&&(Kc(N,Qc),Kc(P,sa)),!0===nt.svg&&(Kc(N,Jc),Kc(P,na),Kc(P,ra)),!0===nt.svgFilters&&(Kc(N,Yc),Kc(P,na),Kc(P,ra)),!0===nt.mathMl&&(Kc(N,ta),Kc(P,oa),Kc(P,ra))),t.ADD_TAGS&&(N===B&&(N=Gc(N)),Kc(N,t.ADD_TAGS,yt)),t.ADD_ATTR&&(P===$&&(P=Gc(P)),Kc(P,t.ADD_ATTR,yt)),t.ADD_URI_SAFE_ATTR&&Kc(at,t.ADD_URI_SAFE_ATTR,yt),t.FORBID_CONTENTS&&(ot===rt&&(ot=Gc(ot)),Kc(ot,t.FORBID_CONTENTS,yt)),et&&(N["#text"]=!0),G&&Kc(N,["html","head","body"]),N.table&&(Kc(N,["tbody"]),delete j.tbody),t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw Vc('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw Vc('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');y=t.TRUSTED_TYPES_POLICY,k=y.createHTML("")}else void 0===y&&(y=function(t,i){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let e=null;const s="data-tt-policy-suffix";i&&i.hasAttribute(s)&&(e=i.getAttribute(s));const n="dompurify"+(e?"#"+e:"");try{return t.createPolicy(n,{createHTML:t=>t,createScriptURL:t=>t})}catch(t){return console.warn("TrustedTypes policy "+n+" could not be created."),null}}(p,n)),null!==y&&"string"==typeof k&&(k=y.createHTML(""));Lc&&Lc(t),kt=t}},Dt=Kc({},["mi","mo","mn","ms","mtext"]),Et=Kc({},["foreignobject","desc","title","annotation-xml"]),At=Kc({},["title","style","font","a","script"]),Mt=Kc({},Jc);Kc(Mt,Yc),Kc(Mt,Xc);const Lt=Kc({},ta);Kc(Lt,ia);const Ft=function(t){Nc(e.removed,{element:t});try{t.parentNode.removeChild(t)}catch(i){t.remove()}},Tt=function(t,i){try{Nc(e.removed,{attribute:i.getAttributeNode(t),from:i})}catch(t){Nc(e.removed,{attribute:null,from:i})}if(i.removeAttribute(t),"is"===t&&!P[t])if(J||Y)try{Ft(i)}catch(t){}else try{i.setAttribute(t,"")}catch(t){}},Rt=function(t){let i,e;if(Q)t=""+t;else{const i=$c(t,/^[\r\n\t ]+/);e=i&&i[0]}"application/xhtml+xml"===vt&&pt===ft&&(t=''+t+"");const s=y?y.createHTML(t):t;if(pt===ft)try{i=(new f).parseFromString(s,vt)}catch(t){}if(!i||!i.documentElement){i=x.createDocument(pt,"template",null);try{i.documentElement.innerHTML=gt?k:s}catch(t){}}const n=i.body||i.documentElement;return t&&e&&n.insertBefore(o.createTextNode(e),n.childNodes[0]||null),pt===ft?D.call(i,G?"html":"body")[0]:G?i.documentElement:n},Ot=function(t){return C.call(t.ownerDocument||t,t,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT,null,!1)},It=function(t){return"object"==typeof c?t instanceof c:t&&"object"==typeof t&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName},_t=function(t,i,s){A[t]&&Ic(A[t],(t=>{t.call(e,i,s,kt)}))},Nt=function(t){let i;if(_t("beforeSanitizeElements",t,null),(s=t)instanceof d&&("string"!=typeof s.nodeName||"string"!=typeof s.textContent||"function"!=typeof s.removeChild||!(s.attributes instanceof u)||"function"!=typeof s.removeAttribute||"function"!=typeof s.setAttribute||"string"!=typeof s.namespaceURI||"function"!=typeof s.insertBefore||"function"!=typeof s.hasChildNodes))return Ft(t),!0;var s;const n=yt(t.nodeName);if(_t("uponSanitizeElement",t,{tagName:n,allowedTags:N}),t.hasChildNodes()&&!It(t.firstElementChild)&&(!It(t.content)||!It(t.content.firstElementChild))&&Hc(/<[/\w]/g,t.innerHTML)&&Hc(/<[/\w]/g,t.textContent))return Ft(t),!0;if(!N[n]||j[n]){if(!j[n]&&Pt(n)){if(W.tagNameCheck instanceof RegExp&&Hc(W.tagNameCheck,n))return!1;if(W.tagNameCheck instanceof Function&&W.tagNameCheck(n))return!1}if(et&&!ot[n]){const i=b(t)||t.parentNode,e=v(t)||t.childNodes;if(e&&i)for(let s=e.length-1;s>=0;--s)i.insertBefore(m(e[s],!0),w(t))}return Ft(t),!0}return t instanceof a&&!function(t){let i=b(t);i&&i.tagName||(i={namespaceURI:pt,tagName:"template"});const e=Bc(t.tagName),s=Bc(i.tagName);return!!mt[t.namespaceURI]&&(t.namespaceURI===dt?i.namespaceURI===ft?"svg"===e:i.namespaceURI===ut?"svg"===e&&("annotation-xml"===s||Dt[s]):Boolean(Mt[e]):t.namespaceURI===ut?i.namespaceURI===ft?"math"===e:i.namespaceURI===dt?"math"===e&&Et[s]:Boolean(Lt[e]):t.namespaceURI===ft?!(i.namespaceURI===dt&&!Et[s])&&!(i.namespaceURI===ut&&!Dt[s])&&!Lt[e]&&(At[e]||!Mt[e]):!("application/xhtml+xml"!==vt||!mt[t.namespaceURI]))}(t)?(Ft(t),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!Hc(/<\/no(script|embed|frames)/i,t.innerHTML)?(K&&3===t.nodeType&&(i=t.textContent,i=Wc(i,M," "),i=Wc(i,L," "),i=Wc(i,F," "),t.textContent!==i&&(Nc(e.removed,{element:t.cloneNode()}),t.textContent=i)),_t("afterSanitizeElements",t,null),!1):(Ft(t),!0)},Bt=function(t,i,e){if(tt&&("id"===i||"name"===i)&&(e in o||e in xt))return!1;if(V&&!z[i]&&Hc(T,i));else if(H&&Hc(R,i));else if(!P[i]||z[i]){if(!(Pt(t)&&(W.tagNameCheck instanceof RegExp&&Hc(W.tagNameCheck,t)||W.tagNameCheck instanceof Function&&W.tagNameCheck(t))&&(W.attributeNameCheck instanceof RegExp&&Hc(W.attributeNameCheck,i)||W.attributeNameCheck instanceof Function&&W.attributeNameCheck(i))||"is"===i&&W.allowCustomizedBuiltInElements&&(W.tagNameCheck instanceof RegExp&&Hc(W.tagNameCheck,e)||W.tagNameCheck instanceof Function&&W.tagNameCheck(e))))return!1}else if(at[i]);else if(Hc(_,Wc(e,I,"")));else if("src"!==i&&"xlink:href"!==i&&"href"!==i||"script"===t||0!==jc(e,"data:")||!ht[t])if(U&&!Hc(O,Wc(e,I,"")));else if(e)return!1;return!0},Pt=function(t){return t.indexOf("-")>0},$t=function(t){let i,s,n,o;_t("beforeSanitizeAttributes",t,null);const{attributes:r}=t;if(!r)return;const h={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:P};for(o=r.length;o--;){i=r[o];const{name:c,namespaceURI:a}=i;if(s="value"===c?i.value:zc(i.value),n=yt(c),h.attrName=n,h.attrValue=s,h.keepAttr=!0,h.forceKeepAttr=void 0,_t("uponSanitizeAttribute",t,h),s=h.attrValue,h.forceKeepAttr)continue;if(Tt(c,t),!h.keepAttr)continue;if(!q&&Hc(/\/>/i,s)){Tt(c,t);continue}K&&(s=Wc(s,M," "),s=Wc(s,L," "),s=Wc(s,F," "));const l=yt(t.nodeName);if(Bt(l,n,s)){if(!it||"id"!==n&&"name"!==n||(Tt(c,t),s="user-content-"+s),y&&"object"==typeof p&&"function"==typeof p.getAttributeType)if(a);else switch(p.getAttributeType(l,n)){case"TrustedHTML":s=y.createHTML(s);break;case"TrustedScriptURL":s=y.createScriptURL(s)}try{a?t.setAttributeNS(a,c,s):t.setAttribute(c,s),_c(e.removed)}catch(t){}}}_t("afterSanitizeAttributes",t,null)},Wt=function t(i){let e;const s=Ot(i);for(_t("beforeSanitizeShadowDOM",i,null);e=s.nextNode();)_t("uponSanitizeShadowNode",e,null),Nt(e)||(e.content instanceof r&&t(e.content),$t(e));_t("afterSanitizeShadowDOM",i,null)};return e.sanitize=function(t){let i,n,o,h,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(gt=!t,gt&&(t="\x3c!--\x3e"),"string"!=typeof t&&!It(t)){if("function"!=typeof t.toString)throw Vc("toString is not a function");if("string"!=typeof(t=t.toString()))throw Vc("dirty is not a string, aborting")}if(!e.isSupported)return t;if(Z||St(a),e.removed=[],"string"==typeof t&&(st=!1),st){if(t.nodeName){const i=yt(t.nodeName);if(!N[i]||j[i])throw Vc("root node is forbidden and cannot be sanitized in-place")}}else if(t instanceof c)i=Rt("\x3c!----\x3e"),n=i.ownerDocument.importNode(t,!0),1===n.nodeType&&"BODY"===n.nodeName||"HTML"===n.nodeName?i=n:i.appendChild(n);else{if(!J&&!K&&!G&&-1===t.indexOf("<"))return y&&X?y.createHTML(t):t;if(i=Rt(t),!i)return J?null:X?k:""}i&&Q&&Ft(i.firstChild);const l=Ot(st?t:i);for(;o=l.nextNode();)Nt(o)||(o.content instanceof r&&Wt(o.content),$t(o));if(st)return t;if(J){if(Y)for(h=S.call(i.ownerDocument);i.firstChild;)h.appendChild(i.firstChild);else h=i;return(P.shadowroot||P.shadowrootmode)&&(h=E.call(s,h,!0)),h}let u=G?i.outerHTML:i.innerHTML;return G&&N["!doctype"]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&Hc(ga,i.ownerDocument.doctype.name)&&(u="\n"+u),K&&(u=Wc(u,M," "),u=Wc(u,L," "),u=Wc(u,F," ")),y&&X?y.createHTML(u):u},e.setConfig=function(t){St(t),Z=!0},e.clearConfig=function(){kt=null,Z=!1},e.isValidAttribute=function(t,i,e){kt||St({});const s=yt(t),n=yt(i);return Bt(s,n,e)},e.addHook=function(t,i){"function"==typeof i&&(A[t]=A[t]||[],Nc(A[t],i))},e.removeHook=function(t){if(A[t])return _c(A[t])},e.removeHooks=function(t){A[t]&&(A[t]=[])},e.removeAllHooks=function(){A={}},e}();const ba=va.sanitize,ya=va.addHook,ka=va.removeHook;var xa;function Ca(t,i){return ws.isUri(t)?uo(t.scheme,i):fo(t,i+":")}function Sa(t,...i){return i.some((i=>Ca(t,i)))}!function(t){t.inMemory="inmemory",t.vscode="vscode",t.internal="private",t.walkThrough="walkThrough",t.walkThroughSnippet="walkThroughSnippet",t.http="http",t.https="https",t.file="file",t.mailto="mailto",t.untitled="untitled",t.data="data",t.command="command",t.vscodeRemote="vscode-remote",t.vscodeRemoteResource="vscode-remote-resource",t.vscodeManagedRemoteResource="vscode-managed-remote-resource",t.vscodeUserData="vscode-userdata",t.vscodeCustomEditor="vscode-custom-editor",t.vscodeNotebookCell="vscode-notebook-cell",t.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",t.vscodeNotebookCellOutput="vscode-notebook-cell-output",t.vscodeInteractiveInput="vscode-interactive-input",t.vscodeSettings="vscode-settings",t.vscodeWorkspaceTrust="vscode-workspace-trust",t.vscodeTerminal="vscode-terminal",t.vscodeChatSesssion="vscode-chat-editor",t.webviewPanel="webview-panel",t.vscodeWebview="vscode-webview",t.extension="extension",t.vscodeFileResource="vscode-file",t.tmp="tmp",t.vsls="vsls",t.vscodeSourceControl="vscode-scm"}(xa||(xa={}));const Da=new class{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._remoteResourcesPath=`/${xa.vscodeRemoteResource}`}setPreferredWebSchema(t){this._preferredWebSchema=t}rewrite(t){if(this._delegate)try{return this._delegate(t)}catch(i){return Pi(i),t}const i=t.authority;let e=this._hosts[i];e&&-1!==e.indexOf(":")&&-1===e.indexOf("[")&&(e=`[${e}]`);const s=this._ports[i],n=this._connectionTokens[i];let o=`path=${encodeURIComponent(t.path)}`;return"string"==typeof n&&(o+=`&tkn=${encodeURIComponent(n)}`),ws.from({scheme:At?this._preferredWebSchema:xa.vscodeRemoteResource,authority:`${e}:${s}`,path:this._remoteResourcesPath,query:o})}};class Ea{uriToBrowserUri(t){return t.scheme===xa.vscodeRemote?Da.rewrite(t):t.scheme!==xa.file||!Et&&Mt!==`${xa.vscodeFileResource}://${Ea.FALLBACK_AUTHORITY}`?t:t.with({scheme:xa.vscodeFileResource,authority:t.authority||Ea.FALLBACK_AUTHORITY,query:null,fragment:null})}}Ea.FALLBACK_AUTHORITY="vscode-app";const Aa=new Ea;var Ma;function La(t){return Fa(t,0)}function Fa(t,i){switch(typeof t){case"object":return null===t?Ta(349,i):Array.isArray(t)?(e=t,s=Ta(104579,s=i),e.reduce(((t,i)=>Fa(i,t)),s)):function(t,i){return i=Ta(181387,i),Object.keys(t).sort().reduce(((i,e)=>(i=Ra(e,i),Fa(t[e],i))),i)}(t,i);case"string":return Ra(t,i);case"boolean":return function(t,i){return Ta(t?433:863,i)}(t,i);case"number":return Ta(t,i);case"undefined":return Ta(937,i);default:return Ta(617,i)}var e,s}function Ta(t,i){return(i<<5)-i+t|0}function Ra(t,i){i=Ta(149417,i);for(let e=0,s=t.length;e>>s)>>>0}function Ia(t,i=0,e=t.byteLength,s=0){for(let n=0;nt.toString(16).padStart(2,"0"))).join(""):function(t,i,e="0"){for(;t.length>>0).toString(16),i/4)}!function(t){const i=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"}]]);t.CoopAndCoep=Object.freeze(i.get("3"));const e="vscode-coi";t.getHeadersFromQuery=function(t){let s;"string"==typeof t?s=new URL(t).searchParams:t instanceof URL?s=t.searchParams:ws.isUri(t)&&(s=new URL(t.toString(!0)).searchParams);const n=null==s?void 0:s.get(e);if(n)return i.get(n)},t.addSearchParam=function(t,i,s){if(!globalThis.crossOriginIsolated)return;const n=i&&s?"3":s?"2":"1";t instanceof URLSearchParams?t.set(e,n):t[e]=n}}(Ma||(Ma={}));class Na{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(t){const i=t.length;if(0===i)return;const e=this._buff;let s,n,o=this._buffLen,r=this._leftoverHighSurrogate;for(0!==r?(s=r,n=-1,r=0):(s=t.charCodeAt(0),n=0);;){let h=s;if(mo(s)){if(!(n+1>>6,t[i++]=128|(63&e)>>>0):e<65536?(t[i++]=224|(61440&e)>>>12,t[i++]=128|(4032&e)>>>6,t[i++]=128|(63&e)>>>0):(t[i++]=240|(1835008&e)>>>18,t[i++]=128|(258048&e)>>>12,t[i++]=128|(4032&e)>>>6,t[i++]=128|(63&e)>>>0),i>=64&&(this._step(),i-=64,this._totalLen+=64,t[0]=t[64],t[1]=t[65],t[2]=t[66]),i}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()),_a(this._h0)+_a(this._h1)+_a(this._h2)+_a(this._h3)+_a(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,Ia(this._buff,this._buffLen),this._buffLen>56&&(this._step(),Ia(this._buff));const t=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(t/4294967296),!1),this._buffDV.setUint32(60,t%4294967296,!1),this._step()}_step(){const t=Na._bigBlock32,i=this._buffDV;for(let e=0;e<64;e+=4)t.setUint32(e,i.getUint32(e,!1),!1);for(let i=64;i<320;i+=4)t.setUint32(i,Oa(t.getUint32(i-12,!1)^t.getUint32(i-32,!1)^t.getUint32(i-56,!1)^t.getUint32(i-64,!1),1),!1);let e,s,n,o=this._h0,r=this._h1,h=this._h2,c=this._h3,a=this._h4;for(let i=0;i<80;i++)i<20?(e=r&h|~r&c,s=1518500249):i<40?(e=r^h^c,s=1859775393):i<60?(e=r&h|r&c|h&c,s=2400959708):(e=r^h^c,s=3395469782),n=Oa(o,5)+e+a+s+t.getUint32(4*i,!1)&4294967295,a=c,c=h,h=Oa(r,30),r=o,o=n;this._h0=this._h0+o&4294967295,this._h1=this._h1+r&4294967295,this._h2=this._h2+h&4294967295,this._h3=this._h3+c&4294967295,this._h4=this._h4+a&4294967295}}Na._bigBlock32=new DataView(new ArrayBuffer(320));const{getWindow:Ba,getWindows:Pa,getWindowsCount:$a,getWindowId:Wa,onDidRegisterWindow:ja,onWillUnregisterWindow:za}=function(){const t=new Map;var i;"number"!=typeof(i=Wn).vscodeWindowId&&Object.defineProperty(i,"vscodeWindowId",{get:()=>1}),t.set(Wn.vscodeWindowId,{window:Wn,disposables:new te});const e=new fe,s=new fe,n=new fe;return{onDidRegisterWindow:e.event,onWillUnregisterWindow:n.event,onDidUnregisterWindow:s.event,registerWindow(i){if(t.has(i.vscodeWindowId))return ie.None;const o=new te,r={window:i,disposables:o.add(new te)};return t.set(i.vscodeWindowId,r),o.add(Xi((()=>{t.delete(i.vscodeWindowId),s.fire(i)}))),o.add(Ua(i,Fl.BEFORE_UNLOAD,(()=>{n.fire(i)}))),e.fire(r),o},getWindows:()=>t.values(),getWindowsCount:()=>t.size,getWindowId:t=>t.vscodeWindowId,hasWindow:i=>t.has(i),getWindowById:i=>t.get(i),getWindow(t){var i;return(null===(i=null==t?void 0:t.ownerDocument)||void 0===i?void 0:i.defaultView)?t.ownerDocument.defaultView.window:(null==t?void 0:t.view)?t.view.window:Wn},getDocument:t=>Ba(t).document}}();function Ha(t){for(;t.firstChild;)t.firstChild.remove()}class Va{constructor(t,i,e,s){this._node=t,this._type=i,this._handler=e,this._options=s||!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 Ua(t,i,e,s){return new Va(t,i,e,s)}function qa(t,i){return function(e){return i(new ic(t,e))}}const Ka=function(t,i,e,s){let n=e;return"click"===i||"mousedown"===i?n=qa(Ba(t),e):"keydown"!==i&&"keypress"!==i&&"keyup"!==i||(n=function(t){return function(i){return t(new Jh(i))}}(e)),Ua(t,i,n,s)};function Ga(t,i,e){return wc(t,i,e)}class Za extends vc{constructor(t,i){super(t,i)}}let Qa,Ja;class Ya extends pc{cancelAndSet(t,i,e){return super.cancelAndSet(t,i,e)}}class Xa{constructor(t,i=0){this._runner=t,this.priority=i,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(t){Pi(t)}}static sort(t,i){return i.priority-t.priority}}function tl(t){return Ba(t).getComputedStyle(t,null)}function il(t,i){const e=Ba(t),s=e.document;if(t!==s.body)return new sl(t.clientWidth,t.clientHeight);if(Lt&&(null==e?void 0:e.visualViewport))return new sl(e.visualViewport.width,e.visualViewport.height);if((null==e?void 0:e.innerWidth)&&e.innerHeight)return new sl(e.innerWidth,e.innerHeight);if(s.body&&s.body.clientWidth&&s.body.clientHeight)return new sl(s.body.clientWidth,s.body.clientHeight);if(s.documentElement&&s.documentElement.clientWidth&&s.documentElement.clientHeight)return new sl(s.documentElement.clientWidth,s.documentElement.clientHeight);if(i)return il(i);throw new Error("Unable to figure out browser width and height")}!function(){const t=new Map,i=new Map,e=new Map,s=new Map;Ja=(n,o,r=0)=>{const h=Wa(n),c=new Xa(o,r);let a=t.get(h);return a||(a=[],t.set(h,a)),a.push(c),e.get(h)||(e.set(h,!0),n.requestAnimationFrame((()=>(n=>{var o;e.set(n,!1);const r=null!==(o=t.get(n))&&void 0!==o?o:[];for(i.set(n,r),t.set(n,[]),s.set(n,!0);r.length>0;)r.sort(Xa.sort),r.shift().execute();s.set(n,!1)})(h)))),c},Qa=(t,e,n)=>{const o=Wa(t);if(s.get(o)){const t=new Xa(e,n);let s=i.get(o);return s||(s=[],i.set(o,s)),s.push(t),t}return Ja(t,e,n)}}();class el{static convertToPixels(t,i){return parseFloat(i)||0}static getDimension(t,i,e){const s=tl(t),n=s?s.getPropertyValue(i):"0";return el.convertToPixels(t,n)}static getBorderLeftWidth(t){return el.getDimension(t,"border-left-width","borderLeftWidth")}static getBorderRightWidth(t){return el.getDimension(t,"border-right-width","borderRightWidth")}static getBorderTopWidth(t){return el.getDimension(t,"border-top-width","borderTopWidth")}static getBorderBottomWidth(t){return el.getDimension(t,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(t){return el.getDimension(t,"padding-left","paddingLeft")}static getPaddingRight(t){return el.getDimension(t,"padding-right","paddingRight")}static getPaddingTop(t){return el.getDimension(t,"padding-top","paddingTop")}static getPaddingBottom(t){return el.getDimension(t,"padding-bottom","paddingBottom")}static getMarginLeft(t){return el.getDimension(t,"margin-left","marginLeft")}static getMarginTop(t){return el.getDimension(t,"margin-top","marginTop")}static getMarginRight(t){return el.getDimension(t,"margin-right","marginRight")}static getMarginBottom(t){return el.getDimension(t,"margin-bottom","marginBottom")}}class sl{constructor(t,i){this.width=t,this.height=i}with(t=this.width,i=this.height){return t!==this.width||i!==this.height?new sl(t,i):this}static is(t){return"object"==typeof t&&"number"==typeof t.height&&"number"==typeof t.width}static lift(t){return t instanceof sl?t:new sl(t.width,t.height)}static equals(t,i){return t===i||!(!t||!i)&&t.width===i.width&&t.height===i.height}}function nl(t){let i=t.offsetParent,e=t.offsetTop,s=t.offsetLeft;for(;null!==(t=t.parentNode)&&t!==t.ownerDocument.body&&t!==t.ownerDocument.documentElement;){e-=t.scrollTop;const n=dl(t)?null:tl(t);n&&(s-="rtl"!==n.direction?t.scrollLeft:-t.scrollLeft),t===i&&(s+=el.getBorderLeftWidth(t),e+=el.getBorderTopWidth(t),e+=t.offsetTop,s+=t.offsetLeft,i=t.offsetParent)}return{left:s,top:e}}function ol(t){const i=t.getBoundingClientRect(),e=Ba(t);return{left:i.left+e.scrollX,top:i.top+e.scrollY,width:i.width,height:i.height}}function rl(t){const i=el.getMarginLeft(t)+el.getMarginRight(t);return t.offsetWidth+i}function hl(t){const i=el.getBorderLeftWidth(t)+el.getBorderRightWidth(t),e=el.getPaddingLeft(t)+el.getPaddingRight(t);return t.offsetWidth-i-e}function cl(t){const i=el.getBorderTopWidth(t)+el.getBorderBottomWidth(t),e=el.getPaddingTop(t)+el.getPaddingBottom(t);return t.offsetHeight-i-e}function al(t){const i=el.getMarginTop(t)+el.getMarginBottom(t);return t.offsetHeight+i}function ll(t,i){return Boolean(null==i?void 0:i.contains(t))}function ul(t,i,e){return!!function(t,i,e){for(;t&&t.nodeType===t.ELEMENT_NODE;){if(t.classList.contains(i))return t;if(e)if("string"==typeof e){if(t.classList.contains(e))return null}else if(t===e)return null;t=t.parentNode}return null}(t,i,e)}function dl(t){return t&&!!t.host&&!!t.mode}function fl(t){return!!pl(t)}function pl(t){for(var i;t.parentNode;){if(t===(null===(i=t.ownerDocument)||void 0===i?void 0:i.body))return null;t=t.parentNode}return dl(t)?t:null}function gl(){let t=wl().activeElement;for(;null==t?void 0:t.shadowRoot;)t=t.shadowRoot.activeElement;return t}function ml(t){return t.ownerDocument.activeElement===t}function wl(){var t;return $a()<=1?document:null!==(t=Array.from(Pa()).map((({window:t})=>t.document)).find((t=>t.hasFocus())))&&void 0!==t?t:document}sl.None=new sl(0,0);const vl=new Map;function bl(t=Wn.document.head,i,e){const s=document.createElement("style");if(s.type="text/css",s.media="screen",null==i||i(s),t.appendChild(s),e&&e.add(Xi((()=>t.removeChild(s)))),t===Wn.document.head){const t=new Set;vl.set(s,t);for(const{window:i,disposables:n}of Pa()){if(i===Wn)continue;const o=n.add(yl(s,t,i));null==e||e.add(o)}}return s}function yl(t,i,e){var s,n;const o=new te,r=t.cloneNode(!0);e.document.head.appendChild(r),o.add(Xi((()=>e.document.head.removeChild(r))));for(const i of Sl(t))null===(s=r.sheet)||void 0===s||s.insertRule(i.cssText,null===(n=r.sheet)||void 0===n?void 0:n.cssRules.length);return o.add(kl.observe(t,o,{childList:!0})((()=>{r.textContent=t.textContent}))),i.add(r),o.add(Xi((()=>i.delete(r)))),o}const kl=new class{constructor(){this.mutationObservers=new Map}observe(t,i,e){let s=this.mutationObservers.get(t);s||(s=new Map,this.mutationObservers.set(t,s));const n=La(e);let o=s.get(n);if(o)o.users+=1;else{const r=new fe,h=new MutationObserver((t=>r.fire(t)));h.observe(t,e);const c=o={users:1,observer:h,onDidMutate:r.event};i.add(Xi((()=>{c.users-=1,0===c.users&&(r.dispose(),h.disconnect(),null==s||s.delete(n),0===(null==s?void 0:s.size)&&this.mutationObservers.delete(t))}))),s.set(n,o)}return o.onDidMutate}};let xl=null;function Cl(){return xl||(xl=bl()),xl}function Sl(t){var i,e;return(null===(i=null==t?void 0:t.sheet)||void 0===i?void 0:i.rules)?t.sheet.rules:(null===(e=null==t?void 0:t.sheet)||void 0===e?void 0:e.cssRules)?t.sheet.cssRules:[]}function Dl(t,i,e=Cl()){var s,n;if(e&&i){null===(s=e.sheet)||void 0===s||s.insertRule(`${t} {${i}}`,0);for(const s of null!==(n=vl.get(e))&&void 0!==n?n:[])Dl(t,i,s)}}function El(t,i=Cl()){var e,s;if(!i)return;const n=Sl(i),o=[];for(let i=0;i=0;t--)null===(e=i.sheet)||void 0===e||e.deleteRule(o[t]);for(const e of null!==(s=vl.get(i))&&void 0!==s?s:[])El(t,e)}function Al(t){return"string"==typeof t.selectorText}function Ml(t){return t instanceof MouseEvent||t instanceof Ba(t).MouseEvent}function Ll(t){return t instanceof KeyboardEvent||t instanceof Ba(t).KeyboardEvent}const Fl={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",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",PASTE:"paste",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:Ko?"webkitAnimationStart":"animationstart",ANIMATION_END:Ko?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:Ko?"webkitAnimationIteration":"animationiteration"},Tl=(t,i)=>(t.preventDefault(),i&&t.stopPropagation(),t);class Rl extends ie{static hasFocusWithin(t){if(t instanceof HTMLElement){const i=pl(t);return ll(i?i.activeElement:t.ownerDocument.activeElement,t)}return ll(t.document.activeElement,t.document)}constructor(t){super(),this._onDidFocus=this._register(new fe),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new fe),this.onDidBlur=this._onDidBlur.event;let i=Rl.hasFocusWithin(t),e=!1;const s=()=>{e=!1,i||(i=!0,this._onDidFocus.fire())},n=()=>{i&&(e=!0,(t instanceof HTMLElement?Ba(t):t).setTimeout((()=>{e&&(e=!1,i=!1,this._onDidBlur.fire())}),0))};this._refreshStateHandler=()=>{Rl.hasFocusWithin(t)!==i&&(i?n():s())},this._register(Ua(t,Fl.FOCUS,s,!0)),this._register(Ua(t,Fl.BLUR,n,!0)),t instanceof HTMLElement&&(this._register(Ua(t,Fl.FOCUS_IN,(()=>this._refreshStateHandler()))),this._register(Ua(t,Fl.FOCUS_OUT,(()=>this._refreshStateHandler()))))}}function Ol(t){return new Rl(t)}function Il(t,...i){if(t.append(...i),1===i.length&&"string"!=typeof i[0])return i[0]}function _l(t,i){return t.insertBefore(i,t.firstChild),i}function Nl(t,...i){t.innerText="",Il(t,...i)}const Bl=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var Pl;function $l(t,i,e,...s){const n=Bl.exec(i);if(!n)throw new Error("Bad use of emmet");const o=n[1]||"div";let r;return r=t!==Pl.HTML?document.createElementNS(t,o):document.createElement(o),n[3]&&(r.id=n[3]),n[4]&&(r.className=n[4].replace(/\./g," ").trim()),e&&Object.entries(e).forEach((([t,i])=>{void 0!==i&&(/^on\w+$/.test(t)?r[t]=i:"selected"===t?i&&r.setAttribute(t,"true"):r.setAttribute(t,i))})),r.append(...s),r}function Wl(t,i,...e){return $l(Pl.HTML,t,i,...e)}function jl(...t){for(const i of t)i.style.display="",i.removeAttribute("aria-hidden")}function zl(...t){for(const i of t)i.style.display="none",i.setAttribute("aria-hidden","true")}function Hl(t,i){return Math.max(1,Math.floor(t.devicePixelRatio*i))/t.devicePixelRatio}function Vl(t){Wn.open(t,"_blank","noopener")}function Ul(t){return t?`url('${Aa.uriToBrowserUri(t).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function ql(t){return`'${t.replace(/'/g,"%27")}'`}function Kl(t,i){if(void 0!==t){const e=t.match(/^\s*var\((.+)\)$/);if(e){const t=e[1].split(",",2);return 2===t.length&&(i=Kl(t[1].trim(),i)),`var(${t[0]}, ${i})`}return t}return i}!function(t){t.HTML="http://www.w3.org/1999/xhtml",t.SVG="http://www.w3.org/2000/svg"}(Pl||(Pl={})),Wl.SVG=function(t,i,...e){return $l(Pl.SVG,t,i,...e)},Da.setPreferredWebSchema(/^https:/.test(Wn.location.href)?"https":"http");const Gl=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","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"]);Object.freeze({ALLOWED_TAGS:["a","button","blockquote","code","div","h1","h2","h3","h4","h5","h6","hr","input","label","li","p","pre","select","small","span","strong","textarea","ul","ol"],ALLOWED_ATTR:["href","data-href","data-command","target","title","name","src","alt","class","id","role","tabindex","style","data-code","width","height","align","x-dispatch","required","checked","placeholder","type","start"],RETURN_DOM:!1,RETURN_DOM_FRAGMENT:!1,RETURN_TRUSTED_TYPE:!0});class Zl extends fe{constructor(){super(),this._subscriptions=new te,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(ce.runAndSubscribe(ja,(({window:t,disposables:i})=>this.registerListeners(t,i)),{window:Wn,disposables:this._subscriptions}))}registerListeners(t,i){i.add(Ua(t,"keydown",(t=>{if(t.defaultPrevented)return;const i=new Jh(t);if(6!==i.keyCode||!t.repeat){if(t.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(t.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(t.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(t.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else{if(6===i.keyCode)return;this._keyStatus.lastKeyPressed=void 0}this._keyStatus.altKey=t.altKey,this._keyStatus.ctrlKey=t.ctrlKey,this._keyStatus.metaKey=t.metaKey,this._keyStatus.shiftKey=t.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=t,this.fire(this._keyStatus))}}),!0)),i.add(Ua(t,"keyup",(t=>{t.defaultPrevented||(this._keyStatus.lastKeyReleased=!t.altKey&&this._keyStatus.altKey?"alt":!t.ctrlKey&&this._keyStatus.ctrlKey?"ctrl":!t.metaKey&&this._keyStatus.metaKey?"meta":!t.shiftKey&&this._keyStatus.shiftKey?"shift":void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=t.altKey,this._keyStatus.ctrlKey=t.ctrlKey,this._keyStatus.metaKey=t.metaKey,this._keyStatus.shiftKey=t.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=t,this.fire(this._keyStatus)))}),!0)),i.add(Ua(t.document.body,"mousedown",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),i.add(Ua(t.document.body,"mouseup",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),i.add(Ua(t.document.body,"mousemove",(t=>{t.buttons&&(this._keyStatus.lastKeyPressed=void 0)}),!0)),i.add(Ua(t,"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 Zl.instance||(Zl.instance=new Zl),Zl.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class Ql extends ie{constructor(t,i){super(),this.element=t,this.callbacks=i,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(Ua(this.element,Fl.DRAG_START,(t=>{var i,e;null===(e=(i=this.callbacks).onDragStart)||void 0===e||e.call(i,t)}))),this.callbacks.onDrag&&this._register(Ua(this.element,Fl.DRAG,(t=>{var i,e;null===(e=(i=this.callbacks).onDrag)||void 0===e||e.call(i,t)}))),this._register(Ua(this.element,Fl.DRAG_ENTER,(t=>{var i,e;this.counter++,this.dragStartTime=t.timeStamp,null===(e=(i=this.callbacks).onDragEnter)||void 0===e||e.call(i,t)}))),this._register(Ua(this.element,Fl.DRAG_OVER,(t=>{var i,e;t.preventDefault(),null===(e=(i=this.callbacks).onDragOver)||void 0===e||e.call(i,t,t.timeStamp-this.dragStartTime)}))),this._register(Ua(this.element,Fl.DRAG_LEAVE,(t=>{var i,e;this.counter--,0===this.counter&&(this.dragStartTime=0,null===(e=(i=this.callbacks).onDragLeave)||void 0===e||e.call(i,t))}))),this._register(Ua(this.element,Fl.DRAG_END,(t=>{var i,e;this.counter=0,this.dragStartTime=0,null===(e=(i=this.callbacks).onDragEnd)||void 0===e||e.call(i,t)}))),this._register(Ua(this.element,Fl.DROP,(t=>{var i,e;this.counter=0,this.dragStartTime=0,null===(e=(i=this.callbacks).onDrop)||void 0===e||e.call(i,t)})))}}const Jl=/(?[\w\-]+)?(?:#(?[\w\-]+))?(?(?:\.(?:[\w\-]+))*)(?:@(?(?:[\w\_])+))?/;function Yl(t,...i){let e,s;Array.isArray(i[0])?(e={},s=i[0]):(e=i[0]||{},s=i[1]);const n=Jl.exec(t);if(!n||!n.groups)throw new Error("Bad use of h");const o=document.createElement(n.groups.tag||"div");n.groups.id&&(o.id=n.groups.id);const r=[];if(n.groups.class)for(const t of n.groups.class.split("."))""!==t&&r.push(t);if(void 0!==e.className)for(const t of e.className.split("."))""!==t&&r.push(t);r.length>0&&(o.className=r.join(" "));const h={};if(n.groups.name&&(h[n.groups.name]=o),s)for(const t of s)t instanceof HTMLElement?o.appendChild(t):"string"==typeof t?o.append(t):"root"in t&&(Object.assign(h,t),o.appendChild(t.root));for(const[t,i]of Object.entries(e))if("className"!==t)if("style"===t)for(const[t,e]of Object.entries(i))o.style.setProperty(Xl(t),"number"==typeof e?e+"px":""+e);else"tabIndex"===t?o.tabIndex=i:o.setAttribute(Xl(t),i.toString());return h.root=o,h}function Xl(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class tu{constructor(t){this.id=t.id,this.precondition=t.precondition,this._kbOpts=t.kbOpts,this._menuOpts=t.menuOpts,this.metadata=t.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const t=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const i of t){let t=i.kbExpr;this.precondition&&(t=t?Hr.and(t,this.precondition):this.precondition),Mh.registerKeybindingRule({id:this.id,weight:i.weight,args:i.args,when:t,primary:i.primary,secondary:i.secondary,win:i.win,linux:i.linux,mac:i.mac})}}Er.registerCommand({id:this.id,handler:(t,i)=>this.runCommand(t,i),metadata:this.metadata})}_registerMenuItem(t){Nh.appendMenuItem(t.menuId,{group:t.group,command:{id:this.id,title:t.title,icon:t.icon,precondition:this.precondition},when:t.when,order:t.order})}}class iu extends tu{constructor(){super(...arguments),this._implementations=[]}addImplementation(t,i,e,s){return this._implementations.push({priority:t,name:i,implementation:e,when:s}),this._implementations.sort(((t,i)=>i.priority-t.priority)),{dispose:()=>{for(let t=0;t{if(t.get(lh).contextMatchesRules(null!=e?e:void 0))return s(t,o,i)}))}runCommand(t,i){return su.runEditorCommand(t,i,this.precondition,((t,i,e)=>this.runEditorCommand(t,i,e)))}}class nu extends su{static convertOptions(t){let i;function e(i){return i.menuId||(i.menuId=Oh.EditorContext),i.title||(i.title=t.label),i.when=Hr.and(t.precondition,i.when),i}return i=Array.isArray(t.menuOpts)?t.menuOpts:t.menuOpts?[t.menuOpts]:[],Array.isArray(t.contextMenuOpts)?i.push(...t.contextMenuOpts.map(e)):t.contextMenuOpts&&i.push(e(t.contextMenuOpts)),t.menuOpts=i,t}constructor(t){super(nu.convertOptions(t)),this.label=t.label,this.alias=t.alias}runEditorCommand(t,i,e){return this.reportTelemetry(t,i),this.run(t,i,e||{})}reportTelemetry(t,i){t.get(jh).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class ou extends nu{constructor(){super(...arguments),this._implementations=[]}addImplementation(t,i){return this._implementations.push([t,i]),this._implementations.sort(((t,i)=>i[0]-t[0])),{dispose:()=>{for(let t=0;t{var e,n;const o=t.get(lh),r=t.get(zh);if(o.contextMatchesRules(null!==(e=this.desc.precondition)&&void 0!==e?e:void 0))return this.runEditorCommand(t,s,...i);r.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,null===(n=this.desc.precondition)||void 0===n?void 0:n.serialize())}))}}function hu(t,i){Er.registerCommand(t,(function(t,...e){const s=t.get(dr),[n,o]=e;K(ws.isUri(n)),K(Ms.isIPosition(o));const r=t.get(gr).getModel(n);if(r){const t=Ms.lift(o);return s.invokeFunction(i,r,t,...e.slice(2))}return t.get(mr).createModelReference(n).then((t=>new Promise(((n,r)=>{try{n(s.invokeFunction(i,t.object.textEditorModel,Ms.lift(o),e.slice(2)))}catch(t){r(t)}})).finally((()=>{t.dispose()}))))}))}function cu(t){return fu.INSTANCE.registerEditorCommand(t),t}function au(t){const i=new t;return fu.INSTANCE.registerEditorAction(i),i}function lu(t){return fu.INSTANCE.registerEditorAction(t),t}function uu(t,i,e){fu.INSTANCE.registerEditorContribution(t,i,e)}var du;!function(t){t.getEditorCommand=function(t){return fu.INSTANCE.getEditorCommand(t)},t.getEditorActions=function(){return fu.INSTANCE.getEditorActions()},t.getEditorContributions=function(){return fu.INSTANCE.getEditorContributions()},t.getSomeEditorContributions=function(t){return fu.INSTANCE.getEditorContributions().filter((i=>t.indexOf(i.id)>=0))},t.getDiffEditorContributions=function(){return fu.INSTANCE.getDiffEditorContributions()}}(du||(du={}));class fu{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(t,i,e){this.editorContributions.push({id:t,ctor:i,instantiation:e})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(t){t.register(),this.editorActions.push(t)}getEditorActions(){return this.editorActions}registerEditorCommand(t){t.register(),this.editorCommands[t.id]=t}getEditorCommand(t){return this.editorCommands[t]||null}}function pu(t){return t.register(),t}fu.INSTANCE=new fu,Eh.add("editor.contributions",fu.INSTANCE);const gu=pu(new iu({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:Oh.MenubarEditMenu,group:"1_do",title:rt(0,"&&Undo"),order:1},{menuId:Oh.CommandPalette,group:"",title:rt(0,"Undo"),order:1}]}));pu(new eu(gu,{id:"default:undo",precondition:void 0}));const mu=pu(new iu({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:Oh.MenubarEditMenu,group:"1_do",title:rt(0,"&&Redo"),order:2},{menuId:Oh.CommandPalette,group:"",title:rt(0,"Redo"),order:1}]}));pu(new eu(mu,{id:"default:redo",precondition:void 0}));const wu=pu(new iu({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:Oh.MenubarSelectionMenu,group:"1_basic",title:rt(0,"&&Select All"),order:1},{menuId:Oh.CommandPalette,group:"",title:rt(0,"Select All"),order:1}]}));let vu=!1;function bu(t){At&&(vu||(vu=!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(t.message))}class yu{constructor(t,i,e,s){this.vsWorker=t,this.req=i,this.method=e,this.args=s,this.type=0}}class ku{constructor(t,i,e,s){this.vsWorker=t,this.seq=i,this.res=e,this.err=s,this.type=1}}class xu{constructor(t,i,e,s){this.vsWorker=t,this.req=i,this.eventName=e,this.arg=s,this.type=2}}class Cu{constructor(t,i,e){this.vsWorker=t,this.req=i,this.event=e,this.type=3}}class Su{constructor(t,i){this.vsWorker=t,this.req=i,this.type=4}}class Du{constructor(t){this._workerId=-1,this._handler=t,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(t){this._workerId=t}sendMessage(t,i){const e=String(++this._lastSentReq);return new Promise(((s,n)=>{this._pendingReplies[e]={resolve:s,reject:n},this._send(new yu(this._workerId,e,t,i))}))}listen(t,i){let e=null;const s=new fe({onWillAddFirstListener:()=>{e=String(++this._lastSentReq),this._pendingEmitters.set(e,s),this._send(new xu(this._workerId,e,t,i))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(e),this._send(new Su(this._workerId,e)),e=null}});return s.event}handleMessage(t){t&&t.vsWorker&&(-1!==this._workerId&&t.vsWorker!==this._workerId||this._handleMessage(t))}_handleMessage(t){switch(t.type){case 1:return this._handleReplyMessage(t);case 0:return this._handleRequestMessage(t);case 2:return this._handleSubscribeEventMessage(t);case 3:return this._handleEventMessage(t);case 4:return this._handleUnsubscribeEventMessage(t)}}_handleReplyMessage(t){if(!this._pendingReplies[t.seq])return void console.warn("Got reply to unknown seq");const i=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let e=t.err;return t.err.$isError&&(e=new Error,e.name=t.err.name,e.message=t.err.message,e.stack=t.err.stack),void i.reject(e)}i.resolve(t.res)}_handleRequestMessage(t){const i=t.req;this._handler.handleMessage(t.method,t.args).then((t=>{this._send(new ku(this._workerId,i,t,void 0))}),(t=>{t.detail instanceof Error&&(t.detail=Wi(t.detail)),this._send(new ku(this._workerId,i,void 0,Wi(t)))}))}_handleSubscribeEventMessage(t){const i=t.req,e=this._handler.handleEvent(t.eventName,t.arg)((t=>{this._send(new Cu(this._workerId,i,t))}));this._pendingEvents.set(i,e)}_handleEventMessage(t){this._pendingEmitters.has(t.req)?this._pendingEmitters.get(t.req).fire(t.event):console.warn("Got event for unknown req")}_handleUnsubscribeEventMessage(t){this._pendingEvents.has(t.req)?(this._pendingEvents.get(t.req).dispose(),this._pendingEvents.delete(t.req)):console.warn("Got unsubscribe for unknown req")}_send(t){const i=[];if(0===t.type)for(let e=0;e{this._protocol.handleMessage(t)}),(t=>{null==s||s(t)}))),this._protocol=new Du({sendMessage:(t,i)=>{this._worker.postMessage(t,i)},handleMessage:(t,i)=>{if("function"!=typeof e[t])return Promise.reject(new Error("Missing method "+t+" on main thread host."));try{return Promise.resolve(e[t].apply(e,i))}catch(t){return Promise.reject(t)}},handleEvent:(t,i)=>{if(Mu(t)){const s=e[t].call(e,i);if("function"!=typeof s)throw new Error(`Missing dynamic event ${t} on main thread host.`);return s}if(Au(t)){const i=e[t];if("function"!=typeof i)throw new Error(`Missing event ${t} on main thread host.`);return i}throw new Error(`Malformed event name ${t}`)}}),this._protocol.setWorkerId(this._worker.getId());let n=null;const o=globalThis.require;void 0!==o&&"function"==typeof o.getConfig?n=o.getConfig():void 0!==globalThis.requirejs&&(n=globalThis.requirejs.s.contexts._.config);const r=st(e);this._onModuleLoaded=this._protocol.sendMessage("$initialize",[this._worker.getId(),JSON.parse(JSON.stringify(n)),i,r]);const h=(t,i)=>this._request(t,i),c=(t,i)=>this._protocol.listen(t,i);this._lazyProxy=new Promise(((t,e)=>{s=e,this._onModuleLoaded.then((i=>{t(function(t,i,e){const s=t=>function(){const e=Array.prototype.slice.call(arguments,0);return i(t,e)},n=t=>function(i){return e(t,i)},o={};for(const i of t)o[i]=Mu(i)?n(i):Au(i)?e(i,void 0):s(i);return o}(i,h,c))}),(t=>{e(t),this._onError("Worker failed to load "+i,t)}))}))}getProxyObject(){return this._lazyProxy}_request(t,i){return new Promise(((e,s)=>{this._onModuleLoaded.then((()=>{this._protocol.sendMessage(t,i).then(e,s)}),s)}))}_onError(t,i){console.error(t),console.info(i)}}function Au(t){return"o"===t[0]&&"n"===t[1]&&lo(t.charCodeAt(2))}function Mu(t){return/^onDynamic/.test(t)&&lo(t.charCodeAt(9))}function Lu(t,i){var e;const s=globalThis.MonacoEnvironment;if(null==s?void 0:s.createTrustedTypesPolicy)try{return s.createTrustedTypesPolicy(t,i)}catch(t){return void Pi(t)}try{return null===(e=Wn.trustedTypes)||void 0===e?void 0:e.createPolicy(t,i)}catch(t){return void Pi(t)}}const Fu=Lu("defaultWorkerFactory",{createScriptURL:t=>t});class Tu{constructor(t,i,e,s,n){this.id=i,this.label=e;const o=function(t){const i=globalThis.MonacoEnvironment;if(i){if("function"==typeof i.getWorker)return i.getWorker("workerMain.js",t);if("function"==typeof i.getWorkerUrl){const e=i.getWorkerUrl("workerMain.js",t);return new Worker(Fu?Fu.createScriptURL(e):e,{name:t})}}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}(e);this.worker="function"==typeof o.then?o:Promise.resolve(o),this.postMessage(t,[]),this.worker.then((t=>{t.onmessage=function(t){s(t.data)},t.onmessageerror=n,"function"==typeof t.addEventListener&&t.addEventListener("error",n)}))}getId(){return this.id}postMessage(t,i){var e;null===(e=this.worker)||void 0===e||e.then((e=>{try{e.postMessage(t,i)}catch(t){Pi(t),Pi(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:t}))}}))}dispose(){var t;null===(t=this.worker)||void 0===t||t.then((t=>t.terminate())),this.worker=null}}class Ru{constructor(t){this._label=t,this._webWorkerFailedBeforeError=!1}create(t,i,e){const s=++Ru.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new Tu(t,s,this._label||"anonymous"+s,i,(t=>{bu(t),this._webWorkerFailedBeforeError=t,e(t)}))}}var Ou;Ru.LAST_WORKER_ID=0,function(t){t[t.None=0]="None",t[t.Indent=1]="Indent",t[t.IndentOutdent=2]="IndentOutdent",t[t.Outdent=3]="Outdent"}(Ou||(Ou={}));class Iu{constructor(t){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=t.open,this.close=t.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(t.notIn))for(let i=0,e=t.notIn.length;i0&&t.getLanguageId(r-1)===n;)r--;return new Pu(t,n,r,o+1,t.getStartOffset(r),t.getEndOffset(o))}class Pu{constructor(t,i,e,s,n,o){this._scopedLineTokensBrand=void 0,this._actual=t,this.languageId=i,this._firstTokenIndex=e,this._lastTokenIndex=s,this.firstCharOffset=n,this._lastCharOffset=o}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(t){return this._actual.getLineContent().substring(0,this.firstCharOffset+t)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(t){return this._actual.findTokenIndexAtOffset(t+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(t){return this._actual.getStandardTokenType(t+this._firstTokenIndex)}}function $u(t){return!!(3&t)}class Wu{constructor(t){if(this._autoClosingPairs=t.autoClosingPairs?t.autoClosingPairs.map((t=>new Iu(t))):t.brackets?t.brackets.map((t=>new Iu({open:t[0],close:t[1]}))):[],t.__electricCharacterSupport&&t.__electricCharacterSupport.docComment){const i=t.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new Iu({open:i.open,close:i.close||""}))}this._autoCloseBeforeForQuotes="string"==typeof t.autoCloseBefore?t.autoCloseBefore:Wu.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets="string"==typeof t.autoCloseBefore?t.autoCloseBefore:Wu.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=t.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(t){return t?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}Wu.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n\t",Wu.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n\t";const ju="undefined"!=typeof Buffer;let zu,Hu,Vu,Uu;new Hn((()=>new Uint8Array(256)));class qu{static wrap(t){return ju&&!Buffer.isBuffer(t)&&(t=Buffer.from(t.buffer,t.byteOffset,t.byteLength)),new qu(t)}constructor(t){this.buffer=t,this.byteLength=this.buffer.byteLength}toString(){return ju?this.buffer.toString():(zu||(zu=new TextDecoder),zu.decode(this.buffer))}}function Ku(t,i){return(0|t[i+0])>>>0|t[i+1]<<8>>>0}function Gu(t,i,e){t[e+0]=255&i,t[e+1]=255&(i>>>=8)}function Zu(t,i){return t[i]*2**24+65536*t[i+1]+256*t[i+2]+t[i+3]}function Qu(t,i,e){t[e+3]=i,t[e+2]=i>>>=8,t[e+1]=i>>>=8,t[e]=i>>>=8}function Ju(t,i){return t[i]}function Yu(t,i,e){t[e]=i}function Xu(){return Hu||(Hu=new TextDecoder("UTF-16LE")),Hu}function td(){return Uu||(Uu=Pt()?Xu():(Vu||(Vu=new TextDecoder("UTF-16BE")),Vu)),Uu}class id{constructor(t){this._capacity=0|t,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return null!==this._completedStrings?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()}_buildBuffer(){if(0===this._bufferLength)return"";const t=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return td().decode(t)}_flushBuffer(){const t=this._buildBuffer();this._bufferLength=0,null===this._completedStrings?this._completedStrings=[t]:this._completedStrings[this._completedStrings.length]=t}appendCharCode(t){const i=this._capacity-this._bufferLength;i<=1&&(0===i||mo(t))&&this._flushBuffer(),this._buffer[this._bufferLength++]=t}appendASCIICharCode(t){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=t}appendString(t){const i=t.length;if(this._bufferLength+i>=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=t);for(let e=0;e[t[0].toLowerCase(),t[1].toLowerCase()]));const e=[];for(let t=0;t{const[e,s]=t,[n,o]=i;return e===n||e===o||s===n||s===o},n=(t,s)=>{const n=Math.min(t,s),o=Math.max(t,s);for(let t=0;t0&&o.push({open:n,close:r})}return o}(i);this.brackets=e.map(((i,s)=>new ed(t,s,i.open,i.close,function(t,i,e,s){let n=[];n=n.concat(t),n=n.concat(i);for(let t=0,i=n.length;t=0&&s.push(i);for(const i of o.close)i.indexOf(t)>=0&&s.push(i)}}function od(t,i){return t.length-i.length}function rd(t){if(t.length<=1)return t;const i=[],e=new Set;for(const s of t)e.has(s)||(i.push(s),e.add(s));return i}function hd(t){const i=/^[\w ]+$/.test(t);return t=Zn(t),i?`\\b${t}\\b`:t}function cd(t){return Xn(`(${t.map(hd).join(")|(")})`,!0)}const ad=function(){let t=null,i=null;return function(e){return t!==e&&(t=e,i=function(t){const i=new Uint16Array(t.length);let e=0;for(let s=t.length-1;s>=0;s--)i[e++]=t.charCodeAt(s);return td().decode(i)}(t)),i}}();class ld{static _findPrevBracketInText(t,i,e,s){const n=e.match(t);if(!n)return null;const o=s+(e.length-(n.index||0));return new Ls(i,o-n[0].length+1,i,o+1)}static findPrevBracketInRange(t,i,e,s,n){const o=ad(e).substring(e.length-n,e.length-s);return this._findPrevBracketInText(t,i,o,s)}static findNextBracketInText(t,i,e,s){const n=e.match(t);if(!n)return null;const o=n[0].length;if(0===o)return null;const r=s+(n.index||0);return new Ls(i,r+1,i,r+1+o)}static findNextBracketInRange(t,i,e,s,n){const o=e.substring(s,n);return this.findNextBracketInText(t,i,o,s)}}class ud{constructor(t){this._richEditBrackets=t}getElectricCharacters(){const t=[];if(this._richEditBrackets)for(const i of this._richEditBrackets.brackets)for(const e of i.close){const i=e.charAt(e.length-1);t.push(i)}return k(t)}onElectricCharacter(t,i,e){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;const s=i.findTokenIndexAtOffset(e-1);if($u(i.getStandardTokenType(s)))return null;const n=this._richEditBrackets.reversedRegex,o=i.getLineContent().substring(0,e-1)+t,r=ld.findPrevBracketInRange(n,1,o,0,o.length);if(!r)return null;const h=o.substring(r.startColumn-1,r.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[h])return null;const c=i.getActualLineContentBefore(r.startColumn-1);return/^\s*$/.test(c)?{matchOpenBracket:h}:null}}function dd(t){return t.global&&(t.lastIndex=0),!0}class fd{constructor(t){this._indentationRules=t}shouldIncrease(t){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&dd(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(t))}shouldDecrease(t){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&dd(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(t))}shouldIndentNextLine(t){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&dd(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(t))}shouldIgnore(t){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&dd(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(t))}getIndentMetadata(t){let i=0;return this.shouldIncrease(t)&&(i+=1),this.shouldDecrease(t)&&(i+=2),this.shouldIndentNextLine(t)&&(i+=4),this.shouldIgnore(t)&&(i+=8),i}}class pd{constructor(t){(t=t||{}).brackets=t.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],t.brackets.forEach((t=>{const i=pd._createOpenBracketRegExp(t[0]),e=pd._createCloseBracketRegExp(t[1]);i&&e&&this._brackets.push({open:t[0],openRegExp:i,close:t[1],closeRegExp:e})})),this._regExpRules=t.onEnterRules||[]}onEnter(t,i,e,s){if(t>=3)for(let t=0,n=this._regExpRules.length;t!t.reg||(t.reg.lastIndex=0,t.reg.test(t.text)))))return n.action}if(t>=2&&e.length>0&&s.length>0)for(let t=0,i=this._brackets.length;t=2&&e.length>0)for(let t=0,i=this._brackets.length;t0&&"#"===e.charAt(e.length-1)?e.substring(0,e.length-1):e)]=i,this._onDidChangeSchema.fire(t)}notifySchemaChanged(t){this._onDidChangeSchema.fire(t)}};Eh.add(Ad,Md);const Ld="base.contributions.configuration",Fd={properties:{},patternProperties:{}},Td={properties:{},patternProperties:{}},Rd={properties:{},patternProperties:{}},Od={properties:{},patternProperties:{}},Id={properties:{},patternProperties:{}},_d={properties:{},patternProperties:{}},Nd="vscode://schemas/settings/resourceLanguage",Bd=Eh.as(Ad),Pd="\\[([^\\]]+)\\]",$d=new RegExp(Pd,"g"),Wd=`^(${Pd})+$`,jd=new RegExp(Wd);function zd(t){const i=[];if(jd.test(t)){let e=$d.exec(t);for(;null==e?void 0:e.length;){const s=e[1].trim();s&&i.push(s),e=$d.exec(t)}}return k(i)}const Hd=new class{constructor(){this.overrideIdentifiers=new Set,this._onDidSchemaChange=new fe,this._onDidUpdateConfiguration=new fe,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:rt(0,"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={},Bd.registerSchema(Nd,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(t,i=!0){this.registerConfigurations([t],i)}registerConfigurations(t,i=!0){const e=new Set;this.doRegisterConfigurations(t,i,e),Bd.registerSchema(Nd,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:e})}registerDefaultConfigurations(t){const i=new Set;this.doRegisterDefaultConfigurations(t,i),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:i,defaultsOverrides:!0})}doRegisterDefaultConfigurations(t,i){var e;const s=[];for(const{overrides:n,source:o}of t)for(const t in n)if(i.add(t),jd.test(t)){const i=this.configurationDefaultsOverrides.get(t),r=null!==(e=null==i?void 0:i.valuesSources)&&void 0!==e?e:new Map;if(o)for(const i of Object.keys(n[t]))r.set(i,o);const h={...(null==i?void 0:i.value)||{},...n[t]};this.configurationDefaultsOverrides.set(t,{source:o,value:h,valuesSources:r});const c={type:"object",default:h,description:rt(0,"Configure settings to be overridden for the {0} language.",t.replace(/[\[\]]/g,"")),$ref:Nd,defaultDefaultValue:h,source:P(o)?void 0:o,defaultValueSource:o};s.push(...zd(t)),this.configurationProperties[t]=c,this.defaultLanguageConfigurationOverridesNode.properties[t]=c}else{this.configurationDefaultsOverrides.set(t,{value:n[t],source:o});const i=this.configurationProperties[t];i&&(this.updatePropertyDefaultValue(t,i),this.updateSchema(t,i))}this.doRegisterOverrideIdentifiers(s)}registerOverrideIdentifiers(t){this.doRegisterOverrideIdentifiers(t),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(t){for(const i of t)this.overrideIdentifiers.add(i);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(t,i,e){t.forEach((t=>{this.validateAndRegisterProperties(t,i,t.extensionInfo,t.restrictedProperties,void 0,e),this.configurationContributors.push(t),this.registerJSONConfiguration(t)}))}validateAndRegisterProperties(t,i=!0,e,s,n=3,o){var r;n=q(t.scope)?n:t.scope;const h=t.properties;if(h)for(const t in h){const c=h[t];i&&Vd(t,c)?delete h[t]:(c.source=e,c.defaultDefaultValue=h[t].default,this.updatePropertyDefaultValue(t,c),jd.test(t)?c.scope=void 0:(c.scope=q(c.scope)?n:c.scope,c.restricted=q(c.restricted)?!!(null==s?void 0:s.includes(t)):c.restricted),!h[t].hasOwnProperty("included")||h[t].included?(this.configurationProperties[t]=h[t],(null===(r=h[t].policy)||void 0===r?void 0:r.name)&&this.policyConfigurations.set(h[t].policy.name,t),!h[t].deprecationMessage&&h[t].markdownDeprecationMessage&&(h[t].deprecationMessage=h[t].markdownDeprecationMessage),o.add(t)):(this.excludedConfigurationProperties[t]=h[t],delete h[t]))}const c=t.allOf;if(c)for(const t of c)this.validateAndRegisterProperties(t,i,e,s,n,o)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(t){const i=t=>{const e=t.properties;if(e)for(const t in e)this.updateSchema(t,e[t]);const s=t.allOf;null==s||s.forEach(i)};i(t)}updateSchema(t,i){switch(Fd.properties[t]=i,i.scope){case 1:Td.properties[t]=i;break;case 2:Rd.properties[t]=i;break;case 6:Od.properties[t]=i;break;case 3:Id.properties[t]=i;break;case 4:_d.properties[t]=i;break;case 5:_d.properties[t]=i,this.resourceLanguageSettingsSchema.properties[t]=i}}updateOverridePropertyPatternKey(){for(const t of this.overrideIdentifiers.values()){const i=`[${t}]`,e={type:"object",description:rt(0,"Configure editor settings to be overridden for a language."),errorMessage:rt(0,"This setting does not support per-language configuration."),$ref:Nd};this.updatePropertyDefaultValue(i,e),Fd.properties[i]=e,Td.properties[i]=e,Rd.properties[i]=e,Od.properties[i]=e,Id.properties[i]=e,_d.properties[i]=e}}registerOverridePropertyPatternKey(){const t={type:"object",description:rt(0,"Configure editor settings to be overridden for a language."),errorMessage:rt(0,"This setting does not support per-language configuration."),$ref:Nd};Fd.patternProperties[Wd]=t,Td.patternProperties[Wd]=t,Rd.patternProperties[Wd]=t,Od.patternProperties[Wd]=t,Id.patternProperties[Wd]=t,_d.patternProperties[Wd]=t,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(t,i){const e=this.configurationDefaultsOverrides.get(t);let s=null==e?void 0:e.value,n=null==e?void 0:e.source;V(s)&&(s=i.defaultDefaultValue,n=void 0),V(s)&&(s=function(t){switch(Array.isArray(t)?t[0]:t){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}(i.type)),i.default=s,i.defaultValueSource=n}};function Vd(t,i){var e,s,n,o;return t.trim()?jd.test(t)?rt(0,"Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",t):void 0!==Hd.getConfigurationProperties()[t]?rt(0,"Cannot register '{0}'. This property is already registered.",t):(null===(e=i.policy)||void 0===e?void 0:e.name)&&void 0!==Hd.getPolicyConfigurations().get(null===(s=i.policy)||void 0===s?void 0:s.name)?rt(0,"Cannot register '{0}'. The associated policy {1} is already registered with {2}.",t,null===(n=i.policy)||void 0===n?void 0:n.name,Hd.getPolicyConfigurations().get(null===(o=i.policy)||void 0===o?void 0:o.name)):null:rt(0,"Cannot register an empty property")}Eh.add(Ld,Hd);const Ud=new class{constructor(){this._onDidChangeLanguages=new fe,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(t){return this._languages.push(t),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let i=0,e=this._languages.length;i{const i=new Set;return{info:new Qd(this,t,i),closing:i}})),n=new zn((t=>{const i=new Set,e=new Set;return{info:new Jd(this,t,i,e),opening:i,openingColorized:e}}));for(const[t,i]of e){const e=s.get(t),o=n.get(i);e.closing.add(o.info),o.opening.add(e.info)}const o=i.colorizedBracketPairs?Gd(i.colorizedBracketPairs):e.filter((t=>!("<"===t[0]&&">"===t[1])));for(const[t,i]of o){const e=s.get(t),o=n.get(i);e.closing.add(o.info),o.openingColorized.add(e.info),o.opening.add(e.info)}this._openingBrackets=new Map([...s.cachedValues].map((([t,i])=>[t,i.info]))),this._closingBrackets=new Map([...n.cachedValues].map((([t,i])=>[t,i.info])))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(t){return this._openingBrackets.get(t)}getClosingBracketInfo(t){return this._closingBrackets.get(t)}getBracketInfo(t){return this.getOpeningBracketInfo(t)||this.getClosingBracketInfo(t)}}function Gd(t){return t.filter((([t,i])=>""!==t&&""!==i))}class Zd{constructor(t,i){this.config=t,this.bracketText=i}get languageId(){return this.config.languageId}}class Qd extends Zd{constructor(t,i,e){super(t,i),this.openedBrackets=e,this.isOpeningBracket=!0}}class Jd extends Zd{constructor(t,i,e,s){super(t,i),this.openingBrackets=e,this.openingColorizedBrackets=s,this.isOpeningBracket=!1}closes(t){return t.config===this.config&&this.openingBrackets.has(t)}closesColorized(t){return t.config===this.config&&this.openingColorizedBrackets.has(t)}getOpeningBrackets(){return[...this.openingBrackets]}}var Yd=function(t,i){return function(e,s){i(e,s,t)}};class Xd{constructor(t){this.languageId=t}affects(t){return!this.languageId||this.languageId===t}}const tf=fr("languageConfigurationService");let ef=class extends ie{constructor(t,i){super(),this.configurationService=t,this.languageService=i,this._registry=this._register(new uf),this.onDidChangeEmitter=this._register(new fe),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const e=new Set(Object.values(sf));this._register(this.configurationService.onDidChangeConfiguration((t=>{const i=t.change.keys.some((t=>e.has(t))),s=t.change.overrides.filter((([t,i])=>i.some((t=>e.has(t))))).map((([t])=>t));if(i)this.configurations.clear(),this.onDidChangeEmitter.fire(new Xd(void 0));else for(const t of s)this.languageService.isRegisteredLanguageId(t)&&(this.configurations.delete(t),this.onDidChangeEmitter.fire(new Xd(t)))}))),this._register(this._registry.onDidChange((t=>{this.configurations.delete(t.languageId),this.onDidChangeEmitter.fire(new Xd(t.languageId))})))}register(t,i,e){return this._registry.register(t,i,e)}getLanguageConfiguration(t){let i=this.configurations.get(t);return i||(i=function(t,i,e,s){let n=i.getLanguageConfiguration(t);if(!n){if(!s.isRegisteredLanguageId(t))return new df(t,{});n=new df(t,{})}const o=function(t,i){const e=i.getValue(sf.brackets,{overrideIdentifier:t}),s=i.getValue(sf.colorizedBracketPairs,{overrideIdentifier:t});return{brackets:nf(e),colorizedBracketPairs:nf(s)}}(n.languageId,e),r=cf([n.underlyingConfig,o]);return new df(n.languageId,r)}(t,this._registry,this.configurationService,this.languageService),this.configurations.set(t,i)),i}};ef=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Yd(0,gd),Yd(1,kd)],ef);const sf={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function nf(t){if(Array.isArray(t))return t.map((t=>{if(Array.isArray(t)&&2===t.length)return[t[0],t[1]]})).filter((t=>!!t))}function of(t,i,e){let s=eo(t.getLineContent(i));return s.length>e-1&&(s=s.substring(0,e-1)),s}function rf(t,i,e){return t.tokenization.forceTokenization(i),Bu(t.tokenization.getLineTokens(i),void 0===e?t.getLineMaxColumn(i)-1:e-1)}class hf{constructor(t){this.languageId=t,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(t,i){const e=new af(t,i,++this._order);return this._entries.push(e),this._resolved=null,Xi((()=>{for(let t=0;tt.configuration))))}}function cf(t){let i={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 e of t)i={comments:e.comments||i.comments,brackets:e.brackets||i.brackets,wordPattern:e.wordPattern||i.wordPattern,indentationRules:e.indentationRules||i.indentationRules,onEnterRules:e.onEnterRules||i.onEnterRules,autoClosingPairs:e.autoClosingPairs||i.autoClosingPairs,surroundingPairs:e.surroundingPairs||i.surroundingPairs,autoCloseBefore:e.autoCloseBefore||i.autoCloseBefore,folding:e.folding||i.folding,colorizedBracketPairs:e.colorizedBracketPairs||i.colorizedBracketPairs,__electricCharacterSupport:e.__electricCharacterSupport||i.__electricCharacterSupport};return i}class af{constructor(t,i,e){this.configuration=t,this.priority=i,this.order=e}static cmp(t,i){return t.priority===i.priority?t.order-i.order:t.priority-i.priority}}class lf{constructor(t){this.languageId=t}}class uf extends ie{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._register(this.register(qd,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(t,i,e=0){let s=this._entries.get(t);s||(s=new hf(t),this._entries.set(t,s));const n=s.register(i,e);return this._onDidChange.fire(new lf(t)),Xi((()=>{n.dispose(),this._onDidChange.fire(new lf(t))}))}getLanguageConfiguration(t){const i=this._entries.get(t);return(null==i?void 0:i.getResolvedConfiguration())||null}}class df{constructor(t,i){this.languageId=t,this.underlyingConfig=i,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new pd(this.underlyingConfig):null,this.comments=df._handleComments(this.underlyingConfig),this.characterPair=new Wu(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||Gt,this.indentationRules=this.underlyingConfig.indentationRules,this.indentRulesSupport=this.underlyingConfig.indentationRules?new fd(this.underlyingConfig.indentationRules):null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new Kd(t,this.underlyingConfig)}getWordDefinition(){return Zt(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new sd(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new ud(this.brackets)),this._electricCharacter}onEnter(t,i,e,s){return this._onEnterSupport?this._onEnterSupport.onEnter(t,i,e,s):null}getAutoClosingPairs(){return new _u(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(t){return this.characterPair.getAutoCloseBeforeSet(t)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(t){const i=t.comments;if(!i)return null;const e={};if(i.lineComment&&(e.lineCommentToken=i.lineComment),i.blockComment){const[t,s]=i.blockComment;e.blockCommentStartToken=t,e.blockCommentEndToken=s}return e}}Sd(tf,ef,1);class ff{constructor(t,i,e,s){this.originalStart=t,this.originalLength=i,this.modifiedStart=e,this.modifiedLength=s}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}class pf{constructor(t){this.source=t}getElements(){const t=this.source,i=new Int32Array(t.length);for(let e=0,s=t.length;e0||this.m_modifiedCount>0)&&this.m_changes.push(new ff(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(t,i){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),this.m_originalCount++}AddModifiedElement(t,i){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),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 bf{constructor(t,i,e=null){this.ContinueProcessingPredicate=e,this._originalSequence=t,this._modifiedSequence=i;const[s,n,o]=bf._getElements(t),[r,h,c]=bf._getElements(i);this._hasStrings=o&&c,this._originalStringElements=s,this._originalElementsOrHash=n,this._modifiedStringElements=r,this._modifiedElementsOrHash=h,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(t){return t.length>0&&"string"==typeof t[0]}static _getElements(t){const i=t.getElements();if(bf._isStringArray(i)){const t=new Int32Array(i.length);for(let e=0,s=i.length;e=t&&s>=e&&this.ElementsAreEqual(i,s);)i--,s--;if(t>i||e>s){let n;return e<=s?(mf.Assert(t===i+1,"originalStart should only be one more than originalEnd"),n=[new ff(t,0,e,s-e+1)]):t<=i?(mf.Assert(e===s+1,"modifiedStart should only be one more than modifiedEnd"),n=[new ff(t,i-t+1,e,0)]):(mf.Assert(t===i+1,"originalStart should only be one more than originalEnd"),mf.Assert(e===s+1,"modifiedStart should only be one more than modifiedEnd"),n=[]),n}const o=[0],r=[0],h=this.ComputeRecursionPoint(t,i,e,s,o,r,n),c=o[0],a=r[0];if(null!==h)return h;if(!n[0]){const o=this.ComputeDiffRecursive(t,c,e,a,n);let r=[];return r=n[0]?[new ff(c+1,i-(c+1)+1,a+1,s-(a+1)+1)]:this.ComputeDiffRecursive(c+1,i,a+1,s,n),this.ConcatenateChanges(o,r)}return[new ff(t,i-t+1,e,s-e+1)]}WALKTRACE(t,i,e,s,n,o,r,h,c,a,l,u,d,f,p,g,m,w){let v=null,b=null,y=new vf,k=i,x=e,C=d[0]-g[0]-s,S=-1073741824,D=this.m_forwardHistory.length-1;do{const i=C+t;i===k||i=0&&(t=(c=this.m_forwardHistory[D])[0],k=1,x=c.length-1)}while(--D>=-1);if(v=y.getReverseChanges(),w[0]){let t=d[0]+1,i=g[0]+1;if(null!==v&&v.length>0){const e=v[v.length-1];t=Math.max(t,e.getOriginalEnd()),i=Math.max(i,e.getModifiedEnd())}b=[new ff(t,u-t+1,i,p-i+1)]}else{y=new vf,k=o,x=r,C=d[0]-g[0]-h,S=1073741824,D=m?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const t=C+n;t===k||t=a[t+1]?(f=(l=a[t+1]-1)-C-h,l>S&&y.MarkNextChange(),S=l+1,y.AddOriginalElement(l+1,f+1),C=t+1-n):(f=(l=a[t-1])-C-h,l>S&&y.MarkNextChange(),S=l,y.AddModifiedElement(l+1,f+1),C=t-1-n),D>=0&&(n=(a=this.m_reverseHistory[D])[0],k=1,x=a.length-1)}while(--D>=-1);b=y.getChanges()}return this.ConcatenateChanges(v,b)}ComputeRecursionPoint(t,i,e,s,n,o,r){let h=0,c=0,a=0,l=0,u=0,d=0;t--,e--,n[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const f=i-t+(s-e),p=f+1,g=new Int32Array(p),m=new Int32Array(p),w=s-e,v=i-t,b=t-e,y=i-s,k=(v-w)%2==0;g[w]=t,m[v]=i,r[0]=!1;for(let x=1;x<=f/2+1;x++){let f=0,C=0;a=this.ClipDiagonalBound(w-x,x,w,p),l=this.ClipDiagonalBound(w+x,x,w,p);for(let t=a;t<=l;t+=2){h=t===a||tf+C&&(f=h,C=c),!k&&Math.abs(t-v)<=x-1&&h>=m[t])return n[0]=h,o[0]=c,e<=m[t]&&x<=1448?this.WALKTRACE(w,a,l,b,v,u,d,y,g,m,h,i,n,c,s,o,k,r):null}const S=(f-t+(C-e)-x)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(f,S))return r[0]=!0,n[0]=f,o[0]=C,S>0&&x<=1448?this.WALKTRACE(w,a,l,b,v,u,d,y,g,m,h,i,n,c,s,o,k,r):(t++,e++,[new ff(t,i-t+1,e,s-e+1)]);u=this.ClipDiagonalBound(v-x,x,v,p),d=this.ClipDiagonalBound(v+x,x,v,p);for(let f=u;f<=d;f+=2){h=f===u||f=m[f+1]?m[f+1]-1:m[f-1],c=h-(f-v)-y;const p=h;for(;h>t&&c>e&&this.ElementsAreEqual(h,c);)h--,c--;if(m[f]=h,k&&Math.abs(f-w)<=x&&h<=g[f])return n[0]=h,o[0]=c,p>=g[f]&&x<=1448?this.WALKTRACE(w,a,l,b,v,u,d,y,g,m,h,i,n,c,s,o,k,r):null}if(x<=1447){let t=new Int32Array(l-a+2);t[0]=w-a+1,wf.Copy2(g,a,t,1,l-a+1),this.m_forwardHistory.push(t),t=new Int32Array(d-u+2),t[0]=v-u+1,wf.Copy2(m,u,t,1,d-u+1),this.m_reverseHistory.push(t)}}return this.WALKTRACE(w,a,l,b,v,u,d,y,g,m,h,i,n,c,s,o,k,r)}PrettifyChanges(t){for(let i=0;i0,r=e.modifiedLength>0;for(;e.originalStart+e.originalLength=0;i--){const e=t[i];let s=0,n=0;if(i>0){const e=t[i-1];s=e.originalStart+e.originalLength,n=e.modifiedStart+e.modifiedLength}const o=e.originalLength>0,r=e.modifiedLength>0;let h=0,c=this._boundaryScore(e.originalStart,e.originalLength,e.modifiedStart,e.modifiedLength);for(let t=1;;t++){const i=e.originalStart-t,a=e.modifiedStart-t;if(ic&&(c=l,h=t)}e.originalStart-=h,e.modifiedStart-=h;const a=[null];i>0&&this.ChangesOverlap(t[i-1],t[i],a)&&(t[i-1]=a[0],t.splice(i,1),i++)}if(this._hasStrings)for(let i=1,e=t.length;i0&&e>h&&(h=e,c=i,a=t)}return h>0?[c,a]:null}_contiguousSequenceScore(t,i,e){let s=0;for(let n=0;n=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[t])}_OriginalRegionIsBoundary(t,i){if(this._OriginalIsBoundary(t)||this._OriginalIsBoundary(t-1))return!0;if(i>0){const e=t+i;if(this._OriginalIsBoundary(e-1)||this._OriginalIsBoundary(e))return!0}return!1}_ModifiedIsBoundary(t){return t<=0||t>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[t])}_ModifiedRegionIsBoundary(t,i){if(this._ModifiedIsBoundary(t)||this._ModifiedIsBoundary(t-1))return!0;if(i>0){const e=t+i;if(this._ModifiedIsBoundary(e-1)||this._ModifiedIsBoundary(e))return!0}return!1}_boundaryScore(t,i,e,s){return(this._OriginalRegionIsBoundary(t,i)?1:0)+(this._ModifiedRegionIsBoundary(e,s)?1:0)}ConcatenateChanges(t,i){const e=[];if(0===t.length||0===i.length)return i.length>0?i:t;if(this.ChangesOverlap(t[t.length-1],i[0],e)){const s=new Array(t.length+i.length-1);return wf.Copy(t,0,s,0,t.length-1),s[t.length-1]=e[0],wf.Copy(i,1,s,t.length,i.length-1),s}{const e=new Array(t.length+i.length);return wf.Copy(t,0,e,0,t.length),wf.Copy(i,0,e,t.length,i.length),e}}ChangesOverlap(t,i,e){if(mf.Assert(t.originalStart<=i.originalStart,"Left change is not less than or equal to right change"),mf.Assert(t.modifiedStart<=i.modifiedStart,"Left change is not less than or equal to right change"),t.originalStart+t.originalLength>=i.originalStart||t.modifiedStart+t.modifiedLength>=i.modifiedStart){let s=t.originalLength,n=t.modifiedLength;return t.originalStart+t.originalLength>=i.originalStart&&(s=i.originalStart+i.originalLength-t.originalStart),t.modifiedStart+t.modifiedLength>=i.modifiedStart&&(n=i.modifiedStart+i.modifiedLength-t.modifiedStart),e[0]=new ff(t.originalStart,s,t.modifiedStart,n),!0}return e[0]=null,!1}ClipDiagonalBound(t,i,e,s){if(t>=0&&t255?255:0|t}function kf(t){return t<0?0:t>4294967295?4294967295:0|t}class xf{constructor(t){this.values=t,this.prefixSum=new Uint32Array(t.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(t,i){t=kf(t);const e=this.values,s=this.prefixSum,n=i.length;return 0!==n&&(this.values=new Uint32Array(e.length+n),this.values.set(e.subarray(0,t),0),this.values.set(e.subarray(t),t+n),this.values.set(i,t),t-1=0&&this.prefixSum.set(s.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(t,i){return t=kf(t),i=kf(i),this.values[t]!==i&&(this.values[t]=i,t-1=e.length)return!1;const n=e.length-t;return i>=n&&(i=n),0!==i&&(this.values=new Uint32Array(e.length-i),this.values.set(e.subarray(0,t),0),this.values.set(e.subarray(t+i),t),this.prefixSum=new Uint32Array(this.values.length),t-1=0&&this.prefixSum.set(s.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(t){return t<0?0:(t=kf(t),this._getPrefixSum(t))}_getPrefixSum(t){if(t<=this.prefixSumValidIndex[0])return this.prefixSum[t];let i=this.prefixSumValidIndex[0]+1;0===i&&(this.prefixSum[0]=this.values[0],i++),t>=this.values.length&&(t=this.values.length-1);for(let e=i;e<=t;e++)this.prefixSum[e]=this.prefixSum[e-1]+this.values[e];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],t),this.prefixSum[t]}getIndexOf(t){t=Math.floor(t),this.getTotalSum();let i=0,e=this.values.length-1,s=0,n=0,o=0;for(;i<=e;)if(s=i+(e-i)/2|0,n=this.prefixSum[s],o=n-this.values[s],t=n))break;i=s+1}return new Sf(s,t-o)}}class Cf{constructor(t){this._values=t,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(t){return this._ensureValid(),0===t?0:this._prefixSum[t-1]}getIndexOf(t){this._ensureValid();const i=this._indexBySum[t];return new Sf(i,t-(i>0?this._prefixSum[i-1]:0))}removeValues(t,i){this._values.splice(t,i),this._invalidate(t)}insertValues(t,i){this._values=S(this._values,t,i),this._invalidate(t)}_invalidate(t){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,t-1)}_ensureValid(){if(!this._isValid){for(let t=this._validEndIndex+1,i=this._values.length;t0?this._prefixSum[t-1]:0;this._prefixSum[t]=e+i;for(let s=0;s=0&&t<256?this._asciiMap[t]=e:this._map.set(t,e)}get(t){return t>=0&&t<256?this._asciiMap[t]:this._map.get(t)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class Af{constructor(){this._actual=new Ef(0)}add(t){this._actual.set(t,1)}has(t){return 1===this._actual.get(t)}clear(){return this._actual.clear()}}class Mf{constructor(t,i,e){const s=new Uint8Array(t*i);for(let n=0,o=t*i;ni&&(i=o),n>e&&(e=n),r>e&&(e=r)}i++,e++;const s=new Mf(e,i,0);for(let i=0,e=t.length;i=this._maxCharCode?0:this._states.get(t,i)}}let Ff=null,Tf=null;class Rf{static _createLink(t,i,e,s,n){let o=n-1;do{const e=i.charCodeAt(o);if(2!==t.get(e))break;o--}while(o>s);if(s>0){const t=i.charCodeAt(s-1),e=i.charCodeAt(o);(40===t&&41===e||91===t&&93===e||123===t&&125===e)&&o--}return{range:{startLineNumber:e,startColumn:s+1,endLineNumber:e,endColumn:o+2},url:i.substring(s,o+1)}}static computeLinks(t,i=function(){return null===Ff&&(Ff=new Lf([[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]])),Ff}()){const e=function(){if(null===Tf){Tf=new Ef(0);const t=" \t<>'\"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…";for(let i=0;i=0?(s+=e?1:-1,s<0?s=t.length-1:s%=t.length,t[s]):null}}Of.INSTANCE=new Of;class If extends Ef{constructor(t){super(0);for(let i=0,e=t.length;i(t.hasOwnProperty(i)||(t[i]=(t=>new If(t))(i)),t[i])}();var Nf,Bf,Pf,$f,Wf,jf;!function(t){t[t.Left=1]="Left",t[t.Center=2]="Center",t[t.Right=4]="Right",t[t.Full=7]="Full"}(Nf||(Nf={})),function(t){t[t.Left=1]="Left",t[t.Right=2]="Right"}(Bf||(Bf={})),function(t){t[t.Inline=1]="Inline",t[t.Gutter=2]="Gutter"}(Pf||(Pf={})),function(t){t[t.Both=0]="Both",t[t.Right=1]="Right",t[t.Left=2]="Left",t[t.None=3]="None"}($f||($f={}));class zf{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(t){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,0|t.tabSize),"tabSize"===t.indentSize?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,0|t.indentSize),this._indentSizeIsTabSize=!1),this.insertSpaces=Boolean(t.insertSpaces),this.defaultEOL=0|t.defaultEOL,this.trimAutoWhitespace=Boolean(t.trimAutoWhitespace),this.bracketPairColorizationOptions=t.bracketPairColorizationOptions}equals(t){return this.tabSize===t.tabSize&&this._indentSizeIsTabSize===t._indentSizeIsTabSize&&this.indentSize===t.indentSize&&this.insertSpaces===t.insertSpaces&&this.defaultEOL===t.defaultEOL&&this.trimAutoWhitespace===t.trimAutoWhitespace&&et(this.bracketPairColorizationOptions,t.bracketPairColorizationOptions)}createChangeEvent(t){return{tabSize:this.tabSize!==t.tabSize,indentSize:this.indentSize!==t.indentSize,insertSpaces:this.insertSpaces!==t.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==t.trimAutoWhitespace}}}class Hf{constructor(t,i){this._findMatchBrand=void 0,this.range=t,this.matches=i}}class Vf{constructor(t,i,e,s,n,o){this.identifier=t,this.range=i,this.text=e,this.forceMoveMarkers=s,this.isAutoWhitespaceEdit=n,this._isTracked=o}}class Uf{constructor(t,i,e){this.regex=t,this.wordSeparators=i,this.simpleSearch=e}}class qf{constructor(t,i,e){this.reverseEdits=t,this.changes=i,this.trimAutoWhitespaceLineNumbers=e}}function Kf(t){return!t.isTooLargeForSyncing()&&!t.isForSimpleWidget}class Gf{constructor(t,i,e,s){this.searchString=t,this.isRegex=i,this.matchCase=e,this.wordSeparators=s}parseSearchRequest(){if(""===this.searchString)return null;let t;t=this.isRegex?function(t){if(!t||0===t.length)return!1;for(let i=0,e=t.length;i=e)break;const s=t.charCodeAt(i);if(110===s||114===s||87===s)return!0}}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;let i=null;try{i=Xn(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:t,global:!0,unicode:!0})}catch(t){return null}if(!i)return null;let e=!this.isRegex&&!t;return e&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(e=this.matchCase),new Uf(i,this.wordSeparators?_f(this.wordSeparators):null,e?this.searchString:null)}}function Zf(t,i,e){if(!e)return new Hf(t,null);const s=[];for(let t=0,e=i.length;t=t?s=n-1:i[n+1]>=t?(e=n,s=n):e=n+1}return e+1}}class Jf{static findMatches(t,i,e,s,n){const o=i.parseSearchRequest();return o?o.regex.multiline?this._doFindMatchesMultiline(t,e,new Xf(o.wordSeparators,o.regex),s,n):this._doFindMatchesLineByLine(t,e,o,s,n):[]}static _getMultilineMatchRange(t,i,e,s,n,o){let r,h,c=0;if(s?(c=s.findLineFeedCountBeforeOffset(n),r=i+n+c):r=i+n,s){const t=s.findLineFeedCountBeforeOffset(n+o.length);h=r+o.length+(t-c)}else h=r+o.length;const a=t.getPositionAt(r),l=t.getPositionAt(h);return new Ls(a.lineNumber,a.column,l.lineNumber,l.column)}static _doFindMatchesMultiline(t,i,e,s,n){const o=t.getOffsetAt(i.getStartPosition()),r=t.getValueInRange(i,1),h="\r\n"===t.getEOL()?new Qf(r):null,c=[];let a,l=0;for(e.reset(0);a=e.next(r);)if(c[l++]=Zf(this._getMultilineMatchRange(t,o,r,h,a.index,a[0]),a,s),l>=n)return c;return c}static _doFindMatchesLineByLine(t,i,e,s,n){const o=[];let r=0;if(i.startLineNumber===i.endLineNumber){const h=t.getLineContent(i.startLineNumber).substring(i.startColumn-1,i.endColumn-1);return r=this._findMatchesInLine(e,h,i.startLineNumber,i.startColumn-1,r,o,s,n),o}const h=t.getLineContent(i.startLineNumber).substring(i.startColumn-1);r=this._findMatchesInLine(e,h,i.startLineNumber,i.startColumn-1,r,o,s,n);for(let h=i.startLineNumber+1;h=h))return n;return n}const a=new Xf(t.wordSeparators,t.regex);let l;a.reset(0);do{if(l=a.next(i),l&&(o[n++]=Zf(new Ls(e,l.index+1+s,e,l.index+1+l[0].length+s),l,r),n>=h))return n}while(l);return n}static findNextMatch(t,i,e,s){const n=i.parseSearchRequest();if(!n)return null;const o=new Xf(n.wordSeparators,n.regex);return n.regex.multiline?this._doFindNextMatchMultiline(t,e,o,s):this._doFindNextMatchLineByLine(t,e,o,s)}static _doFindNextMatchMultiline(t,i,e,s){const n=new Ms(i.lineNumber,1),o=t.getOffsetAt(n),r=t.getLineCount(),h=t.getValueInRange(new Ls(n.lineNumber,n.column,r,t.getLineMaxColumn(r)),1),c="\r\n"===t.getEOL()?new Qf(h):null;e.reset(i.column-1);const a=e.next(h);return a?Zf(this._getMultilineMatchRange(t,o,h,c,a.index,a[0]),a,s):1!==i.lineNumber||1!==i.column?this._doFindNextMatchMultiline(t,new Ms(1,1),e,s):null}static _doFindNextMatchLineByLine(t,i,e,s){const n=t.getLineCount(),o=i.lineNumber,r=t.getLineContent(o),h=this._findFirstMatchInLine(e,r,o,i.column,s);if(h)return h;for(let i=1;i<=n;i++){const r=(o+i-1)%n,h=t.getLineContent(r+1),c=this._findFirstMatchInLine(e,h,r+1,1,s);if(c)return c}return null}static _findFirstMatchInLine(t,i,e,s,n){t.reset(s-1);const o=t.next(i);return o?Zf(new Ls(e,o.index+1,e,o.index+1+o[0].length),o,n):null}static findPreviousMatch(t,i,e,s){const n=i.parseSearchRequest();if(!n)return null;const o=new Xf(n.wordSeparators,n.regex);return n.regex.multiline?this._doFindPreviousMatchMultiline(t,e,o,s):this._doFindPreviousMatchLineByLine(t,e,o,s)}static _doFindPreviousMatchMultiline(t,i,e,s){const n=this._doFindMatchesMultiline(t,new Ls(1,1,i.lineNumber,i.column),e,s,9990);if(n.length>0)return n[n.length-1];const o=t.getLineCount();return i.lineNumber!==o||i.column!==t.getLineMaxColumn(o)?this._doFindPreviousMatchMultiline(t,new Ms(o,t.getLineMaxColumn(o)),e,s):null}static _doFindPreviousMatchLineByLine(t,i,e,s){const n=t.getLineCount(),o=i.lineNumber,r=t.getLineContent(o).substring(0,i.column-1),h=this._findLastMatchInLine(e,r,o,s);if(h)return h;for(let i=1;i<=n;i++){const r=(n+o-i-1)%n,h=t.getLineContent(r+1),c=this._findLastMatchInLine(e,h,r+1,s);if(c)return c}return null}static _findLastMatchInLine(t,i,e,s){let n,o=null;for(t.reset(0);n=t.next(i);)o=Zf(new Ls(e,n.index+1,e,n.index+1+n[0].length),n,s);return o}}function Yf(t,i,e,s,n){return function(t,i,e,s,n){if(0===s)return!0;const o=i.charCodeAt(s-1);if(0!==t.get(o))return!0;if(13===o||10===o)return!0;if(n>0){const e=i.charCodeAt(s);if(0!==t.get(e))return!0}return!1}(t,i,0,s,n)&&function(t,i,e,s,n){if(s+n===e)return!0;const o=i.charCodeAt(s+n);if(0!==t.get(o))return!0;if(13===o||10===o)return!0;if(n>0){const e=i.charCodeAt(s+n-1);if(0!==t.get(e))return!0}return!1}(t,i,e,s,n)}class Xf{constructor(t,i){this._wordSeparators=t,this._searchRegex=i,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(t){this._searchRegex.lastIndex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(t){const i=t.length;let e;do{if(this._prevMatchStartIndex+this._prevMatchLength===i)return null;if(e=this._searchRegex.exec(t),!e)return null;const s=e.index,n=e[0].length;if(s===this._prevMatchStartIndex&&n===this._prevMatchLength){if(0===n){bo(t,i,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=s,this._prevMatchLength=n,!this._wordSeparators||Yf(this._wordSeparators,t,i,s,n))return e}while(e);return null}}class tp{static computeUnicodeHighlights(t,i,e){const s=e?e.startLineNumber:1,n=e?e.endLineNumber:t.getLineCount(),o=new ip(i),r=o.getCandidateCodePoints();let h;h="allNonBasicAscii"===r?new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):new RegExp(`[${Zn(Array.from(r).map((t=>String.fromCodePoint(t))).join(""))}]`,"g");const c=new Xf(null,h),a=[];let l,u=!1,d=0,f=0,p=0;t:for(let i=s,e=n;i<=e;i++){const e=t.getLineContent(i),s=e.length;c.reset(0);do{if(l=c.next(e),l){let t=l.index,n=l.index+l[0].length;t>0&&mo(e.charCodeAt(t-1))&&t--,n+1=1e3){u=!0;break t}a.push(new Ls(i,t+1,i,n+1))}}}while(l)}return{ranges:a,hasMore:u,ambiguousCharacterCount:d,invisibleCharacterCount:f,nonBasicAsciiCharacterCount:p}}static computeUnicodeHighlightReason(t,i){const e=new ip(i);switch(e.shouldHighlightNonBasicASCII(t,null)){case 0:return null;case 2:return{kind:1};case 3:{const s=t.codePointAt(0),n=e.ambiguousCharacters.getPrimaryConfusable(s),o=Po.getLocales().filter((t=>!Po.getInstance(new Set([...i.allowedLocales,t])).isAmbiguous(s)));return{kind:0,confusableWith:String.fromCodePoint(n),notAmbiguousInLocales:o}}case 1:return{kind:2}}}}class ip{constructor(t){this.options=t,this.allowedCodePoints=new Set(t.allowedCodePoints),this.ambiguousCharacters=Po.getInstance(new Set(t.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const t=new Set;if(this.options.invisibleCharacters)for(const i of $o.codePoints)ep(String.fromCodePoint(i))||t.add(i);if(this.options.ambiguousCharacters)for(const i of this.ambiguousCharacters.getConfusableCodePoints())t.add(i);for(const i of this.allowedCodePoints)t.delete(i);return t}shouldHighlightNonBasicASCII(t,i){const e=t.codePointAt(0);if(this.allowedCodePoints.has(e))return 0;if(this.options.nonBasicASCII)return 1;let s=!1,n=!1;if(i)for(const t of i){const i=t.codePointAt(0),e=Ao(t);s=s||e,e||this.ambiguousCharacters.isAmbiguous(i)||$o.isInvisibleCharacter(i)||(n=!0)}return!s&&n?0:this.options.invisibleCharacters&&!ep(t)&&$o.isInvisibleCharacter(e)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(e)?3:0}}function ep(t){return" "===t||"\n"===t||"\t"===t}class sp{constructor(t,i,e){this.changes=t,this.moves=i,this.hitTimeout=e}}class np{constructor(t,i){this.lineRangeMapping=t,this.changes=i}}class op{static addRange(t,i){let e=0;for(;ei))return new op(t,i)}static ofLength(t){return new op(0,t)}static ofStartAndLength(t,i){return new op(t,t+i)}constructor(t,i){if(this.start=t,this.endExclusive=i,t>i)throw new Gi(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(t){return new op(this.start+t,this.endExclusive+t)}deltaStart(t){return new op(this.start+t,this.endExclusive)}deltaEnd(t){return new op(this.start,this.endExclusive+t)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(t){return this.start===t.start&&this.endExclusive===t.endExclusive}containsRange(t){return this.start<=t.start&&t.endExclusive<=this.endExclusive}contains(t){return this.start<=t&&t=t.endExclusive}slice(t){return t.slice(this.start,this.endExclusive)}clip(t){if(this.isEmpty)throw new Gi(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,t))}clipCyclic(t){if(this.isEmpty)throw new Gi(`Invalid clipping range: ${this.toString()}`);return t=this.endExclusive?this.start+(t-this.start)%this.length:t}forEach(t){for(let i=this.start;it.toString())).join(", ")}intersectsStrict(t){let i=0;for(;it+i.length),0)}}function hp(t,i){const e=function(t,i,e=t.length-1){for(let s=e;s>=0;s--)if(i(t[s]))return s;return-1}(t,i);if(-1!==e)return t[e]}function cp(t,i){const e=ap(t,i);return-1===e?void 0:t[e]}function ap(t,i,e=0,s=t.length){let n=e,o=s;for(;n0&&(e=n)}return e}function fp(t,i){if(0===t.length)return-1;let e=0;for(let s=1;s0&&(e=s);return e}up.assertInvariants=!1;class pp{static fromRange(t){return new pp(t.startLineNumber,t.endLineNumber)}static fromRangeInclusive(t){return new pp(t.startLineNumber,t.endLineNumber+1)}static joinMany(t){if(0===t.length)return[];let i=new gp(t[0].slice());for(let e=1;ei)throw new Gi(`startLineNumber ${t} cannot be after endLineNumberExclusive ${i}`);this.startLineNumber=t,this.endLineNumberExclusive=i}contains(t){return this.startLineNumber<=t&&ti.endLineNumberExclusive>=t.startLineNumber)),e=ap(this._normalizedRanges,(i=>i.startLineNumber<=t.endLineNumberExclusive))+1;if(i===e)this._normalizedRanges.splice(i,0,t);else if(i===e-1)this._normalizedRanges[i]=this._normalizedRanges[i].join(t);else{const s=this._normalizedRanges[i].join(this._normalizedRanges[e-1]).join(t);this._normalizedRanges.splice(i,e-i,s)}}contains(t){const i=cp(this._normalizedRanges,(i=>i.startLineNumber<=t));return!!i&&i.endLineNumberExclusive>t}intersects(t){const i=cp(this._normalizedRanges,(i=>i.startLineNumbert.startLineNumber}getUnion(t){if(0===this._normalizedRanges.length)return t;if(0===t._normalizedRanges.length)return this;const i=[];let e=0,s=0,n=null;for(;e=o.startLineNumber?n=new pp(n.startLineNumber,Math.max(n.endLineNumberExclusive,o.endLineNumberExclusive)):(i.push(n),n=o)}return null!==n&&i.push(n),new gp(i)}subtractFrom(t){const i=lp(this._normalizedRanges,(i=>i.endLineNumberExclusive>=t.startLineNumber)),e=ap(this._normalizedRanges,(i=>i.startLineNumber<=t.endLineNumberExclusive))+1;if(i===e)return new gp([t]);const s=[];let n=t.startLineNumber;for(let t=i;tn&&s.push(new pp(n,i.startLineNumber)),n=i.endLineNumberExclusive}return nt.toString())).join(", ")}getIntersection(t){const i=[];let e=0,s=0;for(;ei.delta(t))))}}class mp{static inverse(t,i,e){const s=[];let n=1,o=1;for(const i of t){const t=new wp(new pp(n,i.original.startLineNumber),new pp(o,i.modified.startLineNumber),void 0);t.modified.isEmpty||s.push(t),n=i.original.endLineNumberExclusive,o=i.modified.endLineNumberExclusive}const r=new wp(new pp(n,i+1),new pp(o,e+1),void 0);return r.modified.isEmpty||s.push(r),s}constructor(t,i){this.original=t,this.modified=i}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new mp(this.modified,this.original)}join(t){return new mp(this.original.join(t.original),this.modified.join(t.modified))}}class wp extends mp{constructor(t,i,e){super(t,i),this.innerChanges=e}flip(){var t;return new wp(this.modified,this.original,null===(t=this.innerChanges)||void 0===t?void 0:t.map((t=>t.flip())))}}class vp{constructor(t,i){this.originalRange=t,this.modifiedRange=i}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new vp(this.modifiedRange,this.originalRange)}}class bp{computeDiff(t,i,e){var s;const n=new Dp(t,i,{maxComputationTime:e.maxComputationTimeMs,shouldIgnoreTrimWhitespace:e.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),o=[];let r=null;for(const t of n.changes){let i,e;i=0===t.originalEndLineNumber?new pp(t.originalStartLineNumber+1,t.originalStartLineNumber+1):new pp(t.originalStartLineNumber,t.originalEndLineNumber+1),e=0===t.modifiedEndLineNumber?new pp(t.modifiedStartLineNumber+1,t.modifiedStartLineNumber+1):new pp(t.modifiedStartLineNumber,t.modifiedEndLineNumber+1);let n=new wp(i,e,null===(s=t.charChanges)||void 0===s?void 0:s.map((t=>new vp(new Ls(t.originalStartLineNumber,t.originalStartColumn,t.originalEndLineNumber,t.originalEndColumn),new Ls(t.modifiedStartLineNumber,t.modifiedStartColumn,t.modifiedEndLineNumber,t.modifiedEndColumn)))));r&&(r.modified.endLineNumberExclusive!==n.modified.startLineNumber&&r.original.endLineNumberExclusive!==n.original.startLineNumber||(n=new wp(r.original.join(n.original),r.modified.join(n.modified),r.innerChanges&&n.innerChanges?r.innerChanges.concat(n.innerChanges):void 0),o.pop())),o.push(n),r=n}return Sh((()=>Dh(o,((t,i)=>i.original.startLineNumber-t.original.endLineNumberExclusive==i.modified.startLineNumber-t.modified.endLineNumberExclusive&&t.original.endLineNumberExclusive(10===t?"\\n":String.fromCharCode(t))+`-(${this._lineNumbers[i]},${this._columns[i]})`)).join(", ")+"]"}_assertIndex(t,i){if(t<0||t>=i.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(t){return t>0&&t===this._lineNumbers.length?this.getEndLineNumber(t-1):(this._assertIndex(t,this._lineNumbers),this._lineNumbers[t])}getEndLineNumber(t){return-1===t?this.getStartLineNumber(t+1):(this._assertIndex(t,this._lineNumbers),10===this._charCodes[t]?this._lineNumbers[t]+1:this._lineNumbers[t])}getStartColumn(t){return t>0&&t===this._columns.length?this.getEndColumn(t-1):(this._assertIndex(t,this._columns),this._columns[t])}getEndColumn(t){return-1===t?this.getStartColumn(t+1):(this._assertIndex(t,this._columns),10===this._charCodes[t]?1:this._columns[t]+1)}}class Cp{constructor(t,i,e,s,n,o,r,h){this.originalStartLineNumber=t,this.originalStartColumn=i,this.originalEndLineNumber=e,this.originalEndColumn=s,this.modifiedStartLineNumber=n,this.modifiedStartColumn=o,this.modifiedEndLineNumber=r,this.modifiedEndColumn=h}static createFromDiffChange(t,i,e){const s=i.getStartLineNumber(t.originalStart),n=i.getStartColumn(t.originalStart),o=i.getEndLineNumber(t.originalStart+t.originalLength-1),r=i.getEndColumn(t.originalStart+t.originalLength-1),h=e.getStartLineNumber(t.modifiedStart),c=e.getStartColumn(t.modifiedStart),a=e.getEndLineNumber(t.modifiedStart+t.modifiedLength-1),l=e.getEndColumn(t.modifiedStart+t.modifiedLength-1);return new Cp(s,n,o,r,h,c,a,l)}}class Sp{constructor(t,i,e,s,n){this.originalStartLineNumber=t,this.originalEndLineNumber=i,this.modifiedStartLineNumber=e,this.modifiedEndLineNumber=s,this.charChanges=n}static createFromDiffResult(t,i,e,s,n,o,r){let h,c,a,l,u;if(0===i.originalLength?(h=e.getStartLineNumber(i.originalStart)-1,c=0):(h=e.getStartLineNumber(i.originalStart),c=e.getEndLineNumber(i.originalStart+i.originalLength-1)),0===i.modifiedLength?(a=s.getStartLineNumber(i.modifiedStart)-1,l=0):(a=s.getStartLineNumber(i.modifiedStart),l=s.getEndLineNumber(i.modifiedStart+i.modifiedLength-1)),o&&i.originalLength>0&&i.originalLength<20&&i.modifiedLength>0&&i.modifiedLength<20&&n()){const o=e.createCharSequence(t,i.originalStart,i.originalStart+i.originalLength-1),h=s.createCharSequence(t,i.modifiedStart,i.modifiedStart+i.modifiedLength-1);if(o.getElements().length>0&&h.getElements().length>0){let t=yp(o,h,n,!0).changes;r&&(t=function(t){if(t.length<=1)return t;const i=[t[0]];let e=i[0];for(let s=1,n=t.length;s1&&r>1&&t.charCodeAt(e-2)===i.charCodeAt(r-2);)e--,r--;(e>1||r>1)&&this._pushTrimWhitespaceCharChange(s,n+1,1,e,o+1,1,r)}{let e=Ap(t,1),r=Ap(i,1);const h=t.length+1,c=i.length+1;for(;e!0;const i=Date.now();return()=>Date.now()-i{e.push(Fp.fromOffsetPairs(t?t.getEndExclusives():Tp.zero,s?s.getStarts():new Tp(i,(t?t.seq2Range.endExclusive-t.seq1Range.endExclusive:0)+i)))})),e}static fromOffsetPairs(t,i){return new Fp(new op(t.offset1,i.offset1),new op(t.offset2,i.offset2))}constructor(t,i){this.seq1Range=t,this.seq2Range=i}swap(){return new Fp(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(t){return new Fp(this.seq1Range.join(t.seq1Range),this.seq2Range.join(t.seq2Range))}delta(t){return 0===t?this:new Fp(this.seq1Range.delta(t),this.seq2Range.delta(t))}deltaStart(t){return 0===t?this:new Fp(this.seq1Range.deltaStart(t),this.seq2Range.deltaStart(t))}deltaEnd(t){return 0===t?this:new Fp(this.seq1Range.deltaEnd(t),this.seq2Range.deltaEnd(t))}intersect(t){const i=this.seq1Range.intersect(t.seq1Range),e=this.seq2Range.intersect(t.seq2Range);if(i&&e)return new Fp(i,e)}getStarts(){return new Tp(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new Tp(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class Tp{constructor(t,i){this.offset1=t,this.offset2=i}toString(){return`${this.offset1} <-> ${this.offset2}`}}Tp.zero=new Tp(0,0),Tp.max=new Tp(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);class Rp{isValid(){return!0}}Rp.instance=new Rp;class Op{constructor(t){if(this.timeout=t,this.startTime=Date.now(),this.valid=!0,t<=0)throw new Gi("timeout must be positive")}isValid(){return!(Date.now()-this.startTime0&&c>0&&3===o.get(h-1,c-1)&&(u+=r.get(h-1,c-1)),u+=s?s(h,c):1):u=-1;const d=Math.max(a,l,u);if(d===u){const t=h>0&&c>0?r.get(h-1,c-1):0;r.set(h,c,t+1),o.set(h,c,3)}else d===a?(r.set(h,c,0),o.set(h,c,1)):d===l&&(r.set(h,c,0),o.set(h,c,2));n.set(h,c,d)}const h=[];let c=t.length,a=i.length;function l(t,i){t+1===c&&i+1===a||h.push(new Fp(new op(t+1,c),new op(i+1,a))),c=t,a=i}let u=t.length-1,d=i.length-1;for(;u>=0&&d>=0;)3===o.get(u,d)?(l(u,d),u--,d--):1===o.get(u,d)?u--:d--;return l(-1,-1),h.reverse(),new Lp(h,!1)}}class Pp{compute(t,i,e=Rp.instance){if(0===t.length||0===i.length)return Lp.trivial(t,i);const s=t,n=i;function o(t,i){for(;ts.length||u>n.length)continue;const d=o(l,u);h.set(a,d);const f=c.get(l===e?a+1:a-1);if(c.set(a,d!==l?new $p(f,l,u,d-l):f),h.get(a)===s.length&&h.get(a)-a===n.length)break t}}let l=c.get(a);const u=[];let d=s.length,f=n.length;for(;;){const t=l?l.x+l.length:0,i=l?l.y+l.length:0;if(t===d&&i===f||u.push(new Fp(new op(t,d),new op(i,f))),!l)break;d=l.x,f=l.y,l=l.prev}return u.reverse(),new Lp(u,!1)}}class $p{constructor(t,i,e,s){this.prev=t,this.x=i,this.y=e,this.length=s}}class Wp{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(t){return t<0?this.negativeArr[t=-t-1]:this.positiveArr[t]}set(t,i){if(t<0){if((t=-t-1)>=this.negativeArr.length){const t=this.negativeArr;this.negativeArr=new Int32Array(2*t.length),this.negativeArr.set(t)}this.negativeArr[t]=i}else{if(t>=this.positiveArr.length){const t=this.positiveArr;this.positiveArr=new Int32Array(2*t.length),this.positiveArr.set(t)}this.positiveArr[t]=i}}}class jp{constructor(){this.positiveArr=[],this.negativeArr=[]}get(t){return t<0?this.negativeArr[t=-t-1]:this.positiveArr[t]}set(t,i){t<0?this.negativeArr[t=-t-1]=i:this.positiveArr[t]=i}}class zp{constructor(t,i){this.uri=t,this.value=i}}class Hp{constructor(t,i){if(this[Wf]="ResourceMap",t instanceof Hp)this.map=new Map(t.map),this.toKey=null!=i?i:Hp.defaultToKey;else if(function(t){return Array.isArray(t)}(t)){this.map=new Map,this.toKey=null!=i?i:Hp.defaultToKey;for(const[i,e]of t)this.set(i,e)}else this.map=new Map,this.toKey=null!=t?t:Hp.defaultToKey}set(t,i){return this.map.set(this.toKey(t),new zp(t,i)),this}get(t){var i;return null===(i=this.map.get(this.toKey(t)))||void 0===i?void 0:i.value}has(t){return this.map.has(this.toKey(t))}get size(){return this.map.size}clear(){this.map.clear()}delete(t){return this.map.delete(this.toKey(t))}forEach(t,i){void 0!==i&&(t=t.bind(i));for(const[i,e]of this.map)t(e.value,e.uri,this)}*values(){for(const t of this.map.values())yield t.value}*keys(){for(const t of this.map.values())yield t.uri}*entries(){for(const t of this.map.values())yield[t.uri,t.value]}*[(Wf=Symbol.toStringTag,Symbol.iterator)](){for(const[,t]of this.map)yield[t.uri,t.value]}}Hp.defaultToKey=t=>t.toString();class Vp{constructor(){this[jf]="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 t;return null===(t=this._head)||void 0===t?void 0:t.value}get last(){var t;return null===(t=this._tail)||void 0===t?void 0:t.value}has(t){return this._map.has(t)}get(t,i=0){const e=this._map.get(t);if(e)return 0!==i&&this.touch(e,i),e.value}set(t,i,e=0){let s=this._map.get(t);if(s)s.value=i,0!==e&&this.touch(s,e);else{switch(s={key:t,value:i,next:void 0,previous:void 0},e){case 0:case 2:default:this.addItemLast(s);break;case 1:this.addItemFirst(s)}this._map.set(t,s),this._size++}return this}delete(t){return!!this.remove(t)}remove(t){const i=this._map.get(t);if(i)return this._map.delete(t),this.removeItem(i),this._size--,i.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const t=this._head;return this._map.delete(t.key),this.removeItem(t),this._size--,t.value}forEach(t,i){const e=this._state;let s=this._head;for(;s;){if(i?t.bind(i)(s.value,s.key,this):t(s.value,s.key,this),this._state!==e)throw new Error("LinkedMap got modified during iteration.");s=s.next}}keys(){const t=this,i=this._state;let e=this._head;const s={[Symbol.iterator]:()=>s,next(){if(t._state!==i)throw new Error("LinkedMap got modified during iteration.");if(e){const t={value:e.key,done:!1};return e=e.next,t}return{value:void 0,done:!0}}};return s}values(){const t=this,i=this._state;let e=this._head;const s={[Symbol.iterator]:()=>s,next(){if(t._state!==i)throw new Error("LinkedMap got modified during iteration.");if(e){const t={value:e.value,done:!1};return e=e.next,t}return{value:void 0,done:!0}}};return s}entries(){const t=this,i=this._state;let e=this._head;const s={[Symbol.iterator]:()=>s,next(){if(t._state!==i)throw new Error("LinkedMap got modified during iteration.");if(e){const t={value:[e.key,e.value],done:!1};return e=e.next,t}return{value:void 0,done:!0}}};return s}[(jf=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(t){if(t>=this.size)return;if(0===t)return void this.clear();let i=this._head,e=this.size;for(;i&&e>t;)this._map.delete(i.key),i=i.next,e--;this._head=i,this._size=e,i&&(i.previous=void 0),this._state++}addItemFirst(t){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");t.next=this._head,this._head.previous=t}else this._tail=t;this._head=t,this._state++}addItemLast(t){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");t.previous=this._tail,this._tail.next=t}else this._head=t;this._tail=t,this._state++}removeItem(t){if(t===this._head&&t===this._tail)this._head=void 0,this._tail=void 0;else if(t===this._head){if(!t.next)throw new Error("Invalid list");t.next.previous=void 0,this._head=t.next}else if(t===this._tail){if(!t.previous)throw new Error("Invalid list");t.previous.next=void 0,this._tail=t.previous}else{const i=t.next,e=t.previous;if(!i||!e)throw new Error("Invalid list");i.previous=e,e.next=i}t.next=void 0,t.previous=void 0,this._state++}touch(t,i){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===i||2===i)if(1===i){if(t===this._head)return;const i=t.next,e=t.previous;t===this._tail?(e.next=void 0,this._tail=e):(i.previous=e,e.next=i),t.previous=void 0,t.next=this._head,this._head.previous=t,this._head=t,this._state++}else if(2===i){if(t===this._tail)return;const i=t.next,e=t.previous;t===this._head?(i.previous=void 0,this._head=i):(i.previous=e,e.next=i),t.next=void 0,t.previous=this._tail,this._tail.next=t,this._tail=t,this._state++}}toJSON(){const t=[];return this.forEach(((i,e)=>{t.push([e,i])})),t}fromJSON(t){this.clear();for(const[i,e]of t)this.set(i,e)}}class Up extends Vp{constructor(t,i=1){super(),this._limit=t,this._ratio=Math.min(Math.max(0,i),1)}get limit(){return this._limit}set limit(t){this._limit=t,this.checkTrim()}get(t,i=2){return super.get(t,i)}peek(t){return super.get(t,0)}set(t,i){return super.set(t,i,2),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}class qp{constructor(t){if(this._m1=new Map,this._m2=new Map,t)for(const[i,e]of t)this.set(i,e)}clear(){this._m1.clear(),this._m2.clear()}set(t,i){this._m1.set(t,i),this._m2.set(i,t)}get(t){return this._m1.get(t)}getKey(t){return this._m2.get(t)}delete(t){const i=this._m1.get(t);return void 0!==i&&(this._m1.delete(t),this._m2.delete(i),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class Kp{constructor(){this.map=new Map}add(t,i){let e=this.map.get(t);e||(e=new Set,this.map.set(t,e)),e.add(i)}delete(t,i){const e=this.map.get(t);e&&(e.delete(i),0===e.size&&this.map.delete(t))}forEach(t,i){const e=this.map.get(t);e&&e.forEach(i)}get(t){return this.map.get(t)||new Set}}class Gp{constructor(t,i,e){this.lines=t,this.considerWhitespaceChanges=e,this.elements=[],this.firstCharOffsetByLine=[],this.additionalOffsetByLine=[];let s=!1;i.start>0&&i.endExclusive>=t.length&&(i=new op(i.start-1,i.endExclusive),s=!0),this.lineRange=i,this.firstCharOffsetByLine[0]=0;for(let i=this.lineRange.start;iString.fromCharCode(t))).join("")}getElement(t){return this.elements[t]}get length(){return this.elements.length}getBoundaryScore(t){const i=Yp(t>0?this.elements[t-1]:-1),e=Yp(ti<=t));return new Ms(this.lineRange.start+i+1,t-this.firstCharOffsetByLine[i]+this.additionalOffsetByLine[i]+1)}translateRange(t){return Ls.fromPositions(this.translateOffset(t.start),this.translateOffset(t.endExclusive))}findWordContaining(t){if(t<0||t>=this.elements.length)return;if(!Zp(this.elements[t]))return;let i=t;for(;i>0&&Zp(this.elements[i-1]);)i--;let e=t;for(;ei<=t.start)))&&void 0!==i?i:0,n=null!==(e=function(i){const e=lp(i,(i=>t.endExclusive<=i));return e===i.length?void 0:i[e]}(this.firstCharOffsetByLine))&&void 0!==e?e:this.elements.length;return new op(s,n)}}function Zp(t){return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57}const Qp={0:0,1:0,2:0,3:10,4:2,5:3,6:3,7:10,8:10};function Jp(t){return Qp[t]}function Yp(t){return 10===t?8:13===t?7:_p(t)?6:t>=97&&t<=122?0:t>=65&&t<=90?1:t>=48&&t<=57?2:-1===t?3:44===t||59===t?5:4}function Xp(t,i,e){if(t.trim()===i.trim())return!0;if(t.length>300&&i.length>300)return!1;const s=(new Pp).compute(new Gp([t],new op(0,1),!1),new Gp([i],new op(0,1),!1),e);let n=0;const o=Fp.invert(s.diffs,t.length);for(const i of o)i.seq1Range.forEach((i=>{_p(t.charCodeAt(i))||n++}));const r=function(i){let e=0;for(let s=0;si.length?t:i);return n/r>.6&&r>10}function tg(t,i,e){let s=e;return s=ig(t,i,s),s=ig(t,i,s),s=function(t,i,e){if(!t.getBoundaryScore||!i.getBoundaryScore)return e;for(let s=0;s0?e[s-1]:void 0,o=e[s],r=s+10&&(r=r.delta(h))}n.push(r)}return s.length>0&&n.push(s[s.length-1]),n}function eg(t,i,e,s,n){let o=1;for(;t.seq1Range.start-o>=s.start&&t.seq2Range.start-o>=n.start&&e.isStronglyEqual(t.seq2Range.start-o,t.seq2Range.endExclusive-o)&&o<100;)o++;o--;let r=0;for(;t.seq1Range.start+rc&&(c=r,h=s)}return t.delta(h)}class sg{constructor(t,i){this.trimmedHash=t,this.lines=i}getElement(t){return this.trimmedHash[t]}get length(){return this.trimmedHash.length}getBoundaryScore(t){return 1e3-((0===t?0:ng(this.lines[t-1]))+(t===this.lines.length?0:ng(this.lines[t])))}getText(t){return this.lines.slice(t.start,t.endExclusive).join("\n")}isStronglyEqual(t,i){return this.lines[t]===this.lines[i]}}function ng(t){let i=0;for(;it===i)))return new sp([],[],!1);if(1===t.length&&0===t[0].length||1===i.length&&0===i[0].length)return new sp([new wp(new pp(1,t.length+1),new pp(1,i.length+1),[new vp(new Ls(1,1,t.length,t[0].length+1),new Ls(1,1,i.length,i[0].length+1))])],[],!1);const s=0===e.maxComputationTimeMs?Rp.instance:new Op(e.maxComputationTimeMs),n=!e.ignoreTrimWhitespace,o=new Map;function r(t){let i=o.get(t);return void 0===i&&(i=o.size,o.set(t,i)),i}const h=t.map((t=>r(t.trim()))),c=i.map((t=>r(t.trim()))),a=new sg(h,t),l=new sg(c,i),d=(()=>a.length+l.length<1700?this.dynamicProgrammingDiffing.compute(a,l,s,((e,s)=>t[e]===i[s]?0===i[s].length?.1:1+Math.log(1+i[s].length):.99)):this.myersDiffingAlgorithm.compute(a,l))();let f=d.diffs,p=d.hitTimeout;f=tg(a,l,f),f=function(t,i,e){let s=e;if(0===s.length)return s;let n,o=0;do{n=!1;const r=[s[0]];for(let h=1;h5||e.seq1Range.length+e.seq2Range.length>5)}l(a,c)?(n=!0,r[r.length-1]=r[r.length-1].join(c)):r.push(c)}s=r}while(o++<10&&n);return s}(a,0,f);const g=[],m=e=>{if(n)for(let o=0;oe.seq1Range.start-w==e.seq2Range.start-v)),m(e.seq1Range.start-w),w=e.seq1Range.endExclusive,v=e.seq2Range.endExclusive;const o=this.refineDiff(t,i,e,s,n);o.hitTimeout&&(p=!0);for(const t of o.mappings)g.push(t)}m(t.length-w);const b=rg(g,t,i);let y=[];return e.computeMoves&&(y=this.computeMoves(b,t,i,h,c,s,n)),Sh((()=>{function e(t,i){return!(t.lineNumber<1||t.lineNumber>i.length)&&!(t.column<1||t.column>i[t.lineNumber-1].length+1)}function s(t,i){return!(t.startLineNumber<1||t.startLineNumber>i.length+1||t.endLineNumberExclusive<1||t.endLineNumberExclusive>i.length+1)}for(const n of b){if(!n.innerChanges)return!1;for(const s of n.innerChanges)if(!(e(s.modifiedRange.getStartPosition(),i)&&e(s.modifiedRange.getEndPosition(),i)&&e(s.originalRange.getStartPosition(),t)&&e(s.originalRange.getEndPosition(),t)))return!1;if(!s(n.modified,i)||!s(n.original,t))return!1}return!0})),new sp(b,y,p)}computeMoves(t,i,e,s,n,o,r){return function(t,i,e,s,n,o){let{moves:r,excludedChanges:h}=function(t,i,e,s){const n=[],o=t.filter((t=>t.modified.isEmpty&&t.original.length>=3)).map((t=>new Np(t.original,i,t))),r=new Set(t.filter((t=>t.original.isEmpty&&t.modified.length>=3)).map((t=>new Np(t.modified,e,t)))),h=new Set;for(const t of o){let i,e=-1;for(const s of r){const n=t.computeSimilarity(s);n>e&&(e=n,i=s)}if(e>.9&&i&&(r.delete(i),n.push(new mp(t.range,i.range)),h.add(t.source),h.add(i.source)),!s.isValid())return{moves:n,excludedChanges:h}}return{moves:n,excludedChanges:h}}(t,i,e,o);if(!o.isValid())return[];const c=function(t,i,e,s,n,o){const r=[],h=new Kp;for(const e of t)for(let t=e.original.startLineNumber;tt.modified.startLineNumber),O));for(const i of t){let t=[];for(let s=i.modified.startLineNumber;s{for(const e of t)if(e.originalLineRange.endLineNumberExclusive+1===i.endLineNumberExclusive&&e.modifiedLineRange.endLineNumberExclusive+1===n.endLineNumberExclusive)return e.originalLineRange=new pp(e.originalLineRange.startLineNumber,i.endLineNumberExclusive),e.modifiedLineRange=new pp(e.modifiedLineRange.startLineNumber,n.endLineNumberExclusive),void o.push(e);const e={modifiedLineRange:n,originalLineRange:i};c.push(e),o.push(e)})),t=o}if(!o.isValid())return[]}c.sort(_(R((t=>t.modifiedLineRange.length),O)));const a=new gp,l=new gp;for(const t of c){const i=t.modifiedLineRange.startLineNumber-t.originalLineRange.startLineNumber,e=a.subtractFrom(t.modifiedLineRange),s=l.subtractFrom(t.originalLineRange).getWithDelta(i),n=e.getIntersection(s);for(const t of n.ranges){if(t.length<3)continue;const e=t,s=t.delta(-i);r.push(new mp(s,e)),a.addRange(e),l.addRange(s)}}r.sort(R((t=>t.original.startLineNumber),O));const u=new up(t);for(let i=0;it.original.startLineNumber<=e.original.startLineNumber)),c=cp(t,(t=>t.modified.startLineNumber<=e.modified.startLineNumber)),d=Math.max(e.original.startLineNumber-h.original.startLineNumber,e.modified.startLineNumber-c.modified.startLineNumber),f=u.findLastMonotonous((t=>t.original.startLineNumbert.modified.startLineNumbers.length||i>n.length)break;if(a.contains(i)||l.contains(t))break;if(!Xp(s[t-1],n[i-1],o))break}for(m>0&&(l.addRange(new pp(e.original.startLineNumber-m,e.original.startLineNumber)),a.addRange(new pp(e.modified.startLineNumber-m,e.modified.startLineNumber))),w=0;ws.length||i>n.length)break;if(a.contains(i)||l.contains(t))break;if(!Xp(s[t-1],n[i-1],o))break}w>0&&(l.addRange(new pp(e.original.endLineNumberExclusive,e.original.endLineNumberExclusive+w)),a.addRange(new pp(e.modified.endLineNumberExclusive,e.modified.endLineNumberExclusive+w))),(m>0||w>0)&&(r[i]=new mp(new pp(e.original.startLineNumber-m,e.original.endLineNumberExclusive+w),new pp(e.modified.startLineNumber-m,e.modified.endLineNumberExclusive+w)))}return r}(t.filter((t=>!h.has(t))),s,n,i,e,o);return A(r,c),r=function(t){if(0===t.length)return t;t.sort(R((t=>t.original.startLineNumber),O));const i=[t[0]];for(let e=1;e=0&&r>=0&&o+r<=2?i[i.length-1]=s.join(n):i.push(n)}return i}(r),r=r.filter((t=>{const e=t.original.toOffsetRange().slice(i).map((t=>t.trim()));return e.join("\n").length>=15&&function(t){let i=0;for(const e of t)e.length>=2&&i++;return i}(e)>=2})),r=function(t,i){const e=new up(t);return i.filter((i=>(e.findLastMonotonous((t=>t.original.startLineNumbert.modified.startLineNumber{const s=rg(this.refineDiff(i,e,new Fp(t.original.toOffsetRange(),t.modified.toOffsetRange()),o,r).mappings,i,e,!0);return new np(t,s)}))}refineDiff(t,i,e,s,n){const o=new Gp(t,e.seq1Range,n),r=new Gp(i,e.seq2Range,n),h=o.length+r.length<500?this.dynamicProgrammingDiffing.compute(o,r,s):this.myersDiffingAlgorithm.compute(o,r,s);let c=h.diffs;return c=tg(o,r,c),c=function(t,i,e){const s=[];let n;function o(){if(!n)return;const t=n.s1Range.length-n.deleted;Math.max(n.deleted,n.added)+(n.count-1)>t&&s.push(new Fp(n.s1Range,n.s2Range)),n=void 0}for(const r of e){function h(t,i){var e,s,h,c;if(!n||!n.s1Range.containsRange(t)||!n.s2Range.containsRange(i))if(!n||n.s1Range.endExclusive0||i.length>0;){const s=t[0],n=i[0];let o;o=s&&(!n||s.seq1Range.start0&&e[e.length-1].seq1Range.endExclusive>=o.seq1Range.start?e[e.length-1]=e[e.length-1].join(o):e.push(o)}return e}(e,s)}(o,r,c),c=function(t,i,e){const s=[];for(const t of e){const i=s[s.length-1];i&&(t.seq1Range.start-i.seq1Range.endExclusive<=2||t.seq2Range.start-i.seq2Range.endExclusive<=2)?s[s.length-1]=new Fp(i.seq1Range.join(t.seq1Range),i.seq2Range.join(t.seq2Range)):s.push(t)}return s}(0,0,c),c=function(t,i,e){let s=e;if(0===s.length)return s;let n,o=0;do{n=!1;const h=[s[0]];for(let c=1;c5||n.length>500)return!1;const o=t.getText(n).trim();if(o.length>20||o.split(/\r\n|\r|\n/).length>1)return!1;const r=t.countLinesIn(e.seq1Range),h=e.seq1Range.length,c=i.countLinesIn(e.seq2Range),u=e.seq2Range.length,d=t.countLinesIn(s.seq1Range),f=s.seq1Range.length,p=i.countLinesIn(s.seq2Range),g=s.seq2Range.length;function m(t){return Math.min(t,130)}return Math.pow(Math.pow(m(40*r+h),1.5)+Math.pow(m(40*c+u),1.5),1.5)+Math.pow(Math.pow(m(40*d+f),1.5)+Math.pow(m(40*p+g),1.5),1.5)>74184.96480721243}u(l,a)?(n=!0,h[h.length-1]=h[h.length-1].join(a)):h.push(a)}s=h}while(o++<10&&n);const r=[];return function(t,i){for(let e=0;e{let n=e;function o(t){return t.length>0&&t.trim().length<=3&&e.seq1Range.length+e.seq2Range.length>100}const h=t.extendToFullLines(e.seq1Range),c=t.getText(new op(h.start,e.seq1Range.start));o(c)&&(n=n.deltaStart(-c.length));const a=t.getText(new op(e.seq1Range.endExclusive,h.endExclusive));o(a)&&(n=n.deltaEnd(a.length));const l=Fp.fromOffsetPairs(i?i.getEndExclusives():Tp.zero,s?s.getStarts():Tp.max),u=n.intersect(l);r.push(u)})),r}(o,r,c),{mappings:c.map((t=>new vp(o.translateRange(t.seq1Range),r.translateRange(t.seq2Range)))),hitTimeout:h.hitTimeout}}}function rg(t,i,e,s=!1){const n=[];for(const s of g(t.map((t=>function(t,i,e){let s=0,n=0;1===t.modifiedRange.endColumn&&1===t.originalRange.endColumn&&t.originalRange.startLineNumber+s<=t.originalRange.endLineNumber&&t.modifiedRange.startLineNumber+s<=t.modifiedRange.endLineNumber&&(n=-1),t.modifiedRange.startColumn-1>=e[t.modifiedRange.startLineNumber-1].length&&t.originalRange.startColumn-1>=i[t.originalRange.startLineNumber-1].length&&t.originalRange.startLineNumber<=t.originalRange.endLineNumber+n&&t.modifiedRange.startLineNumber<=t.modifiedRange.endLineNumber+n&&(s=1);const o=new pp(t.originalRange.startLineNumber+s,t.originalRange.endLineNumber+1+n),r=new pp(t.modifiedRange.startLineNumber+s,t.modifiedRange.endLineNumber+1+n);return new wp(o,r,[t])}(t,i,e))),((t,i)=>t.original.overlapOrTouch(i.original)||t.modified.overlapOrTouch(i.modified)))){const t=s[0],i=s[s.length-1];n.push(new wp(t.original.join(i.original),t.modified.join(i.modified),s.map((t=>t.innerChanges[0]))))}return Sh((()=>!(!s&&n.length>0&&n[0].original.startLineNumber!==n[0].modified.startLineNumber)&&Dh(n,((t,i)=>i.original.startLineNumber-t.original.endLineNumberExclusive==i.modified.startLineNumber-t.modified.endLineNumberExclusive&&t.original.endLineNumberExclusive0){switch(c=Math.min(a<=.5?l/(2*a):l/(2-2*a),1),o){case i:h=(e-s)/l+(e1&&(e-=1),e<1/6?t+6*(i-t)*e:e<.5?i:e<2/3?t+(i-t)*(2/3-e)*6:t}static toRGBA(t){const i=t.h/360,{s:e,l:s,a:n}=t;let o,r,h;if(0===e)o=r=h=s;else{const t=s<.5?s*(1+e):s+e-s*e,n=2*s-t;o=ag._hue2rgb(n,t,i+1/3),r=ag._hue2rgb(n,t,i),h=ag._hue2rgb(n,t,i-1/3)}return new cg(Math.round(255*o),Math.round(255*r),Math.round(255*h),n)}}class lg{constructor(t,i,e,s){this._hsvaBrand=void 0,this.h=0|Math.max(Math.min(360,t),0),this.s=hg(Math.max(Math.min(1,i),0),3),this.v=hg(Math.max(Math.min(1,e),0),3),this.a=hg(Math.max(Math.min(1,s),0),3)}static equals(t,i){return t.h===i.h&&t.s===i.s&&t.v===i.v&&t.a===i.a}static fromRGBA(t){const i=t.r/255,e=t.g/255,s=t.b/255,n=Math.max(i,e,s),o=n-Math.min(i,e,s),r=0===n?0:o/n;let h;return h=0===o?0:n===i?((e-s)/o%6+6)%6:n===e?(s-i)/o+2:(i-e)/o+4,new lg(Math.round(60*h),r,n,t.a)}static toRGBA(t){const{h:i,s:e,v:s,a:n}=t,o=s*e,r=o*(1-Math.abs(i/60%2-1)),h=s-o;let[c,a,l]=[0,0,0];return i<60?(c=o,a=r):i<120?(c=r,a=o):i<180?(a=o,l=r):i<240?(a=r,l=o):i<300?(c=r,l=o):i<=360&&(c=o,l=r),c=Math.round(255*(c+h)),a=Math.round(255*(a+h)),l=Math.round(255*(l+h)),new cg(c,a,l,n)}}class ug{static fromHex(t){return ug.Format.CSS.parseHex(t)||ug.red}static equals(t,i){return!t&&!i||!(!t||!i)&&t.equals(i)}get hsla(){return this._hsla?this._hsla:ag.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:lg.fromRGBA(this.rgba)}constructor(t){if(!t)throw new Error("Color needs a value");if(t instanceof cg)this.rgba=t;else if(t instanceof ag)this._hsla=t,this.rgba=ag.toRGBA(t);else{if(!(t instanceof lg))throw new Error("Invalid color ctor argument");this._hsva=t,this.rgba=lg.toRGBA(t)}}equals(t){return!!t&&cg.equals(this.rgba,t.rgba)&&ag.equals(this.hsla,t.hsla)&&lg.equals(this.hsva,t.hsva)}getRelativeLuminance(){return hg(.2126*ug._relativeLuminanceForComponent(this.rgba.r)+.7152*ug._relativeLuminanceForComponent(this.rgba.g)+.0722*ug._relativeLuminanceForComponent(this.rgba.b),4)}static _relativeLuminanceForComponent(t){const i=t/255;return i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4)}isLighter(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128}isLighterThan(t){return this.getRelativeLuminance()>t.getRelativeLuminance()}isDarkerThan(t){return this.getRelativeLuminance()this._lines.length)i=this._lines.length,e=this._lines[i-1].length+1,s=!0;else{const t=this._lines[i-1].length+1;e<1?(e=1,s=!0):e>t&&(e=t,s=!0)}return s?{lineNumber:i,column:e}:t}}class yg{constructor(t,i){this._host=t,this._models=Object.create(null),this._foreignModuleFactory=i,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(t){return this._models[t]}_getModels(){const t=[];return Object.keys(this._models).forEach((i=>t.push(this._models[i]))),t}acceptNewModel(t){this._models[t.url]=new bg(ws.parse(t.url),t.lines,t.EOL,t.versionId)}acceptModelChanged(t,i){this._models[t]&&this._models[t].onEvents(i)}acceptRemovedModel(t){this._models[t]&&delete this._models[t]}async computeUnicodeHighlights(t,i,e){const s=this._getModel(t);return s?tp.computeUnicodeHighlights(s,i,e):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async computeDiff(t,i,e,s){const n=this._getModel(t),o=this._getModel(i);return n&&o?yg.computeDiff(n,o,e,s):null}static computeDiff(t,i,e,s){const n="advanced"===s?new og:new bp,o=t.getLinesContent(),r=i.getLinesContent(),h=n.computeDiff(o,r,e);function c(t){return t.map((t=>{var i;return[t.original.startLineNumber,t.original.endLineNumberExclusive,t.modified.startLineNumber,t.modified.endLineNumberExclusive,null===(i=t.innerChanges)||void 0===i?void 0:i.map((t=>[t.originalRange.startLineNumber,t.originalRange.startColumn,t.originalRange.endLineNumber,t.originalRange.endColumn,t.modifiedRange.startLineNumber,t.modifiedRange.startColumn,t.modifiedRange.endLineNumber,t.modifiedRange.endColumn]))]}))}return{identical:!(h.changes.length>0)&&this._modelsAreIdentical(t,i),quitEarly:h.hitTimeout,changes:c(h.changes),moves:h.moves.map((t=>[t.lineRangeMapping.original.startLineNumber,t.lineRangeMapping.original.endLineNumberExclusive,t.lineRangeMapping.modified.startLineNumber,t.lineRangeMapping.modified.endLineNumberExclusive,c(t.changes)]))}}static _modelsAreIdentical(t,i){const e=t.getLineCount();if(e!==i.getLineCount())return!1;for(let s=1;s<=e;s++)if(t.getLineContent(s)!==i.getLineContent(s))return!1;return!0}async computeMoreMinimalEdits(t,i,e){const s=this._getModel(t);if(!s)return i;const n=[];let o;i=i.slice(0).sort(((t,i)=>t.range&&i.range?Ls.compareRangesUsingStarts(t.range,i.range):(t.range?0:1)-(i.range?0:1)));let r=0;for(let t=1;tyg._diffLimit){n.push({range:t,text:r});continue}const c=gf(i,r,e),a=s.offsetAt(Ls.lift(t).getStartPosition());for(const t of c){const i=s.positionAt(a+t.originalStart),e=s.positionAt(a+t.originalStart+t.originalLength),o={text:r.substr(t.modifiedStart,t.modifiedLength),range:{startLineNumber:i.lineNumber,startColumn:i.column,endLineNumber:e.lineNumber,endColumn:e.column}};s.getValueInRange(o.range)!==o.text&&n.push(o)}}return"number"==typeof o&&n.push({eol:o,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),n}async computeLinks(t){const i=this._getModel(t);return i?function(t){return t&&"function"==typeof t.getLineCount&&"function"==typeof t.getLineContent?Rf.computeLinks(t):[]}(i):null}async computeDefaultDocumentColors(t){const i=this._getModel(t);return i?function(t){return t&&"function"==typeof t.getValue&&"function"==typeof t.positionAt?function(t){const i=[],e=vg(t,/\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%]*\))|(#)([A-Fa-f0-9]{3})\b|(#)([A-Fa-f0-9]{4})\b|(#)([A-Fa-f0-9]{6})\b|(#)([A-Fa-f0-9]{8})\b/gm);if(e.length>0)for(const s of e){const e=s.filter((t=>void 0!==t)),n=e[1],o=e[2];if(!o)continue;let r;if("rgb"===n){const i=/^\(\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;r=mg(pg(t,s),vg(o,i),!1)}else if("rgba"===n){const i=/^\(\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;r=mg(pg(t,s),vg(o,i),!0)}else if("hsl"===n){const i=/^\(\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;r=wg(pg(t,s),vg(o,i),!1)}else if("hsla"===n){const i=/^\(\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;r=wg(pg(t,s),vg(o,i),!0)}else"#"===n&&(r=gg(pg(t,s),n+o));r&&i.push(r)}return i}(t):[]}(i):null}async textualSuggest(t,i,e,s){const n=new he,o=new RegExp(e,s),r=new Set;t:for(const e of t){const t=this._getModel(e);if(t)for(const e of t.words(o))if(e!==i&&isNaN(Number(e))&&(r.add(e),r.size>yg._suggestionsLimit))break t}return{words:Array.from(r),duration:n.elapsed()}}async computeWordRanges(t,i,e,s){const n=this._getModel(t);if(!n)return Object.create(null);const o=new RegExp(e,s),r=Object.create(null);for(let t=i.startLineNumber;tfunction(){const e=Array.prototype.slice.call(arguments,0);return i(t,e)},s={};for(const i of t)s[i]=e(i);return s}(e,((t,i)=>this._host.fhr(t,i)));return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory({host:s,getMirrorModels:()=>this._getModels()},i),Promise.resolve(st(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(t,i){if(!this._foreignModule||"function"!=typeof this._foreignModule[t])return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._foreignModule[t].apply(this._foreignModule,i))}catch(t){return Promise.reject(t)}}}yg._diffLimit=1e5,yg._suggestionsLimit=1e4,"function"==typeof importScripts&&(globalThis.monaco=$n());const kg=fr("textResourceConfigurationService"),xg=fr("textResourcePropertiesService"),Cg=fr("ILanguageFeaturesService");var Sg=function(t,i){return function(e,s){i(e,s,t)}};function Dg(t,i){const e=t.getModel(i);return!!e&&!e.isTooLargeForSyncing()}let Eg=class extends ie{constructor(t,i,e,s,n){super(),this._modelService=t,this._workerManager=this._register(new Mg(this._modelService,s)),this._logService=e,this._register(n.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:t=>Dg(this._modelService,t.uri)?this._workerManager.withWorker().then((i=>i.computeLinks(t.uri))).then((t=>t&&{links:t})):Promise.resolve({links:[]})})),this._register(n.completionProvider.register("*",new Ag(this._workerManager,i,this._modelService,s)))}dispose(){super.dispose()}canComputeUnicodeHighlights(t){return Dg(this._modelService,t)}computedUnicodeHighlights(t,i,e){return this._workerManager.withWorker().then((s=>s.computedUnicodeHighlights(t,i,e)))}async computeDiff(t,i,e,s){const n=await this._workerManager.withWorker().then((n=>n.computeDiff(t,i,e,s)));return n?{identical:n.identical,quitEarly:n.quitEarly,changes:o(n.changes),moves:n.moves.map((t=>new np(new mp(new pp(t[0],t[1]),new pp(t[2],t[3])),o(t[4]))))}:null;function o(t){return t.map((t=>{var i;return new wp(new pp(t[0],t[1]),new pp(t[2],t[3]),null===(i=t[4])||void 0===i?void 0:i.map((t=>new vp(new Ls(t[0],t[1],t[2],t[3]),new Ls(t[4],t[5],t[6],t[7])))))}))}}computeMoreMinimalEdits(t,i,e=!1){if(y(i)){if(!Dg(this._modelService,t))return Promise.resolve(i);const s=he.create(),n=this._workerManager.withWorker().then((s=>s.computeMoreMinimalEdits(t,i,e)));return n.finally((()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",t.toString(!0),s.elapsed()))),Promise.race([n,lc(1e3).then((()=>i))])}return Promise.resolve(void 0)}canNavigateValueSet(t){return Dg(this._modelService,t)}navigateValueSet(t,i,e){return this._workerManager.withWorker().then((s=>s.navigateValueSet(t,i,e)))}canComputeWordRanges(t){return Dg(this._modelService,t)}computeWordRanges(t,i){return this._workerManager.withWorker().then((e=>e.computeWordRanges(t,i)))}};Eg=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Sg(0,gr),Sg(1,kg),Sg(2,zh),Sg(3,tf),Sg(4,Cg)],Eg);class Ag{constructor(t,i,e,s){this.languageConfigurationService=s,this._debugDisplayName="wordbasedCompletions",this._workerManager=t,this._configurationService=i,this._modelService=e}async provideCompletionItems(t,i){const e=this._configurationService.getValue(t.uri,i,"editor");if("off"===e.wordBasedSuggestions)return;const s=[];if("currentDocument"===e.wordBasedSuggestions)Dg(this._modelService,t.uri)&&s.push(t.uri);else for(const i of this._modelService.getModels())Dg(this._modelService,i.uri)&&(i===t?s.unshift(i.uri):"allDocuments"!==e.wordBasedSuggestions&&i.getLanguageId()!==t.getLanguageId()||s.push(i.uri));if(0===s.length)return;const n=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition(),o=t.getWordAtPosition(i),r=o?new Ls(i.lineNumber,o.startColumn,i.lineNumber,o.endColumn):Ls.fromPositions(i),h=r.setEndPosition(i.lineNumber,i.column),c=await this._workerManager.withWorker(),a=await c.textualSuggest(s,null==o?void 0:o.word,n);return a?{duration:a.duration,suggestions:a.words.map((t=>({kind:18,label:t,insertText:t,range:{insert:h,replace:r}})))}:void 0}}class Mg extends ie{constructor(t,i){super(),this.languageConfigurationService=i,this._modelService=t,this._editorWorkerClient=null,this._lastWorkerUsedTime=(new Date).getTime(),this._register(new Ya).cancelAndSet((()=>this._checkStopIdleWorker()),Math.round(15e4),jn),this._register(this._modelService.onModelRemoved((()=>this._checkStopEmptyWorker())))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){this._editorWorkerClient&&0===this._modelService.getModels().length&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){this._editorWorkerClient&&(new Date).getTime()-this._lastWorkerUsedTime>3e5&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=(new Date).getTime(),this._editorWorkerClient||(this._editorWorkerClient=new Rg(this._modelService,!1,"editorWorkerService",this.languageConfigurationService)),Promise.resolve(this._editorWorkerClient)}}class Lg extends ie{constructor(t,i,e){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=t,this._modelService=i,!e){const t=new pc;t.cancelAndSet((()=>this._checkStopModelSync()),Math.round(3e4)),this._register(t)}}dispose(){for(const t in this._syncedModels)Ji(this._syncedModels[t]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(t,i){for(const e of t){const t=e.toString();this._syncedModels[t]||this._beginModelSync(e,i),this._syncedModels[t]&&(this._syncedModelsLastUsedTime[t]=(new Date).getTime())}}_checkStopModelSync(){const t=(new Date).getTime(),i=[];for(const e in this._syncedModelsLastUsedTime)t-this._syncedModelsLastUsedTime[e]>6e4&&i.push(e);for(const t of i)this._stopModelSync(t)}_beginModelSync(t,i){const e=this._modelService.getModel(t);if(!e)return;if(!i&&e.isTooLargeForSyncing())return;const s=t.toString();this._proxy.acceptNewModel({url:e.uri.toString(),lines:e.getLinesContent(),EOL:e.getEOL(),versionId:e.getVersionId()});const n=new te;n.add(e.onDidChangeContent((t=>{this._proxy.acceptModelChanged(s.toString(),t)}))),n.add(e.onWillDispose((()=>{this._stopModelSync(s)}))),n.add(Xi((()=>{this._proxy.acceptRemovedModel(s)}))),this._syncedModels[s]=n}_stopModelSync(t){const i=this._syncedModels[t];delete this._syncedModels[t],delete this._syncedModelsLastUsedTime[t],Ji(i)}}class Fg{constructor(t){this._instance=t,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}}class Tg{constructor(t){this._workerClient=t}fhr(t,i){return this._workerClient.fhr(t,i)}}class Rg extends ie{constructor(t,i,e,s){super(),this.languageConfigurationService=s,this._disposed=!1,this._modelService=t,this._keepIdleModels=i,this._workerFactory=new Ru(e),this._worker=null,this._modelManager=null}fhr(t,i){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new Eu(this._workerFactory,"vs/editor/common/services/editorSimpleWorker",new Tg(this)))}catch(t){bu(t),this._worker=new Fg(new yg(new Tg(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,(t=>(bu(t),this._worker=new Fg(new yg(new Tg(this),null)),this._getOrCreateWorker().getProxyObject())))}_getOrCreateModelManager(t){return this._modelManager||(this._modelManager=this._register(new Lg(t,this._modelService,this._keepIdleModels))),this._modelManager}async _withSyncedResources(t,i=!1){return this._disposed?Promise.reject(function(){const t=new Error(ji);return t.name=t.message,t}()):this._getProxy().then((e=>(this._getOrCreateModelManager(e).ensureSyncedResources(t,i),e)))}computedUnicodeHighlights(t,i,e){return this._withSyncedResources([t]).then((s=>s.computeUnicodeHighlights(t.toString(),i,e)))}computeDiff(t,i,e,s){return this._withSyncedResources([t,i],!0).then((n=>n.computeDiff(t.toString(),i.toString(),e,s)))}computeMoreMinimalEdits(t,i,e){return this._withSyncedResources([t]).then((s=>s.computeMoreMinimalEdits(t.toString(),i,e)))}computeLinks(t){return this._withSyncedResources([t]).then((i=>i.computeLinks(t.toString())))}computeDefaultDocumentColors(t){return this._withSyncedResources([t]).then((i=>i.computeDefaultDocumentColors(t.toString())))}async textualSuggest(t,i,e){const s=await this._withSyncedResources(t),n=e.source,o=e.flags;return s.textualSuggest(t.map((t=>t.toString())),i,n,o)}computeWordRanges(t,i){return this._withSyncedResources([t]).then((e=>{const s=this._modelService.getModel(t);if(!s)return Promise.resolve(null);const n=this.languageConfigurationService.getLanguageConfiguration(s.getLanguageId()).getWordDefinition(),o=n.source,r=n.flags;return e.computeWordRanges(t.toString(),i,o,r)}))}navigateValueSet(t,i,e){return this._withSyncedResources([t]).then((s=>{const n=this._modelService.getModel(t);if(!n)return null;const o=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),r=o.source,h=o.flags;return s.navigateValueSet(t.toString(),i,e,r,h)}))}dispose(){super.dispose(),this._disposed=!0}}class Og extends Rg{constructor(t,i,e){super(t,e.keepIdleModels||!1,e.label,i),this._foreignModuleId=e.moduleId,this._foreignModuleCreateData=e.createData||null,this._foreignModuleHost=e.host||null,this._foreignProxy=null}fhr(t,i){if(!this._foreignModuleHost||"function"!=typeof this._foreignModuleHost[t])return Promise.reject(new Error("Missing method "+t+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[t].apply(this._foreignModuleHost,i))}catch(t){return Promise.reject(t)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then((t=>{const i=this._foreignModuleHost?st(this._foreignModuleHost):[];return t.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,i).then((i=>{this._foreignModuleCreateData=null;const e=(i,e)=>t.fmr(i,e),s=(t,i)=>function(){const e=Array.prototype.slice.call(arguments,0);return i(t,e)},n={};for(const t of i)n[t]=s(t,e);return n}))}))),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(t){return this._withSyncedResources(t).then((()=>this.getProxy()))}}const Ig={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"},_g=new class{clone(){return this}equals(t){return this===t}};function Ng(t,i){return new Bs([new Ns(0,"",t)],i)}function Bg(t,i){const e=new Uint32Array(2);return e[0]=0,e[1]=(32768|t|2<<24)>>>0,new Ps(e,null===i?_g:i)}class Pg{static getLanguageId(t){return(255&t)>>>0}static getTokenType(t){return(768&t)>>>8}static containsBalancedBrackets(t){return!!(1024&t)}static getFontStyle(t){return(30720&t)>>>11}static getForeground(t){return(16744448&t)>>>15}static getBackground(t){return(4278190080&t)>>>24}static getClassNameFromMetadata(t){let i="mtk"+this.getForeground(t);const e=this.getFontStyle(t);return 1&e&&(i+=" mtki"),2&e&&(i+=" mtkb"),4&e&&(i+=" mtku"),8&e&&(i+=" mtks"),i}static getInlineStyleFromMetadata(t,i){const e=this.getForeground(t),s=this.getFontStyle(t);let n=`color: ${i[e]};`;1&s&&(n+="font-style: italic;"),2&s&&(n+="font-weight: bold;");let o="";return 4&s&&(o+=" underline"),8&s&&(o+=" line-through"),o&&(n+=`text-decoration:${o};`),n}static getPresentationFromMetadata(t){const i=this.getForeground(t),e=this.getFontStyle(t);return{foreground:i,italic:Boolean(1&e),bold:Boolean(2&e),underline:Boolean(4&e),strikethrough:Boolean(8&e)}}}class $g{static createEmpty(t,i){const e=$g.defaultTokenMetadata,s=new Uint32Array(2);return s[0]=t.length,s[1]=e,new $g(s,t,i)}constructor(t,i,e){this._lineTokensBrand=void 0,this._tokens=t,this._tokensCount=this._tokens.length>>>1,this._text=i,this._languageIdCodec=e}equals(t){return t instanceof $g&&this.slicedEquals(t,0,this._tokensCount)}slicedEquals(t,i,e){if(this._text!==t._text)return!1;if(this._tokensCount!==t._tokensCount)return!1;const s=i<<1,n=s+(e<<1);for(let i=s;i0?this._tokens[t-1<<1]:0}getMetadata(t){return this._tokens[1+(t<<1)]}getLanguageId(t){const i=Pg.getLanguageId(this._tokens[1+(t<<1)]);return this._languageIdCodec.decodeLanguageId(i)}getStandardTokenType(t){return Pg.getTokenType(this._tokens[1+(t<<1)])}getForeground(t){return Pg.getForeground(this._tokens[1+(t<<1)])}getClassName(t){return Pg.getClassNameFromMetadata(this._tokens[1+(t<<1)])}getInlineStyle(t,i){return Pg.getInlineStyleFromMetadata(this._tokens[1+(t<<1)],i)}getPresentation(t){return Pg.getPresentationFromMetadata(this._tokens[1+(t<<1)])}getEndOffset(t){return this._tokens[t<<1]}findTokenIndexAtOffset(t){return $g.findIndexInTokensArray(this._tokens,t)}inflate(){return this}sliceAndInflate(t,i,e){return new Wg(this,t,i,e)}static convertToEndOffset(t,i){const e=(t.length>>>1)-1;for(let i=0;i>>1)-1;for(;ei&&(s=n)}return e}withInserted(t){if(0===t.length)return this;let i=0,e=0,s="";const n=new Array;let o=0;for(;;){const r=io&&(s+=this._text.substring(o,h.offset),n.push(s.length,this._tokens[1+(i<<1)]),o=h.offset),s+=h.text,n.push(s.length,h.tokenMetadata),e++}}return new $g(new Uint32Array(n),s,this._languageIdCodec)}}$g.defaultTokenMetadata=33587200;class Wg{constructor(t,i,e,s){this._source=t,this._startOffset=i,this._endOffset=e,this._deltaOffset=s,this._firstTokenIndex=t.findTokenIndexAtOffset(i),this._tokensCount=0;for(let i=this._firstTokenIndex,s=t.getCount();i=e);i++)this._tokensCount++}getMetadata(t){return this._source.getMetadata(this._firstTokenIndex+t)}getLanguageId(t){return this._source.getLanguageId(this._firstTokenIndex+t)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(t){return t instanceof Wg&&this._startOffset===t._startOffset&&this._endOffset===t._endOffset&&this._deltaOffset===t._deltaOffset&&this._source.slicedEquals(t._source,this._firstTokenIndex,this._tokensCount)}getCount(){return this._tokensCount}getForeground(t){return this._source.getForeground(this._firstTokenIndex+t)}getEndOffset(t){const i=this._source.getEndOffset(this._firstTokenIndex+t);return Math.min(this._endOffset,i)-this._startOffset+this._deltaOffset}getClassName(t){return this._source.getClassName(this._firstTokenIndex+t)}getInlineStyle(t,i){return this._source.getInlineStyle(this._firstTokenIndex+t,i)}getPresentation(t){return this._source.getPresentation(this._firstTokenIndex+t)}findTokenIndexAtOffset(t){return this._source.findTokenIndexAtOffset(t+this._startOffset-this._deltaOffset)-this._firstTokenIndex}}class jg{constructor(t,i,e,s){this.startColumn=t,this.endColumn=i,this.className=e,this.type=s,this._lineDecorationBrand=void 0}static _equals(t,i){return t.startColumn===i.startColumn&&t.endColumn===i.endColumn&&t.className===i.className&&t.type===i.type}static equalsArr(t,i){const e=t.length;if(e!==i.length)return!1;for(let s=0;s=n||(r[h++]=new jg(Math.max(1,i.startColumn-s+1),Math.min(o+1,i.endColumn-s+1),i.className,i.type));return r}static filter(t,i,e,s){if(0===t.length)return[];const n=[];let o=0;for(let r=0,h=t.length;ri||(!c.isEmpty()||0!==h.type&&3!==h.type)&&(n[o++]=new jg(c.startLineNumber===i?c.startColumn:e,c.endLineNumber===i?c.endColumn:s,h.inlineClassName,h.type))}return n}static _typeCompare(t,i){const e=[2,0,1,3];return e[t]-e[i]}static compare(t,i){if(t.startColumn!==i.startColumn)return t.startColumn-i.startColumn;if(t.endColumn!==i.endColumn)return t.endColumn-i.endColumn;const e=jg._typeCompare(t.type,i.type);return 0!==e?e:t.className!==i.className?t.className0&&this.stopOffsets[0]0&&i=t){this.stopOffsets.splice(s,0,t),this.classNames.splice(s,0,i),this.metadata.splice(s,0,e);break}this.count++}}class Vg{static normalize(t,i){if(0===i.length)return[];const e=[],s=new Hg;let n=0;for(let o=0,r=i.length;o1&&mo(t.charCodeAt(h-2))&&h--,c>1&&mo(t.charCodeAt(c-2))&&c--;const u=h-1,d=c-2;n=s.consumeLowerThan(u,n,e),0===s.count&&(n=u),s.insert(d,a,l)}return s.consumeLowerThan(1073741824,n,e),e}}class Ug{constructor(t,i,e,s){this.endIndex=t,this.type=i,this.metadata=e,this.containsRTL=s,this._linePartBrand=void 0}isWhitespace(){return!!(1&this.metadata)}isPseudoAfter(){return!!(4&this.metadata)}}class qg{constructor(t,i){this.startOffset=t,this.endOffset=i}equals(t){return this.startOffset===t.startOffset&&this.endOffset===t.endOffset}}class Kg{constructor(t,i,e,s,n,o,r,h,c,a,l,u,d,f,p,g,m,w,v){this.useMonospaceOptimizations=t,this.canUseHalfwidthRightwardsArrow=i,this.lineContent=e,this.continuesWithWrappedLine=s,this.isBasicASCII=n,this.containsRTL=o,this.fauxIndentLength=r,this.lineTokens=h,this.lineDecorations=c.sort(jg.compare),this.tabSize=a,this.startVisibleColumn=l,this.spaceWidth=u,this.stopRenderingLineAfter=p,this.renderWhitespace="all"===g?4:"boundary"===g?1:"selection"===g?2:"trailing"===g?3:0,this.renderControlCharacters=m,this.fontLigatures=w,this.selectionsOnLine=v&&v.sort(((t,i)=>t.startOffset>>16}static getCharIndex(t){return(65535&t)>>>0}constructor(t,i){this.length=t,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(t,i,e,s){this._data[t-1]=(i<<16|e)>>>0,this._horizontalOffset[t-1]=s}getHorizontalOffset(t){return 0===this._horizontalOffset.length?0:this._horizontalOffset[t-1]}charOffsetToPartData(t){return 0===this.length?0:t<0?this._data[0]:t>=this.length?this._data[this.length-1]:this._data[t]}getDomPosition(t){const i=this.charOffsetToPartData(t-1),e=Zg.getPartIndex(i),s=Zg.getCharIndex(i);return new Gg(e,s)}getColumn(t,i){return this.partDataToCharOffset(t.partIndex,i,t.charIndex)+1}partDataToCharOffset(t,i,e){if(0===this.length)return 0;const s=(t<<16|e)>>>0;let n=0,o=this.length-1;for(;n+1>>1,i=this._data[t];if(i===s)return t;i>s?o=t:n=t}if(n===o)return n;const r=this._data[n],h=this._data[o];if(r===s)return n;if(h===s)return o;const c=Zg.getPartIndex(r),a=Zg.getCharIndex(r);let l;return l=c!==Zg.getPartIndex(h)?i:Zg.getCharIndex(h),e-a<=l-e?n:o}}class Qg{constructor(t,i,e){this._renderLineOutputBrand=void 0,this.characterMapping=t,this.containsRTL=i,this.containsForeignElements=e}}function Jg(t,i){if(0===t.lineContent.length){if(t.lineDecorations.length>0){i.appendString("");let e=0,s=0,n=0;for(const o of t.lineDecorations)1!==o.type&&2!==o.type||(i.appendString(''),1===o.type&&(n|=1,e++),2===o.type&&(n|=2,s++));i.appendString("");const o=new Zg(1,e+s);return o.setColumnInfo(1,e,0,0),new Qg(o,!1,n)}return i.appendString(""),new Qg(new Zg(0,0),!1,0)}return function(t,i){const e=t.fontIsMonospace,s=t.canUseHalfwidthRightwardsArrow,n=t.containsForeignElements,o=t.lineContent,r=t.len,h=t.isOverflowing,c=t.overflowingCharCount,a=t.parts,l=t.fauxIndentLength,u=t.tabSize,d=t.startVisibleColumn,f=t.containsRTL,p=t.spaceWidth,g=t.renderSpaceCharCode,m=t.renderWhitespace,w=t.renderControlCharacters,v=new Zg(r+1,a.length);let b=!1,y=0,k=d,x=0,C=0,S=0;i.appendString(f?'':"");for(let t=0,h=a.length;t=l&&(i+=s)}}for(E&&(i.appendString(' style="width:'),i.appendString(String(p*e)),i.appendString('px"')),i.appendASCIICharCode(62);y1?8594:65515);for(let t=2;t<=n;t++)i.appendCharCode(160)}else e=2,n=1,i.appendCharCode(g),i.appendCharCode(8204);x+=e,C+=n,y>=l&&(k+=n)}}else for(i.appendASCIICharCode(62);y=l&&(k+=n)}A?S++:S=0,y>=r&&!b&&h.isPseudoAfter()&&(b=!0,v.setColumnInfo(y+1,t,x,C)),i.appendString("")}return b||v.setColumnInfo(r+1,a.length-1,x,C),h&&(i.appendString(''),i.appendString(rt(0,"Show more ({0})",function(t){return t<1024?rt(0,"{0} chars",t):t<1048576?`${(t/1024).toFixed(1)} KB`:`${(t/1024/1024).toFixed(1)} MB`}(c))),i.appendString("")),i.appendString(""),new Qg(v,f,n)}(function(t){const i=t.lineContent;let e,s,n;-1!==t.stopRenderingLineAfter&&t.stopRenderingLineAfter0&&(o[r++]=new Ug(s,"",0,!1));let h=s;for(let c=0,a=e.getCount();c=n){const e=!!i&&Do(t.substring(h,n));o[r++]=new Ug(n,l,0,e);break}const u=!!i&&Do(t.substring(h,a));o[r++]=new Ug(a,l,0,u),h=a}return o}(i,t.containsRTL,t.lineTokens,t.fauxIndentLength,n);t.renderControlCharacters&&!t.isBasicASCII&&(o=function(t,i){const e=[];let s=new Ug(0,"",0,!1),n=0;for(const o of i){const i=o.endIndex;for(;ns.endIndex&&(s=new Ug(n,o.type,o.metadata,o.containsRTL),e.push(s)),s=new Ug(n+1,"mtkcontrol",o.metadata,!1),e.push(s));n>s.endIndex&&(s=new Ug(i,o.type,o.metadata,o.containsRTL),e.push(s))}return e}(i,o)),(4===t.renderWhitespace||1===t.renderWhitespace||2===t.renderWhitespace&&t.selectionsOnLine||3===t.renderWhitespace&&!t.continuesWithWrappedLine)&&(o=function(t,i,e,s){const n=t.continuesWithWrappedLine,o=t.fauxIndentLength,r=t.tabSize,h=t.startVisibleColumn,c=t.useMonospaceOptimizations,a=t.selectionsOnLine,l=1===t.renderWhitespace,u=3===t.renderWhitespace,d=t.renderSpaceWidth!==t.spaceWidth,f=[];let p=0,g=0,m=s[g].type,w=s[g].containsRTL,v=s[g].endIndex;const b=s.length;let y,k=!1,x=io(i);-1===x?(k=!0,x=e,y=e):y=so(i);let C=!1,S=0,D=a&&a[S],E=h%r;for(let t=o;t=D.endOffset&&(S++,D=a&&a[S]),ty)h=!0;else if(9===n)h=!0;else if(32===n)if(l)if(C)h=!0;else{const s=t+1t),h&&u&&(h=k||t>y),h&&w&&t>=x&&t<=y&&(h=!1),C){if(!h||!c&&E>=r){if(d)for(let i=(p>0?f[p-1].endIndex:o)+1;i<=t;i++)f[p++]=new Ug(i,"mtkw",1,!1);else f[p++]=new Ug(t,"mtkw",1,!1);E%=r}}else(t===v||h&&t>o)&&(f[p++]=new Ug(t,m,0,w),E%=r);for(9===n?E=r:Fo(n)?E+=2:E++,C=h;t===v&&(g++,g0?i.charCodeAt(e-1):0,s=e>1?i.charCodeAt(e-2):0;32===t&&32!==s&&9!==s||(A=!0)}else A=!0;if(A)if(d)for(let t=(p>0?f[p-1].endIndex:o)+1;t<=e;t++)f[p++]=new Ug(t,"mtkw",1,!1);else f[p++]=new Ug(e,"mtkw",1,!1);else f[p++]=new Ug(e,m,0,w);return f}(t,i,n,o));let r=0;if(t.lineDecorations.length>0){for(let i=0,e=t.lineDecorations.length;ia&&(a=t.startOffset,h[c++]=new Ug(a,l,u,d)),!(t.endOffset+1<=s)){a=s,h[c++]=new Ug(a,l+" "+t.className,u|t.metadata,d);break}a=t.endOffset+1,h[c++]=new Ug(a,l+" "+t.className,u|t.metadata,d),r++}s>a&&(a=s,h[c++]=new Ug(a,l,u,d))}const l=e[e.length-1].endIndex;if(r=50&&(n[o++]=new Ug(a+1,i,e,c),l=a+1,a=-1);l!==h&&(n[o++]=new Ug(h,i,e,c))}else n[o++]=r;s=h}else for(let t=0,e=i.length;t50){const t=e.type,i=e.metadata,c=e.containsRTL,a=Math.ceil(h/50);for(let e=1;e=8234&&t<=8238||t>=8294&&t<=8297||t>=8206&&t<=8207||1564===t}class em{constructor(t,i,e,s){this._viewportBrand=void 0,this.top=0|t,this.left=0|i,this.width=0|e,this.height=0|s}}class sm{constructor(t,i){this.tabSize=t,this.data=i}}class nm{constructor(t,i,e,s,n,o,r){this._viewLineDataBrand=void 0,this.content=t,this.continuesWithWrappedLine=i,this.minColumn=e,this.maxColumn=s,this.startVisibleColumn=n,this.tokens=o,this.inlineDecorations=r}}class om{constructor(t,i,e,s,n,o,r,h,c,a){this.minColumn=t,this.maxColumn=i,this.content=e,this.continuesWithWrappedLine=s,this.isBasicASCII=om.isBasicASCII(e,o),this.containsRTL=om.containsRTL(e,this.isBasicASCII,n),this.tokens=r,this.inlineDecorations=h,this.tabSize=c,this.startVisibleColumn=a}static isBasicASCII(t,i){return!i||Ao(t)}static containsRTL(t,i,e){return!(i||!e)&&Do(t)}}class rm{constructor(t,i,e){this.range=t,this.inlineClassName=i,this.type=e}}class hm{constructor(t,i,e,s){this.startOffset=t,this.endOffset=i,this.inlineClassName=e,this.inlineClassNameAffectsLetterSpacing=s}toInlineDecoration(t){return new rm(new Ls(t,this.startOffset+1,t,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class cm{constructor(t,i){this._viewModelDecorationBrand=void 0,this.range=t,this.options=i}}class am{constructor(t,i,e){this.color=t,this.zIndex=i,this.data=e}static compareByRenderingProps(t,i){return t.zIndex===i.zIndex?t.colori.color?1:0:t.zIndex-i.zIndex}static equals(t,i){return t.color===i.color&&t.zIndex===i.zIndex&&u(t.data,i.data)}static equalsArr(t,i){return u(t,i,am.equals)}}function lm(t){return"string"==typeof t}function um(t){return!lm(t)}function dm(t){return!t}function fm(t,i){return t.ignoreCase&&i?i.toLowerCase():i}function pm(t){return t.replace(/[&<>'"_]/g,"-")}function gm(t,i){return new Error(`${t.languageId}: ${i}`)}function mm(t,i,e,s,n){let o=null;return i.replace(/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,(function(i,r,h,c,a,l,u){return dm(h)?dm(c)?!dm(a)&&a0;){const i=t.tokenizer[e];if(i)return i;const s=e.lastIndexOf(".");e=s<0?null:e.substr(0,s)}return null}var vm;class bm{static create(t,i){return this._INSTANCE.create(t,i)}constructor(t){this._maxCacheDepth=t,this._entries=Object.create(null)}create(t,i){if(null!==t&&t.depth>=this._maxCacheDepth)return new ym(t,i);let e=ym.getStackElementId(t);e.length>0&&(e+="|"),e+=i;let s=this._entries[e];return s||(s=new ym(t,i),this._entries[e]=s,s)}}bm._INSTANCE=new bm(5);class ym{constructor(t,i){this.parent=t,this.state=i,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(t){let i="";for(;null!==t;)i.length>0&&(i+="|"),i+=t.state,t=t.parent;return i}static _equals(t,i){for(;null!==t&&null!==i;){if(t===i)return!0;if(t.state!==i.state)return!1;t=t.parent,i=i.parent}return null===t&&null===i}equals(t){return ym._equals(this,t)}push(t){return bm.create(this,t)}pop(){return this.parent}popall(){let t=this;for(;t.parent;)t=t.parent;return t}switchTo(t){return bm.create(this.parent,t)}}class km{constructor(t,i){this.languageId=t,this.state=i}equals(t){return this.languageId===t.languageId&&this.state.equals(t.state)}clone(){return this.state.clone()===this.state?this:new km(this.languageId,this.state)}}class xm{static create(t,i){return this._INSTANCE.create(t,i)}constructor(t){this._maxCacheDepth=t,this._entries=Object.create(null)}create(t,i){if(null!==i)return new Cm(t,i);if(null!==t&&t.depth>=this._maxCacheDepth)return new Cm(t,i);const e=ym.getStackElementId(t);let s=this._entries[e];return s||(s=new Cm(t,null),this._entries[e]=s,s)}}xm._INSTANCE=new xm(5);class Cm{constructor(t,i){this.stack=t,this.embeddedLanguageData=i}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:xm.create(this.stack,this.embeddedLanguageData)}equals(t){return t instanceof Cm&&!!this.stack.equals(t.stack)&&(null===this.embeddedLanguageData&&null===t.embeddedLanguageData||null!==this.embeddedLanguageData&&null!==t.embeddedLanguageData&&this.embeddedLanguageData.equals(t.embeddedLanguageData))}}class Sm{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(t){this._languageId=t}emit(t,i){this._lastTokenType===i&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=i,this._lastTokenLanguage=this._languageId,this._tokens.push(new Ns(t,i,this._languageId)))}nestedLanguageTokenize(t,i,e,s){const n=e.languageId,o=e.state,r=Qs.get(n);if(!r)return this.enterLanguage(n),this.emit(s,""),o;const h=r.tokenize(t,i,o);if(0!==s)for(const t of h.tokens)this._tokens.push(new Ns(t.offset+s,t.type,t.language));else this._tokens=this._tokens.concat(h.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,h.endState}finalize(t){return new Bs(this._tokens,t)}}class Dm{constructor(t,i){this._languageService=t,this._theme=i,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(t){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(t)}emit(t,i){const e=1024|this._theme.match(this._currentLanguageId,i);this._lastTokenMetadata!==e&&(this._lastTokenMetadata=e,this._tokens.push(t),this._tokens.push(e))}static _merge(t,i,e){const s=null!==t?t.length:0,n=i.length,o=null!==e?e.length:0;if(0===s&&0===n&&0===o)return new Uint32Array(0);if(0===s&&0===n)return e;if(0===n&&0===o)return t;const r=new Uint32Array(s+n+o);null!==t&&r.set(t);for(let t=0;t{if(o)return;let i=!1;for(let e=0,s=t.changedLanguages.length;e{t.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))})))}getLoadStatus(){const t=[];for(const i in this._embeddedLanguages){const e=Qs.get(i);if(e){if(e instanceof vm){const i=e.getLoadStatus();!1===i.loaded&&t.push(i.promise)}}else Qs.isResolved(i)||t.push(Qs.getOrCreate(i))}return 0===t.length?{loaded:!0}:{loaded:!1,promise:Promise.all(t).then((()=>{}))}}getInitialState(){const t=bm.create(null,this._lexer.start);return xm.create(t,null)}tokenize(t,i,e){if(t.length>=this._maxTokenizationLineLength)return Ng(this._languageId,e);const s=new Sm,n=this._tokenize(t,i,e,s);return s.finalize(n)}tokenizeEncoded(t,i,e){if(t.length>=this._maxTokenizationLineLength)return Bg(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),e);const s=new Dm(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),n=this._tokenize(t,i,e,s);return s.finalize(n)}_tokenize(t,i,e,s){return e.embeddedLanguageData?this._nestedTokenize(t,i,e,0,s):this._myTokenize(t,i,e,0,s)}_findLeavingNestedLanguageOffset(t,i){let e=this._lexer.tokenizer[i.stack.state];if(!e&&(e=wm(this._lexer,i.stack.state),!e))throw gm(this._lexer,"tokenizer state is not defined: "+i.stack.state);let s=-1,n=!1;for(const i of e){if(!um(i.action)||"@pop"!==i.action.nextEmbedded)continue;n=!0;let e=i.regex;const o=i.regex.source;if("^(?:"===o.substr(0,4)&&")"===o.substr(o.length-1,1)){const t=(e.ignoreCase?"i":"")+(e.unicode?"u":"");e=new RegExp(o.substr(4,o.length-5),t)}const r=t.search(e);-1===r||0!==r&&i.matchOnlyAtLineStart||(-1===s||r0&&n.nestedLanguageTokenize(r,!1,e.embeddedLanguageData,s);const h=t.substring(o);return this._myTokenize(h,i,e,s+o,n)}_safeRuleName(t){return t?t.name:"(unknown)"}_myTokenize(t,i,e,s,n){n.enterLanguage(this._languageId);const o=t.length,r=i&&this._lexer.includeLF?t+"\n":t,h=r.length;let c=e.embeddedLanguageData,a=e.stack,l=0,u=null,d=!0;for(;d||l=h)break;d=!1;let t=this._lexer.tokenizer[w];if(!t&&(t=wm(this._lexer,w),!t))throw gm(this._lexer,"tokenizer state is not defined: "+w);const i=r.substr(l);for(const e of t)if((0===l||!e.matchOnlyAtLineStart)&&(v=i.match(e.regex),v)){b=v[0],y=e.action;break}}if(v||(v=[""],b=""),y||(l=this._lexer.maxStack)throw gm(this._lexer,"maximum tokenizer stack size reached: ["+a.state+","+a.parent.state+",...]");a=a.push(w)}else if("@pop"===y.next){if(a.depth<=1)throw gm(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(k));a=a.pop()}else if("@popall"===y.next)a=a.popall();else{let t=mm(this._lexer,y.next,b,v,w);if("@"===t[0]&&(t=t.substr(1)),!wm(this._lexer,t))throw gm(this._lexer,"trying to set a next state '"+t+"' that is undefined in rule: "+this._safeRuleName(k));a=a.push(t)}}y.log&&"string"==typeof y.log&&(f=this._lexer,p=this._lexer.languageId+": "+mm(this._lexer,y.log,b,v,w),console.log(`${f.languageId}: ${p}`))}if(null===C)throw gm(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(k));const S=e=>{const o=this._languageService.getLanguageIdByLanguageName(e)||this._languageService.getLanguageIdByMimeType(e)||e,r=this._getNestedEmbeddedLanguageData(o);if(l0)throw gm(this._lexer,"groups cannot be nested: "+this._safeRuleName(k));if(v.length!==C.length+1)throw gm(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(k));let t=0;for(let i=1;i=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([(Mm=4,Lm=gd,function(t,i){Lm(t,i,Mm)})],Em);const Fm=Lu("standaloneColorizer",{createHTML:t=>t});class Tm{static colorizeElement(t,i,e,s){const n=(s=s||{}).theme||"vs",o=s.mimeType||e.getAttribute("lang")||e.getAttribute("data-lang");if(!o)return console.error("Mode not detected"),Promise.resolve();const r=i.getLanguageIdByMimeType(o)||o;t.setTheme(n);const h=e.firstChild?e.firstChild.nodeValue:"";return e.className+=" "+n,this.colorize(i,h||"",r,s).then((t=>{var i;const s=null!==(i=null==Fm?void 0:Fm.createHTML(t))&&void 0!==i?i:t;e.innerHTML=s}),(t=>console.error(t)))}static async colorize(t,i,e,s){const n=t.languageIdCodec;let o=4;s&&"number"==typeof s.tabSize&&(o=s.tabSize),Oo(i)&&(i=i.substr(1));const r=to(i);if(!t.isRegisteredLanguageId(e))return Rm(r,o,n);const h=await Qs.getOrCreate(e);return h?function(t,i,e,s){return new Promise(((n,o)=>{const r=()=>{const h=function(t,i,e,s){let n=[],o=e.getInitialState();for(let r=0,h=t.length;r"),o=c.endState}return n.join("")}(t,i,e,s);if(e instanceof Em){const t=e.getLoadStatus();if(!1===t.loaded)return void t.promise.then(r,o)}n(h)};r()}))}(r,o,h,n):Rm(r,o,n)}static colorizeLine(t,i,e,s,n=4){const o=om.isBasicASCII(t,i),r=om.containsRTL(t,o,e);return Xg(new Kg(!1,!0,t,!1,o,r,0,s,[],n,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(t,i,e=4){const s=t.getLineContent(i);t.tokenization.forceTokenization(i);const n=t.tokenization.getLineTokens(i).inflate();return this.colorizeLine(s,t.mightContainNonBasicASCII(),t.mightContainRTL(),n,e)}}function Rm(t,i,e){let s=[];const n=new Uint32Array(2);n[0]=0,n[1]=33587200;for(let o=0,r=t.length;o")}return s.join("")}const Om=2e4;let Im,_m,Nm,Bm,Pm;function $m(t){Im&&(_m.textContent!==t?(Ha(Nm),jm(_m,t)):(Ha(_m),jm(Nm,t)))}function Wm(t){Im&&(Bm.textContent!==t?(Ha(Pm),jm(Bm,t)):(Ha(Bm),jm(Pm,t)))}function jm(t,i){Ha(t),i.length>Om&&(i=i.substr(0,Om)),t.textContent=i,t.style.visibility="hidden",t.style.visibility="visible"}const zm=fr("markerDecorationsService");let Hm=class{constructor(t,i){}dispose(){}};Hm.ID="editor.contrib.markerDecorations",Hm=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,zm)],Hm),uu(Hm.ID,Hm,0);class Vm extends ie{constructor(t,i){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._referenceDomElement=t,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,i)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let t=null;const i=()=>{t?this.observe({width:t.width,height:t.height}):this.observe()};let e=!1,s=!1;const n=()=>{if(e&&!s)try{e=!1,s=!0,i()}finally{Ja(Ba(this._referenceDomElement),(()=>{s=!1,n()}))}};this._resizeObserver=new ResizeObserver((i=>{t=i&&i[0]&&i[0].contentRect?i[0].contentRect:null,e=!0,n()})),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(t){this.measureReferenceDomElement(!0,t)}measureReferenceDomElement(t,i){let e=0,s=0;i?(e=i.width,s=i.height):this._referenceDomElement&&(e=this._referenceDomElement.clientWidth,s=this._referenceDomElement.clientHeight),e=Math.max(5,e),s=Math.max(5,s),this._width===e&&this._height===s||(this._width=e,this._height=s,t&&this._onDidChange.fire())}}class Um{constructor(t,i){this.key=t,this.migrate=i}apply(t){const i=Um._read(t,this.key);this.migrate(i,(i=>Um._read(t,i)),((i,e)=>Um._write(t,i,e)))}static _read(t,i){if(void 0===t)return;const e=i.indexOf(".");if(e>=0){const s=i.substring(0,e);return this._read(t[s],i.substring(e+1))}return t[i]}static _write(t,i,e){const s=i.indexOf(".");if(s>=0){const n=i.substring(0,s);return t[n]=t[n]||{},void this._write(t[n],i.substring(s+1),e)}t[i]=e}}function qm(t,i){Um.items.push(new Um(t,i))}function Km(t,i){qm(t,((e,s,n)=>{if(void 0!==e)for(const[s,o]of i)if(e===s)return void n(t,o)}))}Um.items=[],Km("wordWrap",[[!0,"on"],[!1,"off"]]),Km("lineNumbers",[[!0,"on"],[!1,"off"]]),Km("cursorBlinking",[["visible","solid"]]),Km("renderWhitespace",[[!0,"boundary"],[!1,"none"]]),Km("renderLineHighlight",[[!0,"line"],[!1,"none"]]),Km("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]),Km("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]),Km("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),Km("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),Km("autoIndent",[[!1,"advanced"],[!0,"full"]]),Km("matchBrackets",[[!0,"always"],[!1,"never"]]),Km("renderFinalNewline",[[!0,"on"],[!1,"off"]]),Km("cursorSmoothCaretAnimation",[[!0,"on"],[!1,"off"]]),Km("occurrencesHighlight",[[!0,"singleFile"],[!1,"off"]]),Km("wordBasedSuggestions",[[!0,"matchingDocuments"],[!1,"off"]]),qm("autoClosingBrackets",((t,i,e)=>{!1===t&&(e("autoClosingBrackets","never"),void 0===i("autoClosingQuotes")&&e("autoClosingQuotes","never"),void 0===i("autoSurround")&&e("autoSurround","never"))})),qm("renderIndentGuides",((t,i,e)=>{void 0!==t&&(e("renderIndentGuides",void 0),void 0===i("guides.indentation")&&e("guides.indentation",!!t))})),qm("highlightActiveIndentGuide",((t,i,e)=>{void 0!==t&&(e("highlightActiveIndentGuide",void 0),void 0===i("guides.highlightActiveIndentation")&&e("guides.highlightActiveIndentation",!!t))}));const Gm={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"};qm("suggest.filteredTypes",((t,i,e)=>{if(t&&"object"==typeof t){for(const s of Object.entries(Gm))!1===t[s[0]]&&void 0===i(`suggest.${s[1]}`)&&e(`suggest.${s[1]}`,!1);e("suggest.filteredTypes",void 0)}})),qm("quickSuggestions",((t,i,e)=>{if("boolean"==typeof t){const i=t?"on":"off";e("quickSuggestions",{comments:i,strings:i,other:i})}})),qm("experimental.stickyScroll.enabled",((t,i,e)=>{"boolean"==typeof t&&(e("experimental.stickyScroll.enabled",void 0),void 0===i("stickyScroll.enabled")&&e("stickyScroll.enabled",t))})),qm("experimental.stickyScroll.maxLineCount",((t,i,e)=>{"number"==typeof t&&(e("experimental.stickyScroll.maxLineCount",void 0),void 0===i("stickyScroll.maxLineCount")&&e("stickyScroll.maxLineCount",t))})),qm("codeActionsOnSave",((t,i,e)=>{if(t&&"object"==typeof t){let i=!1;const s={};for(const e of Object.entries(t))"boolean"==typeof e[1]?(i=!0,s[e[0]]=e[1]?"explicit":"never"):s[e[0]]=e[1];i&&e("codeActionsOnSave",s)}})),qm("codeActionWidget.includeNearbyQuickfixes",((t,i,e)=>{"boolean"==typeof t&&(e("codeActionWidget.includeNearbyQuickfixes",void 0),void 0===i("codeActionWidget.includeNearbyQuickFixes")&&e("codeActionWidget.includeNearbyQuickFixes",t))}));const Zm=new class{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new fe,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(t){this._tabFocus=t,this._onDidChangeTabFocus.fire(this._tabFocus)}},Qm=fr("accessibilityService"),Jm=new ah("accessibilityModeEnabled",!1),Ym=fr("accessibleNotificationService");let Xm=class extends ie{constructor(t,i,e,s){super(),this._accessibilityService=s,this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new fe),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new ti,this.isSimpleWidget=t,this._containerObserver=this._register(new Vm(e,i.dimension)),this._rawOptions=nw(i),this._validatedOptions=sw.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(13)&&this._containerObserver.startObserving(),this._register(or.onDidChangeZoomLevel((()=>this._recomputeOptions()))),this._register(Zm.onDidChangeTabFocus((()=>this._recomputeOptions()))),this._register(this._containerObserver.onDidChange((()=>this._recomputeOptions()))),this._register(lr.onDidChange((()=>this._recomputeOptions()))),this._register(Vo.onDidChange((()=>this._recomputeOptions()))),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized((()=>this._recomputeOptions())))}_recomputeOptions(){const t=this._computeOptions(),i=sw.checkEquals(this.options,t);null!==i&&(this.options=t,this._onDidChangeFast.fire(i),this._onDidChange.fire(i))}_computeOptions(){const t=this._readEnvConfiguration(),i=hr.createFromValidatedSettings(this._validatedOptions,t.pixelRatio,this.isSimpleWidget),e=this._readFontInfo(i),s={memory:this._computeOptionsMemory,outerWidth:t.outerWidth,outerHeight:t.outerHeight-this._reservedHeight,fontInfo:e,extraEditorClassName:t.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:t.emptySelectionClipboard,pixelRatio:t.pixelRatio,tabFocusMode:Zm.getTabFocusMode(),accessibilitySupport:t.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return sw.computeOptions(this._validatedOptions,s)}_readEnvConfiguration(){return{extraEditorClassName:tw(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:Ko||qo,pixelRatio:Vo.value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(t){return lr.readFontInfo(t)}getRawOptions(){return this._rawOptions}updateOptions(t){const i=nw(t);sw.applyUpdate(this._rawOptions,i)&&(this._validatedOptions=sw.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(t){this._containerObserver.observe(t)}setIsDominatedByLongLines(t){this._isDominatedByLongLines!==t&&(this._isDominatedByLongLines=t,this._recomputeOptions())}setModelLineCount(t){const i=function(t){let i=0;for(;t;)t=Math.floor(t/10),i++;return i||1}(t);this._lineNumbersDigitCount!==i&&(this._lineNumbersDigitCount=i,this._recomputeOptions())}setViewLineCount(t){this._viewLineCount!==t&&(this._viewLineCount=t,this._recomputeOptions())}setReservedHeight(t){this._reservedHeight!==t&&(this._reservedHeight=t,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(t){this._glyphMarginDecorationLaneCount!==t&&(this._glyphMarginDecorationLaneCount=t,this._recomputeOptions())}};function tw(){let t="";return Zo||Qo||(t+="no-user-select "),Zo&&(t+="no-minimap-shadow ",t+="enable-user-select "),St&&(t+="mac "),t}Xm=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,Qm)],Xm);class iw{constructor(){this._values=[]}_read(t){return this._values[t]}get(t){return this._values[t]}_write(t,i){this._values[t]=i}}class ew{constructor(){this._values=[]}_read(t){if(t>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[t]}get(t){return this._read(t)}_write(t,i){this._values[t]=i}}class sw{static validateOptions(t){const i=new iw;for(const e of Ii)i._write(e.id,e.validate("_never_"===e.name?void 0:t[e.name]));return i}static computeOptions(t,i){const e=new ew;for(const s of Ii)e._write(s.id,s.compute(i,e,t._read(s.id)));return e}static _deepEquals(t,i){if("object"!=typeof t||"object"!=typeof i||!t||!i)return t===i;if(Array.isArray(t)||Array.isArray(i))return!(!Array.isArray(t)||!Array.isArray(i))&&u(t,i);if(Object.keys(t).length!==Object.keys(i).length)return!1;for(const e in t)if(!sw._deepEquals(t[e],i[e]))return!1;return!0}static checkEquals(t,i){const e=[];let s=!1;for(const n of Ii){const o=!sw._deepEquals(t._read(n.id),i._read(n.id));e[n.id]=o,o&&(s=!0)}return s?new Xt(e):null}static applyUpdate(t,i){let e=!1;for(const s of Ii)if(i.hasOwnProperty(s.name)){const n=s.applyUpdate(t[s.name],i[s.name]);t[s.name]=n.newValue,e=e||n.didChange}return e}}function nw(t){const i=J(t);return function(t){Um.items.forEach((i=>i.apply(t)))}(i),i}function ow(t,i,e){let s=null,n=null;if("function"==typeof e.value?(s="value",n=e.value,0!==n.length&&console.warn("Memoize should only be used in functions with zero parameters")):"function"==typeof e.get&&(s="get",n=e.get),!n)throw new Error("not supported");const o=`$memoize$${i}`;e[s]=function(...t){return this.hasOwnProperty(o)||Object.defineProperty(this,o,{configurable:!1,enumerable:!1,writable:!1,value:n.apply(this,t)}),this[o]}}var rw;!function(t){t.Tap="-monaco-gesturetap",t.Change="-monaco-gesturechange",t.Start="-monaco-gesturestart",t.End="-monaco-gesturesend",t.Contextmenu="-monaco-gesturecontextmenu"}(rw||(rw={}));class hw extends ie{constructor(){super(),this.dispatched=!1,this.targets=new qt,this.ignoreTargets=new qt,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(ce.runAndSubscribe(ja,(({window:t,disposables:i})=>{i.add(Ua(t.document,"touchstart",(t=>this.onTouchStart(t)),{passive:!1})),i.add(Ua(t.document,"touchend",(i=>this.onTouchEnd(t,i)))),i.add(Ua(t.document,"touchmove",(t=>this.onTouchMove(t)),{passive:!1}))}),{window:Wn,disposables:this._store}))}static addTarget(t){return hw.isTouchDevice()?(hw.INSTANCE||(hw.INSTANCE=new hw),Xi(hw.INSTANCE.targets.push(t))):ie.None}static ignoreTarget(t){return hw.isTouchDevice()?(hw.INSTANCE||(hw.INSTANCE=new hw),Xi(hw.INSTANCE.ignoreTargets.push(t))):ie.None}static isTouchDevice(){return"ontouchstart"in Wn||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(t){const i=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let e=0,s=t.targetTouches.length;e=hw.HOLD_DELAY&&Math.abs(r.initialPageX-l(r.rollingPageX))<30&&Math.abs(r.initialPageY-l(r.rollingPageY))<30){const t=this.newGestureEvent(rw.Contextmenu,r.initialTarget);t.pageX=l(r.rollingPageX),t.pageY=l(r.rollingPageY),this.dispatchEvent(t)}else if(1===s){const i=l(r.rollingPageX),s=l(r.rollingPageY),n=l(r.rollingTimestamps)-r.rollingTimestamps[0],o=i-r.rollingPageX[0],h=s-r.rollingPageY[0],c=[...this.targets].filter((t=>r.initialTarget instanceof Node&&t.contains(r.initialTarget)));this.inertia(t,c,e,Math.abs(o)/n,o>0?1:-1,i,Math.abs(h)/n,h>0?1:-1,s)}this.dispatchEvent(this.newGestureEvent(rw.End,r.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&(i.preventDefault(),i.stopPropagation(),this.dispatched=!1)}newGestureEvent(t,i){const e=document.createEvent("CustomEvent");return e.initEvent(t,!1,!0),e.initialTarget=i,e.tapCount=0,e}dispatchEvent(t){if(t.type===rw.Tap){const i=(new Date).getTime();let e=0;e=i-this._lastSetTapCountTime>hw.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=i,t.tapCount=e}else t.type!==rw.Change&&t.type!==rw.Contextmenu||(this._lastSetTapCountTime=0);if(t.initialTarget instanceof Node){for(const i of this.ignoreTargets)if(i.contains(t.initialTarget))return;for(const i of this.targets)i.contains(t.initialTarget)&&(i.dispatchEvent(t),this.dispatched=!0)}}inertia(t,i,e,s,n,o,r,h,c){this.handle=Ja(t,(()=>{const a=Date.now(),l=a-e;let u=0,d=0,f=!0;(s+=hw.SCROLL_FRICTION*l)>0&&(f=!1,u=n*s*l),(r+=hw.SCROLL_FRICTION*l)>0&&(f=!1,d=h*r*l);const p=this.newGestureEvent(rw.Change);p.translationX=u,p.translationY=d,i.forEach((t=>t.dispatchEvent(p))),f||this.inertia(t,i,a,s,n,o+u,r,h,c+d)}))}onTouchMove(t){const i=Date.now();for(let e=0,s=t.changedTouches.length;e3&&(n.rollingPageX.shift(),n.rollingPageY.shift(),n.rollingTimestamps.shift()),n.rollingPageX.push(s.pageX),n.rollingPageY.push(s.pageY),n.rollingTimestamps.push(i)}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}}hw.SCROLL_FRICTION=-.005,hw.HOLD_DELAY=700,hw.CLEAR_TAP_COUNT_TIME=400,function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);o>3&&r&&Object.defineProperty(i,e,r)}([ow],hw,"isTouchDevice",null);class cw{constructor(){this._hooks=new te,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(t,i){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;const e=this._onStopCallback;this._onStopCallback=null,t&&e&&e(i)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(t,i,e,s,n){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=s,this._onStopCallback=n;let o=t;try{t.setPointerCapture(i),this._hooks.add(Xi((()=>{try{t.releasePointerCapture(i)}catch(t){}})))}catch(i){o=Ba(t)}this._hooks.add(Ua(o,Fl.POINTER_MOVE,(t=>{t.buttons===e?(t.preventDefault(),this._pointerMoveCallback(t)):this.stopMonitoring(!0)}))),this._hooks.add(Ua(o,Fl.POINTER_UP,(()=>this.stopMonitoring(!0))))}}function aw(t){return`--vscode-${t.replace(/\./g,"-")}`}function lw(t){return`var(${aw(t)})`}const uw="base.contributions.colors",dw=new class{constructor(){this._onDidChangeSchema=new fe,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(t,i,e,s=!1,n){this.colorsById[t]={id:t,description:e,defaults:i,needsTransparency:s,deprecationMessage:n};const o={type:"string",description:e,format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return n&&(o.deprecationMessage=n),this.colorSchema.properties[t]=o,this.colorReferenceSchema.enum.push(t),this.colorReferenceSchema.enumDescriptions.push(e),this._onDidChangeSchema.fire(),t}getColors(){return Object.keys(this.colorsById).map((t=>this.colorsById[t]))}resolveDefaultColor(t,i){const e=this.colorsById[t];if(e&&e.defaults)return py(e.defaults[i.type],i)}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort(((t,i)=>{const e=-1===t.indexOf(".")?0:1,s=-1===i.indexOf(".")?0:1;return e!==s?e-s:t.localeCompare(i)})).map((t=>`- \`${t}\`: ${this.colorsById[t].description}`)).join("\n")}};function fw(t,i,e,s,n){return dw.registerColor(t,i,e,s,n)}Eh.add(uw,dw);const pw=fw("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},rt(0,"Overall foreground color. This color is only used if not overridden by a component."));fw("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},rt(0,"Overall foreground for disabled elements. This color is only used if not overridden by a component."));const gw=fw("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},rt(0,"Overall foreground color for error messages. This color is only used if not overridden by a component."));fw("descriptionForeground",{light:"#717171",dark:uy(pw,.7),hcDark:uy(pw,.7),hcLight:uy(pw,.7)},rt(0,"Foreground color for description text providing additional information, for example for a label."));const mw=fw("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},rt(0,"The default color for icons in the workbench.")),ww=fw("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},rt(0,"Overall border color for focused elements. This color is only used if not overridden by a component.")),vw=fw("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},rt(0,"An extra border around elements to separate them from others for greater contrast.")),bw=fw("contrastActiveBorder",{light:null,dark:null,hcDark:ww,hcLight:ww},rt(0,"An extra border around active elements to separate them from others for greater contrast."));fw("selection.background",{light:null,dark:null,hcDark:null,hcLight:null},rt(0,"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.")),fw("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:ug.black,hcLight:"#292929"},rt(0,"Color for text separators."));const yw=fw("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#3794FF",hcLight:"#0F4A85"},rt(0,"Foreground color for links in text."));fw("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#3794FF",hcLight:"#0F4A85"},rt(0,"Foreground color for links in text when clicked on and on mouse hover.")),fw("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},rt(0,"Foreground color for preformatted text segments.")),fw("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},rt(0,"Background color for preformatted text segments.")),fw("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},rt(0,"Background color for block quotes in text.")),fw("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:ug.white,hcLight:"#292929"},rt(0,"Border color for block quotes in text.")),fw("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:ug.black,hcLight:"#F2F2F2"},rt(0,"Background color for code blocks in text."));const kw=fw("widget.shadow",{dark:uy(ug.black,.36),light:uy(ug.black,.16),hcDark:null,hcLight:null},rt(0,"Shadow color of widgets such as find/replace inside the editor.")),xw=fw("widget.border",{dark:null,light:null,hcDark:vw,hcLight:vw},rt(0,"Border color of widgets such as find/replace inside the editor.")),Cw=fw("input.background",{dark:"#3C3C3C",light:ug.white,hcDark:ug.black,hcLight:ug.white},rt(0,"Input box background.")),Sw=fw("input.foreground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"Input box foreground.")),Dw=fw("input.border",{dark:null,light:null,hcDark:vw,hcLight:vw},rt(0,"Input box border.")),Ew=fw("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:vw,hcLight:vw},rt(0,"Border color of activated options in input fields."));fw("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},rt(0,"Background color of activated options in input fields."));const Aw=fw("inputOption.activeBackground",{dark:uy(ww,.4),light:uy(ww,.2),hcDark:ug.transparent,hcLight:ug.transparent},rt(0,"Background hover color of options in input fields.")),Mw=fw("inputOption.activeForeground",{dark:ug.white,light:ug.black,hcDark:pw,hcLight:pw},rt(0,"Foreground color of activated options in input fields."));fw("input.placeholderForeground",{light:uy(pw,.5),dark:uy(pw,.5),hcDark:uy(pw,.7),hcLight:uy(pw,.7)},rt(0,"Input box foreground color for placeholder text."));const Lw=fw("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:ug.black,hcLight:ug.white},rt(0,"Input validation background color for information severity.")),Fw=fw("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:pw},rt(0,"Input validation foreground color for information severity.")),Tw=fw("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:vw,hcLight:vw},rt(0,"Input validation border color for information severity.")),Rw=fw("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:ug.black,hcLight:ug.white},rt(0,"Input validation background color for warning severity.")),Ow=fw("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:pw},rt(0,"Input validation foreground color for warning severity.")),Iw=fw("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:vw,hcLight:vw},rt(0,"Input validation border color for warning severity.")),_w=fw("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:ug.black,hcLight:ug.white},rt(0,"Input validation background color for error severity.")),Nw=fw("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:pw},rt(0,"Input validation foreground color for error severity.")),Bw=fw("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:vw,hcLight:vw},rt(0,"Input validation border color for error severity.")),Pw=fw("dropdown.background",{dark:"#3C3C3C",light:ug.white,hcDark:ug.black,hcLight:ug.white},rt(0,"Dropdown background.")),$w=fw("dropdown.listBackground",{dark:null,light:null,hcDark:ug.black,hcLight:ug.white},rt(0,"Dropdown list background.")),Ww=fw("dropdown.foreground",{dark:"#F0F0F0",light:pw,hcDark:ug.white,hcLight:pw},rt(0,"Dropdown foreground.")),jw=fw("dropdown.border",{dark:Pw,light:"#CECECE",hcDark:vw,hcLight:vw},rt(0,"Dropdown border.")),zw=fw("button.foreground",{dark:ug.white,light:ug.white,hcDark:ug.white,hcLight:ug.white},rt(0,"Button foreground color.")),Hw=fw("button.separator",{dark:uy(zw,.4),light:uy(zw,.4),hcDark:uy(zw,.4),hcLight:uy(zw,.4)},rt(0,"Button separator color.")),Vw=fw("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},rt(0,"Button background color.")),Uw=fw("button.hoverBackground",{dark:ly(Vw,.2),light:ay(Vw,.2),hcDark:Vw,hcLight:Vw},rt(0,"Button background color when hovering.")),qw=fw("button.border",{dark:vw,light:vw,hcDark:vw,hcLight:vw},rt(0,"Button border color.")),Kw=fw("button.secondaryForeground",{dark:ug.white,light:ug.white,hcDark:ug.white,hcLight:pw},rt(0,"Secondary button foreground color.")),Gw=fw("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:ug.white},rt(0,"Secondary button background color.")),Zw=fw("button.secondaryHoverBackground",{dark:ly(Gw,.2),light:ay(Gw,.2),hcDark:null,hcLight:null},rt(0,"Secondary button background color when hovering.")),Qw=fw("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:ug.black,hcLight:"#0F4A85"},rt(0,"Badge background color. Badges are small information labels, e.g. for search results count.")),Jw=fw("badge.foreground",{dark:ug.white,light:"#333",hcDark:ug.white,hcLight:ug.white},rt(0,"Badge foreground color. Badges are small information labels, e.g. for search results count.")),Yw=fw("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},rt(0,"Scrollbar shadow to indicate that the view is scrolled.")),Xw=fw("scrollbarSlider.background",{dark:ug.fromHex("#797979").transparent(.4),light:ug.fromHex("#646464").transparent(.4),hcDark:uy(vw,.6),hcLight:uy(vw,.4)},rt(0,"Scrollbar slider background color.")),tv=fw("scrollbarSlider.hoverBackground",{dark:ug.fromHex("#646464").transparent(.7),light:ug.fromHex("#646464").transparent(.7),hcDark:uy(vw,.8),hcLight:uy(vw,.8)},rt(0,"Scrollbar slider background color when hovering.")),iv=fw("scrollbarSlider.activeBackground",{dark:ug.fromHex("#BFBFBF").transparent(.4),light:ug.fromHex("#000000").transparent(.6),hcDark:vw,hcLight:vw},rt(0,"Scrollbar slider background color when clicked on.")),ev=fw("progressBar.background",{dark:ug.fromHex("#0E70C0"),light:ug.fromHex("#0E70C0"),hcDark:vw,hcLight:vw},rt(0,"Background color of the progress bar that can show for long running operations."));fw("editorError.background",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const sv=fw("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},rt(0,"Foreground color of error squigglies in the editor.")),nv=fw("editorError.border",{dark:null,light:null,hcDark:ug.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},rt(0,"If set, color of double underlines for errors in the editor."));fw("editorWarning.background",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const ov=fw("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},rt(0,"Foreground color of warning squigglies in the editor.")),rv=fw("editorWarning.border",{dark:null,light:null,hcDark:ug.fromHex("#FFCC00").transparent(.8),hcLight:ug.fromHex("#FFCC00").transparent(.8)},rt(0,"If set, color of double underlines for warnings in the editor."));fw("editorInfo.background",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const hv=fw("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},rt(0,"Foreground color of info squigglies in the editor.")),cv=fw("editorInfo.border",{dark:null,light:null,hcDark:ug.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},rt(0,"If set, color of double underlines for infos in the editor.")),av=fw("editorHint.foreground",{dark:ug.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},rt(0,"Foreground color of hint squigglies in the editor."));fw("editorHint.border",{dark:null,light:null,hcDark:ug.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},rt(0,"If set, color of double underlines for hints in the editor.")),fw("sash.hoverBorder",{dark:ww,light:ww,hcDark:ww,hcLight:ww},rt(0,"Border color of active sashes."));const lv=fw("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:ug.black,hcLight:ug.white},rt(0,"Editor background color.")),uv=fw("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:ug.white,hcLight:pw},rt(0,"Editor default foreground color."));fw("editorStickyScroll.background",{light:lv,dark:lv,hcDark:lv,hcLight:lv},rt(0,"Sticky scroll background color for the editor")),fw("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:ug.fromHex("#0F4A85").transparent(.1)},rt(0,"Sticky scroll on hover background color for the editor"));const dv=fw("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:ug.white},rt(0,"Background color of editor widgets, such as find/replace.")),fv=fw("editorWidget.foreground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"Foreground color of editor widgets, such as find/replace.")),pv=fw("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:vw,hcLight:vw},rt(0,"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.")),gv=fw("editorWidget.resizeBorder",{light:null,dark:null,hcDark:null,hcLight:null},rt(0,"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.")),mv=fw("quickInput.background",{dark:dv,light:dv,hcDark:dv,hcLight:dv},rt(0,"Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),wv=fw("quickInput.foreground",{dark:fv,light:fv,hcDark:fv,hcLight:fv},rt(0,"Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),vv=fw("quickInputTitle.background",{dark:new ug(new cg(255,255,255,.105)),light:new ug(new cg(0,0,0,.06)),hcDark:"#000000",hcLight:ug.white},rt(0,"Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),bv=fw("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:ug.white,hcLight:"#0F4A85"},rt(0,"Quick picker color for grouping labels.")),yv=fw("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:ug.white,hcLight:"#0F4A85"},rt(0,"Quick picker color for grouping borders.")),kv=fw("keybindingLabel.background",{dark:new ug(new cg(128,128,128,.17)),light:new ug(new cg(221,221,221,.4)),hcDark:ug.transparent,hcLight:ug.transparent},rt(0,"Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),xv=fw("keybindingLabel.foreground",{dark:ug.fromHex("#CCCCCC"),light:ug.fromHex("#555555"),hcDark:ug.white,hcLight:pw},rt(0,"Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),Cv=fw("keybindingLabel.border",{dark:new ug(new cg(51,51,51,.6)),light:new ug(new cg(204,204,204,.4)),hcDark:new ug(new cg(111,195,223)),hcLight:vw},rt(0,"Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),Sv=fw("keybindingLabel.bottomBorder",{dark:new ug(new cg(68,68,68,.6)),light:new ug(new cg(187,187,187,.4)),hcDark:new ug(new cg(111,195,223)),hcLight:pw},rt(0,"Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),Dv=fw("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},rt(0,"Color of the editor selection.")),Ev=fw("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:ug.white},rt(0,"Color of the selected text for high contrast.")),Av=fw("editor.inactiveSelectionBackground",{light:uy(Dv,.5),dark:uy(Dv,.5),hcDark:uy(Dv,.7),hcLight:uy(Dv,.5)},rt(0,"Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),Mv=fw("editor.selectionHighlightBackground",{light:fy(Dv,lv,.3,.6),dark:fy(Dv,lv,.3,.6),hcDark:null,hcLight:null},rt(0,"Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0);fw("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:bw,hcLight:bw},rt(0,"Border color for regions with the same content as the selection."));const Lv=fw("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},rt(0,"Color of the current search match.")),Fv=fw("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},rt(0,"Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0),Tv=fw("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},rt(0,"Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),Rv=fw("editor.findMatchBorder",{light:null,dark:null,hcDark:bw,hcLight:bw},rt(0,"Border color of the current search match.")),Ov=fw("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:bw,hcLight:bw},rt(0,"Border color of the other search matches.")),Iv=fw("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:uy(bw,.4),hcLight:uy(bw,.4)},rt(0,"Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0);fw("searchEditor.findMatchBackground",{light:uy(Fv,.66),dark:uy(Fv,.66),hcDark:Fv,hcLight:Fv},rt(0,"Color of the Search Editor query matches.")),fw("searchEditor.findMatchBorder",{light:uy(Ov,.66),dark:uy(Ov,.66),hcDark:Ov,hcLight:Ov},rt(0,"Border color of the Search Editor query matches.")),fw("search.resultsInfoForeground",{light:pw,dark:uy(pw,.65),hcDark:pw,hcLight:pw},rt(0,"Color of the text in the search viewlet's completion message.")),fw("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},rt(0,"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 _v=fw("editorHoverWidget.background",{light:dv,dark:dv,hcDark:dv,hcLight:dv},rt(0,"Background color of the editor hover."));fw("editorHoverWidget.foreground",{light:fv,dark:fv,hcDark:fv,hcLight:fv},rt(0,"Foreground color of the editor hover."));const Nv=fw("editorHoverWidget.border",{light:pv,dark:pv,hcDark:pv,hcLight:pv},rt(0,"Border color of the editor hover."));fw("editorHoverWidget.statusBarBackground",{dark:ly(_v,.2),light:ay(_v,.05),hcDark:dv,hcLight:dv},rt(0,"Background color of the editor hover status bar."));const Bv=fw("editorLink.activeForeground",{dark:"#4E94CE",light:ug.blue,hcDark:ug.cyan,hcLight:"#292929"},rt(0,"Color of active links.")),Pv=fw("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:ug.white,hcLight:ug.black},rt(0,"Foreground color of inline hints")),$v=fw("editorInlayHint.background",{dark:uy(Qw,.1),light:uy(Qw,.1),hcDark:uy(ug.white,.1),hcLight:uy(Qw,.1)},rt(0,"Background color of inline hints")),Wv=fw("editorInlayHint.typeForeground",{dark:Pv,light:Pv,hcDark:Pv,hcLight:Pv},rt(0,"Foreground color of inline hints for types")),jv=fw("editorInlayHint.typeBackground",{dark:$v,light:$v,hcDark:$v,hcLight:$v},rt(0,"Background color of inline hints for types")),zv=fw("editorInlayHint.parameterForeground",{dark:Pv,light:Pv,hcDark:Pv,hcLight:Pv},rt(0,"Foreground color of inline hints for parameters")),Hv=fw("editorInlayHint.parameterBackground",{dark:$v,light:$v,hcDark:$v,hcLight:$v},rt(0,"Background color of inline hints for parameters"));fw("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},rt(0,"The color used for the lightbulb actions icon.")),fw("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The color used for the lightbulb auto fix actions icon.")),fw("editorLightBulbAi.foreground",{dark:ay(mw,.4),light:ly(mw,1.7),hcDark:mw,hcLight:mw},rt(0,"The color used for the lightbulb AI icon."));const Vv=new ug(new cg(155,185,85,.2)),Uv=new ug(new cg(255,0,0,.2)),qv=fw("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},rt(0,"Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),Kv=fw("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},rt(0,"Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0);fw("diffEditor.insertedLineBackground",{dark:Vv,light:Vv,hcDark:null,hcLight:null},rt(0,"Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),fw("diffEditor.removedLineBackground",{dark:Uv,light:Uv,hcDark:null,hcLight:null},rt(0,"Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),fw("diffEditorGutter.insertedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Background color for the margin where lines got inserted.")),fw("diffEditorGutter.removedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Background color for the margin where lines got removed."));const Gv=fw("diffEditorOverview.insertedForeground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Diff overview ruler foreground for inserted content.")),Zv=fw("diffEditorOverview.removedForeground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Diff overview ruler foreground for removed content."));fw("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},rt(0,"Outline color for the text that got inserted.")),fw("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},rt(0,"Outline color for text that got removed.")),fw("diffEditor.border",{dark:null,light:null,hcDark:vw,hcLight:vw},rt(0,"Border color between the two text editors.")),fw("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},rt(0,"Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),fw("diffEditor.unchangedRegionBackground",{dark:"sideBar.background",light:"sideBar.background",hcDark:"sideBar.background",hcLight:"sideBar.background"},rt(0,"The background color of unchanged blocks in the diff editor.")),fw("diffEditor.unchangedRegionForeground",{dark:"foreground",light:"foreground",hcDark:"foreground",hcLight:"foreground"},rt(0,"The foreground color of unchanged blocks in the diff editor.")),fw("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},rt(0,"The background color of unchanged code in the diff editor."));const Qv=fw("list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"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.")),Jv=fw("list.focusForeground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"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.")),Yv=fw("list.focusOutline",{dark:ww,light:ww,hcDark:bw,hcLight:bw},rt(0,"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.")),Xv=fw("list.focusAndSelectionOutline",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"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.")),tb=fw("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:ug.fromHex("#0F4A85").transparent(.1)},rt(0,"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.")),ib=fw("list.activeSelectionForeground",{dark:ug.white,light:ug.white,hcDark:null,hcLight:null},rt(0,"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.")),eb=fw("list.activeSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"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.")),sb=fw("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:ug.fromHex("#0F4A85").transparent(.1)},rt(0,"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.")),nb=fw("list.inactiveSelectionForeground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"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.")),ob=fw("list.inactiveSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"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.")),rb=fw("list.inactiveFocusBackground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"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.")),hb=fw("list.inactiveFocusOutline",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"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.")),cb=fw("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:ug.white.transparent(.1),hcLight:ug.fromHex("#0F4A85").transparent(.1)},rt(0,"List/Tree background when hovering over items using the mouse.")),ab=fw("list.hoverForeground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"List/Tree foreground when hovering over items using the mouse.")),lb=fw("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},rt(0,"List/Tree drag and drop background when moving items around using the mouse.")),ub=fw("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:ww,hcLight:ww},rt(0,"List/Tree foreground color of the match highlights when searching inside the list/tree.")),db=fw("list.focusHighlightForeground",{dark:ub,light:(fb=tb,pb=ub,"#BBE7FF",{op:6,if:fb,then:pb,else:"#BBE7FF"}),hcDark:ub,hcLight:ub},rt(0,"List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));var fb,pb;fw("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},rt(0,"List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),fw("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},rt(0,"Foreground color of list items containing errors.")),fw("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},rt(0,"Foreground color of list items containing warnings."));const gb=fw("listFilterWidget.background",{light:ay(dv,0),dark:ly(dv,0),hcDark:dv,hcLight:dv},rt(0,"Background color of the type filter widget in lists and trees.")),mb=fw("listFilterWidget.outline",{dark:ug.transparent,light:ug.transparent,hcDark:"#f38518",hcLight:"#007ACC"},rt(0,"Outline color of the type filter widget in lists and trees.")),wb=fw("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:vw,hcLight:vw},rt(0,"Outline color of the type filter widget in lists and trees, when there are no matches.")),vb=fw("listFilterWidget.shadow",{dark:kw,light:kw,hcDark:kw,hcLight:kw},rt(0,"Shadow color of the type filter widget in lists and trees."));fw("list.filterMatchBackground",{dark:Fv,light:Fv,hcDark:null,hcLight:null},rt(0,"Background color of the filtered match.")),fw("list.filterMatchBorder",{dark:Ov,light:Ov,hcDark:vw,hcLight:bw},rt(0,"Border color of the filtered match."));const bb=fw("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},rt(0,"Tree stroke color for the indentation guides.")),yb=fw("tree.inactiveIndentGuidesStroke",{dark:uy(bb,.4),light:uy(bb,.4),hcDark:uy(bb,.4),hcLight:uy(bb,.4)},rt(0,"Tree stroke color for the indentation guides that are not active.")),kb=fw("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},rt(0,"Table border color between columns.")),xb=fw("tree.tableOddRowsBackground",{dark:uy(pw,.04),light:uy(pw,.04),hcDark:null,hcLight:null},rt(0,"Background color for odd table rows."));fw("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},rt(0,"List/Tree foreground color for items that are deemphasized. "));const Cb=fw("checkbox.background",{dark:Pw,light:Pw,hcDark:Pw,hcLight:Pw},rt(0,"Background color of checkbox widget."));fw("checkbox.selectBackground",{dark:dv,light:dv,hcDark:dv,hcLight:dv},rt(0,"Background color of checkbox widget when the element it's in is selected."));const Sb=fw("checkbox.foreground",{dark:Ww,light:Ww,hcDark:Ww,hcLight:Ww},rt(0,"Foreground color of checkbox widget.")),Db=fw("checkbox.border",{dark:jw,light:jw,hcDark:jw,hcLight:jw},rt(0,"Border color of checkbox widget."));fw("checkbox.selectBorder",{dark:mw,light:mw,hcDark:mw,hcLight:mw},rt(0,"Border color of checkbox widget when the element it's in is selected."));const Eb=fw("quickInput.list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},"",void 0,rt(0,"Please use quickInputList.focusBackground instead")),Ab=fw("quickInputList.focusForeground",{dark:ib,light:ib,hcDark:ib,hcLight:ib},rt(0,"Quick picker foreground color for the focused item.")),Mb=fw("quickInputList.focusIconForeground",{dark:eb,light:eb,hcDark:eb,hcLight:eb},rt(0,"Quick picker icon foreground color for the focused item.")),Lb=fw("quickInputList.focusBackground",{dark:dy(Eb,tb),light:dy(Eb,tb),hcDark:null,hcLight:null},rt(0,"Quick picker background color for the focused item.")),Fb=fw("menu.border",{dark:null,light:null,hcDark:vw,hcLight:vw},rt(0,"Border color of menus.")),Tb=fw("menu.foreground",{dark:Ww,light:Ww,hcDark:Ww,hcLight:Ww},rt(0,"Foreground color of menu items.")),Rb=fw("menu.background",{dark:Pw,light:Pw,hcDark:Pw,hcLight:Pw},rt(0,"Background color of menu items.")),Ob=fw("menu.selectionForeground",{dark:ib,light:ib,hcDark:ib,hcLight:ib},rt(0,"Foreground color of the selected menu item in menus.")),Ib=fw("menu.selectionBackground",{dark:tb,light:tb,hcDark:tb,hcLight:tb},rt(0,"Background color of the selected menu item in menus.")),_b=fw("menu.selectionBorder",{dark:null,light:null,hcDark:bw,hcLight:bw},rt(0,"Border color of the selected menu item in menus.")),Nb=fw("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:vw,hcLight:vw},rt(0,"Color of a separator menu item in menus.")),Bb=fw("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},rt(0,"Toolbar background when hovering over actions using the mouse"));fw("toolbar.hoverOutline",{dark:null,light:null,hcDark:bw,hcLight:bw},rt(0,"Toolbar outline when hovering over actions using the mouse")),fw("toolbar.activeBackground",{dark:ly(Bb,.1),light:ay(Bb,.1),hcDark:null,hcLight:null},rt(0,"Toolbar background when holding the mouse over actions")),fw("editor.snippetTabstopHighlightBackground",{dark:new ug(new cg(124,124,124,.3)),light:new ug(new cg(10,50,100,.2)),hcDark:new ug(new cg(124,124,124,.3)),hcLight:new ug(new cg(10,50,100,.2))},rt(0,"Highlight background color of a snippet tabstop.")),fw("editor.snippetTabstopHighlightBorder",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Highlight border color of a snippet tabstop.")),fw("editor.snippetFinalTabstopHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Highlight background color of the final tabstop of a snippet.")),fw("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new ug(new cg(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},rt(0,"Highlight border color of the final tabstop of a snippet."));const Pb=fw("breadcrumb.foreground",{light:uy(pw,.8),dark:uy(pw,.8),hcDark:uy(pw,.8),hcLight:uy(pw,.8)},rt(0,"Color of focused breadcrumb items.")),$b=fw("breadcrumb.background",{light:lv,dark:lv,hcDark:lv,hcLight:lv},rt(0,"Background color of breadcrumb items.")),Wb=fw("breadcrumb.focusForeground",{light:ay(pw,.2),dark:ly(pw,.1),hcDark:ly(pw,.1),hcLight:ly(pw,.1)},rt(0,"Color of focused breadcrumb items.")),jb=fw("breadcrumb.activeSelectionForeground",{light:ay(pw,.2),dark:ly(pw,.1),hcDark:ly(pw,.1),hcLight:ly(pw,.1)},rt(0,"Color of selected breadcrumb items."));fw("breadcrumbPicker.background",{light:dv,dark:dv,hcDark:dv,hcLight:dv},rt(0,"Background color of breadcrumb item picker."));const zb=ug.fromHex("#40C8AE").transparent(.5),Hb=ug.fromHex("#40A6FF").transparent(.5),Vb=ug.fromHex("#606060").transparent(.4),Ub=.4,qb=fw("merge.currentHeaderBackground",{dark:zb,light:zb,hcDark:null,hcLight:null},rt(0,"Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);fw("merge.currentContentBackground",{dark:uy(qb,Ub),light:uy(qb,Ub),hcDark:uy(qb,Ub),hcLight:uy(qb,Ub)},rt(0,"Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const Kb=fw("merge.incomingHeaderBackground",{dark:Hb,light:Hb,hcDark:null,hcLight:null},rt(0,"Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);fw("merge.incomingContentBackground",{dark:uy(Kb,Ub),light:uy(Kb,Ub),hcDark:uy(Kb,Ub),hcLight:uy(Kb,Ub)},rt(0,"Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const Gb=fw("merge.commonHeaderBackground",{dark:Vb,light:Vb,hcDark:null,hcLight:null},rt(0,"Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);fw("merge.commonContentBackground",{dark:uy(Gb,Ub),light:uy(Gb,Ub),hcDark:uy(Gb,Ub),hcLight:uy(Gb,Ub)},rt(0,"Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const Zb=fw("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},rt(0,"Border color on headers and the splitter in inline merge-conflicts."));fw("editorOverviewRuler.currentContentForeground",{dark:uy(qb,1),light:uy(qb,1),hcDark:Zb,hcLight:Zb},rt(0,"Current overview ruler foreground for inline merge-conflicts.")),fw("editorOverviewRuler.incomingContentForeground",{dark:uy(Kb,1),light:uy(Kb,1),hcDark:Zb,hcLight:Zb},rt(0,"Incoming overview ruler foreground for inline merge-conflicts.")),fw("editorOverviewRuler.commonContentForeground",{dark:uy(Gb,1),light:uy(Gb,1),hcDark:Zb,hcLight:Zb},rt(0,"Common ancestor overview ruler foreground for inline merge-conflicts."));const Qb=fw("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:""},rt(0,"Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),Jb=fw("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},rt(0,"Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Yb=fw("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},rt(0,"Minimap marker color for find matches."),!0),Xb=fw("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},rt(0,"Minimap marker color for repeating editor selections."),!0),ty=fw("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},rt(0,"Minimap marker color for the editor selection."),!0),iy=fw("minimap.infoHighlight",{dark:hv,light:hv,hcDark:cv,hcLight:cv},rt(0,"Minimap marker color for infos.")),ey=fw("minimap.warningHighlight",{dark:ov,light:ov,hcDark:rv,hcLight:rv},rt(0,"Minimap marker color for warnings.")),sy=fw("minimap.errorHighlight",{dark:new ug(new cg(255,18,18,.7)),light:new ug(new cg(255,18,18,.7)),hcDark:new ug(new cg(255,50,50,1)),hcLight:"#B5200D"},rt(0,"Minimap marker color for errors.")),ny=fw("minimap.background",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Minimap background color.")),oy=fw("minimap.foregroundOpacity",{dark:ug.fromHex("#000f"),light:ug.fromHex("#000f"),hcDark:ug.fromHex("#000f"),hcLight:ug.fromHex("#000f")},rt(0,'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.'));fw("minimapSlider.background",{light:uy(Xw,.5),dark:uy(Xw,.5),hcDark:uy(Xw,.5),hcLight:uy(Xw,.5)},rt(0,"Minimap slider background color.")),fw("minimapSlider.hoverBackground",{light:uy(tv,.5),dark:uy(tv,.5),hcDark:uy(tv,.5),hcLight:uy(tv,.5)},rt(0,"Minimap slider background color when hovering.")),fw("minimapSlider.activeBackground",{light:uy(iv,.5),dark:uy(iv,.5),hcDark:uy(iv,.5),hcLight:uy(iv,.5)},rt(0,"Minimap slider background color when clicked on."));const ry=fw("problemsErrorIcon.foreground",{dark:sv,light:sv,hcDark:sv,hcLight:sv},rt(0,"The color used for the problems error icon.")),hy=fw("problemsWarningIcon.foreground",{dark:ov,light:ov,hcDark:ov,hcLight:ov},rt(0,"The color used for the problems warning icon.")),cy=fw("problemsInfoIcon.foreground",{dark:hv,light:hv,hcDark:hv,hcLight:hv},rt(0,"The color used for the problems info icon."));function ay(t,i){return{op:0,value:t,factor:i}}function ly(t,i){return{op:1,value:t,factor:i}}function uy(t,i){return{op:2,value:t,factor:i}}function dy(...t){return{op:4,values:t}}function fy(t,i,e,s){return{op:5,value:t,background:i,factor:e,transparency:s}}function py(t,i){if(null!==t)return"string"==typeof t?"#"===t[0]?ug.fromHex(t):i.getColor(t):t instanceof ug?t:"object"==typeof t?function(t,i){var e,s,n,o;switch(t.op){case 0:return null===(e=py(t.value,i))||void 0===e?void 0:e.darken(t.factor);case 1:return null===(s=py(t.value,i))||void 0===s?void 0:s.lighten(t.factor);case 2:return null===(n=py(t.value,i))||void 0===n?void 0:n.transparent(t.factor);case 3:{const e=py(t.background,i);return e?null===(o=py(t.value,i))||void 0===o?void 0:o.makeOpaque(e):py(t.value,i)}case 4:for(const e of t.values){const t=py(e,i);if(t)return t}return;case 6:return py(i.defines(t.if)?t.then:t.else,i);case 5:{const e=py(t.value,i);if(!e)return;const s=py(t.background,i);return s?e.isDarkerThan(s)?ug.getLighterColor(e,s,t.factor).transparent(t.transparency):ug.getDarkerColor(e,s,t.factor).transparent(t.transparency):e.transparent(t.factor*t.transparency)}default:throw Ch()}}(t,i):void 0}fw("charts.foreground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color used in charts.")),fw("charts.lines",{dark:uy(pw,.5),light:uy(pw,.5),hcDark:uy(pw,.5),hcLight:uy(pw,.5)},rt(0,"The color used for horizontal lines in charts.")),fw("charts.red",{dark:sv,light:sv,hcDark:sv,hcLight:sv},rt(0,"The red color used in chart visualizations.")),fw("charts.blue",{dark:hv,light:hv,hcDark:hv,hcLight:hv},rt(0,"The blue color used in chart visualizations.")),fw("charts.yellow",{dark:ov,light:ov,hcDark:ov,hcLight:ov},rt(0,"The yellow color used in chart visualizations.")),fw("charts.orange",{dark:Yb,light:Yb,hcDark:Yb,hcLight:Yb},rt(0,"The orange color used in chart visualizations.")),fw("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},rt(0,"The green color used in chart visualizations.")),fw("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},rt(0,"The purple color used in chart visualizations."));const gy="vscode://schemas/workbench-colors",my=Eh.as(Ad);my.registerSchema(gy,dw.getColorSchema());const wy=new gc((()=>my.notifySchemaChanged(gy)),200);dw.onDidChangeSchema((()=>{wy.isScheduled()||wy.schedule()}));class vy{constructor(t,i){this.x=t,this.y=i,this._pageCoordinatesBrand=void 0}toClientCoordinates(t){return new by(this.x-t.scrollX,this.y-t.scrollY)}}class by{constructor(t,i){this.clientX=t,this.clientY=i,this._clientCoordinatesBrand=void 0}toPageCoordinates(t){return new vy(this.clientX+t.scrollX,this.clientY+t.scrollY)}}class yy{constructor(t,i,e,s){this.x=t,this.y=i,this.width=e,this.height=s,this._editorPagePositionBrand=void 0}}class ky{constructor(t,i){this.x=t,this.y=i,this._positionRelativeToEditorBrand=void 0}}function xy(t){const i=ol(t);return new yy(i.left,i.top,i.width,i.height)}function Cy(t,i,e){return new ky((e.x-i.x)/(i.width/t.offsetWidth),(e.y-i.y)/(i.height/t.offsetHeight))}class Sy extends ic{constructor(t,i,e){super(Ba(e),t),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=i,this.pos=new vy(this.posx,this.posy),this.editorPos=xy(e),this.relativePos=Cy(e,this.editorPos,this.pos)}}class Dy{constructor(t){this._editorViewDomNode=t}_create(t){return new Sy(t,!1,this._editorViewDomNode)}onContextMenu(t,i){return Ua(t,"contextmenu",(t=>{i(this._create(t))}))}onMouseUp(t,i){return Ua(t,"mouseup",(t=>{i(this._create(t))}))}onMouseDown(t,i){return Ua(t,Fl.MOUSE_DOWN,(t=>{i(this._create(t))}))}onPointerDown(t,i){return Ua(t,Fl.POINTER_DOWN,(t=>{i(this._create(t),t.pointerId)}))}onMouseLeave(t,i){return Ua(t,Fl.MOUSE_LEAVE,(t=>{i(this._create(t))}))}onMouseMove(t,i){return Ua(t,"mousemove",(t=>i(this._create(t))))}}class Ey{constructor(t){this._editorViewDomNode=t}_create(t){return new Sy(t,!1,this._editorViewDomNode)}onPointerUp(t,i){return Ua(t,"pointerup",(t=>{i(this._create(t))}))}onPointerDown(t,i){return Ua(t,Fl.POINTER_DOWN,(t=>{i(this._create(t),t.pointerId)}))}onPointerLeave(t,i){return Ua(t,Fl.POINTER_LEAVE,(t=>{i(this._create(t))}))}onPointerMove(t,i){return Ua(t,"pointermove",(t=>i(this._create(t))))}}class Ay extends ie{constructor(t){super(),this._editorViewDomNode=t,this._globalPointerMoveMonitor=this._register(new cw),this._keydownListener=null}startMonitoring(t,i,e,s,n){this._keydownListener=Ka(t.ownerDocument,"keydown",(t=>{t.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,t.browserEvent)}),!0),this._globalPointerMoveMonitor.startMonitoring(t,i,e,(t=>{s(new Sy(t,!0,this._editorViewDomNode))}),(t=>{this._keydownListener.dispose(),n(t)}))}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}class My{constructor(t){this._editor=t,this._instanceId=++My._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new gc((()=>this.garbageCollect()),1e3)}createClassNameRef(t){const i=this.getOrCreateRule(t);return i.increaseRefCount(),{className:i.className,dispose:()=>{i.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(t){const i=this.computeUniqueKey(t);let e=this._rules.get(i);if(!e){const s=this._counter++;e=new Ly(i,`dyn-rule-${this._instanceId}-${s}`,fl(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,t),this._rules.set(i,e)}return e}computeUniqueKey(t){return JSON.stringify(t)}garbageCollect(){for(const t of this._rules.values())t.hasReferences()||(this._rules.delete(t.key),t.dispose())}}My._idPool=0;class Ly{constructor(t,i,e,s){this.key=t,this.className=i,this.properties=s,this._referenceCount=0,this._styleElementDisposables=new te,this._styleElement=bl(e,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(t,i){let e=`.${t} {`;for(const t in i){const s=i[t];let n;n="object"==typeof s?lw(s.id):s,e+=`\n\t${Fy(t)}: ${n};`}return e+="\n}",e}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function Fy(t){return t.replace(/(^[A-Z])/,(([t])=>t.toLowerCase())).replace(/([A-Z])/g,(([t])=>`-${t.toLowerCase()}`))}class Ty extends ie{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(t){return!1}onCompositionEnd(t){return!1}onConfigurationChanged(t){return!1}onCursorStateChanged(t){return!1}onDecorationsChanged(t){return!1}onFlushed(t){return!1}onFocusChanged(t){return!1}onLanguageConfigurationChanged(t){return!1}onLineMappingChanged(t){return!1}onLinesChanged(t){return!1}onLinesDeleted(t){return!1}onLinesInserted(t){return!1}onRevealRangeRequest(t){return!1}onScrollChanged(t){return!1}onThemeChanged(t){return!1}onTokensChanged(t){return!1}onTokensColorsChanged(t){return!1}onZonesChanged(t){return!1}handleEvents(t){let i=!1;for(let e=0,s=t.length;e=o.left?s.width=Math.max(s.width,o.left+o.width-s.left):(i[e++]=s,s=o)}return i[e++]=s,i}static _createHorizontalRangesFromClientRects(t,i,e){if(!t||0===t.length)return null;const s=[];for(let n=0,o=t.length;nr)return null;if((i=Math.min(r,Math.max(0,i)))===(s=Math.min(r,Math.max(0,s)))&&e===n&&0===e&&!t.children[i].firstChild){const e=t.children[i].getClientRects();return o.markDidDomLayout(),this._createHorizontalRangesFromClientRects(e,o.clientRectDeltaLeft,o.clientRectScale)}i!==s&&s>0&&0===n&&(s--,n=1073741824);let h=t.children[i].firstChild,c=t.children[s].firstChild;if(h&&c||(!h&&0===e&&i>0&&(h=t.children[i-1].firstChild,e=1073741824),!c&&0===n&&s>0&&(c=t.children[s-1].firstChild,n=1073741824)),!h||!c)return null;e=Math.min(h.textContent.length,Math.max(0,e)),n=Math.min(c.textContent.length,Math.max(0,n));const a=this._readClientRects(h,e,c,n,o.endNode);return o.markDidDomLayout(),this._createHorizontalRangesFromClientRects(a,o.clientRectDeltaLeft,o.clientRectScale)}}var zy;function Hy(t){return t===zy.HIGH_CONTRAST_DARK||t===zy.HIGH_CONTRAST_LIGHT}function Vy(t){return t===zy.DARK||t===zy.HIGH_CONTRAST_DARK}!function(t){t.DARK="dark",t.LIGHT="light",t.HIGH_CONTRAST_DARK="hcDark",t.HIGH_CONTRAST_LIGHT="hcLight"}(zy||(zy={}));const Uy=!!Et||!(Dt||qo||Zo);let qy=!0;class Ky{constructor(t,i){this.themeType=i;const e=t.options,s=e.get(50),n=e.get(38);this.renderWhitespace="off"===n?e.get(98):"none",this.renderControlCharacters=e.get(93),this.spaceWidth=s.spaceWidth,this.middotWidth=s.middotWidth,this.wsmiddotWidth=s.wsmiddotWidth,this.useMonospaceOptimizations=s.isMonospace&&!e.get(33),this.canUseHalfwidthRightwardsArrow=s.canUseHalfwidthRightwardsArrow,this.lineHeight=e.get(66),this.stopRenderingLineAfter=e.get(116),this.fontLigatures=e.get(51)}equals(t){return this.themeType===t.themeType&&this.renderWhitespace===t.renderWhitespace&&this.renderControlCharacters===t.renderControlCharacters&&this.spaceWidth===t.spaceWidth&&this.middotWidth===t.middotWidth&&this.wsmiddotWidth===t.wsmiddotWidth&&this.useMonospaceOptimizations===t.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===t.canUseHalfwidthRightwardsArrow&&this.lineHeight===t.lineHeight&&this.stopRenderingLineAfter===t.stopRenderingLineAfter&&this.fontLigatures===t.fontLigatures}}class Gy{constructor(t){this._options=t,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(t){if(!this._renderedViewLine)throw new Error("I have no rendered view line to set the dom node to...");this._renderedViewLine.domNode=ir(t)}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(t){this._isMaybeInvalid=!0,this._options=t}onSelectionChanged(){return!(!Hy(this._options.themeType)&&"selection"!==this._options.renderWhitespace||(this._isMaybeInvalid=!0,0))}renderLine(t,i,e,s){if(!1===this._isMaybeInvalid)return!1;this._isMaybeInvalid=!1;const n=e.getViewLineRenderingData(t),o=this._options,r=jg.filter(n.inlineDecorations,t,n.minColumn,n.maxColumn);let h=null;if(Hy(o.themeType)||"selection"===this._options.renderWhitespace){const i=e.selections;for(const e of i){if(e.endLineNumbert)continue;const i=e.startLineNumber===t?e.startColumn:n.minColumn,s=e.endLineNumber===t?e.endColumn:n.maxColumn;i');const a=Jg(c,s);s.appendString("");let l=null;return qy&&Uy&&n.isBasicASCII&&o.useMonospaceOptimizations&&0===a.containsForeignElements&&(l=new Zy(this._renderedViewLine?this._renderedViewLine.domNode:null,c,a.characterMapping)),l||(l=Yy(this._renderedViewLine?this._renderedViewLine.domNode:null,c,a.characterMapping,a.containsRTL,a.containsForeignElements)),this._renderedViewLine=l,!0}layoutLine(t,i){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(i),this._renderedViewLine.domNode.setHeight(this._options.lineHeight))}getWidth(t){return this._renderedViewLine?this._renderedViewLine.getWidth(t):0}getWidthIsFast(){return!this._renderedViewLine||this._renderedViewLine.getWidthIsFast()}needsMonospaceFontCheck(){return!!this._renderedViewLine&&this._renderedViewLine instanceof Zy}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof Zy?this._renderedViewLine.monospaceAssumptionsAreValid():qy}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof Zy&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(t,i,e,s){if(!this._renderedViewLine)return null;i=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,i)),e=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,e));const n=this._renderedViewLine.input.stopRenderingLineAfter;if(-1!==n&&i>n+1&&e>n+1)return new Wy(!0,[new Py(this.getWidth(s),0)]);-1!==n&&i>n+1&&(i=n+1),-1!==n&&e>n+1&&(e=n+1);const o=this._renderedViewLine.getVisibleRangesForRange(t,i,e,s);return o&&o.length>0?new Wy(!1,o):null}getColumnOfNodeOffset(t,i){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(t,i):1}}Gy.CLASS_NAME="view-line";class Zy{constructor(t,i,e){this._cachedWidth=-1,this.domNode=t,this.input=i;const s=Math.floor(i.lineContent.length/300);if(s>0){this._keyColumnPixelOffsetCache=new Float32Array(s);for(let t=0;t=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),qy=!1)}return qy}toSlowRenderedLine(){return Yy(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(t,i,e,s){const n=this._getColumnPixelOffset(t,i,s),o=this._getColumnPixelOffset(t,e,s);return[new Py(n,o-n)]}_getColumnPixelOffset(t,i,e){if(i<=300){const t=this._characterMapping.getHorizontalOffset(i);return this._charWidth*t}const s=Math.floor((i-1)/300)-1,n=300*(s+1)+1;let o=-1;if(this._keyColumnPixelOffsetCache&&(o=this._keyColumnPixelOffsetCache[s],-1===o&&(o=this._actualReadPixelOffset(t,n,e),this._keyColumnPixelOffsetCache[s]=o)),-1===o){const t=this._characterMapping.getHorizontalOffset(i);return this._charWidth*t}const r=this._characterMapping.getHorizontalOffset(n),h=this._characterMapping.getHorizontalOffset(i);return o+this._charWidth*(h-r)}_getReadingTarget(t){return t.domNode.firstChild}_actualReadPixelOffset(t,i,e){if(!this.domNode)return-1;const s=this._characterMapping.getDomPosition(i),n=jy.readHorizontalRanges(this._getReadingTarget(this.domNode),s.partIndex,s.charIndex,s.partIndex,s.charIndex,e);return n&&0!==n.length?n[0].left:-1}getColumnOfNodeOffset(t,i){return Xy(this._characterMapping,t,i)}}class Qy{constructor(t,i,e,s,n){if(this.domNode=t,this.input=i,this._characterMapping=e,this._isWhitespaceOnly=/^\s*$/.test(i.lineContent),this._containsForeignElements=n,this._cachedWidth=-1,this._pixelOffsetCache=null,!s||0===this._characterMapping.length){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let t=0,i=this._characterMapping.length;t<=i;t++)this._pixelOffsetCache[t]=-1}}_getReadingTarget(t){return t.domNode.firstChild}getWidth(t){return this.domNode?(-1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,null==t||t.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return-1!==this._cachedWidth}getVisibleRangesForRange(t,i,e,s){if(!this.domNode)return null;if(null!==this._pixelOffsetCache){const n=this._readPixelOffset(this.domNode,t,i,s);if(-1===n)return null;const o=this._readPixelOffset(this.domNode,t,e,s);return-1===o?null:[new Py(n,o-n)]}return this._readVisibleRangesForRange(this.domNode,t,i,e,s)}_readVisibleRangesForRange(t,i,e,s,n){if(e===s){const s=this._readPixelOffset(t,i,e,n);return-1===s?null:[new Py(s,0)]}return this._readRawVisibleRangesForRange(t,e,s,n)}_readPixelOffset(t,i,e,s){if(0===this._characterMapping.length){if(0===this._containsForeignElements)return 0;if(2===this._containsForeignElements)return 0;if(1===this._containsForeignElements)return this.getWidth(s);const i=this._getReadingTarget(t);return i.firstChild?(s.markDidDomLayout(),i.firstChild.offsetWidth):0}if(null!==this._pixelOffsetCache){const n=this._pixelOffsetCache[e];if(-1!==n)return n;const o=this._actualReadPixelOffset(t,i,e,s);return this._pixelOffsetCache[e]=o,o}return this._actualReadPixelOffset(t,i,e,s)}_actualReadPixelOffset(t,i,e,s){if(0===this._characterMapping.length){const i=jy.readHorizontalRanges(this._getReadingTarget(t),0,0,0,0,s);return i&&0!==i.length?i[0].left:-1}if(e===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth(s);const n=this._characterMapping.getDomPosition(e),o=jy.readHorizontalRanges(this._getReadingTarget(t),n.partIndex,n.charIndex,n.partIndex,n.charIndex,s);if(!o||0===o.length)return-1;const r=o[0].left;if(this.input.isBasicASCII){const t=this._characterMapping.getHorizontalOffset(e),i=Math.round(this.input.spaceWidth*t);if(Math.abs(i-r)<=1)return i}return r}_readRawVisibleRangesForRange(t,i,e,s){if(1===i&&e===this._characterMapping.length)return[new Py(0,this.getWidth(s))];const n=this._characterMapping.getDomPosition(i),o=this._characterMapping.getDomPosition(e);return jy.readHorizontalRanges(this._getReadingTarget(t),n.partIndex,n.charIndex,o.partIndex,o.charIndex,s)}getColumnOfNodeOffset(t,i){return Xy(this._characterMapping,t,i)}}class Jy extends Qy{_readVisibleRangesForRange(t,i,e,s,n){const o=super._readVisibleRangesForRange(t,i,e,s,n);if(!o||0===o.length||e===s||1===e&&s===this._characterMapping.length)return o;if(!this.input.containsRTL){const e=this._readPixelOffset(t,i,s,n);if(-1!==e){const t=o[o.length-1];t.left=i)return c-i=4&&3===t[0]&&7===t[3]}static isStrictChildOfViewLines(t){return t.length>4&&3===t[0]&&7===t[3]}static isChildOfScrollableElement(t){return t.length>=2&&3===t[0]&&5===t[1]}static isChildOfMinimap(t){return t.length>=2&&3===t[0]&&8===t[1]}static isChildOfContentWidgets(t){return t.length>=4&&3===t[0]&&1===t[3]}static isChildOfOverflowGuard(t){return t.length>=1&&3===t[0]}static isChildOfOverflowingContentWidgets(t){return t.length>=1&&2===t[0]}static isChildOfOverlayWidgets(t){return t.length>=2&&3===t[0]&&4===t[1]}}class ck{constructor(t,i,e){this.viewModel=t.viewModel;const s=t.configuration.options;this.layoutInfo=s.get(143),this.viewDomNode=i.viewDomNode,this.lineHeight=s.get(66),this.stickyTabStops=s.get(115),this.typicalHalfwidthCharacterWidth=s.get(50).typicalHalfwidthCharacterWidth,this.lastRenderData=e,this._context=t,this._viewHelper=i}getZoneAtCoord(t){return ck.getZoneAtCoord(this._context,t)}static getZoneAtCoord(t,i){const e=t.viewLayout.getWhitespaceAtVerticalOffset(i);if(e){const s=e.verticalOffset+e.height/2,n=t.viewModel.getLineCount();let o,r=null,h=null;return e.afterLineNumber!==n&&(h=new Ms(e.afterLineNumber+1,1)),e.afterLineNumber>0&&(r=new Ms(e.afterLineNumber,t.viewModel.getLineMaxColumn(e.afterLineNumber))),o=null===h?r:null===r?h:i=t.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,fk._getMouseColumn(this.mouseContentHorizontalOffset,t.typicalHalfwidthCharacterWidth))}}class lk extends ak{constructor(t,i,e,s,n){super(t,i,e,s),this._ctx=t,n?(this.target=n,this.targetPath=Oy.collect(n,t.viewDomNode)):(this.target=null,this.targetPath=new Uint8Array(0))}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\n\ttarget: ${this.target?this.target.outerHTML:null}`}_getMouseColumn(t=null){return t&&t.columno.contentLeft+o.width)continue;const e=t.getVerticalOffsetForLineNumber(o.position.lineNumber);if(e<=n&&n<=e+o.height)return i.fulfillContentText(o.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(t,i){const e=t.getZoneAtCoord(i.mouseVerticalOffset);return e?i.fulfillViewZone(i.isInContentArea?8:5,e.position,e):null}static _hitTestTextArea(t,i){return hk.isTextArea(i.targetPath)?t.lastRenderData.lastTextareaPosition?i.fulfillContentText(t.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):i.fulfillTextarea():null}static _hitTestMargin(t,i){if(i.isInMarginArea){const e=t.getFullLineRangeAtCoord(i.mouseVerticalOffset),s=e.range.getStartPosition();let n=Math.abs(i.relativePos.x);const o={isAfterLines:e.isAfterLines,glyphMarginLeft:t.layoutInfo.glyphMarginLeft,glyphMarginWidth:t.layoutInfo.glyphMarginWidth,lineNumbersWidth:t.layoutInfo.lineNumbersWidth,offsetX:n};return n-=t.layoutInfo.glyphMarginLeft,n<=t.layoutInfo.glyphMarginWidth?i.fulfillMargin(2,s,e.range,o):(n-=t.layoutInfo.glyphMarginWidth,n<=t.layoutInfo.lineNumbersWidth?i.fulfillMargin(3,s,e.range,o):(n-=t.layoutInfo.lineNumbersWidth,i.fulfillMargin(4,s,e.range,o)))}return null}static _hitTestViewLines(t,i,e){if(!hk.isChildOfViewLines(i.targetPath))return null;if(t.isInTopPadding(i.mouseVerticalOffset))return i.fulfillContentEmpty(new Ms(1,1),uk);if(t.isAfterLines(i.mouseVerticalOffset)||t.isInBottomPadding(i.mouseVerticalOffset)){const e=t.viewModel.getLineCount(),s=t.viewModel.getLineMaxColumn(e);return i.fulfillContentEmpty(new Ms(e,s),uk)}if(e){if(hk.isStrictChildOfViewLines(i.targetPath)){const e=t.getLineNumberAtVerticalOffset(i.mouseVerticalOffset);if(0===t.viewModel.getLineLength(e)){const s=t.getLineWidth(e),n=dk(i.mouseContentHorizontalOffset-s);return i.fulfillContentEmpty(new Ms(e,1),n)}const s=t.getLineWidth(e);if(i.mouseContentHorizontalOffset>=s){const n=dk(i.mouseContentHorizontalOffset-s),o=new Ms(e,t.viewModel.getLineMaxColumn(e));return i.fulfillContentEmpty(o,n)}}return i.fulfillUnknown()}const s=fk._doHitTest(t,i);return 1===s.type?fk.createMouseTargetFromHitTestPosition(t,i,s.spanNode,s.position,s.injectedText):this._createMouseTarget(t,i.withTarget(s.hitTarget),!0)}static _hitTestMinimap(t,i){if(hk.isChildOfMinimap(i.targetPath)){const e=t.getLineNumberAtVerticalOffset(i.mouseVerticalOffset),s=t.viewModel.getLineMaxColumn(e);return i.fulfillScrollbar(new Ms(e,s))}return null}static _hitTestScrollbarSlider(t,i){if(hk.isChildOfScrollableElement(i.targetPath)&&i.target&&1===i.target.nodeType){const e=i.target.className;if(e&&/\b(slider|scrollbar)\b/.test(e)){const e=t.getLineNumberAtVerticalOffset(i.mouseVerticalOffset),s=t.viewModel.getLineMaxColumn(e);return i.fulfillScrollbar(new Ms(e,s))}}return null}static _hitTestScrollbar(t,i){if(hk.isChildOfScrollableElement(i.targetPath)){const e=t.getLineNumberAtVerticalOffset(i.mouseVerticalOffset),s=t.viewModel.getLineMaxColumn(e);return i.fulfillScrollbar(new Ms(e,s))}return null}getMouseColumn(t){const i=this._context.configuration.options,e=i.get(143),s=this._context.viewLayout.getCurrentScrollLeft()+t.x-e.contentLeft;return fk._getMouseColumn(s,i.get(50).typicalHalfwidthCharacterWidth)}static _getMouseColumn(t,i){return t<0?1:Math.round(t/i)+1}static createMouseTargetFromHitTestPosition(t,i,e,s,n){const o=s.lineNumber,r=s.column,h=t.getLineWidth(o);if(i.mouseContentHorizontalOffset>h){const t=dk(i.mouseContentHorizontalOffset-h);return i.fulfillContentEmpty(s,t)}const c=t.visibleRangeForPosition(o,r);if(!c)return i.fulfillUnknown(s);if(Math.abs(i.mouseContentHorizontalOffset-c.left)<1)return i.fulfillContentText(s,null,{mightBeForeignElement:!!n,injectedText:n});const a=[];if(a.push({offset:c.left,column:r}),r>1){const i=t.visibleRangeForPosition(o,r-1);i&&a.push({offset:i.left,column:r-1})}if(rt.offset-i.offset));const l=i.pos.toClientCoordinates(Ba(t.viewDomNode)),u=e.getBoundingClientRect(),d=u.left<=l.clientX&&l.clientX<=u.right;let f=null;for(let t=1;tn)){const e=Math.floor((s+n)/2);let o=i.pos.y+(e-i.mouseVerticalOffset);o<=i.editorPos.y&&(o=i.editorPos.y+1),o>=i.editorPos.y+i.editorPos.height&&(o=i.editorPos.y+i.editorPos.height-1);const r=new vy(i.pos.x,o),h=this._actualDoHitTestWithCaretRangeFromPoint(t,r.toClientCoordinates(Ba(t.viewDomNode)));if(1===h.type)return h}return this._actualDoHitTestWithCaretRangeFromPoint(t,i.pos.toClientCoordinates(Ba(t.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(t,i){const e=pl(t.viewDomNode);let s;if(s=e?void 0===e.caretRangeFromPoint?function(t,i,e){const s=document.createRange();let n=t.elementFromPoint(i,e);if(null!==n){for(;n&&n.firstChild&&n.firstChild.nodeType!==n.firstChild.TEXT_NODE&&n.lastChild&&n.lastChild.firstChild;)n=n.lastChild;const t=n.getBoundingClientRect(),e=Ba(n),o=`${e.getComputedStyle(n,null).getPropertyValue("font-style")} ${e.getComputedStyle(n,null).getPropertyValue("font-variant")} ${e.getComputedStyle(n,null).getPropertyValue("font-weight")} ${e.getComputedStyle(n,null).getPropertyValue("font-size")}/${e.getComputedStyle(n,null).getPropertyValue("line-height")} ${e.getComputedStyle(n,null).getPropertyValue("font-family")}`,r=n.innerText;let h,c=t.left,a=0;if(i>t.left+t.width)a=r.length;else{const t=pk.getInstance();for(let e=0;ei(new ic(Ba(t),e)))))}onmousedown(t,i){this._register(Ua(t,Fl.MOUSE_DOWN,(e=>i(new ic(Ba(t),e)))))}onmouseover(t,i){this._register(Ua(t,Fl.MOUSE_OVER,(e=>i(new ic(Ba(t),e)))))}onmouseleave(t,i){this._register(Ua(t,Fl.MOUSE_LEAVE,(e=>i(new ic(Ba(t),e)))))}onkeydown(t,i){this._register(Ua(t,Fl.KEY_DOWN,(t=>i(new Jh(t)))))}onkeyup(t,i){this._register(Ua(t,Fl.KEY_UP,(t=>i(new Jh(t)))))}oninput(t,i){this._register(Ua(t,Fl.INPUT,i))}onblur(t,i){this._register(Ua(t,Fl.BLUR,i))}onfocus(t,i){this._register(Ua(t,Fl.FOCUS,i))}ignoreGesture(t){return hw.ignoreTarget(t)}}class mk extends gk{constructor(t){super(),this._onActivate=t.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=t.bgWidth+"px",this.bgDomNode.style.height=t.bgHeight+"px",void 0!==t.top&&(this.bgDomNode.style.top="0px"),void 0!==t.left&&(this.bgDomNode.style.left="0px"),void 0!==t.bottom&&(this.bgDomNode.style.bottom="0px"),void 0!==t.right&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=t.className,this.domNode.classList.add(...Sr.asClassNameArray(t.icon)),this.domNode.style.position="absolute",this.domNode.style.width="11px",this.domNode.style.height="11px",void 0!==t.top&&(this.domNode.style.top=t.top+"px"),void 0!==t.left&&(this.domNode.style.left=t.left+"px"),void 0!==t.bottom&&(this.domNode.style.bottom=t.bottom+"px"),void 0!==t.right&&(this.domNode.style.right=t.right+"px"),this._pointerMoveMonitor=this._register(new cw),this._register(Ka(this.bgDomNode,Fl.POINTER_DOWN,(t=>this._arrowPointerDown(t)))),this._register(Ka(this.domNode,Fl.POINTER_DOWN,(t=>this._arrowPointerDown(t)))),this._pointerdownRepeatTimer=this._register(new Ya),this._pointerdownScheduleRepeatTimer=this._register(new fc)}_arrowPointerDown(t){t.target&&t.target instanceof Element&&(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet((()=>{this._pointerdownRepeatTimer.cancelAndSet((()=>this._onActivate()),1e3/24,Ba(t))}),200),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,(()=>{}),(()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()})),t.preventDefault())}}class wk extends ie{constructor(t,i,e){super(),this._visibility=t,this._visibleClassName=i,this._invisibleClassName=e,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new fc)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this._updateShouldBeVisible())}setShouldBeVisible(t){this._rawShouldBeVisible=t,this._updateShouldBeVisible()}_applyVisibilitySetting(){return 2!==this._visibility&&(3===this._visibility||this._rawShouldBeVisible)}_updateShouldBeVisible(){const t=this._applyVisibilitySetting();this._shouldBeVisible!==t&&(this._shouldBeVisible=t,this.ensureVisibility())}setIsNeeded(t){this._isNeeded!==t&&(this._isNeeded=t,this.ensureVisibility())}setDomNode(t){this._domNode=t,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet((()=>{var t;null===(t=this._domNode)||void 0===t||t.setClassName(this._visibleClassName)}),0))}_hide(t){var i;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,null===(i=this._domNode)||void 0===i||i.setClassName(this._invisibleClassName+(t?" fade":"")))}}class vk extends gk{constructor(t){super(),this._lazyRender=t.lazyRender,this._host=t.host,this._scrollable=t.scrollable,this._scrollByPage=t.scrollByPage,this._scrollbarState=t.scrollbarState,this._visibilityController=this._register(new wk(t.visibility,"visible scrollbar "+t.extraScrollbarClassName,"invisible scrollbar "+t.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new cw),this._shouldRender=!0,this.domNode=ir(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(Ua(this.domNode.domNode,Fl.POINTER_DOWN,(t=>this._domNodePointerDown(t))))}_createArrow(t){const i=this._register(new mk(t));this.domNode.domNode.appendChild(i.bgDomNode),this.domNode.domNode.appendChild(i.domNode)}_createSlider(t,i,e,s){this.slider=ir(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(t),this.slider.setLeft(i),"number"==typeof e&&this.slider.setWidth(e),"number"==typeof s&&this.slider.setHeight(s),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(Ua(this.slider.domNode,Fl.POINTER_DOWN,(t=>{0===t.button&&(t.preventDefault(),this._sliderPointerDown(t))}))),this.onclick(this.slider.domNode,(t=>{t.leftButton&&t.stopPropagation()}))}_onElementSize(t){return this._scrollbarState.setVisibleSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(t){return this._scrollbarState.setScrollSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(t){return this._scrollbarState.setScrollPosition(t)&&(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(t){t.target===this.domNode.domNode&&this._onPointerDown(t)}delegatePointerDown(t){const i=this.domNode.domNode.getClientRects()[0].top,e=i+this._scrollbarState.getSliderPosition(),s=i+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),n=this._sliderPointerPosition(t);e<=n&&n<=s?0===t.button&&(t.preventDefault(),this._sliderPointerDown(t)):this._onPointerDown(t)}_onPointerDown(t){let i,e;if(t.target===this.domNode.domNode&&"number"==typeof t.offsetX&&"number"==typeof t.offsetY)i=t.offsetX,e=t.offsetY;else{const s=ol(this.domNode.domNode);i=t.pageX-s.left,e=t.pageY-s.top}const s=this._pointerDownRelativePosition(i,e);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(s):this._scrollbarState.getDesiredScrollPositionFromOffset(s)),0===t.button&&(t.preventDefault(),this._sliderPointerDown(t))}_sliderPointerDown(t){if(!(t.target&&t.target instanceof Element))return;const i=this._sliderPointerPosition(t),e=this._sliderOrthogonalPointerPosition(t),s=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,(t=>{const n=this._sliderOrthogonalPointerPosition(t),o=Math.abs(n-e);if(Ct&&o>140)return void this._setDesiredScrollPositionNow(s.getScrollPosition());const r=this._sliderPointerPosition(t);this._setDesiredScrollPositionNow(s.getDesiredScrollPositionFromDelta(r-i))}),(()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()})),this._host.onDragStart()}_setDesiredScrollPositionNow(t){const i={};this.writeScrollPosition(i,t),this._scrollable.setScrollPositionNow(i)}updateScrollbarSize(t){this._updateScrollbarSize(t),this._scrollbarState.setScrollbarSize(t),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}class bk{constructor(t,i,e,s,n,o){this._scrollbarSize=Math.round(i),this._oppositeScrollbarSize=Math.round(e),this._arrowSize=Math.round(t),this._visibleSize=s,this._scrollSize=n,this._scrollPosition=o,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new bk(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(t){const i=Math.round(t);return this._visibleSize!==i&&(this._visibleSize=i,this._refreshComputedValues(),!0)}setScrollSize(t){const i=Math.round(t);return this._scrollSize!==i&&(this._scrollSize=i,this._refreshComputedValues(),!0)}setScrollPosition(t){const i=Math.round(t);return this._scrollPosition!==i&&(this._scrollPosition=i,this._refreshComputedValues(),!0)}setScrollbarSize(t){this._scrollbarSize=Math.round(t)}setOppositeScrollbarSize(t){this._oppositeScrollbarSize=Math.round(t)}static _computeValues(t,i,e,s,n){const o=Math.max(0,e-t),r=Math.max(0,o-2*i),h=s>0&&s>e;if(!h)return{computedAvailableSize:Math.round(o),computedIsNeeded:h,computedSliderSize:Math.round(r),computedSliderRatio:0,computedSliderPosition:0};const c=Math.round(Math.max(20,Math.floor(e*r/s))),a=(r-c)/(s-e),l=n*a;return{computedAvailableSize:Math.round(o),computedIsNeeded:h,computedSliderSize:Math.round(c),computedSliderRatio:a,computedSliderPosition:Math.round(l)}}_refreshComputedValues(){const t=bk._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.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(t){return this._computedIsNeeded?Math.round((t-this._arrowSize-this._computedSliderSize/2)/this._computedSliderRatio):0}getDesiredScrollPositionFromOffsetPaged(t){if(!this._computedIsNeeded)return 0;let i=this._scrollPosition;return t-this._arrowSizethis._host.onMouseWheel(new ec(null,1,0))}),this._createArrow({className:"scra",icon:Is.scrollbarButtonRight,top:e,left:void 0,bottom:void 0,right:t,bgWidth:i.arrowSize,bgHeight:i.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new ec(null,-1,0))})}this._createSlider(Math.floor((i.horizontalScrollbarSize-i.horizontalSliderSize)/2),0,void 0,i.horizontalSliderSize)}_updateSlider(t,i){this.slider.setWidth(t),this.slider.setLeft(i)}_renderDomNode(t,i){this.domNode.setWidth(t),this.domNode.setHeight(i),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(t.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,i){return t}_sliderPointerPosition(t){return t.pageX}_sliderOrthogonalPointerPosition(t){return t.pageY}_updateScrollbarSize(t){this.slider.setHeight(t)}writeScrollPosition(t,i){t.scrollLeft=i}updateOptions(t){this.updateScrollbarSize(2===t.horizontal?0:t.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(2===t.vertical?0:t.verticalScrollbarSize),this._visibilityController.setVisibility(t.horizontal),this._scrollByPage=t.scrollByPage}}class kk extends vk{constructor(t,i,e){const s=t.getScrollDimensions(),n=t.getCurrentScrollPosition();if(super({lazyRender:i.lazyRender,host:e,scrollbarState:new bk(i.verticalHasArrows?i.arrowSize:0,2===i.vertical?0:i.verticalScrollbarSize,0,s.height,s.scrollHeight,n.scrollTop),visibility:i.vertical,extraScrollbarClassName:"vertical",scrollable:t,scrollByPage:i.scrollByPage}),i.verticalHasArrows){const t=(i.arrowSize-11)/2,e=(i.verticalScrollbarSize-11)/2;this._createArrow({className:"scra",icon:Is.scrollbarButtonUp,top:t,left:e,bottom:void 0,right:void 0,bgWidth:i.verticalScrollbarSize,bgHeight:i.arrowSize,onActivate:()=>this._host.onMouseWheel(new ec(null,0,1))}),this._createArrow({className:"scra",icon:Is.scrollbarButtonDown,top:void 0,left:e,bottom:t,right:void 0,bgWidth:i.verticalScrollbarSize,bgHeight:i.arrowSize,onActivate:()=>this._host.onMouseWheel(new ec(null,0,-1))})}this._createSlider(0,Math.floor((i.verticalScrollbarSize-i.verticalSliderSize)/2),i.verticalSliderSize,void 0)}_updateSlider(t,i){this.slider.setHeight(t),this.slider.setTop(i)}_renderDomNode(t,i){this.domNode.setWidth(i),this.domNode.setHeight(t),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(t.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,i){return i}_sliderPointerPosition(t){return t.pageY}_sliderOrthogonalPointerPosition(t){return t.pageX}_updateScrollbarSize(t){this.slider.setWidth(t)}writeScrollPosition(t,i){t.scrollTop=i}updateOptions(t){this.updateScrollbarSize(2===t.vertical?0:t.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(t.vertical),this._scrollByPage=t.scrollByPage}}class xk{constructor(t,i,e,s,n,o,r){this._forceIntegerValues=t,this._scrollStateBrand=void 0,this._forceIntegerValues&&(i|=0,e|=0,s|=0,n|=0,o|=0,r|=0),this.rawScrollLeft=s,this.rawScrollTop=r,i<0&&(i=0),s+i>e&&(s=e-i),s<0&&(s=0),n<0&&(n=0),r+n>o&&(r=o-n),r<0&&(r=0),this.width=i,this.scrollWidth=e,this.scrollLeft=s,this.height=n,this.scrollHeight=o,this.scrollTop=r}equals(t){return this.rawScrollLeft===t.rawScrollLeft&&this.rawScrollTop===t.rawScrollTop&&this.width===t.width&&this.scrollWidth===t.scrollWidth&&this.scrollLeft===t.scrollLeft&&this.height===t.height&&this.scrollHeight===t.scrollHeight&&this.scrollTop===t.scrollTop}withScrollDimensions(t,i){return new xk(this._forceIntegerValues,void 0!==t.width?t.width:this.width,void 0!==t.scrollWidth?t.scrollWidth:this.scrollWidth,i?this.rawScrollLeft:this.scrollLeft,void 0!==t.height?t.height:this.height,void 0!==t.scrollHeight?t.scrollHeight:this.scrollHeight,i?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new xk(this._forceIntegerValues,this.width,this.scrollWidth,void 0!==t.scrollLeft?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,void 0!==t.scrollTop?t.scrollTop:this.rawScrollTop)}createScrollEvent(t,i){return{inSmoothScrolling:i,oldWidth:t.width,oldScrollWidth:t.scrollWidth,oldScrollLeft:t.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:t.height,oldScrollHeight:t.scrollHeight,oldScrollTop:t.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:this.width!==t.width,scrollWidthChanged:this.scrollWidth!==t.scrollWidth,scrollLeftChanged:this.scrollLeft!==t.scrollLeft,heightChanged:this.height!==t.height,scrollHeightChanged:this.scrollHeight!==t.scrollHeight,scrollTopChanged:this.scrollTop!==t.scrollTop}}}class Ck extends ie{constructor(t){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new fe),this.onScroll=this._onScroll.event,this._smoothScrollDuration=t.smoothScrollDuration,this._scheduleAtNextAnimationFrame=t.scheduleAtNextAnimationFrame,this._state=new xk(t.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(t){this._smoothScrollDuration=t}validateScrollPosition(t){return this._state.withScrollPosition(t)}getScrollDimensions(){return this._state}setScrollDimensions(t,i){var e;const s=this._state.withScrollDimensions(t,i);this._setState(s,Boolean(this._smoothScrolling)),null===(e=this._smoothScrolling)||void 0===e||e.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(t){const i=this._state.withScrollPosition(t);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(i,!1)}setScrollPositionSmooth(t,i){if(0===this._smoothScrollDuration)return this.setScrollPositionNow(t);if(this._smoothScrolling){const e=this._state.withScrollPosition(t={scrollLeft:void 0===t.scrollLeft?this._smoothScrolling.to.scrollLeft:t.scrollLeft,scrollTop:void 0===t.scrollTop?this._smoothScrolling.to.scrollTop:t.scrollTop});if(this._smoothScrolling.to.scrollLeft===e.scrollLeft&&this._smoothScrolling.to.scrollTop===e.scrollTop)return;let s;s=i?new Ek(this._smoothScrolling.from,e,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,e,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=s}else{const i=this._state.withScrollPosition(t);this._smoothScrolling=Ek.start(this._state,i,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))}hasPendingScrollAnimation(){return Boolean(this._smoothScrolling)}_performSmoothScrolling(){if(!this._smoothScrolling)return;const t=this._smoothScrolling.tick(),i=this._state.withScrollPosition(t);return this._setState(i,!0),this._smoothScrolling?t.isDone?(this._smoothScrolling.dispose(),void(this._smoothScrolling=null)):void(this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))):void 0}_setState(t,i){const e=this._state;e.equals(t)||(this._state=t,this._onScroll.fire(this._state.createScrollEvent(e,i)))}}class Sk{constructor(t,i,e){this.scrollLeft=t,this.scrollTop=i,this.isDone=e}}function Dk(t,i){const e=i-t;return function(i){return t+e*(1-Math.pow(1-i,3))}}class Ek{constructor(t,i,e,s){this.from=t,this.to=i,this.duration=s,this.startTime=e,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(t,i,e){if(Math.abs(t-i)>2.5*e){let r,h;return t0&&Math.abs(t.deltaY)>0)return 1;let i=.5;return this._isAlmostInt(t.deltaX)&&this._isAlmostInt(t.deltaY)||(i+=.25),Math.min(Math.max(i,0),1)}_isAlmostInt(t){return Math.abs(Math.round(t)-t)<.01}}Mk.INSTANCE=new Mk;class Lk extends gk{get options(){return this._options}constructor(t,i,e){super(),this._onScroll=this._register(new fe),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new fe),t.style.overflow="hidden",this._options=function(t){const i={lazyRender:void 0!==t.lazyRender&&t.lazyRender,className:void 0!==t.className?t.className:"",useShadows:void 0===t.useShadows||t.useShadows,handleMouseWheel:void 0===t.handleMouseWheel||t.handleMouseWheel,flipAxes:void 0!==t.flipAxes&&t.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:void 0!==t.consumeMouseWheelIfScrollbarIsNeeded&&t.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:void 0!==t.alwaysConsumeMouseWheel&&t.alwaysConsumeMouseWheel,scrollYToX:void 0!==t.scrollYToX&&t.scrollYToX,mouseWheelScrollSensitivity:void 0!==t.mouseWheelScrollSensitivity?t.mouseWheelScrollSensitivity:1,fastScrollSensitivity:void 0!==t.fastScrollSensitivity?t.fastScrollSensitivity:5,scrollPredominantAxis:void 0===t.scrollPredominantAxis||t.scrollPredominantAxis,mouseWheelSmoothScroll:void 0===t.mouseWheelSmoothScroll||t.mouseWheelSmoothScroll,arrowSize:void 0!==t.arrowSize?t.arrowSize:11,listenOnDomNode:void 0!==t.listenOnDomNode?t.listenOnDomNode:null,horizontal:void 0!==t.horizontal?t.horizontal:1,horizontalScrollbarSize:void 0!==t.horizontalScrollbarSize?t.horizontalScrollbarSize:10,horizontalSliderSize:void 0!==t.horizontalSliderSize?t.horizontalSliderSize:0,horizontalHasArrows:void 0!==t.horizontalHasArrows&&t.horizontalHasArrows,vertical:void 0!==t.vertical?t.vertical:1,verticalScrollbarSize:void 0!==t.verticalScrollbarSize?t.verticalScrollbarSize:10,verticalHasArrows:void 0!==t.verticalHasArrows&&t.verticalHasArrows,verticalSliderSize:void 0!==t.verticalSliderSize?t.verticalSliderSize:0,scrollByPage:void 0!==t.scrollByPage&&t.scrollByPage};return i.horizontalSliderSize=void 0!==t.horizontalSliderSize?t.horizontalSliderSize:i.horizontalScrollbarSize,i.verticalSliderSize=void 0!==t.verticalSliderSize?t.verticalSliderSize:i.verticalScrollbarSize,St&&(i.className+=" mac"),i}(i),this._scrollable=e,this._register(this._scrollable.onScroll((t=>{this._onWillScroll.fire(t),this._onDidScroll(t),this._onScroll.fire(t)})));const s={onMouseWheel:t=>this._onMouseWheel(t),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new kk(this._scrollable,this._options,s)),this._horizontalScrollbar=this._register(new yk(this._scrollable,this._options,s)),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(t),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=ir(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=ir(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=ir(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,(t=>this._onMouseOver(t))),this.onmouseleave(this._listenOnDomNode,(t=>this._onMouseLeave(t))),this._hideTimeout=this._register(new fc),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=Ji(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(t){this._verticalScrollbar.delegatePointerDown(t)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(t){this._scrollable.setScrollDimensions(t,!1)}updateClassName(t){this._options.className=t,St&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(t){void 0!==t.handleMouseWheel&&(this._options.handleMouseWheel=t.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),void 0!==t.mouseWheelScrollSensitivity&&(this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity),void 0!==t.fastScrollSensitivity&&(this._options.fastScrollSensitivity=t.fastScrollSensitivity),void 0!==t.scrollPredominantAxis&&(this._options.scrollPredominantAxis=t.scrollPredominantAxis),void 0!==t.horizontal&&(this._options.horizontal=t.horizontal),void 0!==t.vertical&&(this._options.vertical=t.vertical),void 0!==t.horizontalScrollbarSize&&(this._options.horizontalScrollbarSize=t.horizontalScrollbarSize),void 0!==t.verticalScrollbarSize&&(this._options.verticalScrollbarSize=t.verticalScrollbarSize),void 0!==t.scrollByPage&&(this._options.scrollByPage=t.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(t){this._onMouseWheel(new ec(t))}_setListeningToMouseWheel(t){this._mouseWheelToDispose.length>0!==t&&(this._mouseWheelToDispose=Ji(this._mouseWheelToDispose),t)&&this._mouseWheelToDispose.push(Ua(this._listenOnDomNode,Fl.MOUSE_WHEEL,(t=>{this._onMouseWheel(new ec(t))}),{passive:!1}))}_onMouseWheel(t){var i;if(null===(i=t.browserEvent)||void 0===i?void 0:i.defaultPrevented)return;const e=Mk.INSTANCE;e.acceptStandardWheelEvent(t);let s=!1;if(t.deltaY||t.deltaX){let i=t.deltaY*this._options.mouseWheelScrollSensitivity,n=t.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&n+i===0?n=i=0:Math.abs(i)>=Math.abs(n)?n=0:i=0),this._options.flipAxes&&([i,n]=[n,i]),!this._options.scrollYToX&&!(!St&&t.browserEvent&&t.browserEvent.shiftKey)||n||(n=i,i=0),t.browserEvent&&t.browserEvent.altKey&&(n*=this._options.fastScrollSensitivity,i*=this._options.fastScrollSensitivity);const o=this._scrollable.getFutureScrollPosition();let r={};if(i){const t=50*i,e=o.scrollTop-(t<0?Math.floor(t):Math.ceil(t));this._verticalScrollbar.writeScrollPosition(r,e)}if(n){const t=50*n,i=o.scrollLeft-(t<0?Math.floor(t):Math.ceil(t));this._horizontalScrollbar.writeScrollPosition(r,i)}r=this._scrollable.validateScrollPosition(r),(o.scrollLeft!==r.scrollLeft||o.scrollTop!==r.scrollTop)&&(this._options.mouseWheelSmoothScroll&&e.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(r):this._scrollable.setScrollPositionNow(r),s=!0)}let n=s;!n&&this._options.alwaysConsumeMouseWheel&&(n=!0),!n&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(n=!0),n&&(t.preventDefault(),t.stopPropagation())}_onDidScroll(t){this._shouldRender=this._horizontalScrollbar.onDidScroll(t)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(t)||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 t=this._scrollable.getCurrentScrollPosition(),i=t.scrollTop>0,e=t.scrollLeft>0,s=e?" left":"",n=i?" top":"",o=e||i?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${s}`),this._topShadowDomNode.setClassName(`shadow${n}`),this._topLeftShadowDomNode.setClassName(`shadow${o}${n}${s}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(t){this._mouseIsOver=!1,this._hide()}_onMouseOver(t){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()),500)}}class Fk extends Lk{constructor(t,i){(i=i||{}).mouseWheelSmoothScroll=!1;const e=new Ck({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:i=>Ja(Ba(t),i)});super(t,i,e),this._register(e)}setScrollPosition(t){this._scrollable.setScrollPositionNow(t)}}class Tk extends Lk{constructor(t,i,e){super(t,i,e)}setScrollPosition(t){t.reuseAnimation?this._scrollable.setScrollPositionSmooth(t,t.reuseAnimation):this._scrollable.setScrollPositionNow(t)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class Rk extends Lk{constructor(t,i){(i=i||{}).mouseWheelSmoothScroll=!1;const e=new Ck({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:i=>Ja(Ba(t),i)});super(t,i,e),this._register(e),this._element=t,this._register(this.onScroll((t=>{t.scrollTopChanged&&(this._element.scrollTop=t.scrollTop),t.scrollLeftChanged&&(this._element.scrollLeft=t.scrollLeft)}))),this.scanDomNode()}setScrollPosition(t){this._scrollable.setScrollPositionNow(t)}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})}}class Ok extends Ty{constructor(t,i,e){super(),this._mouseLeaveMonitor=null,this._context=t,this.viewController=i,this.viewHelper=e,this.mouseTargetFactory=new fk(this._context,e),this._mouseDownOperation=this._register(new Ik(this._context,this.viewController,this.viewHelper,this.mouseTargetFactory,((t,i)=>this._createMouseTarget(t,i)),(t=>this._getMouseColumn(t)))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(143).height;const s=new Dy(this.viewHelper.viewDomNode);this._register(s.onContextMenu(this.viewHelper.viewDomNode,(t=>this._onContextMenu(t,!0)))),this._register(s.onMouseMove(this.viewHelper.viewDomNode,(t=>{this._onMouseMove(t),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=Ua(this.viewHelper.viewDomNode.ownerDocument,"mousemove",(t=>{this.viewHelper.viewDomNode.contains(t.target)||this._onMouseLeave(new Sy(t,!1,this.viewHelper.viewDomNode))})))}))),this._register(s.onMouseUp(this.viewHelper.viewDomNode,(t=>this._onMouseUp(t)))),this._register(s.onMouseLeave(this.viewHelper.viewDomNode,(t=>this._onMouseLeave(t))));let n=0;this._register(s.onPointerDown(this.viewHelper.viewDomNode,((t,i)=>{n=i}))),this._register(Ua(this.viewHelper.viewDomNode,Fl.POINTER_UP,(()=>{this._mouseDownOperation.onPointerUp()}))),this._register(s.onMouseDown(this.viewHelper.viewDomNode,(t=>this._onMouseDown(t,n)))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const t=Mk.INSTANCE;let i=0,e=or.getZoomLevel(),s=!1,n=0;function o(t){return St?(t.metaKey||t.ctrlKey)&&!t.shiftKey&&!t.altKey:t.ctrlKey&&!t.metaKey&&!t.shiftKey&&!t.altKey}this._register(Ua(this.viewHelper.viewDomNode,Fl.MOUSE_WHEEL,(r=>{if(this.viewController.emitMouseWheel(r),!this._context.configuration.options.get(75))return;const h=new ec(r);if(t.acceptStandardWheelEvent(h),t.isPhysicalMouseWheel()){if(o(r)){const t=or.getZoomLevel();or.setZoomLevel(t+(h.deltaY>0?1:-1)),h.preventDefault(),h.stopPropagation()}}else Date.now()-i>50&&(e=or.getZoomLevel(),s=o(r),n=0),i=Date.now(),n+=h.deltaY,s&&(or.setZoomLevel(e+n/5),h.preventDefault(),h.stopPropagation())}),{capture:!0,passive:!1}))}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(t){if(t.hasChanged(143)){const t=this._context.configuration.options.get(143).height;this._height!==t&&(this._height=t,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(t){return this._mouseDownOperation.onCursorStateChanged(t),!1}onFocusChanged(t){return!1}getTargetAtClientPoint(t,i){const e=new by(t,i).toPageCoordinates(Ba(this.viewHelper.viewDomNode)),s=xy(this.viewHelper.viewDomNode);if(e.ys.y+s.height||e.xs.x+s.width)return null;const n=Cy(this.viewHelper.viewDomNode,s,e);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),s,e,n,null)}_createMouseTarget(t,i){let e=t.target;if(!this.viewHelper.viewDomNode.contains(e)){const i=pl(this.viewHelper.viewDomNode);i&&(e=i.elementsFromPoint(t.posx,t.posy).find((t=>this.viewHelper.viewDomNode.contains(t))))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),t.editorPos,t.pos,t.relativePos,i?e:null)}_getMouseColumn(t){return this.mouseTargetFactory.getMouseColumn(t.relativePos)}_onContextMenu(t,i){this.viewController.emitContextMenu({event:t,target:this._createMouseTarget(t,i)})}_onMouseMove(t){this.mouseTargetFactory.mouseTargetIsWidget(t)||t.preventDefault(),this._mouseDownOperation.isActive()||t.timestamp{t.preventDefault(),this.viewHelper.focusTextArea()};a&&(s||o&&r)?(l(),this._mouseDownOperation.start(e.type,t,i)):n?t.preventDefault():h?a&&this.viewHelper.shouldSuppressMouseDownOnViewZone(e.detail.viewZoneId)&&(l(),this._mouseDownOperation.start(e.type,t,i),t.preventDefault()):c&&this.viewHelper.shouldSuppressMouseDownOnWidget(e.detail)&&(l(),t.preventDefault()),this.viewController.emitMouseDown({event:t,target:e})}}class Ik extends ie{constructor(t,i,e,s,n,o){super(),this._context=t,this._viewController=i,this._viewHelper=e,this._mouseTargetFactory=s,this._createMouseTarget=n,this._getMouseColumn=o,this._mouseMoveMonitor=this._register(new Ay(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new _k(this._context,this._viewHelper,this._mouseTargetFactory,((t,i,e)=>this._dispatchMouse(t,i,e)))),this._mouseState=new Bk,this._currentSelection=new Fs(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(t){this._lastMouseEvent=t,this._mouseState.setModifiers(t);const i=this._findMousePosition(t,!1);i&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:t,target:i}):13!==i.type||"above"!==i.outsidePosition&&"below"!==i.outsidePosition?(this._topBottomDragScrolling.stop(),this._dispatchMouse(i,!0,1)):this._topBottomDragScrolling.start(i,t))}start(t,i,e){this._lastMouseEvent=i,this._mouseState.setStartedOnLineNumbers(3===t),this._mouseState.setStartButtons(i),this._mouseState.setModifiers(i);const s=this._findMousePosition(i,!0);if(!s||!s.position)return;this._mouseState.trySetCount(i.detail,s.position),i.detail=this._mouseState.count;const n=this._context.configuration.options;if(!n.get(90)&&n.get(35)&&!n.get(22)&&!this._mouseState.altKey&&i.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&6===s.type&&s.position&&this._currentSelection.containsPosition(s.position))return this._mouseState.isDragAndDrop=!0,this._isActive=!0,void this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,e,i.buttons,(t=>this._onMouseDownThenMove(t)),(t=>{const i=this._findMousePosition(this._lastMouseEvent,!1);Ll(t)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:i?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()}));this._mouseState.isDragAndDrop=!1,this._dispatchMouse(s,i.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,e,i.buttons,(t=>this._onMouseDownThenMove(t)),(()=>this._stop())))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(t){this._currentSelection=t.selections[0]}_getPositionOutsideEditor(t){const i=t.editorPos,e=this._context.viewModel,s=this._context.viewLayout,n=this._getMouseColumn(t);if(t.posyi.y+i.height){const o=t.posy-i.y-i.height,r=s.getCurrentScrollTop()+t.relativePos.y,h=ck.getZoneAtCoord(this._context,r);if(h){const t=this._helpPositionJumpOverViewZone(h);if(t)return rk.createOutsideEditor(n,t,"below",o)}const c=s.getLineNumberAtVerticalOffset(r);return rk.createOutsideEditor(n,new Ms(c,e.getLineMaxColumn(c)),"below",o)}const o=s.getLineNumberAtVerticalOffset(s.getCurrentScrollTop()+t.relativePos.y);if(t.posxi.x+i.width){const s=t.posx-i.x-i.width;return rk.createOutsideEditor(n,new Ms(o,e.getLineMaxColumn(o)),"right",s)}return null}_findMousePosition(t,i){const e=this._getPositionOutsideEditor(t);if(e)return e;const s=this._createMouseTarget(t,i);if(!s.position)return null;if(8===s.type||5===s.type){const t=this._helpPositionJumpOverViewZone(s.detail);if(t)return rk.createViewZone(s.type,s.element,s.mouseColumn,t,s.detail)}return s}_helpPositionJumpOverViewZone(t){const i=new Ms(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),e=t.positionBefore,s=t.positionAfter;return e&&s?e.isBefore(i)?e:s:null}_dispatchMouse(t,i,e){t.position&&this._viewController.dispatchMouse({position:t.position,mouseColumn:t.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:e,inSelectionMode:i,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:6===t.type&&null!==t.detail.injectedText})}}class _k extends ie{constructor(t,i,e,s){super(),this._context=t,this._viewHelper=i,this._mouseTargetFactory=e,this._dispatchMouse=s,this._operation=null}dispose(){super.dispose(),this.stop()}start(t,i){this._operation?this._operation.setPosition(t,i):this._operation=new Nk(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,t,i)}stop(){this._operation&&(this._operation.dispose(),this._operation=null)}}class Nk extends ie{constructor(t,i,e,s,n,o){super(),this._context=t,this._viewHelper=i,this._mouseTargetFactory=e,this._dispatchMouse=s,this._position=n,this._mouseEvent=o,this._lastTime=Date.now(),this._animationFrameDisposable=Ja(Ba(o.browserEvent),(()=>this._execute()))}dispose(){this._animationFrameDisposable.dispose()}setPosition(t,i){this._position=t,this._mouseEvent=i}_tick(){const t=Date.now(),i=t-this._lastTime;return this._lastTime=t,i}_getScrollSpeed(){const t=this._context.configuration.options.get(66),i=this._context.configuration.options.get(143).height/t,e=this._position.outsideDistance/t;return e<=1.5?Math.max(30,i*(1+e)):e<=3?Math.max(60,i*(2+e)):Math.max(200,i*(7+e))}_execute(){const t=this._context.configuration.options.get(66),i=this._getScrollSpeed()*(this._tick()/1e3)*t;this._context.viewModel.viewLayout.deltaScrollNow(0,"above"===this._position.outsidePosition?-i:i),this._viewHelper.renderNow();const e=this._context.viewLayout.getLinesViewportData(),s="above"===this._position.outsidePosition?e.startLineNumber:e.endLineNumber;let n;{const t=xy(this._viewHelper.viewDomNode),i=this._context.configuration.options.get(143).horizontalScrollbarHeight,e=new vy(this._mouseEvent.pos.x,t.y+t.height-i-.1),s=Cy(this._viewHelper.viewDomNode,t,e);n=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),t,e,s,null)}n.position&&n.position.lineNumber===s||(n="above"===this._position.outsidePosition?rk.createOutsideEditor(this._position.mouseColumn,new Ms(s,1),"above",this._position.outsideDistance):rk.createOutsideEditor(this._position.mouseColumn,new Ms(s,this._context.viewModel.getLineMaxColumn(s)),"below",this._position.outsideDistance)),this._dispatchMouse(n,!0,2),this._animationFrameDisposable=Ja(Ba(n.element),(()=>this._execute()))}}class Bk{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(t){this._altKey=t.altKey,this._ctrlKey=t.ctrlKey,this._metaKey=t.metaKey,this._shiftKey=t.shiftKey}setStartButtons(t){this._leftButton=t.leftButton,this._middleButton=t.middleButton}setStartedOnLineNumbers(t){this._startedOnLineNumbers=t}trySetCount(t,i){const e=(new Date).getTime();e-this._lastSetMouseDownCountTime>Bk.CLEAR_MOUSE_DOWN_COUNT_TIME&&(t=1),this._lastSetMouseDownCountTime=e,t>this._lastMouseDownCount+1&&(t=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(i)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=i,this._lastMouseDownCount=Math.min(t,this._lastMouseDownPositionEqualCount)}}Bk.CLEAR_MOUSE_DOWN_COUNT_TIME=400;class Pk{get event(){return this.emitter.event}constructor(t,i,e){const s=t=>this.emitter.fire(t);this.emitter=new fe({onWillAddFirstListener:()=>t.addEventListener(i,s,e),onDidRemoveLastListener:()=>t.removeEventListener(i,s,e)})}dispose(){this.emitter.dispose()}}var $k;!function(t){const i={total:0,min:Number.MAX_VALUE,max:0},e={...i},s={...i},n={...i};let o=0;const r={keydown:0,input:0,render:0};function h(){1===r.keydown&&(performance.mark("keydown/end"),r.keydown=2)}function c(){performance.mark("input/start"),r.input=1,u()}function a(){1===r.input&&(performance.mark("input/end"),r.input=2)}function l(){1===r.render&&(performance.mark("render/end"),r.render=2)}function u(){setTimeout(d)}function d(){2===r.keydown&&2===r.input&&2===r.render&&(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"),f("keydown",i),f("input",e),f("render",s),f("inputlatency",n),o++,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"),r.keydown=0,r.input=0,r.render=0)}function f(t,i){const e=performance.getEntriesByName(t)[0].duration;i.total+=e,i.min=Math.min(i.min,e),i.max=Math.max(i.max,e)}function p(t){return{average:t.total/o,max:t.max,min:t.min}}function g(t){t.total=0,t.min=Number.MAX_VALUE,t.max=0}t.onKeyDown=function(){d(),performance.mark("inputlatency/start"),performance.mark("keydown/start"),r.keydown=1,queueMicrotask(h)},t.onBeforeInput=c,t.onInput=function(){0===r.input&&c(),queueMicrotask(a)},t.onKeyUp=function(){d()},t.onSelectionChange=function(){d()},t.onRenderStart=function(){2===r.keydown&&2===r.input&&0===r.render&&(performance.mark("render/start"),r.render=1,queueMicrotask(l),u())},t.getAndClearMeasurements=function(){if(0===o)return;const t={keydown:p(i),input:p(e),render:p(s),total:p(n),sampleCount:o};return g(i),g(e),g(s),g(n),o=0,t}}($k||($k={}));class Wk{constructor(t,i,e,s,n){this.value=t,this.selectionStart=i,this.selectionEnd=e,this.selection=s,this.newlineCountBeforeSelection=n}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(t,i){const e=t.getValue(),s=t.getSelectionStart(),n=t.getSelectionEnd();let o;return i&&e.substring(0,s)===i.value.substring(0,i.selectionStart)&&(o=i.newlineCountBeforeSelection),new Wk(e,s,n,null,o)}collapseSelection(){return this.selectionStart===this.value.length?this:new Wk(this.value,this.value.length,this.value.length,null,void 0)}writeToTextArea(t,i,e){i.setValue(t,this.value),e&&i.setSelectionRange(t,this.selectionStart,this.selectionEnd)}deduceEditorPosition(t){var i,e,s,n,o,r,h,c;if(t<=this.selectionStart){const s=this.value.substring(t,this.selectionStart);return this._finishDeduceEditorPosition(null!==(e=null===(i=this.selection)||void 0===i?void 0:i.getStartPosition())&&void 0!==e?e:null,s,-1)}if(t>=this.selectionEnd){const i=this.value.substring(this.selectionEnd,t);return this._finishDeduceEditorPosition(null!==(n=null===(s=this.selection)||void 0===s?void 0:s.getEndPosition())&&void 0!==n?n:null,i,1)}const a=this.value.substring(this.selectionStart,t);if(-1===a.indexOf(String.fromCharCode(8230)))return this._finishDeduceEditorPosition(null!==(r=null===(o=this.selection)||void 0===o?void 0:o.getStartPosition())&&void 0!==r?r:null,a,1);const l=this.value.substring(t,this.selectionEnd);return this._finishDeduceEditorPosition(null!==(c=null===(h=this.selection)||void 0===h?void 0:h.getEndPosition())&&void 0!==c?c:null,l,-1)}_finishDeduceEditorPosition(t,i,e){let s=0,n=-1;for(;-1!==(n=i.indexOf("\n",n+1));)s++;return[t,e*i.length,s]}static deduceInput(t,i,e){if(!t)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const s=Math.min(po(t.value,i.value),t.selectionStart,i.selectionStart),n=Math.min(go(t.value,i.value),t.value.length-t.selectionEnd,i.value.length-i.selectionEnd);t.value.substring(s,t.value.length-n);const o=i.value.substring(s,i.value.length-n);return i.selectionStart-s==i.selectionEnd-s?{text:o,replacePrevCharCnt:t.selectionStart-s,replaceNextCharCnt:0,positionDelta:0}:{text:o,replacePrevCharCnt:t.selectionEnd-s-(t.selectionStart-s),replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(t,i){if(!t)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(t.value===i.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:i.selectionEnd-t.selectionEnd};const e=Math.min(po(t.value,i.value),t.selectionEnd),s=Math.min(go(t.value,i.value),t.value.length-t.selectionEnd),n=t.value.substring(e,t.value.length-s),o=i.value.substring(e,i.value.length-s),r=t.selectionEnd-e;return{text:o,replacePrevCharCnt:r,replaceNextCharCnt:n.length-r,positionDelta:i.selectionEnd-e-o.length}}}Wk.EMPTY=new Wk("",0,0,null,void 0);class jk{static _getPageOfLine(t,i){return Math.floor((t-1)/i)}static _getRangeForPage(t,i){const e=t*i;return new Ls(e+1,1,e+i+1,1)}static fromEditorSelection(t,i,e,s){const n=500,o=jk._getPageOfLine(i.startLineNumber,e),r=jk._getRangeForPage(o,e),h=jk._getPageOfLine(i.endLineNumber,e),c=jk._getRangeForPage(h,e);let a=r.intersectRanges(new Ls(1,1,i.startLineNumber,i.startColumn));if(s&&t.getValueLengthInRange(a,1)>n){const i=t.modifyPosition(a.getEndPosition(),-500);a=Ls.fromPositions(i,a.getEndPosition())}const l=t.getValueInRange(a,1),u=t.getLineCount(),d=t.getLineMaxColumn(u);let f=c.intersectRanges(new Ls(i.endLineNumber,i.endColumn,u,d));if(s&&t.getValueLengthInRange(f,1)>n){const i=t.modifyPosition(f.getStartPosition(),n);f=Ls.fromPositions(f.getStartPosition(),i)}const p=t.getValueInRange(f,1);let g;if(o===h||o+1===h)g=t.getValueInRange(i,1);else{const e=r.intersectRanges(i),s=c.intersectRanges(i);g=t.getValueInRange(e,1)+String.fromCharCode(8230)+t.getValueInRange(s,1)}return s&&g.length>1e3&&(g=g.substring(0,n)+String.fromCharCode(8230)+g.substring(g.length-n,g.length)),new Wk(l+g+p,l.length,l.length+g.length,i,a.endLineNumber-a.startLineNumber)}}var zk,Hk=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t.Tap="-monaco-textarea-synthetic-tap"}(zk||(zk={}));const Vk={forceCopyWithSyntaxHighlighting:!1};class Uk{constructor(){this._lastState=null}set(t,i){this._lastState={lastCopiedValue:t,data:i}}get(t){return this._lastState&&this._lastState.lastCopiedValue===t?this._lastState.data:(this._lastState=null,null)}}Uk.INSTANCE=new Uk;class qk{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(t){const i={text:t=t||"",replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=t.length,i}}let Kk=class extends ie{get textAreaState(){return this._textAreaState}constructor(t,i,e,s,n,o){super(),this._host=t,this._textArea=i,this._OS=e,this._browser=s,this._accessibilityService=n,this._logService=o,this._onFocus=this._register(new fe),this.onFocus=this._onFocus.event,this._onBlur=this._register(new fe),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new fe),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new fe),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new fe),this.onCut=this._onCut.event,this._onPaste=this._register(new fe),this.onPaste=this._onPaste.event,this._onType=this._register(new fe),this.onType=this._onType.event,this._onCompositionStart=this._register(new fe),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new fe),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new fe),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new fe),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new ee),this._asyncTriggerCut=this._register(new gc((()=>this._onCut.fire()),0)),this._textAreaState=Wk.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(ce.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,(()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=this._register(new gc((()=>this.writeNativeTextAreaContent("asyncFocusGain")),0)):this._asyncFocusGainWriteScreenReaderContent.clear()}))),this._hasFocus=!1,this._currentComposition=null;let r=null;this._register(this._textArea.onKeyDown((t=>{const i=new Jh(t);(114===i.keyCode||this._currentComposition&&1===i.keyCode)&&i.stopPropagation(),i.equals(9)&&i.preventDefault(),r=i,this._onKeyDown.fire(i)}))),this._register(this._textArea.onKeyUp((t=>{const i=new Jh(t);this._onKeyUp.fire(i)}))),this._register(this._textArea.onCompositionStart((t=>{const i=new qk;if(this._currentComposition)this._currentComposition=i;else{if(this._currentComposition=i,2===this._OS&&r&&r.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===t.data&&("ArrowRight"===r.code||"ArrowLeft"===r.code))return i.handleCompositionUpdate("x"),void this._onCompositionStart.fire({data:t.data});this._onCompositionStart.fire({data:t.data})}}))),this._register(this._textArea.onCompositionUpdate((t=>{const i=this._currentComposition;if(!i)return;if(this._browser.isAndroid){const i=Wk.readFromTextArea(this._textArea,this._textAreaState),e=Wk.deduceAndroidCompositionInput(this._textAreaState,i);return this._textAreaState=i,this._onType.fire(e),void this._onCompositionUpdate.fire(t)}const e=i.handleCompositionUpdate(t.data);this._textAreaState=Wk.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(e),this._onCompositionUpdate.fire(t)}))),this._register(this._textArea.onCompositionEnd((t=>{const i=this._currentComposition;if(!i)return;if(this._currentComposition=null,this._browser.isAndroid){const t=Wk.readFromTextArea(this._textArea,this._textAreaState),i=Wk.deduceAndroidCompositionInput(this._textAreaState,t);return this._textAreaState=t,this._onType.fire(i),void this._onCompositionEnd.fire()}const e=i.handleCompositionUpdate(t.data);this._textAreaState=Wk.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(e),this._onCompositionEnd.fire()}))),this._register(this._textArea.onInput((()=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const t=Wk.readFromTextArea(this._textArea,this._textAreaState),i=Wk.deduceInput(this._textAreaState,t,2===this._OS);(0!==i.replacePrevCharCnt||1!==i.text.length||!mo(i.text.charCodeAt(0))&&127!==i.text.charCodeAt(0))&&(this._textAreaState=t,""===i.text&&0===i.replacePrevCharCnt&&0===i.replaceNextCharCnt&&0===i.positionDelta||this._onType.fire(i))}))),this._register(this._textArea.onCut((t=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(t),this._asyncTriggerCut.schedule()}))),this._register(this._textArea.onCopy((t=>{this._ensureClipboardGetsEditorSelection(t)}))),this._register(this._textArea.onPaste((t=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),t.preventDefault(),!t.clipboardData)return;let[i,e]=Gk.getTextData(t.clipboardData);i&&(e=e||Uk.INSTANCE.get(i),this._onPaste.fire({text:i,metadata:e}))}))),this._register(this._textArea.onFocus((()=>{const t=this._hasFocus;this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!t&&this._hasFocus&&(this._asyncFocusGainWriteScreenReaderContent.value||(this._asyncFocusGainWriteScreenReaderContent.value=new gc((()=>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 t=0;return Ua(this._textArea.ownerDocument,"selectionchange",(()=>{if($k.onSelectionChange(),!this._hasFocus)return;if(this._currentComposition)return;if(!this._browser.isChrome)return;const i=Date.now(),e=i-t;if(t=i,e<5)return;const s=i-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),s<100)return;if(!this._textAreaState.selection)return;const n=this._textArea.getValue();if(this._textAreaState.value!==n)return;const o=this._textArea.getSelectionStart(),r=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===o&&this._textAreaState.selectionEnd===r)return;const h=this._textAreaState.deduceEditorPosition(o),c=this._host.deduceModelPosition(h[0],h[1],h[2]),a=this._textAreaState.deduceEditorPosition(r),l=this._host.deduceModelPosition(a[0],a[1],a[2]),u=new Fs(c.lineNumber,c.column,l.lineNumber,l.column);this._onSelectionChangeRequest.fire(u)}))}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(t){this._hasFocus!==t&&(this._hasFocus=t,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(t,i){this._hasFocus||(i=i.collapseSelection()),i.writeToTextArea(t,this._textArea,this._hasFocus),this._textAreaState=i}writeNativeTextAreaContent(t){!this._accessibilityService.isScreenReaderOptimized()&&"render"===t||this._currentComposition||(this._logService.trace(`writeTextAreaState(reason: ${t})`),this._setAndWriteTextAreaState(t,this._host.getScreenReaderContent()))}_ensureClipboardGetsEditorSelection(t){const i=this._host.getDataToCopy(),e={version:1,isFromEmptySelection:i.isFromEmptySelection,multicursorText:i.multicursorText,mode:i.mode};Uk.INSTANCE.set(this._browser.isFirefox?i.text.replace(/\r\n/g,"\n"):i.text,e),t.preventDefault(),t.clipboardData&&Gk.setTextData(t.clipboardData,i.text,i.html,e)}};Kk=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Hk(4,Qm),Hk(5,zh)],Kk);const Gk={getTextData(t){const i=t.getData(Ed.text);let e=null;const s=t.getData("vscode-editor-data");if("string"==typeof s)try{e=JSON.parse(s),1!==e.version&&(e=null)}catch(t){}return 0===i.length&&null===e&&t.files.length>0?[Array.prototype.slice.call(t.files,0).map((t=>t.name)).join("\n"),null]:[i,e]},setTextData(t,i,e,s){t.setData(Ed.text,i),"string"==typeof e&&t.setData("text/html",e),t.setData("vscode-editor-data",JSON.stringify(s))}};class Zk extends ie{get ownerDocument(){return this._actual.ownerDocument}constructor(t){super(),this._actual=t,this.onKeyDown=this._register(new Pk(this._actual,"keydown")).event,this.onKeyUp=this._register(new Pk(this._actual,"keyup")).event,this.onCompositionStart=this._register(new Pk(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(new Pk(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(new Pk(this._actual,"compositionend")).event,this.onBeforeInput=this._register(new Pk(this._actual,"beforeinput")).event,this.onInput=this._register(new Pk(this._actual,"input")).event,this.onCut=this._register(new Pk(this._actual,"cut")).event,this.onCopy=this._register(new Pk(this._actual,"copy")).event,this.onPaste=this._register(new Pk(this._actual,"paste")).event,this.onFocus=this._register(new Pk(this._actual,"focus")).event,this.onBlur=this._register(new Pk(this._actual,"blur")).event,this._onSyntheticTap=this._register(new fe),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(this.onKeyDown((()=>$k.onKeyDown()))),this._register(this.onBeforeInput((()=>$k.onBeforeInput()))),this._register(this.onInput((()=>$k.onInput()))),this._register(this.onKeyUp((()=>$k.onKeyUp()))),this._register(Ua(this._actual,zk.Tap,(()=>this._onSyntheticTap.fire())))}hasFocus(){const t=pl(this._actual);return t?t.activeElement===this._actual:!!this._actual.isConnected&&this._actual.ownerDocument.activeElement===this._actual}setIgnoreSelectionChangeTime(t){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(t,i){const e=this._actual;e.value!==i&&(this.setIgnoreSelectionChangeTime("setValue"),e.value=i)}getSelectionStart(){return"backward"===this._actual.selectionDirection?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return"backward"===this._actual.selectionDirection?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(t,i,e){const s=this._actual;let n=null;const o=pl(s);n=o?o.activeElement:s.ownerDocument.activeElement;const r=Ba(n),h=n===s;if(h&&s.selectionStart===i&&s.selectionEnd===e)qo&&r.parent!==r&&s.focus();else{if(h)return this.setIgnoreSelectionChangeTime("setSelectionRange"),s.setSelectionRange(i,e),void(qo&&r.parent!==r&&s.focus());try{const t=function(t){const i=[];for(let e=0;t&&t.nodeType===t.ELEMENT_NODE;e++)i[e]=t.scrollTop,t=t.parentNode;return i}(s);this.setIgnoreSelectionChangeTime("setSelectionRange"),s.focus(),s.setSelectionRange(i,e),function(t,i){for(let e=0;t&&t.nodeType===t.ELEMENT_NODE;e++)t.scrollTop!==i[e]&&(t.scrollTop=i[e]),t=t.parentNode}(s,t)}catch(t){}}}}class Qk extends Ok{constructor(t,i,e){super(t,i,e),this._register(hw.addTarget(this.viewHelper.linesContentDomNode)),this._register(Ua(this.viewHelper.linesContentDomNode,rw.Tap,(t=>this.onTap(t)))),this._register(Ua(this.viewHelper.linesContentDomNode,rw.Change,(t=>this.onChange(t)))),this._register(Ua(this.viewHelper.linesContentDomNode,rw.Contextmenu,(t=>this._onContextMenu(new Sy(t,!1,this.viewHelper.viewDomNode),!1)))),this._lastPointerType="mouse",this._register(Ua(this.viewHelper.linesContentDomNode,"pointerdown",(t=>{const i=t.pointerType;this._lastPointerType="mouse"!==i?"touch"===i?"touch":"pen":"mouse"})));const s=new Ey(this.viewHelper.viewDomNode);this._register(s.onPointerMove(this.viewHelper.viewDomNode,(t=>this._onMouseMove(t)))),this._register(s.onPointerUp(this.viewHelper.viewDomNode,(t=>this._onMouseUp(t)))),this._register(s.onPointerLeave(this.viewHelper.viewDomNode,(t=>this._onMouseLeave(t)))),this._register(s.onPointerDown(this.viewHelper.viewDomNode,((t,i)=>this._onMouseDown(t,i))))}onTap(t){if(!t.initialTarget||!this.viewHelper.linesContentDomNode.contains(t.initialTarget))return;t.preventDefault(),this.viewHelper.focusTextArea();const i=this._createMouseTarget(new Sy(t,!1,this.viewHelper.viewDomNode),!1);i.position&&this.viewController.dispatchMouse({position:i.position,mouseColumn:i.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:t.tapCount,inSelectionMode:!1,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:6===i.type&&null!==i.detail.injectedText})}onChange(t){"touch"===this._lastPointerType&&this._context.viewModel.viewLayout.deltaScrollNow(-t.translationX,-t.translationY)}_onMouseDown(t,i){"touch"!==t.browserEvent.pointerType&&super._onMouseDown(t,i)}}class Jk extends Ok{constructor(t,i,e){super(t,i,e),this._register(hw.addTarget(this.viewHelper.linesContentDomNode)),this._register(Ua(this.viewHelper.linesContentDomNode,rw.Tap,(t=>this.onTap(t)))),this._register(Ua(this.viewHelper.linesContentDomNode,rw.Change,(t=>this.onChange(t)))),this._register(Ua(this.viewHelper.linesContentDomNode,rw.Contextmenu,(t=>this._onContextMenu(new Sy(t,!1,this.viewHelper.viewDomNode),!1))))}onTap(t){t.preventDefault(),this.viewHelper.focusTextArea();const i=this._createMouseTarget(new Sy(t,!1,this.viewHelper.viewDomNode),!1);if(i.position){const t=document.createEvent("CustomEvent");t.initEvent(zk.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(t),this.viewController.moveTo(i.position,1)}}onChange(t){this._context.viewModel.viewLayout.deltaScrollNow(-t.translationX,-t.translationY)}}class Yk extends ie{constructor(t,i,e){super(),this.handler=this._register(Lt&&Gh?new Qk(t,i,e):Wn.TouchEvent?new Jk(t,i,e):new Ok(t,i,e))}getTargetAtClientPoint(t,i){return this.handler.getTargetAtClientPoint(t,i)}}class Xk extends Ty{}const tx=fr("themeService");function ix(t){return{id:t}}function ex(t){switch(t){case zy.DARK:return"vs-dark";case zy.HIGH_CONTRAST_DARK:return"hc-black";case zy.HIGH_CONTRAST_LIGHT:return"hc-light";default:return"vs"}}const sx="base.contributions.theming",nx=new class{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new fe}onColorThemeChange(t){return this.themingParticipants.push(t),this.onThemingParticipantAddedEmitter.fire(t),Xi((()=>{const i=this.themingParticipants.indexOf(t);this.themingParticipants.splice(i,1)}))}getThemingParticipants(){return this.themingParticipants}};function ox(t){return nx.onColorThemeChange(t)}Eh.add(sx,nx);class rx extends ie{constructor(t){super(),this.themeService=t,this.theme=t.getColorTheme(),this._register(this.themeService.onDidColorThemeChange((t=>this.onThemeChange(t))))}onThemeChange(t){this.theme=t,this.updateStyles()}updateStyles(){}}const hx=fw("editor.lineHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Background color for the highlight of line at the cursor position.")),cx=fw("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:vw},rt(0,"Background color for the border around the line at the cursor position."));fw("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},rt(0,"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),fw("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:bw,hcLight:bw},rt(0,"Background color of the border around highlighted ranges."),!0),fw("editor.symbolHighlightBackground",{dark:Fv,light:Fv,hcDark:null,hcLight:null},rt(0,"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),fw("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:bw,hcLight:bw},rt(0,"Background color of the border around highlighted symbols."),!0);const ax=fw("editorCursor.foreground",{dark:"#AEAFAD",light:ug.black,hcDark:ug.white,hcLight:"#0F4A85"},rt(0,"Color of the editor cursor.")),lx=fw("editorCursor.background",null,rt(0,"The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),ux=fw("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},rt(0,"Color of whitespace characters in the editor.")),dx=fw("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:ug.white,hcLight:"#292929"},rt(0,"Color of editor line numbers.")),fx=fw("editorIndentGuide.background",{dark:ux,light:ux,hcDark:ux,hcLight:ux},rt(0,"Color of the editor indentation guides."),!1,rt(0,"'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),px=fw("editorIndentGuide.activeBackground",{dark:ux,light:ux,hcDark:ux,hcLight:ux},rt(0,"Color of the active editor indentation guides."),!1,rt(0,"'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),gx=fw("editorIndentGuide.background1",{dark:fx,light:fx,hcDark:fx,hcLight:fx},rt(0,"Color of the editor indentation guides (1).")),mx=fw("editorIndentGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the editor indentation guides (2).")),wx=fw("editorIndentGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the editor indentation guides (3).")),vx=fw("editorIndentGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the editor indentation guides (4).")),bx=fw("editorIndentGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the editor indentation guides (5).")),yx=fw("editorIndentGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the editor indentation guides (6).")),kx=fw("editorIndentGuide.activeBackground1",{dark:px,light:px,hcDark:px,hcLight:px},rt(0,"Color of the active editor indentation guides (1).")),xx=fw("editorIndentGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the active editor indentation guides (2).")),Cx=fw("editorIndentGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the active editor indentation guides (3).")),Sx=fw("editorIndentGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the active editor indentation guides (4).")),Dx=fw("editorIndentGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the active editor indentation guides (5).")),Ex=fw("editorIndentGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the active editor indentation guides (6).")),Ax=fw("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:bw,hcLight:bw},rt(0,"Color of editor active line number"),!1,rt(0,"Id is deprecated. Use 'editorLineNumber.activeForeground' instead."));fw("editorLineNumber.activeForeground",{dark:Ax,light:Ax,hcDark:Ax,hcLight:Ax},rt(0,"Color of editor active line number"));const Mx=fw("editorLineNumber.dimmedForeground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Color of the final editor line when editor.renderFinalNewline is set to dimmed."));fw("editorRuler.foreground",{dark:"#5A5A5A",light:ug.lightgrey,hcDark:ug.white,hcLight:"#292929"},rt(0,"Color of the editor rulers.")),fw("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},rt(0,"Foreground color of editor CodeLens")),fw("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},rt(0,"Background color behind matching brackets")),fw("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:vw,hcLight:vw},rt(0,"Color for matching brackets boxes"));const Lx=fw("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},rt(0,"Color of the overview ruler border.")),Fx=fw("editorOverviewRuler.background",null,rt(0,"Background color of the editor overview ruler."));fw("editorGutter.background",{dark:lv,light:lv,hcDark:lv,hcLight:lv},rt(0,"Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),fw("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:ug.fromHex("#fff").transparent(.8),hcLight:vw},rt(0,"Border color of unnecessary (unused) source code in the editor."));const Tx=fw("editorUnnecessaryCode.opacity",{dark:ug.fromHex("#000a"),light:ug.fromHex("#0007"),hcDark:null,hcLight:null},rt(0,"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."));fw("editorGhostText.border",{dark:null,light:null,hcDark:ug.fromHex("#fff").transparent(.8),hcLight:ug.fromHex("#292929").transparent(.8)},rt(0,"Border color of ghost text in the editor.")),fw("editorGhostText.foreground",{dark:ug.fromHex("#ffffff56"),light:ug.fromHex("#0007"),hcDark:null,hcLight:null},rt(0,"Foreground color of the ghost text in the editor.")),fw("editorGhostText.background",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Background color of the ghost text in the editor."));const Rx=new ug(new cg(0,122,204,.6)),Ox=fw("editorOverviewRuler.rangeHighlightForeground",{dark:Rx,light:Rx,hcDark:Rx,hcLight:Rx},rt(0,"Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Ix=fw("editorOverviewRuler.errorForeground",{dark:new ug(new cg(255,18,18,.7)),light:new ug(new cg(255,18,18,.7)),hcDark:new ug(new cg(255,50,50,1)),hcLight:"#B5200D"},rt(0,"Overview ruler marker color for errors.")),_x=fw("editorOverviewRuler.warningForeground",{dark:ov,light:ov,hcDark:rv,hcLight:rv},rt(0,"Overview ruler marker color for warnings.")),Nx=fw("editorOverviewRuler.infoForeground",{dark:hv,light:hv,hcDark:cv,hcLight:cv},rt(0,"Overview ruler marker color for infos.")),Bx=fw("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},rt(0,"Foreground color of brackets (1). Requires enabling bracket pair colorization.")),Px=fw("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},rt(0,"Foreground color of brackets (2). Requires enabling bracket pair colorization.")),$x=fw("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},rt(0,"Foreground color of brackets (3). Requires enabling bracket pair colorization.")),Wx=fw("editorBracketHighlight.foreground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Foreground color of brackets (4). Requires enabling bracket pair colorization.")),jx=fw("editorBracketHighlight.foreground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Foreground color of brackets (5). Requires enabling bracket pair colorization.")),zx=fw("editorBracketHighlight.foreground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Foreground color of brackets (6). Requires enabling bracket pair colorization.")),Hx=fw("editorBracketHighlight.unexpectedBracket.foreground",{dark:new ug(new cg(255,18,18,.8)),light:new ug(new cg(255,18,18,.8)),hcDark:new ug(new cg(255,50,50,1)),hcLight:""},rt(0,"Foreground color of unexpected brackets.")),Vx=fw("editorBracketPairGuide.background1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),Ux=fw("editorBracketPairGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),qx=fw("editorBracketPairGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),Kx=fw("editorBracketPairGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),Gx=fw("editorBracketPairGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),Zx=fw("editorBracketPairGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),Qx=fw("editorBracketPairGuide.activeBackground1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),Jx=fw("editorBracketPairGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),Yx=fw("editorBracketPairGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),Xx=fw("editorBracketPairGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),tC=fw("editorBracketPairGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),iC=fw("editorBracketPairGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));fw("editorUnicodeHighlight.border",{dark:"#BD9B03",light:"#CEA33D",hcDark:"#ff0000",hcLight:"#CEA33D"},rt(0,"Border color used to highlight unicode characters.")),fw("editorUnicodeHighlight.background",{dark:"#bd9b0326",light:"#cea33d14",hcDark:"#00000000",hcLight:"#cea33d14"},rt(0,"Background color used to highlight unicode characters.")),ox(((t,i)=>{const e=t.getColor(lv),s=t.getColor(hx),n=s&&!s.isTransparent()?s:e;n&&i.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${n}; }`)}));class eC extends Xk{constructor(t){super(),this._context=t,this._readConfig(),this._lastCursorModelPosition=new Ms(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const t=this._context.configuration.options;this._lineHeight=t.get(66);const i=t.get(67);this._renderLineNumbers=i.renderType,this._renderCustomLineNumbers=i.renderFn,this._renderFinalNewline=t.get(94);const e=t.get(143);this._lineNumbersLeft=e.lineNumbersLeft,this._lineNumbersWidth=e.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){return this._readConfig(),!0}onCursorStateChanged(t){const i=t.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(i);let e=!1;return this._activeLineNumber!==i.lineNumber&&(this._activeLineNumber=i.lineNumber,e=!0),2!==this._renderLineNumbers&&3!==this._renderLineNumbers||(e=!0),e}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}_getLineRenderLineNumber(t){const i=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Ms(t,1));if(1!==i.column)return"";const e=i.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(e);if(2===this._renderLineNumbers){const t=Math.abs(this._lastCursorModelPosition.lineNumber-e);return 0===t?''+e+"":String(t)}return 3===this._renderLineNumbers?this._lastCursorModelPosition.lineNumber===e||e%10==0?String(e):"":String(e)}prepareRender(t){if(0===this._renderLineNumbers)return void(this._renderResult=null);const i=Dt?this._lineHeight%2==0?" lh-even":" lh-odd":"",e=t.visibleRange.startLineNumber,s=t.visibleRange.endLineNumber,n=this._context.viewModel.getLineCount(),o=[];for(let t=e;t<=s;t++){const s=t-e,r=this._getLineRenderLineNumber(t);if(!r){o[s]="";continue}let h="";if(t===n&&0===this._context.viewModel.getLineLength(t)){if("off"===this._renderFinalNewline){o[s]="";continue}"dimmed"===this._renderFinalNewline&&(h=" dimmed-line-number")}t===this._activeLineNumber&&(h=" active-line-number"),o[s]=`

${r}
`}this._renderResult=o}render(t,i){if(!this._renderResult)return"";const e=i-t;return e<0||e>=this._renderResult.length?"":this._renderResult[e]}}eC.CLASS_NAME="line-numbers",ox(((t,i)=>{const e=t.getColor(dx),s=t.getColor(Mx);s?i.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${s}; }`):e&&i.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${e.transparent(.4)}; }`)}));class sC extends Ry{constructor(t){super(t);const i=this._context.configuration.options,e=i.get(143);this._canUseLayerHinting=!i.get(32),this._contentLeft=e.contentLeft,this._glyphMarginLeft=e.glyphMarginLeft,this._glyphMarginWidth=e.glyphMarginWidth,this._domNode=ir(document.createElement("div")),this._domNode.setClassName(sC.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=ir(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(sC.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(t){const i=this._context.configuration.options,e=i.get(143);return this._canUseLayerHinting=!i.get(32),this._contentLeft=e.contentLeft,this._glyphMarginLeft=e.glyphMarginLeft,this._glyphMarginWidth=e.glyphMarginWidth,!0}onScrollChanged(t){return super.onScrollChanged(t)||t.scrollTopChanged}prepareRender(t){}render(t){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict"),this._domNode.setTop(-(t.scrollTop-t.bigNumbersDelta));const i=Math.min(t.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)}}sC.CLASS_NAME="glyph-margin",sC.OUTER_CLASS_NAME="margin";const nC="monaco-mouse-cursor-text",oC=new class{constructor(){this._onDidChange=new fe,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()}},rC=fr("keybindingService");var hC=function(t,i){return function(e,s){i(e,s,t)}};class cC{constructor(t,i,e,s,n){this._context=t,this.modelLineNumber=i,this.distanceToModelLineStart=e,this.widthOfHiddenLineTextBefore=s,this.distanceToModelLineEnd=n,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(t){const i=new Ms(this.modelLineNumber,this.distanceToModelLineStart+1),e=new Ms(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(e),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=t.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=t.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(t){return this._previousPresentation||(this._previousPresentation=t||{foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const aC=qo;let lC=class extends Ry{constructor(t,i,e,s,n){super(t),this._keybindingService=s,this._instantiationService=n,this._primaryCursorPosition=new Ms(1,1),this._primaryCursorVisibleRange=null,this._viewController=i,this._visibleRangeProvider=e,this._scrollLeft=0,this._scrollTop=0;const o=this._context.configuration.options,r=o.get(143);this._setAccessibilityOptions(o),this._contentLeft=r.contentLeft,this._contentWidth=r.contentWidth,this._contentHeight=r.height,this._fontInfo=o.get(50),this._lineHeight=o.get(66),this._emptySelectionClipboard=o.get(37),this._copyWithSyntaxHighlighting=o.get(25),this._visibleTextArea=null,this._selections=[new Fs(1,1,1,1)],this._modelSelections=[new Fs(1,1,1,1)],this._lastRenderPosition=null,this.textArea=ir(document.createElement("textarea")),Oy.write(this.textArea,6),this.textArea.setClassName(`inputarea ${nC}`),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:h}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=h*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(o)),this.textArea.setAttribute("aria-required",o.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(o.get(123))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",rt(0,"editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",o.get(90)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=ir(document.createElement("div")),this.textAreaCover.setPosition("absolute");const c={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:t=>this._context.viewModel.getLineMaxColumn(t),getValueInRange:(t,i)=>this._context.viewModel.getValueInRange(t,i),getValueLengthInRange:(t,i)=>this._context.viewModel.getValueLengthInRange(t,i),modifyPosition:(t,i)=>this._context.viewModel.modifyPosition(t,i)},a={getDataToCopy:()=>{const t=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,Ct),i=this._context.viewModel.model.getEOL(),e=this._emptySelectionClipboard&&1===this._modelSelections.length&&this._modelSelections[0].isEmpty(),s=Array.isArray(t)?t:null,n=Array.isArray(t)?t.join(i):t;let o,r=null;if(Vk.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&n.length<65536){const t=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);t&&(o=t.html,r=t.mode)}return{isFromEmptySelection:e,multicursorText:s,text:n,html:o,mode:r}},getScreenReaderContent:()=>{if(1===this._accessibilitySupport){const t=this._selections[0];if(St&&t.isEmpty()){const i=t.getStartPosition();let e=this._getWordBeforePosition(i);if(0===e.length&&(e=this._getCharacterBeforePosition(i)),e.length>0)return new Wk(e,e.length,e.length,Ls.fromPositions(i),0)}const i=500;if(St&&!t.isEmpty()&&c.getValueLengthInRange(t,0)0)return new Wk(e,s,s,Ls.fromPositions(i),0)}return Wk.EMPTY}return jk.fromEditorSelection(c,this._selections[0],this._accessibilityPageSize,0===this._accessibilitySupport)},deduceModelPosition:(t,i,e)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(t,i,e)},l=this._register(new Zk(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(Kk,a,l,_t,{isAndroid:Jo,isChrome:Go,isFirefox:qo,isSafari:Zo})),this._register(this._textAreaInput.onKeyDown((t=>{this._viewController.emitKeyDown(t)}))),this._register(this._textAreaInput.onKeyUp((t=>{this._viewController.emitKeyUp(t)}))),this._register(this._textAreaInput.onPaste((t=>{let i=!1,e=null,s=null;t.metadata&&(i=this._emptySelectionClipboard&&!!t.metadata.isFromEmptySelection,e=void 0!==t.metadata.multicursorText?t.metadata.multicursorText:null,s=t.metadata.mode),this._viewController.paste(t.text,i,e,s)}))),this._register(this._textAreaInput.onCut((()=>{this._viewController.cut()}))),this._register(this._textAreaInput.onType((t=>{t.replacePrevCharCnt||t.replaceNextCharCnt||t.positionDelta?this._viewController.compositionType(t.text,t.replacePrevCharCnt,t.replaceNextCharCnt,t.positionDelta):this._viewController.type(t.text)}))),this._register(this._textAreaInput.onSelectionChangeRequest((t=>{this._viewController.setSelection(t)}))),this._register(this._textAreaInput.onCompositionStart((()=>{const t=this.textArea.domNode,i=this._modelSelections[0],{distanceToModelLineStart:e,widthOfHiddenTextBefore:s}=(()=>{const e=t.value.substring(0,Math.min(t.selectionStart,t.selectionEnd)),s=e.lastIndexOf("\n"),n=e.substring(s+1),o=n.lastIndexOf("\t"),r=n.length-o-1,h=i.getStartPosition(),c=Math.min(h.column-1,r),a=h.column-1-c,l=n.substring(0,n.length-c),{tabSize:u}=this._context.viewModel.model.getOptions(),d=function(t,i,e,s){if(0===i.length)return 0;const n=t.createElement("div");n.style.position="absolute",n.style.top="-50000px",n.style.width="50000px";const o=t.createElement("span");er(o,e),o.style.whiteSpace="pre",o.style.tabSize=s*e.spaceWidth+"px",o.append(i),n.appendChild(o),t.body.appendChild(n);const r=o.offsetWidth;return t.body.removeChild(n),r}(this.textArea.domNode.ownerDocument,l,this._fontInfo,u);return{distanceToModelLineStart:a,widthOfHiddenTextBefore:d}})(),{distanceToModelLineEnd:n}=(()=>{const e=t.value.substring(Math.max(t.selectionStart,t.selectionEnd)),s=e.indexOf("\n"),n=-1===s?e:e.substring(0,s),o=n.indexOf("\t"),r=-1===o?n.length:n.length-o-1,h=i.getEndPosition(),c=Math.min(this._context.viewModel.model.getLineMaxColumn(h.lineNumber)-h.column,r);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(h.lineNumber)-h.column-c}})();this._context.viewModel.revealRange("keyboard",!0,Ls.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new cC(this._context,i.startLineNumber,e,s,n),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${nC} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()}))),this._register(this._textAreaInput.onCompositionUpdate((()=>{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 ${nC}`),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(oC.onDidChange((()=>{this._ensureReadOnlyAttribute()})))}writeScreenReaderContent(t){this._textAreaInput.writeNativeTextAreaContent(t)}dispose(){super.dispose()}_getAndroidWordAtPosition(t){const i=this._context.viewModel.getLineContent(t.lineNumber),e=_f('`~!@#$%^&*()-=+[{]}\\|;:",.<>/?');let s=!0,n=t.column,o=!0,r=t.column,h=0;for(;h<50&&(s||o);){if(s&&n<=1&&(s=!1),s){const t=i.charCodeAt(n-2);0!==e.get(t)?s=!1:n--}if(o&&r>i.length&&(o=!1),o){const t=i.charCodeAt(r-1);0!==e.get(t)?o=!1:r++}h++}return[i.substring(n-1,r-1),t.column-n]}_getWordBeforePosition(t){const i=this._context.viewModel.getLineContent(t.lineNumber),e=_f(this._context.configuration.options.get(129));let s=t.column,n=0;for(;s>1;){const o=i.charCodeAt(s-2);if(0!==e.get(o)||n>50)return i.substring(s-1,t.column-1);n++,s--}return i.substring(0,t.column-1)}_getCharacterBeforePosition(t){if(t.column>1){const i=this._context.viewModel.getLineContent(t.lineNumber).charAt(t.column-2);if(!mo(i.charCodeAt(0)))return i}return""}_getAriaLabel(t){var i,e,s;if(1===t.get(2)){const t=null===(i=this._keybindingService.lookupKeybinding("editor.action.toggleScreenReaderAccessibilityMode"))||void 0===i?void 0:i.getAriaLabel(),n=null===(e=this._keybindingService.lookupKeybinding("workbench.action.showCommands"))||void 0===e?void 0:e.getAriaLabel(),o=null===(s=this._keybindingService.lookupKeybinding("workbench.action.openGlobalKeybindings"))||void 0===s?void 0:s.getAriaLabel(),r=rt(0,"The editor is not accessible at this time.");return t?rt(0,"{0} To enable screen reader optimized mode, use {1}",r,t):n?rt(0,"{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.",r,n):o?rt(0,"{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.",r,o):r}return t.get(4)}_setAccessibilityOptions(t){this._accessibilitySupport=t.get(2);const i=t.get(3);this._accessibilityPageSize=2===this._accessibilitySupport&&i===Ni.accessibilityPageSize.defaultValue?500:i;const e=t.get(143).wrappingColumn;if(-1!==e&&1!==this._accessibilitySupport){const i=t.get(50);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(e*i.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=aC?0:1}onConfigurationChanged(t){const i=this._context.configuration.options,e=i.get(143);this._setAccessibilityOptions(i),this._contentLeft=e.contentLeft,this._contentWidth=e.contentWidth,this._contentHeight=e.height,this._fontInfo=i.get(50),this._lineHeight=i.get(66),this._emptySelectionClipboard=i.get(37),this._copyWithSyntaxHighlighting=i.get(25),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:s}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize=s*this._fontInfo.spaceWidth+"px",this.textArea.setAttribute("aria-label",this._getAriaLabel(i)),this.textArea.setAttribute("aria-required",i.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(i.get(123))),(t.hasChanged(34)||t.hasChanged(90))&&this._ensureReadOnlyAttribute(),t.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(t){return this._selections=t.selections.slice(0),this._modelSelections=t.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return this._scrollLeft=t.scrollLeft,this._scrollTop=t.scrollTop,!0}onZonesChanged(t){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(t){t.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",t.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),t.role&&this.textArea.setAttribute("role",t.role)}_ensureReadOnlyAttribute(){const t=this._context.configuration.options;!oC.enabled||t.get(34)&&t.get(90)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")}prepareRender(t){var i;this._primaryCursorPosition=new Ms(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=t.visibleRangeForPosition(this._primaryCursorPosition),null===(i=this._visibleTextArea)||void 0===i||i.prepareRender(t)}render(t){this._textAreaInput.writeNativeTextAreaContent("render"),this._render()}_render(){var t;if(this._visibleTextArea){const t=this._visibleTextArea.visibleTextareaStart,i=this._visibleTextArea.visibleTextareaEnd,e=this._visibleTextArea.startPosition,s=this._visibleTextArea.endPosition;if(e&&s&&t&&i&&i.left>=this._scrollLeft&&t.left<=this._scrollLeft+this._contentWidth){const n=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,o=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let r=this._visibleTextArea.widthOfHiddenLineTextBefore,h=this._contentLeft+t.left-this._scrollLeft,c=i.left-t.left+1;if(hthis._contentWidth&&(c=this._contentWidth);const a=this._context.viewModel.getViewLineData(e.lineNumber),l=a.tokens.findTokenIndexAtOffset(e.column-1),u=a.tokens.findTokenIndexAtOffset(s.column-1),d=this._visibleTextArea.definePresentation(l===u?a.tokens.getPresentation(l):null);this.textArea.domNode.scrollTop=o*this._lineHeight,this.textArea.domNode.scrollLeft=r,this._doRender({lastRenderPosition:null,top:n,left:h,width:c,height:this._lineHeight,useCover:!1,color:(Qs.getColorMap()||[])[d.foreground],italic:d.italic,bold:d.bold,underline:d.underline,strikethrough:d.strikethrough})}return}if(!this._primaryCursorVisibleRange)return void this._renderAtTopLeft();const i=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(ithis._contentLeft+this._contentWidth)return void this._renderAtTopLeft();const e=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(e<0||e>this._contentHeight)this._renderAtTopLeft();else if(St||2===this._accessibilitySupport){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:e,left:this._textAreaWrapping?this._contentLeft:i,width:this._textAreaWidth,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const s=null!==(t=this._textAreaInput.textAreaState.newlineCountBeforeSelection)&&void 0!==t?t:this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=s*this._lineHeight}else this._doRender({lastRenderPosition:this._primaryCursorPosition,top:e,left:this._textAreaWrapping?this._contentLeft:i,width:this._textAreaWidth,height:aC?0:1,useCover:!1})}_newlinecount(t){let i=0,e=-1;for(;e=t.indexOf("\n",e+1),-1!==e;)i++;return i}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:aC?0:1,useCover:!0})}_doRender(t){this._lastRenderPosition=t.lastRenderPosition;const i=this.textArea,e=this.textAreaCover;er(i,this._fontInfo),i.setTop(t.top),i.setLeft(t.left),i.setWidth(t.width),i.setHeight(t.height),i.setColor(t.color?ug.Format.CSS.formatHex(t.color):""),i.setFontStyle(t.italic?"italic":""),t.bold&&i.setFontWeight("bold"),i.setTextDecoration(`${t.underline?" underline":""}${t.strikethrough?" line-through":""}`),e.setTop(t.useCover?t.top:0),e.setLeft(t.useCover?t.left:0),e.setWidth(t.useCover?t.width:0),e.setHeight(t.useCover?t.height:0);const s=this._context.configuration.options;s.get(57)?e.setClassName("monaco-editor-background textAreaCover "+sC.OUTER_CLASS_NAME):0!==s.get(67).renderType?e.setClassName("monaco-editor-background textAreaCover "+eC.CLASS_NAME):e.setClassName("monaco-editor-background textAreaCover")}};function uC(t,i,e){let s=io(t);return-1===s&&(s=t.length),function(t,i,e){let s=0;for(let e=0;e=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([hC(3,rC),hC(4,dr)],lC);const dC=()=>!0,fC=()=>!1,pC=t=>" "===t||"\t"===t;class gC{static shouldRecreate(t){return t.hasChanged(143)||t.hasChanged(129)||t.hasChanged(37)||t.hasChanged(76)||t.hasChanged(78)||t.hasChanged(79)||t.hasChanged(6)||t.hasChanged(7)||t.hasChanged(11)||t.hasChanged(9)||t.hasChanged(10)||t.hasChanged(14)||t.hasChanged(127)||t.hasChanged(50)||t.hasChanged(90)}constructor(t,i,e,s){var n;this.languageConfigurationService=s,this._cursorMoveConfigurationBrand=void 0,this._languageId=t;const o=e.options,r=o.get(143),h=o.get(50);this.readOnly=o.get(90),this.tabSize=i.tabSize,this.indentSize=i.indentSize,this.insertSpaces=i.insertSpaces,this.stickyTabStops=o.get(115),this.lineHeight=h.lineHeight,this.typicalHalfwidthCharacterWidth=h.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(r.height/this.lineHeight)-2),this.useTabStops=o.get(127),this.wordSeparators=o.get(129),this.emptySelectionClipboard=o.get(37),this.copyWithSyntaxHighlighting=o.get(25),this.multiCursorMergeOverlapping=o.get(76),this.multiCursorPaste=o.get(78),this.multiCursorLimit=o.get(79),this.autoClosingBrackets=o.get(6),this.autoClosingComments=o.get(7),this.autoClosingQuotes=o.get(11),this.autoClosingDelete=o.get(9),this.autoClosingOvertype=o.get(10),this.autoSurround=o.get(14),this.autoIndent=o.get(12),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(t,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(t,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(t,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(t).getAutoClosingPairs();const c=this.languageConfigurationService.getLanguageConfiguration(t).getSurroundingPairs();if(c)for(const t of c)this.surroundingPairs[t.open]=t.close;const a=this.languageConfigurationService.getLanguageConfiguration(t).comments;this.blockCommentStartToken=null!==(n=null==a?void 0:a.blockCommentStartToken)&&void 0!==n?n:null}get electricChars(){var t;if(!this._electricChars){this._electricChars={};const i=null===(t=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter)||void 0===t?void 0:t.getElectricCharacters();if(i)for(const t of i)this._electricChars[t]=!0}return this._electricChars}onElectricCharacter(t,i,e){const s=Bu(i,e-1),n=this.languageConfigurationService.getLanguageConfiguration(s.languageId).electricCharacter;return n?n.onElectricCharacter(t,s,e-s.firstCharOffset):null}normalizeIndentation(t){return uC(t,this.indentSize,this.insertSpaces)}_getShouldAutoClose(t,i,e){switch(i){case"beforeWhitespace":return pC;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(t,e);case"always":return dC;case"never":return fC}}_getLanguageDefinedShouldAutoClose(t,i){const e=this.languageConfigurationService.getLanguageConfiguration(t).getAutoCloseBeforeSet(i);return t=>-1!==e.indexOf(t)}visibleColumnFromColumn(t,i){return tk.visibleColumnFromColumn(t.getLineContent(i.lineNumber),i.column,this.tabSize)}columnFromVisibleColumn(t,i,e){const s=tk.columnFromVisibleColumn(t.getLineContent(i),e,this.tabSize),n=t.getLineMinColumn(i);if(so?o:s}}class mC{static fromModelState(t){return new wC(t)}static fromViewState(t){return new vC(t)}static fromModelSelection(t){const i=Fs.liftSelection(t),e=new bC(Ls.fromPositions(i.getSelectionStart()),0,0,i.getPosition(),0);return mC.fromModelState(e)}static fromModelSelections(t){const i=[];for(let e=0,s=t.length;en,c=s>o,a=so)continue;if(ps)continue;if(f0&&s--,xC.columnSelect(t,i,e.fromViewLineNumber,e.fromViewVisualColumn,e.toViewLineNumber,s)}static columnSelectRight(t,i,e){let s=0;const n=Math.min(e.fromViewLineNumber,e.toViewLineNumber),o=Math.max(e.fromViewLineNumber,e.toViewLineNumber);for(let e=n;e<=o;e++){const n=i.getLineMaxColumn(e),o=t.visibleColumnFromColumn(i,new Ms(e,n));s=Math.max(s,o)}let r=e.toViewVisualColumn;return rt.getLineMinColumn(i.lineNumber))return i.delta(void 0,-Co(t.getLineContent(i.lineNumber),i.column-1));if(i.lineNumber>1){const e=i.lineNumber-1;return new Ms(e,t.getLineMaxColumn(e))}return i}static leftPositionAtomicSoftTabs(t,i,e){if(i.column<=t.getLineIndentColumn(i.lineNumber)){const s=t.getLineMinColumn(i.lineNumber),n=t.getLineContent(i.lineNumber),o=ik.atomicPosition(n,i.column-1,e,0);if(-1!==o&&o+1>=s)return new Ms(i.lineNumber,o+1)}return this.leftPosition(t,i)}static left(t,i,e){const s=t.stickyTabStops?LC.leftPositionAtomicSoftTabs(i,e,t.tabSize):LC.leftPosition(i,e);return new MC(s.lineNumber,s.column,0)}static moveLeft(t,i,e,s,n){let o,r;if(e.hasSelection()&&!s)o=e.selection.startLineNumber,r=e.selection.startColumn;else{const s=e.position.delta(void 0,-(n-1)),h=i.normalizePosition(LC.clipPositionColumn(s,i),0),c=LC.left(t,i,h);o=c.lineNumber,r=c.column}return e.move(s,o,r,0)}static clipPositionColumn(t,i){return new Ms(t.lineNumber,LC.clipRange(t.column,i.getLineMinColumn(t.lineNumber),i.getLineMaxColumn(t.lineNumber)))}static clipRange(t,i,e){return te?e:t}static rightPosition(t,i,e){return ea?(e=a,s=r?i.getLineMaxColumn(e):Math.min(i.getLineMaxColumn(e),s)):s=t.columnFromVisibleColumn(i,e,c),n=d?0:c-tk.visibleColumnFromColumn(i.getLineContent(e),s,t.tabSize),void 0!==h){const t=new Ms(e,s),o=i.normalizePosition(t,h);n+=s-o.column,e=o.lineNumber,s=o.column}return new MC(e,s,n)}static down(t,i,e,s,n,o,r){return this.vertical(t,i,e,s,n,e+o,r,4)}static moveDown(t,i,e,s,n){let o,r;e.hasSelection()&&!s?(o=e.selection.endLineNumber,r=e.selection.endColumn):(o=e.position.lineNumber,r=e.position.column);let h,c=0;do{if(h=LC.down(t,i,o+c,r,e.leftoverVisibleColumns,n,!0),i.normalizePosition(new Ms(h.lineNumber,h.column),2).lineNumber>o)break}while(c++<10&&o+c1&&this._isBlankLine(i,n);)n--;for(;n>1&&!this._isBlankLine(i,n);)n--;return e.move(s,n,i.getLineMinColumn(n),0)}static moveToNextBlankLine(t,i,e,s){const n=i.getLineCount();let o=e.position.lineNumber;for(;o=l.length+1)return!1;const u=l.charAt(a.column-2),d=s.get(u);if(!d)return!1;if(kC(u)){if("never"===e)return!1}else if("never"===i)return!1;const f=l.charAt(a.column-1);let p=!1;for(const t of d)t.open===u&&t.close===f&&(p=!0);if(!p)return!1;if("auto"===t){let t=!1;for(let i=0,e=r.length;i1){const t=i.getLineContent(s.lineNumber),n=io(t);if(s.column<=(-1===n?t.length+1:n+1)){const t=e.visibleColumnFromColumn(i,s),n=tk.prevIndentTabStop(t,e.indentSize),o=e.columnFromVisibleColumn(i,s.lineNumber,n);return new Ls(s.lineNumber,o,s.lineNumber,s.column)}}return Ls.fromPositions(FC.getPositionAfterDeleteLeft(s,i),s)}static getPositionAfterDeleteLeft(t,i){if(t.column>1){const e=function(t,i){if(0===t)return 0;const e=function(t,i){const e=new yo(i,t);let s=e.prevCodePoint();for(;Bo(s)||65039===s||8419===s;){if(0===e.offset)return;s=e.prevCodePoint()}if(!To(s))return;let n=e.offset;return n>0&&8205===e.prevCodePoint()&&(n=e.offset),n}(t,i);if(void 0!==e)return e;const s=new yo(i,t);return s.prevCodePoint(),s.offset}(t.column-1,i.getLineContent(t.lineNumber));return t.with(void 0,e+1)}if(t.lineNumber>1){const e=t.lineNumber-1;return new Ms(e,i.getLineMaxColumn(e))}return t}static cut(t,i,e){const s=[];let n=null;e.sort(((t,i)=>Ms.compare(t.getStartPosition(),i.getEndPosition())));for(let o=0,r=e.length;o1&&(null==n?void 0:n.endLineNumber)!==t.lineNumber?(e=t.lineNumber-1,h=i.getLineMaxColumn(t.lineNumber-1),c=t.lineNumber,a=i.getLineMaxColumn(t.lineNumber)):(e=t.lineNumber,h=1,c=t.lineNumber,a=i.getLineMaxColumn(t.lineNumber));const l=new Ls(e,h,c,a);n=l,s[o]=l.isEmpty()?null:new CC(l,"")}else s[o]=null;else s[o]=new CC(r,"")}return new yC(0,s,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}class TC{static _createWord(t,i,e,s,n){return{start:s,end:n,wordType:i,nextCharClass:e}}static _findPreviousWordOnLine(t,i,e){const s=i.getLineContent(e.lineNumber);return this._doFindPreviousWordOnLine(s,t,e)}static _doFindPreviousWordOnLine(t,i,e){let s=0;for(let n=e.column-2;n>=0;n--){const e=t.charCodeAt(n),o=i.get(e);if(0===o){if(2===s)return this._createWord(t,s,o,n+1,this._findEndOfWord(t,i,s,n+1));s=1}else if(2===o){if(1===s)return this._createWord(t,s,o,n+1,this._findEndOfWord(t,i,s,n+1));s=2}else if(1===o&&0!==s)return this._createWord(t,s,o,n+1,this._findEndOfWord(t,i,s,n+1))}return 0!==s?this._createWord(t,s,1,0,this._findEndOfWord(t,i,s,0)):null}static _findEndOfWord(t,i,e,s){const n=t.length;for(let o=s;o=0;n--){const s=t.charCodeAt(n),o=i.get(s);if(1===o)return n+1;if(1===e&&2===o)return n+1;if(2===e&&0===o)return n+1}return 0}static moveWordLeft(t,i,e,s){let n=e.lineNumber,o=e.column;1===o&&n>1&&(n-=1,o=i.getLineMaxColumn(n));let r=TC._findPreviousWordOnLine(t,i,new Ms(n,o));if(0===s)return new Ms(n,r?r.start+1:1);if(1===s)return r&&2===r.wordType&&r.end-r.start==1&&0===r.nextCharClass&&(r=TC._findPreviousWordOnLine(t,i,new Ms(n,r.start+1))),new Ms(n,r?r.start+1:1);if(3===s){for(;r&&2===r.wordType;)r=TC._findPreviousWordOnLine(t,i,new Ms(n,r.start+1));return new Ms(n,r?r.start+1:1)}return r&&o<=r.end+1&&(r=TC._findPreviousWordOnLine(t,i,new Ms(n,r.start+1))),new Ms(n,r?r.end+1:1)}static _moveWordPartLeft(t,i){const e=i.lineNumber,s=t.getLineMaxColumn(e);if(1===i.column)return e>1?new Ms(e-1,t.getLineMaxColumn(e-1)):i;const n=t.getLineContent(e);for(let t=i.column-1;t>1;t--){const i=n.charCodeAt(t-2),o=n.charCodeAt(t-1);if(95===i&&95!==o)return new Ms(e,t);if(45===i&&45!==o)return new Ms(e,t);if((ao(i)||co(i))&&lo(o))return new Ms(e,t);if(lo(i)&&lo(o)&&t+1=h.start+1&&(h=TC._findNextWordOnLine(t,i,new Ms(n,h.end+1))),o=h?h.start+1:i.getLineMaxColumn(n);return new Ms(n,o)}static _moveWordPartRight(t,i){const e=i.lineNumber,s=t.getLineMaxColumn(e);if(i.column===s)return e1?c=1:(h--,c=s.getLineMaxColumn(h)):(a&&c<=a.end+1&&(a=TC._findPreviousWordOnLine(e,s,new Ms(h,a.start+1))),a?c=a.end+1:c>1?c=1:(h--,c=s.getLineMaxColumn(h))),new Ls(h,c,r.lineNumber,r.column)}static deleteInsideWord(t,i,e){if(!e.isEmpty())return e;const s=new Ms(e.positionLineNumber,e.positionColumn);return this._deleteInsideWordWhitespace(i,s)||this._deleteInsideWordDetermineDeleteRange(t,i,s)}static _charAtIsWhitespace(t,i){const e=t.charCodeAt(i);return 32===e||9===e}static _deleteInsideWordWhitespace(t,i){const e=t.getLineContent(i.lineNumber),s=e.length;if(0===s)return null;let n=Math.max(i.column-2,0);if(!this._charAtIsWhitespace(e,n))return null;let o=Math.min(i.column-1,s-1);if(!this._charAtIsWhitespace(e,o))return null;for(;n>0&&this._charAtIsWhitespace(e,n-1);)n--;for(;o+11?new Ls(e.lineNumber-1,i.getLineMaxColumn(e.lineNumber-1),e.lineNumber,1):e.lineNumbert.start+1<=e.column&&e.column<=t.end+1,r=(t,i)=>(t=Math.min(t,e.column),i=Math.max(i,e.column),new Ls(e.lineNumber,t,e.lineNumber,i)),h=t=>{let i=t.start+1,e=t.end+1,o=!1;for(;e-11&&this._charAtIsWhitespace(s,i-2);)i--;return r(i,e)},c=TC._findPreviousWordOnLine(t,i,e);if(c&&o(c))return h(c);const a=TC._findNextWordOnLine(t,i,e);return a&&o(a)?h(a):c&&a?r(c.end+1,a.start+1):c?r(c.start+1,c.end+1):a?r(a.start+1,a.end+1):r(1,n+1)}static _deleteWordPartLeft(t,i){if(!i.isEmpty())return i;const e=i.getPosition(),s=TC._moveWordPartLeft(t,e);return new Ls(e.lineNumber,e.column,s.lineNumber,s.column)}static _findFirstNonWhitespaceChar(t,i){const e=t.length;for(let s=i;s=u.start+1&&(u=TC._findNextWordOnLine(e,s,new Ms(h,u.end+1))),u?c=u.start+1:cBoolean(t)))}class IC{static addCursorDown(t,i,e){const s=[];let n=0;for(let o=0,r=i.length;oi&&(e=i,s=t.model.getLineMaxColumn(e)),mC.fromModelState(new bC(new Ls(o.lineNumber,1,e,s),2,0,new Ms(e,s),0))}const h=i.modelState.selectionStart.getStartPosition().lineNumber;if(o.lineNumberh){const e=t.getLineCount();let s=r.lineNumber+1,n=1;return s>e&&(s=e,n=t.getLineMaxColumn(s)),mC.fromViewState(i.viewState.move(!0,s,n,0))}{const t=i.modelState.selectionStart.getEndPosition();return mC.fromModelState(i.modelState.move(!0,t.lineNumber,t.column,0))}}static word(t,i,e,s){const n=t.model.validatePosition(s);return mC.fromModelState(TC.word(t.cursorConfig,t.model,i.modelState,e,n))}static cancelSelection(t,i){if(!i.modelState.hasSelection())return new mC(i.modelState,i.viewState);const e=i.viewState.position.lineNumber,s=i.viewState.position.column;return mC.fromViewState(new bC(new Ls(e,s,e,s),0,0,new Ms(e,s),0))}static moveTo(t,i,e,s,n){if(e){if(1===i.modelState.selectionStartKind)return this.word(t,i,e,s);if(2===i.modelState.selectionStartKind)return this.line(t,i,e,s,n)}const o=t.model.validatePosition(s),r=n?t.coordinatesConverter.validateViewPosition(new Ms(n.lineNumber,n.column),o):t.coordinatesConverter.convertModelPositionToViewPosition(o);return mC.fromViewState(i.viewState.move(e,r.lineNumber,r.column,0))}static simpleMove(t,i,e,s,n,o){switch(e){case 0:return 4===o?this._moveHalfLineLeft(t,i,s):this._moveLeft(t,i,s,n);case 1:return 4===o?this._moveHalfLineRight(t,i,s):this._moveRight(t,i,s,n);case 2:return 2===o?this._moveUpByViewLines(t,i,s,n):this._moveUpByModelLines(t,i,s,n);case 3:return 2===o?this._moveDownByViewLines(t,i,s,n):this._moveDownByModelLines(t,i,s,n);case 4:return i.map(2===o?i=>mC.fromViewState(LC.moveToPrevBlankLine(t.cursorConfig,t,i.viewState,s)):i=>mC.fromModelState(LC.moveToPrevBlankLine(t.cursorConfig,t.model,i.modelState,s)));case 5:return i.map(2===o?i=>mC.fromViewState(LC.moveToNextBlankLine(t.cursorConfig,t,i.viewState,s)):i=>mC.fromModelState(LC.moveToNextBlankLine(t.cursorConfig,t.model,i.modelState,s)));case 6:return this._moveToViewMinColumn(t,i,s);case 7:return this._moveToViewFirstNonWhitespaceColumn(t,i,s);case 8:return this._moveToViewCenterColumn(t,i,s);case 9:return this._moveToViewMaxColumn(t,i,s);case 10:return this._moveToViewLastNonWhitespaceColumn(t,i,s);default:return null}}static viewportMove(t,i,e,s,n){const o=t.getCompletelyVisibleViewRange(),r=t.coordinatesConverter.convertViewRangeToModelRange(o);switch(e){case 11:{const e=this._firstLineNumberInRange(t.model,r,n),o=t.model.getLineFirstNonWhitespaceColumn(e);return[this._moveToModelPosition(t,i[0],s,e,o)]}case 13:{const e=this._lastLineNumberInRange(t.model,r,n),o=t.model.getLineFirstNonWhitespaceColumn(e);return[this._moveToModelPosition(t,i[0],s,e,o)]}case 12:{const e=Math.round((r.startLineNumber+r.endLineNumber)/2),n=t.model.getLineFirstNonWhitespaceColumn(e);return[this._moveToModelPosition(t,i[0],s,e,n)]}case 14:{const e=[];for(let n=0,r=i.length;ne.endLineNumber-1?e.endLineNumber-1:nmC.fromViewState(LC.moveLeft(t.cursorConfig,t,i.viewState,e,s))))}static _moveHalfLineLeft(t,i,e){const s=[];for(let n=0,o=i.length;nmC.fromViewState(LC.moveRight(t.cursorConfig,t,i.viewState,e,s))))}static _moveHalfLineRight(t,i,e){const s=[];for(let n=0,o=i.length;n1&&0===n.firstCharOffset){const t=rf(i,e.startLineNumber-1);t.languageId===n.languageId&&(a=t.getLineContent())}const l=o.onEnter(t,a,h,c);if(!l)return null;const u=l.indentAction;let d=l.appendText;const f=l.removeText||0;d?u===Ou.Indent&&(d="\t"+d):d=u===Ou.Indent||u===Ou.IndentOutdent?"\t":"";let p=of(i,e.startLineNumber,e.startColumn);return f&&(p=p.substring(0,p.length-f)),{indentAction:u,appendText:d,removeText:f,indentation:p}}!function(t){t.metadata={description:"Move cursor to a logical position in the view",args:[{name:"Cursor move argument object",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory logical position value providing where to move the cursor.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine',\n\t\t\t\t\t\t'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'\n\t\t\t\t\t\t'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'\n\t\t\t\t\t\t'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'line', 'wrappedLine', 'character', 'halfLine'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'select': If 'true' makes the selection. Default is 'false'.\n\t\t\t\t",constraint:function(t){if(!$(t))return!1;const i=t;return!(!P(i.to)||!V(i.select)&&!H(i.select)||!V(i.by)&&!P(i.by)||!V(i.value)&&!j(i.value))},schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["left","right","up","down","prevBlankLine","nextBlankLine","wrappedLineStart","wrappedLineEnd","wrappedLineColumnCenter","wrappedLineFirstNonWhitespaceCharacter","wrappedLineLastNonWhitespaceCharacter","viewPortTop","viewPortCenter","viewPortBottom","viewPortIfOutside"]},by:{type:"string",enum:["line","wrappedLine","character","halfLine"]},value:{type:"number",default:1},select:{type:"boolean",default:!1}}}}]},t.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",PrevBlankLine:"prevBlankLine",NextBlankLine:"nextBlankLine",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"},t.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine"},t.parse=function(i){if(!i.to)return null;let e;switch(i.to){case t.RawDirection.Left:e=0;break;case t.RawDirection.Right:e=1;break;case t.RawDirection.Up:e=2;break;case t.RawDirection.Down:e=3;break;case t.RawDirection.PrevBlankLine:e=4;break;case t.RawDirection.NextBlankLine:e=5;break;case t.RawDirection.WrappedLineStart:e=6;break;case t.RawDirection.WrappedLineFirstNonWhitespaceCharacter:e=7;break;case t.RawDirection.WrappedLineColumnCenter:e=8;break;case t.RawDirection.WrappedLineEnd:e=9;break;case t.RawDirection.WrappedLineLastNonWhitespaceCharacter:e=10;break;case t.RawDirection.ViewPortTop:e=11;break;case t.RawDirection.ViewPortBottom:e=13;break;case t.RawDirection.ViewPortCenter:e=12;break;case t.RawDirection.ViewPortIfOutside:e=14;break;default:return null}let s=0;switch(i.by){case t.RawUnit.Line:s=1;break;case t.RawUnit.WrappedLine:s=2;break;case t.RawUnit.Character:s=3;break;case t.RawUnit.HalfLine:s=4}return{direction:e,unit:s,select:!!i.select,value:i.value||1}}}(_C||(_C={}));var BC;const PC=Object.create(null);function $C(t,i){if(i<=0)return"";PC[t]||(PC[t]=["",t]);const e=PC[t];for(let s=e.length;s<=i;s++)e[s]=e[s-1]+t;return e[i]}let WC=BC=class{static unshiftIndent(t,i,e,s,n){const o=tk.visibleColumnFromColumn(t,i,e);if(n){const t=$C(" ",s);return $C(t,tk.prevIndentTabStop(o,s)/s)}return $C("\t",tk.prevRenderTabStop(o,e)/e)}static shiftIndent(t,i,e,s,n){const o=tk.visibleColumnFromColumn(t,i,e);if(n){const t=$C(" ",s);return $C(t,tk.nextIndentTabStop(o,s)/s)}return $C("\t",tk.nextRenderTabStop(o,e)/e)}constructor(t,i,e){this._languageConfigurationService=e,this._opts=i,this._selection=t,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(t,i,e){this._useLastEditRangeForCursorEndPosition?t.addTrackedEditOperation(i,e):t.addEditOperation(i,e)}getEditOperations(t,i){const e=this._selection.startLineNumber;let s=this._selection.endLineNumber;1===this._selection.endColumn&&e!==s&&(s-=1);const{tabSize:n,indentSize:o,insertSpaces:r}=this._opts,h=e===s;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(t.getLineContent(e))&&(this._useLastEditRangeForCursorEndPosition=!0);let c=0,a=0;for(let l=e;l<=s;l++,c=a){a=0;const s=t.getLineContent(l);let u,d=io(s);if((!this._opts.isUnshift||0!==s.length&&0!==d)&&(h||this._opts.isUnshift||0!==s.length)){if(-1===d&&(d=s.length),l>1&&tk.visibleColumnFromColumn(s,d+1,n)%o!=0&&t.tokenization.isCheapToTokenize(l-1)){const i=NC(this._opts.autoIndent,t,new Ls(l-1,t.getLineMaxColumn(l-1),l-1,t.getLineMaxColumn(l-1)),this._languageConfigurationService);if(i){if(a=c,i.appendText)for(let t=0,e=i.appendText.length;t=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,tf)],WC);class jC{constructor(t,i,e){this._range=t,this._charBeforeSelection=i,this._charAfterSelection=e}getEditOperations(t,i){i.addTrackedEditOperation(new Ls(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),i.addTrackedEditOperation(new Ls(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)}computeCursorState(t,i){const e=i.getInverseEditOperations(),s=e[0].range,n=e[1].range;return new Fs(s.endLineNumber,s.endColumn,n.endLineNumber,n.endColumn-this._charAfterSelection.length)}}class zC{constructor(t,i,e){this._position=t,this._text=i,this._charAfter=e}getEditOperations(t,i){i.addTrackedEditOperation(new Ls(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column),this._text+this._charAfter)}computeCursorState(t,i){const e=i.getInverseEditOperations()[0].range;return new Fs(e.endLineNumber,e.startColumn,e.endLineNumber,e.endColumn-this._charAfter.length)}}function HC(t,i,e,s=!0,n){if(t<4)return null;const o=n.getLanguageConfiguration(i.tokenization.getLanguageId()).indentRulesSupport;if(!o)return null;if(e<=1)return{indentation:"",action:null};for(let t=e-1;t>0&&""===i.getLineContent(t);t--)if(1===t)return{indentation:"",action:null};const r=function(t,i,e){const s=t.tokenization.getLanguageIdAtPosition(i,0);if(i>1){let n,o=-1;for(n=i-1;n>=1;n--){if(t.tokenization.getLanguageIdAtPosition(n,0)!==s)return o;const i=t.getLineContent(n);if(!e.shouldIgnore(i)&&!/^\s+$/.test(i)&&""!==i)return n;o=n}}return-1}(i,e,o);if(r<0)return null;if(r<1)return{indentation:"",action:null};const h=i.getLineContent(r);if(o.shouldIncrease(h)||o.shouldIndentNextLine(h))return{indentation:eo(h),action:Ou.Indent,line:r};if(o.shouldDecrease(h))return{indentation:eo(h),action:null,line:r};{if(1===r)return{indentation:eo(i.getLineContent(r)),action:null,line:r};const t=r-1,e=o.getIndentMetadata(i.getLineContent(t));if(!(3&e)&&4&e){let e=0;for(let s=t-1;s>0;s--)if(!o.shouldIndentNextLine(i.getLineContent(s))){e=s;break}return{indentation:eo(i.getLineContent(e+1)),action:null,line:e+1}}if(s)return{indentation:eo(i.getLineContent(r)),action:null,line:r};for(let t=r;t>0;t--){const e=i.getLineContent(t);if(o.shouldIncrease(e))return{indentation:eo(e),action:Ou.Indent,line:t};if(o.shouldIndentNextLine(e)){let e=0;for(let s=t-1;s>0;s--)if(!o.shouldIndentNextLine(i.getLineContent(t))){e=s;break}return{indentation:eo(i.getLineContent(e+1)),action:null,line:e+1}}if(o.shouldDecrease(e))return{indentation:eo(e),action:null,line:t}}return{indentation:eo(i.getLineContent(1)),action:null,line:1}}}function VC(t,i,e,s,n,o){if(t<4)return null;const r=o.getLanguageConfiguration(e);if(!r)return null;const h=o.getLanguageConfiguration(e).indentRulesSupport;if(!h)return null;const c=HC(t,i,s,void 0,o),a=i.getLineContent(s);if(c){const e=c.line;if(void 0!==e){let o=!0;for(let t=e;tt.getLineCount()?null:s.getIndentMetadata(t.getLineContent(i)):null}class qC{static indent(t,i,e){if(null===i||null===e)return[];const s=[];for(let i=0,n=e.length;i1){let s;for(s=e-1;s>=1&&!(so(i.getLineContent(s))>=0);s--);if(s<1)return null;const o=i.getLineMaxColumn(s),r=NC(t.autoIndent,i,new Ls(s,o,s,o),t.languageConfigurationService);r&&(n=r.indentation+r.appendText)}return s&&(s===Ou.Indent&&(n=qC.shiftIndent(t,n)),s===Ou.Outdent&&(n=qC.unshiftIndent(t,n)),n=t.normalizeIndentation(n)),n||null}static _replaceJumpToNextIndent(t,i,e,s){let n="";const o=e.getStartPosition();if(t.insertSpaces){const e=t.visibleColumnFromColumn(i,o),s=t.indentSize,r=s-e%s;for(let t=0;tthis._compositionType(e,t,n,o,r,h)));return new yC(4,c,{shouldPushStackElementBefore:QC(t,4),shouldPushStackElementAfter:!1})}static _compositionType(t,i,e,s,n,o){if(!i.isEmpty())return null;const r=i.getPosition(),h=Math.max(1,r.column-s),c=Math.min(t.getLineMaxColumn(r.lineNumber),r.column+n),a=new Ls(r.lineNumber,h,r.lineNumber,c);return t.getValueInRange(a)===e&&0===o?null:new EC(a,e,0,o)}static _typeCommand(t,i,e){return e?new DC(t,i,!0):new CC(t,i,!0)}static _enter(t,i,e,s){if(0===t.autoIndent)return qC._typeCommand(s,"\n",e);if(!i.tokenization.isCheapToTokenize(s.getStartPosition().lineNumber)||1===t.autoIndent){const n=eo(i.getLineContent(s.startLineNumber)).substring(0,s.startColumn-1);return qC._typeCommand(s,"\n"+t.normalizeIndentation(n),e)}const n=NC(t.autoIndent,i,s,t.languageConfigurationService);if(n){if(n.indentAction===Ou.None)return qC._typeCommand(s,"\n"+t.normalizeIndentation(n.indentation+n.appendText),e);if(n.indentAction===Ou.Indent)return qC._typeCommand(s,"\n"+t.normalizeIndentation(n.indentation+n.appendText),e);if(n.indentAction===Ou.IndentOutdent){const i=t.normalizeIndentation(n.indentation),o=t.normalizeIndentation(n.indentation+n.appendText),r="\n"+o+"\n"+i;return e?new DC(s,r,!0):new EC(s,r,-1,o.length-i.length,!0)}if(n.indentAction===Ou.Outdent){const i=qC.unshiftIndent(t,n.indentation);return qC._typeCommand(s,"\n"+t.normalizeIndentation(i+n.appendText),e)}}const o=eo(i.getLineContent(s.startLineNumber)).substring(0,s.startColumn-1);if(t.autoIndent>=4){const n=function(t,i,e,s,n){if(t<4)return null;i.tokenization.forceTokenization(e.startLineNumber);const o=i.tokenization.getLineTokens(e.startLineNumber),r=Bu(o,e.startColumn-1),h=r.getLineContent();let c,a,l=!1;r.firstCharOffset>0&&o.getLanguageId(0)!==r.languageId?(l=!0,c=h.substr(0,e.startColumn-1-r.firstCharOffset)):c=o.getLineContent().substring(0,e.startColumn-1),a=e.isEmpty()?h.substr(e.startColumn-1-r.firstCharOffset):rf(i,e.endLineNumber,e.endColumn).getLineContent().substr(e.endColumn-1-r.firstCharOffset);const u=n.getLanguageConfiguration(r.languageId).indentRulesSupport;if(!u)return null;const d=c,f=eo(c),p={tokenization:{getLineTokens:t=>i.tokenization.getLineTokens(t),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(t,e)=>i.getLanguageIdAtPosition(t,e)},getLineContent:t=>t===e.startLineNumber?d:i.getLineContent(t)},g=eo(o.getLineContent()),m=HC(t,p,e.startLineNumber+1,void 0,n);if(!m){const t=l?g:f;return{beforeEnter:t,afterEnter:t}}let w=l?g:m.indentation;return m.action===Ou.Indent&&(w=s.shiftIndent(w)),u.shouldDecrease(a)&&(w=s.unshiftIndent(w)),{beforeEnter:l?g:f,afterEnter:w}}(t.autoIndent,i,s,{unshiftIndent:i=>qC.unshiftIndent(t,i),shiftIndent:i=>qC.shiftIndent(t,i),normalizeIndentation:i=>t.normalizeIndentation(i)},t.languageConfigurationService);if(n){let o=t.visibleColumnFromColumn(i,s.getEndPosition());const r=s.endColumn,h=io(i.getLineContent(s.endLineNumber));if(s=s.setEndPosition(s.endLineNumber,h>=0?Math.max(s.endColumn,h+1):i.getLineMaxColumn(s.endLineNumber)),e)return new DC(s,"\n"+t.normalizeIndentation(n.afterEnter),!0);{let i=0;return r<=h+1&&(t.insertSpaces||(o=Math.ceil(o/t.indentSize)),i=Math.min(o+1-t.normalizeIndentation(n.afterEnter).length-1,0)),new EC(s,"\n"+t.normalizeIndentation(n.afterEnter),0,i,!0)}}}return qC._typeCommand(s,"\n"+t.normalizeIndentation(o),e)}static _isAutoIndentType(t,i,e){if(t.autoIndent<4)return!1;for(let t=0,s=e.length;tqC.shiftIndent(t,i),unshiftIndent:i=>qC.unshiftIndent(t,i)},t.languageConfigurationService);if(null===o)return null;if(o!==t.normalizeIndentation(n)){const n=i.getLineFirstNonWhitespaceColumn(e.startLineNumber);return qC._typeCommand(new Ls(e.startLineNumber,1,e.endLineNumber,e.endColumn),0===n?t.normalizeIndentation(o)+s:t.normalizeIndentation(o)+i.getLineContent(e.startLineNumber).substring(n-1,e.startColumn-1)+s,!1)}return null}static _isAutoClosingOvertype(t,i,e,s,n){if("never"===t.autoClosingOvertype)return!1;if(!t.autoClosingPairs.autoClosingPairsCloseSingleChar.has(n))return!1;for(let o=0,r=e.length;o2?c.charCodeAt(h.column-2):0)&&a)return!1;if("auto"===t.autoClosingOvertype){let t=!1;for(let i=0,e=s.length;ii.startsWith(t.open))),r=n.some((t=>i.startsWith(t.close)));return!o&&r}static _findAutoClosingPairOpen(t,i,e,s){const n=t.autoClosingPairs.autoClosingPairsOpenByEnd.get(s);if(!n)return null;let o=null;for(const t of n)if(null===o||t.open.length>o.open.length){let n=!0;for(const o of e)if(i.getValueInRange(new Ls(o.lineNumber,o.column-t.open.length+1,o.lineNumber,o.column))+s!==t.open){n=!1;break}n&&(o=t)}return o}static _findContainedAutoClosingPair(t,i){if(i.open.length<=1)return null;const e=i.close.charAt(i.close.length-1),s=t.autoClosingPairs.autoClosingPairsCloseByEnd.get(e)||[];let n=null;for(const t of s)t.open!==i.open&&i.open.includes(t.open)&&i.close.endsWith(t.close)&&(!n||t.open.length>n.open.length)&&(n=t);return n}static _getAutoClosingPairClose(t,i,e,s,n){for(const t of e)if(!t.isEmpty())return null;const o=e.map((t=>{const i=t.getPosition();return n?{lineNumber:i.lineNumber,beforeColumn:i.column-s.length,afterColumn:i.column}:{lineNumber:i.lineNumber,beforeColumn:i.column,afterColumn:i.column}})),r=this._findAutoClosingPairOpen(t,i,o.map((t=>new Ms(t.lineNumber,t.beforeColumn))),s);if(!r)return null;let h,c;if(kC(s)?(h=t.autoClosingQuotes,c=t.shouldAutoCloseBefore.quote):t.blockCommentStartToken&&r.open.includes(t.blockCommentStartToken)?(h=t.autoClosingComments,c=t.shouldAutoCloseBefore.comment):(h=t.autoClosingBrackets,c=t.shouldAutoCloseBefore.bracket),"never"===h)return null;const a=this._findContainedAutoClosingPair(t,r),l=a?a.close:"";let u=!0;for(const e of o){const{lineNumber:n,beforeColumn:o,afterColumn:a}=e,d=i.getLineContent(n),f=d.substring(0,o-1),p=d.substring(a-1);if(p.startsWith(l)||(u=!1),p.length>0){const i=p.charAt(0);if(!qC._isBeforeClosingBrace(t,p)&&!c(i))return null}if(1===r.open.length&&("'"===s||'"'===s)&&"always"!==h){const i=_f(t.wordSeparators);if(f.length>0){const t=f.charCodeAt(f.length-1);if(0===i.get(t))return null}}if(!i.tokenization.isCheapToTokenize(n))return null;i.tokenization.forceTokenization(n);const g=Bu(i.tokenization.getLineTokens(n),o-1);if(!r.shouldAutoClose(g,o-g.firstCharOffset))return null;const m=r.findNeutralCharacter();if(m){const t=i.tokenization.getTokenTypeIfInsertingCharacter(n,o,m);if(!r.isOK(t))return null}}return u?r.close.substring(0,r.close.length-l.length):r.close}static _runAutoClosingOpenCharType(t,i,e,s,n,o,r){const h=[];for(let t=0,i=s.length;tnew CC(new Ls(t.positionLineNumber,t.positionColumn,t.positionLineNumber,t.positionColumn+1),"",!1)));return new yC(4,t,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}const a=this._getAutoClosingPairClose(i,e,n,h,!0);return null!==a?this._runAutoClosingOpenCharType(t,i,e,n,h,!0,a):null}static typeWithInterceptors(t,i,e,s,n,o,r){if(!t&&"\n"===r){const t=[];for(let i=0,o=n.length;i{const e=t.get(pr).getFocusedCodeEditor();return!(!e||!e.hasTextFocus())&&this._runEditorCommand(t,e,i)})),t.addImplementation(1e3,"generic-dom-input-textarea",(()=>{const t=gl();return!!(t&&["input","textarea"].indexOf(t.tagName.toLowerCase())>=0)&&(this.runDOMCommand(t),!0)})),t.addImplementation(0,"generic-dom",((t,i)=>{const e=t.get(pr).getActiveCodeEditor();return!!e&&(e.focus(),this._runEditorCommand(t,e,i))}))}_runEditorCommand(t,i,e){return this.runEditorCommand(t,i,e)||!0}}!function(t){class i extends sS{constructor(t){super(t),this._inSelectionMode=t.inSelectionMode}runCoreEditorCommand(t,i){i.position&&(t.model.pushStackElement(),t.setCursorStates(i.source,3,[IC.moveTo(t,t.getPrimaryCursorState(),this._inSelectionMode,i.position,i.viewPosition)])&&2!==i.revealType&&t.revealPrimaryCursor(i.source,!0,!0))}}t.MoveTo=cu(new i({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),t.MoveToSelect=cu(new i({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class e extends sS{runCoreEditorCommand(t,i){t.model.pushStackElement();const e=this._getColumnSelectResult(t,t.getPrimaryCursorState(),t.getCursorColumnSelectData(),i);null!==e&&(t.setCursorStates(i.source,3,e.viewStates.map((t=>mC.fromViewState(t)))),t.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:e.fromLineNumber,fromViewVisualColumn:e.fromVisualColumn,toViewLineNumber:e.toLineNumber,toViewVisualColumn:e.toVisualColumn}),e.reversed?t.revealTopMostCursor(i.source):t.revealBottomMostCursor(i.source))}}t.ColumnSelect=cu(new class extends e{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(t,i,e,s){if(void 0===s.position||void 0===s.viewPosition||void 0===s.mouseColumn)return null;const n=t.model.validatePosition(s.position),o=t.coordinatesConverter.validateViewPosition(new Ms(s.viewPosition.lineNumber,s.viewPosition.column),n);return xC.columnSelect(t.cursorConfig,t,s.doColumnSelect?e.fromViewLineNumber:o.lineNumber,s.doColumnSelect?e.fromViewVisualColumn:s.mouseColumn-1,o.lineNumber,s.mouseColumn-1)}}),t.CursorColumnSelectLeft=cu(new class extends e{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(t,i,e,s){return xC.columnSelectLeft(t.cursorConfig,t,e)}}),t.CursorColumnSelectRight=cu(new class extends e{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(t,i,e,s){return xC.columnSelectRight(t.cursorConfig,t,e)}});class s extends e{constructor(t){super(t),this._isPaged=t.isPaged}_getColumnSelectResult(t,i,e,s){return xC.columnSelectUp(t.cursorConfig,t,e,this._isPaged)}}t.CursorColumnSelectUp=cu(new s({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:3600,linux:{primary:0}}})),t.CursorColumnSelectPageUp=cu(new s({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:3595,linux:{primary:0}}}));class n extends e{constructor(t){super(t),this._isPaged=t.isPaged}_getColumnSelectResult(t,i,e,s){return xC.columnSelectDown(t.cursorConfig,t,e,this._isPaged)}}t.CursorColumnSelectDown=cu(new n({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:3602,linux:{primary:0}}})),t.CursorColumnSelectPageDown=cu(new n({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:3596,linux:{primary:0}}}));class o extends sS{constructor(){super({id:"cursorMove",precondition:void 0,metadata:_C.metadata})}runCoreEditorCommand(t,i){const e=_C.parse(i);e&&this._runCursorMove(t,i.source,e)}_runCursorMove(t,i,e){t.model.pushStackElement(),t.setCursorStates(i,3,o._move(t,t.getCursorStates(),e)),t.revealPrimaryCursor(i,!0)}static _move(t,i,e){const s=e.select,n=e.value;switch(e.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return IC.simpleMove(t,i,e.direction,s,n,e.unit);case 11:case 13:case 12:case 14:return IC.viewportMove(t,i,e.direction,s,n);default:return null}}}t.CursorMoveImpl=o,t.CursorMove=cu(new o);class r extends sS{constructor(t){super(t),this._staticArgs=t.args}runCoreEditorCommand(t,i){let e=this._staticArgs;-1===this._staticArgs.value&&(e={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:i.pageSize||t.cursorConfig.pageSize}),t.model.pushStackElement(),t.setCursorStates(i.source,3,IC.simpleMove(t,t.getCursorStates(),e.direction,e.select,e.value,e.unit)),t.revealPrimaryCursor(i.source,!0)}}t.CursorLeft=cu(new r({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),t.CursorLeftSelect=cu(new r({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:1039}})),t.CursorRight=cu(new r({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),t.CursorRightSelect=cu(new r({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:1041}})),t.CursorUp=cu(new r({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),t.CursorUpSelect=cu(new r({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),t.CursorPageUp=cu(new r({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:11}})),t.CursorPageUpSelect=cu(new r({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:1035}})),t.CursorDown=cu(new r({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),t.CursorDownSelect=cu(new r({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),t.CursorPageDown=cu(new r({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:12}})),t.CursorPageDownSelect=cu(new r({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:1036}})),t.CreateCursor=cu(new class extends sS{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(t,i){if(!i.position)return;let e;e=i.wholeLine?IC.line(t,t.getPrimaryCursorState(),!1,i.position,i.viewPosition):IC.moveTo(t,t.getPrimaryCursorState(),!1,i.position,i.viewPosition);const s=t.getCursorStates();if(s.length>1){const n=e.modelState?e.modelState.position:null,o=e.viewState?e.viewState.position:null;for(let e=0,r=s.length;eo&&(n=o);const r=new Ls(n,1,n,t.model.getLineMaxColumn(n));let h=0;if(e.at)switch(e.at){case iS.RawAtArgument.Top:h=3;break;case iS.RawAtArgument.Center:h=1;break;case iS.RawAtArgument.Bottom:h=4}const c=t.coordinatesConverter.convertModelRangeToViewRange(r);t.revealRange(i.source,!1,c,h,0)}}),t.SelectAll=new class extends nS{constructor(){super(wu)}runDOMCommand(t){qo&&(t.focus(),t.select()),t.ownerDocument.execCommand("selectAll")}runEditorCommand(t,i,e){const s=i._getViewModel();s&&this.runCoreEditorCommand(s,e)}runCoreEditorCommand(t,i){t.model.pushStackElement(),t.setCursorStates("keyboard",3,[IC.selectAll(t,t.getPrimaryCursorState())])}},t.SetSelection=cu(new class extends sS{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(t,i){i.selection&&(t.model.pushStackElement(),t.setCursorStates(i.source,3,[mC.fromModelSelection(i.selection)]))}})}(eS||(eS={}));const oS=Hr.and(XC.textInputFocus,XC.columnSelection);function rS(t,i){Mh.registerKeybindingRule({id:t,primary:i,when:oS,weight:1})}function hS(t){return t.register(),t}var cS,aS;rS(eS.CursorColumnSelectLeft.id,1039),rS(eS.CursorColumnSelectRight.id,1041),rS(eS.CursorColumnSelectUp.id,1040),rS(eS.CursorColumnSelectPageUp.id,1035),rS(eS.CursorColumnSelectDown.id,1042),rS(eS.CursorColumnSelectPageDown.id,1036),function(t){class i extends su{runEditorCommand(t,i,e){const s=i._getViewModel();s&&this.runCoreEditingCommand(i,s,e||{})}}t.CoreEditingCommand=i,t.LineBreakInsert=cu(new class extends i{constructor(){super({id:"lineBreakInsert",precondition:XC.writable,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(t,i,e){t.pushUndoStop(),t.executeCommands(this.id,qC.lineBreakInsert(i.cursorConfig,i.model,i.getCursorStates().map((t=>t.modelState.selection))))}}),t.Outdent=cu(new class extends i{constructor(){super({id:"outdent",precondition:XC.writable,kbOpts:{weight:0,kbExpr:Hr.and(XC.editorTextFocus,XC.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(t,i,e){t.pushUndoStop(),t.executeCommands(this.id,qC.outdent(i.cursorConfig,i.model,i.getCursorStates().map((t=>t.modelState.selection)))),t.pushUndoStop()}}),t.Tab=cu(new class extends i{constructor(){super({id:"tab",precondition:XC.writable,kbOpts:{weight:0,kbExpr:Hr.and(XC.editorTextFocus,XC.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(t,i,e){t.pushUndoStop(),t.executeCommands(this.id,qC.tab(i.cursorConfig,i.model,i.getCursorStates().map((t=>t.modelState.selection)))),t.pushUndoStop()}}),t.DeleteLeft=cu(new class extends i{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(t,i,e){const[s,n]=FC.deleteLeft(i.getPrevEditOperationType(),i.cursorConfig,i.model,i.getCursorStates().map((t=>t.modelState.selection)),i.getCursorAutoClosedCharacters());s&&t.pushUndoStop(),t.executeCommands(this.id,n),i.setPrevEditOperationType(2)}}),t.DeleteRight=cu(new class extends i{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(t,i,e){const[s,n]=FC.deleteRight(i.getPrevEditOperationType(),i.cursorConfig,i.model,i.getCursorStates().map((t=>t.modelState.selection)));s&&t.pushUndoStop(),t.executeCommands(this.id,n),i.setPrevEditOperationType(3)}}),t.Undo=new class extends nS{constructor(){super(gu)}runDOMCommand(t){t.ownerDocument.execCommand("undo")}runEditorCommand(t,i,e){if(i.hasModel()&&!0!==i.getOption(90))return i.getModel().undo()}},t.Redo=new class extends nS{constructor(){super(mu)}runDOMCommand(t){t.ownerDocument.execCommand("redo")}runEditorCommand(t,i,e){if(i.hasModel()&&!0!==i.getOption(90))return i.getModel().redo()}}}(cS||(cS={}));class lS extends tu{constructor(t,i,e){super({id:t,precondition:void 0,metadata:e}),this._handlerId=i}runCommand(t,i){const e=t.get(pr).getFocusedCodeEditor();e&&e.trigger("keyboard",this._handlerId,i)}}function uS(t,i){hS(new lS("default:"+t,t)),hS(new lS(t,t,i))}uS("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),uS("replacePreviousChar"),uS("compositionType"),uS("compositionStart"),uS("compositionEnd"),uS("paste"),uS("cut");class dS{constructor(t,i,e,s){this.configuration=t,this.viewModel=i,this.userInputEvents=e,this.commandDelegate=s}paste(t,i,e,s){this.commandDelegate.paste(t,i,e,s)}type(t){this.commandDelegate.type(t)}compositionType(t,i,e,s){this.commandDelegate.compositionType(t,i,e,s)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(t){eS.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:t})}_validateViewColumn(t){const i=this.viewModel.getLineMinColumn(t.lineNumber);return t.column=4?this._selectAll():3===t.mouseDownCount?this._hasMulticursorModifier(t)?t.inSelectionMode?this._lastCursorLineSelectDrag(t.position,t.revealType):this._lastCursorLineSelect(t.position,t.revealType):t.inSelectionMode?this._lineSelectDrag(t.position,t.revealType):this._lineSelect(t.position,t.revealType):2===t.mouseDownCount?t.onInjectedText||(this._hasMulticursorModifier(t)?this._lastCursorWordSelect(t.position,t.revealType):t.inSelectionMode?this._wordSelectDrag(t.position,t.revealType):this._wordSelect(t.position,t.revealType)):this._hasMulticursorModifier(t)?this._hasNonMulticursorModifier(t)||(t.shiftKey?this._columnSelect(t.position,t.mouseColumn,!0):t.inSelectionMode?this._lastCursorMoveToSelect(t.position,t.revealType):this._createCursor(t.position,!1)):t.inSelectionMode?t.altKey||s?this._columnSelect(t.position,t.mouseColumn,!0):this._moveToSelect(t.position,t.revealType):this.moveTo(t.position,t.revealType)}_usualArgs(t,i){return t=this._validateViewColumn(t),{source:"mouse",position:this._convertViewToModelPosition(t),viewPosition:t,revealType:i}}moveTo(t,i){eS.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_moveToSelect(t,i){eS.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_columnSelect(t,i,e){t=this._validateViewColumn(t),eS.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(t),viewPosition:t,mouseColumn:i,doColumnSelect:e})}_createCursor(t,i){t=this._validateViewColumn(t),eS.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(t),viewPosition:t,wholeLine:i})}_lastCursorMoveToSelect(t,i){eS.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_wordSelect(t,i){eS.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_wordSelectDrag(t,i){eS.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_lastCursorWordSelect(t,i){eS.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_lineSelect(t,i){eS.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_lineSelectDrag(t,i){eS.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_lastCursorLineSelect(t,i){eS.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_lastCursorLineSelectDrag(t,i){eS.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_selectAll(){eS.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(t){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t)}emitKeyDown(t){this.userInputEvents.emitKeyDown(t)}emitKeyUp(t){this.userInputEvents.emitKeyUp(t)}emitContextMenu(t){this.userInputEvents.emitContextMenu(t)}emitMouseMove(t){this.userInputEvents.emitMouseMove(t)}emitMouseLeave(t){this.userInputEvents.emitMouseLeave(t)}emitMouseUp(t){this.userInputEvents.emitMouseUp(t)}emitMouseDown(t){this.userInputEvents.emitMouseDown(t)}emitMouseDrag(t){this.userInputEvents.emitMouseDrag(t)}emitMouseDrop(t){this.userInputEvents.emitMouseDrop(t)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(t){this.userInputEvents.emitMouseWheel(t)}}class fS{constructor(t){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=t}emitKeyDown(t){var i;null===(i=this.onKeyDown)||void 0===i||i.call(this,t)}emitKeyUp(t){var i;null===(i=this.onKeyUp)||void 0===i||i.call(this,t)}emitContextMenu(t){var i;null===(i=this.onContextMenu)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseMove(t){var i;null===(i=this.onMouseMove)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseLeave(t){var i;null===(i=this.onMouseLeave)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseDown(t){var i;null===(i=this.onMouseDown)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseUp(t){var i;null===(i=this.onMouseUp)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseDrag(t){var i;null===(i=this.onMouseDrag)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseDrop(t){var i;null===(i=this.onMouseDrop)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseDropCanceled(){var t;null===(t=this.onMouseDropCanceled)||void 0===t||t.call(this)}emitMouseWheel(t){var i;null===(i=this.onMouseWheel)||void 0===i||i.call(this,t)}_convertViewToModelMouseEvent(t){return t.target?{event:t.event,target:this._convertViewToModelMouseTarget(t.target)}:t}_convertViewToModelMouseTarget(t){return fS.convertViewToModelMouseTarget(t,this._coordinatesConverter)}static convertViewToModelMouseTarget(t,i){const e={...t};return e.position&&(e.position=i.convertViewPositionToModelPosition(e.position)),e.range&&(e.range=i.convertViewRangeToModelRange(e.range)),5!==e.type&&8!==e.type||(e.detail=this.convertViewToModelViewZoneData(e.detail,i)),e}static convertViewToModelViewZoneData(t,i){return{viewZoneId:t.viewZoneId,positionBefore:t.positionBefore?i.convertViewPositionToModelPosition(t.positionBefore):t.positionBefore,positionAfter:t.positionAfter?i.convertViewPositionToModelPosition(t.positionAfter):t.positionAfter,position:i.convertViewPositionToModelPosition(t.position),afterLineNumber:i.convertViewPositionToModelPosition(new Ms(t.afterLineNumber,1)).lineNumber}}}class pS{constructor(t){this._createLine=t,this._set(1,[])}flush(){this._set(1,[])}_set(t,i){this._lines=i,this._rendLineNumberStart=t}_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(t){const i=t-this._rendLineNumberStart;if(i<0||i>=this._lines.length)throw new Gi("Illegal value for lineNumber");return this._lines[i]}onLinesDeleted(t,i){if(0===this.getCount())return null;const e=this.getStartLineNumber(),s=this.getEndLineNumber();if(is)return null;let n=0,o=0;for(let r=e;r<=s;r++)t<=r&&r<=i&&(0===o?(n=r-this._rendLineNumberStart,o=1):o++);if(t=s&&i<=n&&(this._lines[i-this._rendLineNumberStart].onContentChanged(),o=!0);return o}onLinesInserted(t,i){if(0===this.getCount())return null;const e=i-t+1,s=this.getStartLineNumber(),n=this.getEndLineNumber();if(t<=s)return this._rendLineNumberStart+=e,null;if(t>n)return null;if(e+t>n)return this._lines.splice(t-this._rendLineNumberStart,n-t+1);const o=[];for(let t=0;te)continue;const r=Math.max(i,o.fromLineNumber),h=Math.min(e,o.toLineNumber);for(let t=r;t<=h;t++)this._lines[t-this._rendLineNumberStart].onTokensChanged(),s=!0}return s}}class gS{constructor(t){this._host=t,this.domNode=this._createDomNode(),this._linesCollection=new pS((()=>this._host.createVisibleLine()))}_createDomNode(){const t=ir(document.createElement("div"));return t.setClassName("view-layer"),t.setPosition("absolute"),t.domNode.setAttribute("role","presentation"),t.domNode.setAttribute("aria-hidden","true"),t}onConfigurationChanged(t){return!!t.hasChanged(143)}onFlushed(t){return this._linesCollection.flush(),!0}onLinesChanged(t){return this._linesCollection.onLinesChanged(t.fromLineNumber,t.count)}onLinesDeleted(t){const i=this._linesCollection.onLinesDeleted(t.fromLineNumber,t.toLineNumber);if(i)for(let t=0,e=i.length;ti){const t=i,o=Math.min(e,n.rendLineNumberStart-1);t<=o&&(this._insertLinesBefore(n,t,o,s,i),n.linesLength+=o-t+1)}else if(n.rendLineNumberStart0&&(this._removeLinesBefore(n,t),n.linesLength-=t)}if(n.rendLineNumberStart=i,n.rendLineNumberStart+n.linesLength-1e){const t=Math.max(0,e-n.rendLineNumberStart+1),i=n.linesLength-1-t+1;i>0&&(this._removeLinesAfter(n,i),n.linesLength-=i)}return this._finishRendering(n,!1,s),n}_renderUntouchedLines(t,i,e,s,n){const o=t.rendLineNumberStart,r=t.lines;for(let t=i;t<=e;t++){const i=o+t;r[t].layoutLine(i,s[i-n])}}_insertLinesBefore(t,i,e,s,n){const o=[];let r=0;for(let t=i;t<=e;t++)o[r++]=this.host.createVisibleLine();t.lines=o.concat(t.lines)}_removeLinesBefore(t,i){for(let e=0;e=0;i--)s[i]&&(t.lines[i].setDomNode(o),o=o.previousSibling)}_finishRenderingInvalidLines(t,i,e){const s=document.createElement("div");mS._ttPolicy&&(i=mS._ttPolicy.createHTML(i)),s.innerHTML=i;for(let i=0;it}),mS._sb=new id(1e5);class wS extends Ry{constructor(t){super(t),this._visibleLines=new gS(this),this.domNode=this._visibleLines.domNode;const i=this._context.configuration.options.get(50);er(this.domNode,i),this._dynamicOverlays=[],this._isFocused=!1,this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let t=0,i=this._dynamicOverlays.length;tt.shouldRender()));for(let e=0,s=i.length;e'),s.appendString(n),s.appendString(""),!0)}layoutLine(t,i){this._domNode&&(this._domNode.setTop(i),this._domNode.setHeight(this._lineHeight))}}class bS extends wS{constructor(t){super(t);const i=this._context.configuration.options.get(143);this._contentWidth=i.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(t){const i=this._context.configuration.options.get(143);return this._contentWidth=i.contentWidth,super.onConfigurationChanged(t)||!0}onScrollChanged(t){return super.onScrollChanged(t)||t.scrollWidthChanged}_viewOverlaysRender(t){super._viewOverlaysRender(t),this.domNode.setWidth(Math.max(t.scrollWidth,this._contentWidth))}}class yS extends wS{constructor(t){super(t);const i=this._context.configuration.options,e=i.get(143);this._contentLeft=e.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),er(this.domNode,i.get(50))}onConfigurationChanged(t){const i=this._context.configuration.options;er(this.domNode,i.get(50));const e=i.get(143);return this._contentLeft=e.contentLeft,super.onConfigurationChanged(t)||!0}onScrollChanged(t){return super.onScrollChanged(t)||t.scrollHeightChanged}_viewOverlaysRender(t){super._viewOverlaysRender(t);const i=Math.min(t.scrollHeight,1e6);this.domNode.setHeight(i),this.domNode.setWidth(this._contentLeft)}}class kS extends Ry{constructor(t,i){super(t),this._viewDomNode=i,this._widgets={},this.domNode=ir(document.createElement("div")),Oy.write(this.domNode,1),this.domNode.setClassName("contentWidgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this.overflowingContentWidgetsDomNode=ir(document.createElement("div")),Oy.write(this.overflowingContentWidgetsDomNode,2),this.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets")}dispose(){super.dispose(),this._widgets={}}onConfigurationChanged(t){const i=Object.keys(this._widgets);for(const e of i)this._widgets[e].onConfigurationChanged(t);return!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLineMappingChanged(t){return this._updateAnchorsViewPositions(),!0}onLinesChanged(t){return this._updateAnchorsViewPositions(),!0}onLinesDeleted(t){return this._updateAnchorsViewPositions(),!0}onLinesInserted(t){return this._updateAnchorsViewPositions(),!0}onScrollChanged(t){return!0}onZonesChanged(t){return!0}_updateAnchorsViewPositions(){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].updateAnchorViewPosition()}addWidget(t){const i=new xS(this._context,this._viewDomNode,t);this._widgets[i.id]=i,i.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(i.domNode):this.domNode.appendChild(i.domNode),this.setShouldRender()}setWidgetPosition(t,i,e,s,n){this._widgets[t.getId()].setPosition(i,e,s,n),this.setShouldRender()}removeWidget(t){const i=t.getId();if(this._widgets.hasOwnProperty(i)){const t=this._widgets[i];delete this._widgets[i];const e=t.domNode.domNode;e.parentNode.removeChild(e),e.removeAttribute("monaco-visible-content-widget"),this.setShouldRender()}}shouldSuppressMouseDownOnWidget(t){return!!this._widgets.hasOwnProperty(t)&&this._widgets[t].suppressMouseDown}onBeforeRender(t){const i=Object.keys(this._widgets);for(const e of i)this._widgets[e].onBeforeRender(t)}prepareRender(t){const i=Object.keys(this._widgets);for(const e of i)this._widgets[e].prepareRender(t)}render(t){const i=Object.keys(this._widgets);for(const e of i)this._widgets[e].render(t)}}class xS{constructor(t,i,e){this._primaryAnchor=new CS(null,null),this._secondaryAnchor=new CS(null,null),this._context=t,this._viewDomNode=i,this._actual=e,this.domNode=ir(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1;const s=this._context.configuration.options,n=s.get(143);this._fixedOverflowWidgets=s.get(42),this._contentWidth=n.contentWidth,this._contentLeft=n.contentLeft,this._lineHeight=s.get(66),this._affinity=null,this._preference=[],this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1,this._maxWidth=this._getMaxWidth(),this._isVisible=!1,this._renderData=null,this.domNode.setPosition(this._fixedOverflowWidgets&&this.allowEditorOverflow?"fixed":"absolute"),this.domNode.setDisplay("none"),this.domNode.setVisibility("hidden"),this.domNode.setAttribute("widgetId",this.id),this.domNode.setMaxWidth(this._maxWidth)}onConfigurationChanged(t){const i=this._context.configuration.options;if(this._lineHeight=i.get(66),t.hasChanged(143)){const t=i.get(143);this._contentLeft=t.contentLeft,this._contentWidth=t.contentWidth,this._maxWidth=this._getMaxWidth()}}updateAnchorViewPosition(){this._setPosition(this._affinity,this._primaryAnchor.modelPosition,this._secondaryAnchor.modelPosition)}_setPosition(t,i,e){function s(t,i,e){if(!t)return new CS(null,null);const s=i.model.validatePosition(t);if(i.coordinatesConverter.modelPositionIsVisible(s)){const n=i.coordinatesConverter.convertModelPositionToViewPosition(s,null!=e?e:void 0);return new CS(t,n)}return new CS(t,null)}this._affinity=t,this._primaryAnchor=s(i,this._context.viewModel,this._affinity),this._secondaryAnchor=s(e,this._context.viewModel,this._affinity)}_getMaxWidth(){const t=this.domNode.domNode.ownerDocument,i=t.defaultView;return this.allowEditorOverflow?(null==i?void 0:i.innerWidth)||t.documentElement.offsetWidth||t.body.offsetWidth:this._contentWidth}setPosition(t,i,e,s){this._setPosition(s,t,i),this._preference=e,this.domNode.setDisplay(this._primaryAnchor.viewPosition&&this._preference&&this._preference.length>0?"block":"none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(t,i,e,s){const n=t.top,o=t.top+t.height;let r=t.left;return r+i>s.scrollLeft+s.viewportWidth&&(r=s.scrollLeft+s.viewportWidth-i),r=e,aboveTop:n-e,fitsBelow:s.viewportHeight-o>=e,belowTop:o,left:r}}_layoutHorizontalSegmentInPage(t,i,e,s){var n;const o=Math.max(15,i.left-s),r=Math.min(i.left+i.width+s,t.width-15),h=this._viewDomNode.domNode.ownerDocument.defaultView;let c=i.left+e-(null!==(n=null==h?void 0:h.scrollX)&&void 0!==n?n:0);if(c+s>r){const t=c-(r-s);c-=t,e-=t}if(c=22,w=d+e<=f.height-22;return this._fixedOverflowWidgets?{fitsAbove:m,aboveTop:Math.max(u,22),fitsBelow:w,belowTop:d,left:g}:{fitsAbove:m,aboveTop:r,fitsBelow:w,belowTop:h,left:p}}_prepareRenderWidgetAtExactPositionOverflowing(t){return new SS(t.top,t.left+this._contentLeft)}_getAnchorsCoordinates(t){var i,e;return{primary:s(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),secondary:s((null===(i=this._secondaryAnchor.viewPosition)||void 0===i?void 0:i.lineNumber)===(null===(e=this._primaryAnchor.viewPosition)||void 0===e?void 0:e.lineNumber)?this._secondaryAnchor.viewPosition:null,this._affinity,this._lineHeight)};function s(i,e,s){if(!i)return null;const n=t.visibleRangeForPosition(i);if(!n)return null;const o=1===i.column&&3===e?0:n.left,r=t.getVerticalOffsetForLineNumber(i.lineNumber)-t.scrollTop;return new DS(r,o,s)}}_reduceAnchorCoordinates(t,i,e){if(!i)return t;const s=this._context.configuration.options.get(50);let n=i.left;return n=nt.endLineNumber||this.domNode.setMaxWidth(this._maxWidth))}prepareRender(t){this._renderData=this._prepareRenderWidget(t)}render(t){if(!this._renderData)return this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this.domNode.setVisibility("hidden")),void("function"==typeof this._actual.afterRender&&ES(this._actual.afterRender,this._actual,null));this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+t.scrollTop-t.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),"function"==typeof this._actual.afterRender&&ES(this._actual.afterRender,this._actual,this._renderData.position)}}class CS{constructor(t,i){this.modelPosition=t,this.viewPosition=i}}class SS{constructor(t,i){this.top=t,this.left=i,this._coordinateBrand=void 0}}class DS{constructor(t,i,e){this.top=t,this.left=i,this.height=e,this._anchorCoordinateBrand=void 0}}function ES(t,i,...e){try{return t.call(i,...e)}catch(t){return null}}class AS extends Xk{constructor(t){super(),this._context=t;const i=this._context.configuration.options,e=i.get(143);this._lineHeight=i.get(66),this._renderLineHighlight=i.get(95),this._renderLineHighlightOnlyWhenFocus=i.get(96),this._contentLeft=e.contentLeft,this._contentWidth=e.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new Fs(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let t=!1;const i=this._selections.map((t=>t.positionLineNumber));i.sort(((t,i)=>t-i)),u(this._cursorLineNumbers,i)||(this._cursorLineNumbers=i,t=!0);const e=this._selections.every((t=>t.isEmpty()));return this._selectionIsEmpty!==e&&(this._selectionIsEmpty=e,t=!0),t}onThemeChanged(t){return this._readFromSelections()}onConfigurationChanged(t){const i=this._context.configuration.options,e=i.get(143);return this._lineHeight=i.get(66),this._renderLineHighlight=i.get(95),this._renderLineHighlightOnlyWhenFocus=i.get(96),this._contentLeft=e.contentLeft,this._contentWidth=e.contentWidth,!0}onCursorStateChanged(t){return this._selections=t.selections,this._readFromSelections()}onFlushed(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollWidthChanged||t.scrollTopChanged}onZonesChanged(t){return!0}onFocusChanged(t){return!!this._renderLineHighlightOnlyWhenFocus&&(this._focused=t.isFocused,!0)}prepareRender(t){if(!this._shouldRenderThis())return void(this._renderData=null);const i=this._renderOne(t),e=t.visibleRange.startLineNumber,s=t.visibleRange.endLineNumber,n=this._cursorLineNumbers.length;let o=0;const r=[];for(let t=e;t<=s;t++){const s=t-e;for(;o=this._renderData.length?"":this._renderData[e]}_shouldRenderInMargin(){return("gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class MS extends AS{_renderOne(t){return`
`}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class LS extends AS{_renderOne(t){return`
`}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}ox(((t,i)=>{const e=t.getColor(hx);if(e&&(i.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${e}; }`),i.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${e}; border: none; }`)),!e||e.isTransparent()||t.defines(cx)){const e=t.getColor(cx);e&&(i.addRule(`.monaco-editor .view-overlays .current-line { border: 2px solid ${e}; }`),i.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid ${e}; }`),Hy(t.type)&&(i.addRule(".monaco-editor .view-overlays .current-line { border-width: 1px; }"),i.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }")))}}));class FS extends Xk{constructor(t){super(),this._context=t;const i=this._context.configuration.options;this._lineHeight=i.get(66),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){const i=this._context.configuration.options;return this._lineHeight=i.get(66),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged||t.scrollWidthChanged}onZonesChanged(t){return!0}prepareRender(t){const i=t.getDecorationsInViewport();let e=[],s=0;for(let t=0,n=i.length;t{if(t.options.zIndexi.options.zIndex)return 1;const e=t.options.className,s=i.options.className;return es?1:Ls.compareRangesUsingStarts(t.range,i.range)}));const n=t.visibleRange.startLineNumber,o=t.visibleRange.endLineNumber,r=[];for(let t=n;t<=o;t++)r[t-n]="";this._renderWholeLineDecorations(t,e,r),this._renderNormalDecorations(t,e,r),this._renderResult=r}_renderWholeLineDecorations(t,i,e){const s=String(this._lineHeight),n=t.visibleRange.startLineNumber,o=t.visibleRange.endLineNumber;for(let t=0,r=i.length;t',c=Math.max(r.range.startLineNumber,n),a=Math.min(r.range.endLineNumber,o);for(let t=c;t<=a;t++)e[t-n]+=h}}_renderNormalDecorations(t,i,e){var s;const n=String(this._lineHeight),o=t.visibleRange.startLineNumber;let r=null,h=!1,c=null,a=!1;for(let l=0,u=i.length;l';h[a]+=l}}}render(t,i){if(!this._renderResult)return"";const e=i-t;return e<0||e>=this._renderResult.length?"":this._renderResult[e]}}class TS extends Ry{constructor(t,i,e,s){super(t);const n=this._context.configuration.options,o=n.get(102),r=n.get(74),h=n.get(40),c=n.get(105),a={listenOnDomNode:e.domNode,className:"editor-scrollable "+ex(t.theme.type),useShadows:!1,lazyRender:!0,vertical:o.vertical,horizontal:o.horizontal,verticalHasArrows:o.verticalHasArrows,horizontalHasArrows:o.horizontalHasArrows,verticalScrollbarSize:o.verticalScrollbarSize,verticalSliderSize:o.verticalSliderSize,horizontalScrollbarSize:o.horizontalScrollbarSize,horizontalSliderSize:o.horizontalSliderSize,handleMouseWheel:o.handleMouseWheel,alwaysConsumeMouseWheel:o.alwaysConsumeMouseWheel,arrowSize:o.arrowSize,mouseWheelScrollSensitivity:r,fastScrollSensitivity:h,scrollPredominantAxis:c,scrollByPage:o.scrollByPage};this.scrollbar=this._register(new Tk(i.domNode,a,this._context.viewLayout.getScrollable())),Oy.write(this.scrollbar.getDomNode(),5),this.scrollbarDomNode=ir(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const l=(t,i,e)=>{const s={};if(i){const i=t.scrollTop;i&&(s.scrollTop=this._context.viewLayout.getCurrentScrollTop()+i,t.scrollTop=0)}if(e){const i=t.scrollLeft;i&&(s.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+i,t.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(s,1)};this._register(Ua(e.domNode,"scroll",(()=>l(e.domNode,!0,!0)))),this._register(Ua(i.domNode,"scroll",(()=>l(i.domNode,!0,!1)))),this._register(Ua(s.domNode,"scroll",(()=>l(s.domNode,!0,!1)))),this._register(Ua(this.scrollbarDomNode.domNode,"scroll",(()=>l(this.scrollbarDomNode.domNode,!0,!1))))}dispose(){super.dispose()}_setLayout(){const t=this._context.configuration.options,i=t.get(143);this.scrollbarDomNode.setLeft(i.contentLeft);const e=t.get(72);this.scrollbarDomNode.setWidth("right"===e.side?i.contentWidth+i.minimap.minimapWidth:i.contentWidth),this.scrollbarDomNode.setHeight(i.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(t){this.scrollbar.delegateVerticalScrollbarPointerDown(t)}delegateScrollFromMouseWheelEvent(t){this.scrollbar.delegateScrollFromMouseWheelEvent(t)}onConfigurationChanged(t){if(t.hasChanged(102)||t.hasChanged(74)||t.hasChanged(40)){const t=this._context.configuration.options,i=t.get(102),e=t.get(74),s=t.get(40),n=t.get(105);this.scrollbar.updateOptions({vertical:i.vertical,horizontal:i.horizontal,verticalScrollbarSize:i.verticalScrollbarSize,horizontalScrollbarSize:i.horizontalScrollbarSize,scrollByPage:i.scrollByPage,handleMouseWheel:i.handleMouseWheel,mouseWheelScrollSensitivity:e,fastScrollSensitivity:s,scrollPredominantAxis:n})}return t.hasChanged(143)&&this._setLayout(),!0}onScrollChanged(t){return!0}onThemeChanged(t){return this.scrollbar.updateClassName("editor-scrollable "+ex(this._context.theme.type)),!0}prepareRender(t){}render(t){this.scrollbar.renderNow()}}class RS extends ie{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}function OS(t,i){let e=0,s=0;const n=t.length;for(;ss)throw new Gi("Illegal value for lineNumber");const n=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,o=Boolean(n&&n.offSide);let r=-2,h=-1,c=-2,a=-1;const l=t=>{if(-1!==r&&(-2===r||r>t-1)){r=-1,h=-1;for(let i=t-2;i>=0;i--){const t=this._computeIndentLevel(i);if(t>=0){r=i,h=t;break}}}if(-2===c){c=-1,a=-1;for(let i=t;i=0){c=i,a=t;break}}}};let u=-2,d=-1,f=-2,p=-1;const g=t=>{if(-2===u){u=-1,d=-1;for(let i=t-2;i>=0;i--){const t=this._computeIndentLevel(i);if(t>=0){u=i,d=t;break}}}if(-1!==f&&(-2===f||f=0){f=i,p=t;break}}}};let m=0,w=!0,v=0,b=!0,y=0,k=0;for(let n=0;w||b;n++){const r=t-n,f=t+n;n>1&&(r<1||r1&&(f>s||f>e)&&(b=!1),n>5e4&&(w=!1,b=!1);let x=-1;if(w&&r>=1){const t=this._computeIndentLevel(r-1);t>=0?(c=r-1,a=t,x=Math.ceil(t/this.textModel.getOptions().indentSize)):(l(r),x=this._getIndentLevelForWhitespaceLine(o,h,a))}let C=-1;if(b&&f<=s){const t=this._computeIndentLevel(f-1);t>=0?(u=f-1,d=t,C=Math.ceil(t/this.textModel.getOptions().indentSize)):(g(f),C=this._getIndentLevelForWhitespaceLine(o,d,p))}if(0!==n){if(1===n){if(f<=s&&C>=0&&k+1===C){w=!1,m=f,v=f,y=C;continue}if(r>=1&&x>=0&&x-1===k){b=!1,m=r,v=r,y=x;continue}if(m=t,v=t,y=k,0===y)return{startLineNumber:m,endLineNumber:v,indent:y}}w&&(x>=y?m=r:w=!1),b&&(C>=y?v=f:b=!1)}else k=x}return{startLineNumber:m,endLineNumber:v,indent:y}}getLinesBracketGuides(t,i,e,s){var n;const o=[];for(let e=t;e<=i;e++)o.push([]);const r=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new Ls(t,1,i,this.textModel.getLineMaxColumn(i))).toArray();let h;e&&r.length>0&&(h=null===(n=hp((t<=e.lineNumber&&e.lineNumber<=i?r:this.textModel.bracketPairs.getBracketPairsInRange(Ls.fromPositions(e)).toArray()).filter((t=>Ls.strictContainsPosition(t.range,e))),(()=>!0)))||void 0===n?void 0:n.range);const c=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,a=new BS;for(const e of r){if(!e.closingBracketRange)continue;const n=h&&e.range.equalsRange(h);if(!n&&!s.includeInactive)continue;const r=a.getInlineClassName(e.nestingLevel,e.nestingLevelOfEqualBracketType,c)+(s.highlightActive&&n?" "+a.activeClassName:""),l=e.openingBracketRange.getStartPosition(),u=e.closingBracketRange.getStartPosition(),d=s.horizontalGuides===aS.Enabled||s.horizontalGuides===aS.EnabledForActive&&n;if(e.range.startLineNumber===e.range.endLineNumber){d&&o[e.range.startLineNumber-t].push(new IS(-1,e.openingBracketRange.getEndPosition().column,r,new _S(!1,u.column),-1,-1));continue}const f=this.getVisibleColumnFromPosition(u),p=this.getVisibleColumnFromPosition(e.openingBracketRange.getStartPosition()),g=Math.min(p,f,e.minVisibleColumnIndentation+1);let m=!1;io(this.textModel.getLineContent(e.closingBracketRange.startLineNumber))=t&&p>g&&o[l.lineNumber-t].push(new IS(g,-1,r,new _S(!1,l.column),-1,-1)),u.lineNumber<=i&&f>g&&o[u.lineNumber-t].push(new IS(g,-1,r,new _S(!m,u.column),-1,-1)))}for(const t of o)t.sort(((t,i)=>t.visibleColumn-i.visibleColumn));return o}getVisibleColumnFromPosition(t){return tk.visibleColumnFromColumn(this.textModel.getLineContent(t.lineNumber),t.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(t,i){this.assertNotDisposed();const e=this.textModel.getLineCount();if(t<1||t>e)throw new Error("Illegal value for startLineNumber");if(i<1||i>e)throw new Error("Illegal value for endLineNumber");const s=this.textModel.getOptions(),n=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,o=Boolean(n&&n.offSide),r=new Array(i-t+1);let h=-2,c=-1,a=-2,l=-1;for(let n=t;n<=i;n++){const i=n-t,u=this._computeIndentLevel(n-1);if(u>=0)h=n-1,c=u,r[i]=Math.ceil(u/s.indentSize);else{if(-2===h){h=-1,c=-1;for(let t=n-2;t>=0;t--){const i=this._computeIndentLevel(t);if(i>=0){h=t,c=i;break}}}if(-1!==a&&(-2===a||a=0){a=t,l=i;break}}}r[i]=this._getIndentLevelForWhitespaceLine(o,c,l)}}return r}_getIndentLevelForWhitespaceLine(t,i,e){const s=this.textModel.getOptions();return-1===i||-1===e?0:ih||this._maxIndentLeft>0&&e>this._maxIndentLeft)break;const o=i.horizontalLine?i.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",r=i.horizontalLine?(null!==(n=null===(s=t.visibleRangeForPosition(new Ms(a,i.horizontalLine.endColumn)))||void 0===s?void 0:s.left)&&void 0!==n?n:e+this._spaceWidth)-e:this._spaceWidth;f+=`
`}u[r]=f}this._renderResult=u}getGuidesByLine(t,i,e){const s=!1!==this._bracketPairGuideOptions.bracketPairs?this._context.viewModel.getBracketGuidesInRangeByLine(t,i,e,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:!0===this._bracketPairGuideOptions.bracketPairsHorizontal?aS.Enabled:"active"===this._bracketPairGuideOptions.bracketPairsHorizontal?aS.EnabledForActive:aS.Disabled,includeInactive:!0===this._bracketPairGuideOptions.bracketPairs}):null,n=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(t,i):null;let o=0,r=0,h=0;if(!1!==this._bracketPairGuideOptions.highlightActiveIndentation&&e){const s=this._context.viewModel.getActiveIndentGuide(e.lineNumber,t,i);o=s.startLineNumber,r=s.endLineNumber,h=s.indent}const{indentSize:c}=this._context.viewModel.model.getOptions(),a=[];for(let e=t;e<=i;e++){const i=new Array;a.push(i);const l=s?s[e-t]:[],u=new N(l),d=n?n[e-t]:0;for(let t=1;t<=d;t++){const s=(t-1)*c+1,n=("always"===this._bracketPairGuideOptions.highlightActiveIndentation||0===l.length)&&o<=e&&e<=r&&t===h;i.push(...u.takeWhile((t=>t.visibleColumn!0))||[])}return a}render(t,i){if(!this._renderResult)return"";const e=i-t;return e<0||e>=this._renderResult.length?"":this._renderResult[e]}}function $S(t){if(!t||!t.isTransparent())return t}ox(((t,i)=>{const e=[{bracketColor:Bx,guideColor:Vx,guideColorActive:Qx},{bracketColor:Px,guideColor:Ux,guideColorActive:Jx},{bracketColor:$x,guideColor:qx,guideColorActive:Yx},{bracketColor:Wx,guideColor:Kx,guideColorActive:Xx},{bracketColor:jx,guideColor:Gx,guideColorActive:tC},{bracketColor:zx,guideColor:Zx,guideColorActive:iC}],s=new BS,n=[{indentColor:gx,indentColorActive:kx},{indentColor:mx,indentColorActive:xx},{indentColor:wx,indentColorActive:Cx},{indentColor:vx,indentColorActive:Sx},{indentColor:bx,indentColorActive:Dx},{indentColor:yx,indentColorActive:Ex}],o=e.map((i=>{var e,s;const n=t.getColor(i.bracketColor),o=t.getColor(i.guideColor),r=t.getColor(i.guideColorActive),h=$S(null!==(e=$S(o))&&void 0!==e?e:null==n?void 0:n.transparent(.3)),c=$S(null!==(s=$S(r))&&void 0!==s?s:n);if(h&&c)return{guideColor:h,guideColorActive:c}})).filter(U),r=n.map((i=>{const e=t.getColor(i.indentColor),s=t.getColor(i.indentColorActive),n=$S(e),o=$S(s);if(n&&o)return{indentColor:n,indentColorActive:o}})).filter(U);if(o.length>0){for(let t=0;t<30;t++){const e=o[t%o.length];i.addRule(`.monaco-editor .${s.getInlineClassNameOfLevel(t).replace(/ /g,".")} { --guide-color: ${e.guideColor}; --guide-color-active: ${e.guideColorActive}; }`)}i.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),i.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),i.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),i.addRule(`.monaco-editor .vertical.${s.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),i.addRule(`.monaco-editor .horizontal-top.${s.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),i.addRule(`.monaco-editor .horizontal-bottom.${s.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(r.length>0){for(let t=0;t<30;t++){const e=r[t%r.length];i.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${t} { --indent-color: ${e.indentColor}; --indent-color-active: ${e.indentColorActive}; }`)}i.addRule(".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }"),i.addRule(".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }")}}));class WS{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const t=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=t.left,this._clientRectScale=t.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(t,i){this._domNode=t,this.endNode=i,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}class jS{constructor(){this._currentVisibleRange=new Ls(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(t){this._currentVisibleRange=t}}class zS{constructor(t,i,e,s,n,o,r){this.minimalReveal=t,this.lineNumber=i,this.startColumn=e,this.endColumn=s,this.startScrollTop=n,this.stopScrollTop=o,this.scrollType=r,this.type="range",this.minLineNumber=i,this.maxLineNumber=i}}class HS{constructor(t,i,e,s,n){this.minimalReveal=t,this.selections=i,this.startScrollTop=e,this.stopScrollTop=s,this.scrollType=n,this.type="selections";let o=i[0].startLineNumber,r=i[0].endLineNumber;for(let t=1,e=i.length;t{this._updateLineWidthsSlow()}),200),this._asyncCheckMonospaceFontAssumptions=new gc((()=>{this._checkMonospaceFontAssumptions()}),2e3),this._lastRenderedData=new jS,this._horizontalRevealRequest=null,this._stickyScrollEnabled=s.get(114).enabled,this._maxNumberStickyLines=s.get(114).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new Gy(this._viewLineOptions)}onConfigurationChanged(t){this._visibleLines.onConfigurationChanged(t),t.hasChanged(144)&&(this._maxLineWidth=0);const i=this._context.configuration.options,e=i.get(50),s=i.get(144);return this._lineHeight=i.get(66),this._typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this._isViewportWrapping=s.isViewportWrapping,this._revealHorizontalRightPadding=i.get(99),this._cursorSurroundingLines=i.get(29),this._cursorSurroundingLinesStyle=i.get(30),this._canUseLayerHinting=!i.get(32),this._stickyScrollEnabled=i.get(114).enabled,this._maxNumberStickyLines=i.get(114).maxLineCount,er(this.domNode,e),this._onOptionsMaybeChanged(),t.hasChanged(143)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const t=new Ky(this._context.configuration,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;const i=this._visibleLines.getStartLineNumber(),e=this._visibleLines.getEndLineNumber();for(let t=i;t<=e;t++)this._visibleLines.getVisibleLine(t).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(t){const i=this._visibleLines.getStartLineNumber(),e=this._visibleLines.getEndLineNumber();let s=!1;for(let t=i;t<=e;t++)s=this._visibleLines.getVisibleLine(t).onSelectionChanged()||s;return s}onDecorationsChanged(t){{const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let e=t;e<=i;e++)this._visibleLines.getVisibleLine(e).onDecorationsChanged()}return!0}onFlushed(t){const i=this._visibleLines.onFlushed(t);return this._maxLineWidth=0,i}onLinesChanged(t){return this._visibleLines.onLinesChanged(t)}onLinesDeleted(t){return this._visibleLines.onLinesDeleted(t)}onLinesInserted(t){return this._visibleLines.onLinesInserted(t)}onRevealRangeRequest(t){const i=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),t.source,t.minimalReveal,t.range,t.selections,t.verticalType);if(-1===i)return!1;let e=this._context.viewLayout.validateScrollPosition({scrollTop:i});t.revealHorizontal?t.range&&t.range.startLineNumber!==t.range.endLineNumber?e={scrollTop:e.scrollTop,scrollLeft:0}:t.range?this._horizontalRevealRequest=new zS(t.minimalReveal,t.range.startLineNumber,t.range.startColumn,t.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),e.scrollTop,t.scrollType):t.selections&&t.selections.length>0&&(this._horizontalRevealRequest=new HS(t.minimalReveal,t.selections,this._context.viewLayout.getCurrentScrollTop(),e.scrollTop,t.scrollType)):this._horizontalRevealRequest=null;const s=Math.abs(this._context.viewLayout.getCurrentScrollTop()-e.scrollTop);return this._context.viewModel.viewLayout.setScrollPosition(e,s<=this._lineHeight?1:t.scrollType),!0}onScrollChanged(t){if(this._horizontalRevealRequest&&t.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&t.scrollTopChanged){const i=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),e=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(t.scrollTope)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(t.scrollWidth),this._visibleLines.onScrollChanged(t)||!0}onTokensChanged(t){return this._visibleLines.onTokensChanged(t)}onZonesChanged(t){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(t)}onThemeChanged(t){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(t,i){const e=this._getViewLineDomNode(t);if(null===e)return null;const s=this._getLineNumberFor(e);if(-1===s)return null;if(s<1||s>this._context.viewModel.getLineCount())return null;if(1===this._context.viewModel.getLineMaxColumn(s))return new Ms(s,1);const n=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber();if(so)return null;let r=this._visibleLines.getVisibleLine(s).getColumnOfNodeOffset(t,i);const h=this._context.viewModel.getLineMinColumn(s);return re)return-1;const s=new WS(this.domNode.domNode,this._textRangeRestingSpot),n=this._visibleLines.getVisibleLine(t).getWidth(s);return this._updateLineWidthsSlowIfDomDidLayout(s),n}linesVisibleRangesForRange(t,i){if(this.shouldRender())return null;const e=t.endLineNumber,s=Ls.intersectRanges(t,this._lastRenderedData.getCurrentVisibleRange());if(!s)return null;const n=[];let o=0;const r=new WS(this.domNode.domNode,this._textRangeRestingSpot);let h=0;i&&(h=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Ms(s.startLineNumber,1)).lineNumber);const c=this._visibleLines.getStartLineNumber(),a=this._visibleLines.getEndLineNumber();for(let t=s.startLineNumber;t<=s.endLineNumber;t++){if(ta)continue;const l=t===s.startLineNumber?s.startColumn:1,u=t!==s.endLineNumber,d=u?this._context.viewModel.getLineMaxColumn(t):s.endColumn,f=this._visibleLines.getVisibleLine(t).getVisibleRangesForRange(t,l,d,r);if(f){if(i&&tthis._visibleLines.getEndLineNumber())return null;const s=new WS(this.domNode.domNode,this._textRangeRestingSpot),n=this._visibleLines.getVisibleLine(t).getVisibleRangesForRange(t,i,e,s);return this._updateLineWidthsSlowIfDomDidLayout(s),n}visibleRangeForPosition(t){const i=this._visibleRangesForLineRange(t.lineNumber,t.column,t.column);return i?new $y(i.outsideRenderedLine,i.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(t){t.didDomLayout&&(this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow()))}_updateLineWidths(t){const i=this._visibleLines.getStartLineNumber(),e=this._visibleLines.getEndLineNumber();let s=1,n=!0;for(let o=i;o<=e;o++){const i=this._visibleLines.getVisibleLine(o);!t||i.getWidthIsFast()?s=Math.max(s,i.getWidth(null)):n=!1}return n&&1===i&&e===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(s),n}_checkMonospaceFontAssumptions(){let t=-1,i=-1;const e=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();for(let n=e;n<=s;n++){const e=this._visibleLines.getVisibleLine(n);if(e.needsMonospaceFontCheck()){const s=e.getWidth(null);s>i&&(i=s,t=n)}}if(-1!==t&&!this._visibleLines.getVisibleLine(t).monospaceAssumptionsAreValid())for(let t=e;t<=s;t++)this._visibleLines.getVisibleLine(t).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(t){if(this._visibleLines.renderLines(t),this._lastRenderedData.setCurrentVisibleRange(t.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(t.startLineNumber<=i.minLineNumber&&i.maxLineNumber<=t.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const t=this._computeScrollLeftToReveal(i);t&&(this._isViewportWrapping||this._ensureMaxLineWidth(t.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:t.scrollLeft},i.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),Dt&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let e=t;e<=i;e++)if(this._visibleLines.getVisibleLine(e).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const i=this._context.viewLayout.getCurrentScrollTop()-t.bigNumbersDelta;this._linesContent.setTop(-i),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(t){const i=Math.ceil(t);this._maxLineWidth0){let t=n[0].startLineNumber,i=n[0].endLineNumber;for(let e=1,s=n.length;eh){if(!a)return-1;d=l}else if(5===o||6===o)if(6===o&&r<=l&&u<=c)d=r;else{const t=Math.max(5*this._lineHeight,.2*h);d=Math.max(u-h,l-t)}else d=1===o||2===o?2===o&&r<=l&&u<=c?r:Math.max(0,(l+u)/2-h/2):this._computeMinimumScrolling(r,c,l,u,3===o,4===o);return d}_computeScrollLeftToReveal(t){const i=this._context.viewLayout.getCurrentViewport(),e=this._context.configuration.options.get(143),s=i.left,n=s+i.width-e.verticalScrollbarWidth;let o=1073741824,r=0;if("range"===t.type){const i=this._visibleRangesForLineRange(t.lineNumber,t.startColumn,t.endColumn);if(!i)return null;for(const t of i.ranges)o=Math.min(o,Math.round(t.left)),r=Math.max(r,Math.round(t.left+t.width))}else for(const i of t.selections){if(i.startLineNumber!==i.endLineNumber)return null;const t=this._visibleRangesForLineRange(i.startLineNumber,i.startColumn,i.endColumn);if(!t)return null;for(const i of t.ranges)o=Math.min(o,Math.round(i.left)),r=Math.max(r,Math.round(i.left+i.width))}return t.minimalReveal||(o=Math.max(0,o-VS.HORIZONTAL_EXTRA_PX),r+=this._revealHorizontalRightPadding),"selections"===t.type&&r-o>i.width?null:{scrollLeft:this._computeMinimumScrolling(s,n,o,r),maxHorizontalOffset:r}}_computeMinimumScrolling(t,i,e,s,n,o){n=!!n,o=!!o;const r=(i|=0)-(t|=0);return(s|=0)-(e|=0)i?Math.max(0,s-r):t:e}}VS.HORIZONTAL_EXTRA_PX=30;class US{constructor(t,i,e,s){this._decorationToRenderBrand=void 0,this.startLineNumber=+t,this.endLineNumber=+i,this.className=String(e),this.zIndex=null!=s?s:0}}class qS{constructor(t,i){this.className=t,this.zIndex=i}}class KS{constructor(){this.decorations=[]}add(t){this.decorations.push(t)}getDecorations(){return this.decorations}}class GS extends Xk{_render(t,i,e){const s=[];for(let e=t;e<=i;e++)s[e-t]=new KS;if(0===e.length)return s;e.sort(((t,i)=>t.className===i.className?t.startLineNumber===i.startLineNumber?t.endLineNumber-i.endLineNumber:t.startLineNumber-i.startLineNumber:t.classNames)continue;const h=Math.max(o,e),c=Math.min(t.preference.lane,this._glyphMarginDecorationLaneCount);i.push(new JS(h,c,t.preference.zIndex,t))}}_collectSortedGlyphRenderRequests(t){const i=[];return this._collectDecorationBasedGlyphRenderRequest(t,i),this._collectWidgetBasedGlyphRenderRequest(t,i),i.sort(((t,i)=>t.lineNumber===i.lineNumber?t.lane===i.lane?t.zIndex===i.zIndex?i.type===t.type?0===t.type&&0===i.type?t.className0;){const t=i.peek();if(!t)break;const s=i.takeWhile((i=>i.lineNumber===t.lineNumber&&i.lane===t.lane));if(!s||0===s.length)break;const n=s[0];if(0===n.type){const t=[];for(const i of s){if(i.zIndex!==n.zIndex||i.type!==n.type)break;0!==t.length&&t[t.length-1]===i.className||t.push(i.className)}e.push(n.accept(t.join(" ")))}else n.widget.renderInfo={lineNumber:n.lineNumber,lane:n.lane}}this._decorationGlyphsToRender=e}render(t){if(!this._glyphMargin){for(const t of Object.values(this._widgets))t.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;){const t=this._managedDomNodes.pop();null==t||t.domNode.remove()}return}const i=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const e of Object.values(this._widgets))if(e.renderInfo){const s=t.viewportData.relativeVerticalOffset[e.renderInfo.lineNumber-t.viewportData.startLineNumber],n=this._glyphMarginLeft+(e.renderInfo.lane-1)*this._lineHeight;e.domNode.setDisplay("block"),e.domNode.setTop(s),e.domNode.setLeft(n),e.domNode.setWidth(i),e.domNode.setHeight(this._lineHeight)}else e.domNode.setDisplay("none");for(let e=0;ethis._decorationGlyphsToRender.length;){const t=this._managedDomNodes.pop();null==t||t.domNode.remove()}}}class QS{constructor(t,i,e,s){this.lineNumber=t,this.lane=i,this.zIndex=e,this.className=s,this.type=0}accept(t){return new YS(this.lineNumber,this.lane,t)}}class JS{constructor(t,i,e,s){this.lineNumber=t,this.lane=i,this.zIndex=e,this.widget=s,this.type=1}}class YS{constructor(t,i,e){this.lineNumber=t,this.lane=i,this.combinedClassName=e}}class XS extends GS{constructor(t){super(),this._context=t;const i=this._context.configuration.options.get(143);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(t){const i=this._context.configuration.options.get(143);return this._decorationsLeft=i.decorationsLeft,this._decorationsWidth=i.decorationsWidth,!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}_getDecorations(t){const i=t.getDecorationsInViewport(),e=[];let s=0;for(let t=0,n=i.length;t',o=[];for(let t=i;t<=e;t++){const e=t-i,r=s[e].getDecorations();let h="";for(const t of r)h+='
';n[e]=r}this._renderResult=n}render(t,i){return this._renderResult?this._renderResult[i-t]:""}}class iD{constructor(t,i,e,s){this._rgba8Brand=void 0,this.r=iD._clamp(t),this.g=iD._clamp(i),this.b=iD._clamp(e),this.a=iD._clamp(s)}equals(t){return this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a}static _clamp(t){return t<0?0:t>255?255:0|t}}iD.Empty=new iD(0,0,0,0);class eD extends ie{static getInstance(){return this._INSTANCE||(this._INSTANCE=new eD),this._INSTANCE}constructor(){super(),this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(Qs.onDidChange((t=>{t.changedColorMap&&this._updateColorMap()})))}_updateColorMap(){const t=Qs.getColorMap();if(!t)return this._colors=[iD.Empty],void(this._backgroundIsLight=!0);this._colors=[iD.Empty];for(let i=1;i=.5,this._onDidChange.fire(void 0)}getColor(t){return(t<1||t>=this._colors.length)&&(t=2),this._colors[t]}backgroundIsLight(){return this._backgroundIsLight}}eD._INSTANCE=null;const sD=(()=>{const t=[];for(let i=32;i<=126;i++)t.push(i);return t.push(65533),t})();class nD{constructor(t,i){this.scale=i,this._minimapCharRendererBrand=void 0,this.charDataNormal=nD.soften(t,.8),this.charDataLight=nD.soften(t,50/60)}static soften(t,i){const e=new Uint8ClampedArray(t.length);for(let s=0,n=t.length;st.width||e+f>t.height)return void console.warn("bad render request outside image data");const p=a?this.charDataLight:this.charDataNormal,g=((t,i)=>(t-=32)<0||t>96?i<=2?(t+96)%96:95:t)(s,c),m=4*t.width,w=r.r,v=r.g,b=r.b,y=n.r-w,k=n.g-v,x=n.b-b,C=Math.max(o,h),S=t.data;let D=g*u*d,E=e*m+4*i;for(let t=0;tt.width||e+a>t.height)return void console.warn("bad render request outside image data");const l=4*t.width,u=n/255*.5,d=o.r,f=o.g,p=o.b,g=d+(s.r-d)*u,m=f+(s.g-f)*u,w=p+(s.b-p)*u,v=Math.max(n,r),b=t.data;let y=e*l+4*i;for(let t=0;t{const i=new Uint8ClampedArray(t.length/2);for(let e=0;e>1]=oD[t[e]]<<4|15&oD[t[e+1]];return i},hD={1:Zi((()=>rD("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792"))),2:Zi((()=>rD("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126")))};class cD{static create(t,i){if(this.lastCreated&&t===this.lastCreated.scale&&i===this.lastFontFamily)return this.lastCreated;let e;return e=hD[t]?new nD(hD[t](),t):cD.createFromSampleData(cD.createSampleData(i).data,t),this.lastFontFamily=i,this.lastCreated=e,e}static createSampleData(t){const i=document.createElement("canvas"),e=i.getContext("2d");i.style.height="16px",i.height=16,i.width=960,i.style.width="960px",e.fillStyle="#ffffff",e.font=`bold 16px ${t}`,e.textBaseline="middle";let s=0;for(const t of sD)e.fillText(String.fromCharCode(t),s,8),s+=10;return e.getImageData(0,0,960,16)}static createFromSampleData(t,i){if(61440!==t.length)throw new Error("Unexpected source in MinimapCharRenderer");const e=cD._downsample(t,i);return new nD(e,i)}static _downsampleChar(t,i,e,s,n){const o=1*n,r=2*n;let h=s,c=0;for(let s=0;s0){const t=255/h;for(let i=0;icD.create(this.fontScale,h.fontFamily))),this.defaultBackgroundColor=e.getColor(2),this.backgroundColor=aD._getMinimapBackground(i,this.defaultBackgroundColor),this.foregroundAlpha=aD._getMinimapForegroundOpacity(i)}static _getMinimapBackground(t,i){const e=t.getColor(ny);return e?new iD(e.rgba.r,e.rgba.g,e.rgba.b,Math.round(255*e.rgba.a)):i}static _getMinimapForegroundOpacity(t){const i=t.getColor(oy);return i?iD._clamp(Math.round(255*i.rgba.a)):255}equals(t){return this.renderMinimap===t.renderMinimap&&this.size===t.size&&this.minimapHeightIsEditorHeight===t.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===t.scrollBeyondLastLine&&this.paddingTop===t.paddingTop&&this.paddingBottom===t.paddingBottom&&this.showSlider===t.showSlider&&this.autohide===t.autohide&&this.pixelRatio===t.pixelRatio&&this.typicalHalfwidthCharacterWidth===t.typicalHalfwidthCharacterWidth&&this.lineHeight===t.lineHeight&&this.minimapLeft===t.minimapLeft&&this.minimapWidth===t.minimapWidth&&this.minimapHeight===t.minimapHeight&&this.canvasInnerWidth===t.canvasInnerWidth&&this.canvasInnerHeight===t.canvasInnerHeight&&this.canvasOuterWidth===t.canvasOuterWidth&&this.canvasOuterHeight===t.canvasOuterHeight&&this.isSampling===t.isSampling&&this.editorHeight===t.editorHeight&&this.fontScale===t.fontScale&&this.minimapLineHeight===t.minimapLineHeight&&this.minimapCharWidth===t.minimapCharWidth&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(t.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(t.backgroundColor)&&this.foregroundAlpha===t.foregroundAlpha}}class lD{constructor(t,i,e,s,n,o,r,h,c){this.scrollTop=t,this.scrollHeight=i,this.sliderNeeded=e,this._computedSliderRatio=s,this.sliderTop=n,this.sliderHeight=o,this.topPaddingLineCount=r,this.startLineNumber=h,this.endLineNumber=c}getDesiredScrollTopFromDelta(t){return Math.round(this.scrollTop+t/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(t){return Math.round((t-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(t){const i=Math.max(this.startLineNumber,t.startLineNumber),e=Math.min(this.endLineNumber,t.endLineNumber);return i>e?null:[i,e]}getYForLineNumber(t,i){return+(t-this.startLineNumber+this.topPaddingLineCount)*i}static create(t,i,e,s,n,o,r,h,c,a,l){const u=t.pixelRatio,d=t.minimapLineHeight,f=Math.floor(t.canvasInnerHeight/d),p=t.lineHeight;if(t.minimapHeightIsEditorHeight){let i=h*t.lineHeight+t.paddingTop+t.paddingBottom;t.scrollBeyondLastLine&&(i+=Math.max(0,n-t.lineHeight-t.paddingBottom));const e=Math.max(1,Math.floor(n*n/i)),s=Math.max(0,t.minimapHeight-e),o=s/(a-n),l=c*o,u=s>0,d=Math.floor(t.canvasInnerHeight/t.minimapLineHeight),f=Math.floor(t.paddingTop/t.lineHeight);return new lD(c,a,u,o,l,e,f,1,Math.min(r,d))}let g;g=o&&e!==r?Math.floor((e-i+1)*d/u):Math.floor(n/p*d/u);const m=Math.floor(t.paddingTop/p);let w,v=Math.floor(t.paddingBottom/p);t.scrollBeyondLastLine&&(v=Math.max(v,n/p-1)),w=v>0?(m+r+v-n/p-1)*d/u:Math.max(0,(m+r)*d/u-g),w=Math.min(t.minimapHeight-g,w);const b=w/(a-n),y=c*b;if(f>=m+r+v)return new lD(c,a,w>0,b,y,g,m,1,r);{let e,n;e=i>1?i+m:Math.max(1,c/p);let o=Math.max(1,Math.floor(e-y*u/d));oc&&(o=Math.min(o,l.startLineNumber),n=Math.max(n,l.topPaddingLineCount)),l.scrollTop=t.paddingTop?(i-o+n+w)*d/u:c/t.paddingTop*(n+w)*d/u,new lD(c,a,!0,b,v,g,n,o,h)}}}class uD{constructor(t){this.dy=t}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}uD.INVALID=new uD(-1);class dD{constructor(t,i,e){this.renderedLayout=t,this._imageData=i,this._renderedLines=new pS((()=>uD.INVALID)),this._renderedLines._set(t.startLineNumber,e)}linesEquals(t){if(!this.scrollEquals(t))return!1;const i=this._renderedLines._get().lines;for(let t=0,e=i.length;t1){for(let i=0,e=s-1;i0&&this.minimapLines[e-1]>=t;)e--;let s=this.modelLineToMinimapLine(i)-1;for(;s+1i)return null}return[e+1,s+1]}decorationLineRangeToMinimapLineRange(t,i){let e=this.modelLineToMinimapLine(t),s=this.modelLineToMinimapLine(i);return t!==i&&s===e&&(s===this.minimapLines.length?e>1&&e--:s++),[e,s]}onLinesDeleted(t){const i=t.toLineNumber-t.fromLineNumber+1;let e=this.minimapLines.length,s=0;for(let n=this.minimapLines.length-1;n>=0&&!(this.minimapLines[n]=0&&!(this.minimapLines[e]0,scrollWidth:t.scrollWidth,scrollHeight:t.scrollHeight,viewportStartLineNumber:i,viewportEndLineNumber:e,viewportStartLineNumberVerticalOffset:t.getVerticalOffsetForLineNumber(i),scrollTop:t.scrollTop,scrollLeft:t.scrollLeft,viewportWidth:t.viewportWidth,viewportHeight:t.viewportHeight};this._actual.render(s)}_recreateLineSampling(){this._minimapSelections=null;const t=Boolean(this._samplingState),[i,e]=pD.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=i,t&&this._samplingState)for(const t of e)switch(t.type){case"deleted":this._actual.onLinesDeleted(t.deleteFromLineNumber,t.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(t.insertFromLineNumber,t.insertToLineNumber);break;case"flush":this._actual.onFlushed()}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(t){return this._context.viewModel.getLineContent(this._samplingState?this._samplingState.minimapLines[t-1]:t)}getLineMaxColumn(t){return this._context.viewModel.getLineMaxColumn(this._samplingState?this._samplingState.minimapLines[t-1]:t)}getMinimapLinesRenderingData(t,i,e){if(this._samplingState){const s=[];for(let n=0,o=i-t+1;n{if(t.preventDefault(),0===this._model.options.renderMinimap)return;if(!this._lastRenderData)return;if("proportional"!==this._model.options.size){if(0===t.button&&this._lastRenderData){const i=ol(this._slider.domNode);this._startSliderDragging(t,i.top+i.height/2,this._lastRenderData.renderedLayout)}return}let i=Math.floor(this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*t.offsetY/this._model.options.minimapLineHeight)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;i=Math.min(i,this._model.getLineCount()),this._model.revealLineNumber(i)})),this._sliderPointerMoveMonitor=new cw,this._sliderPointerDownListener=Ka(this._slider.domNode,Fl.POINTER_DOWN,(t=>{t.preventDefault(),t.stopPropagation(),0===t.button&&this._lastRenderData&&this._startSliderDragging(t,t.pageY,this._lastRenderData.renderedLayout)})),this._gestureDisposable=hw.addTarget(this._domNode.domNode),this._sliderTouchStartListener=Ua(this._domNode.domNode,rw.Start,(t=>{t.preventDefault(),t.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(t))}),{passive:!1}),this._sliderTouchMoveListener=Ua(this._domNode.domNode,rw.Change,(t=>{t.preventDefault(),t.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(t)}),{passive:!1}),this._sliderTouchEndListener=Ka(this._domNode.domNode,rw.End,(t=>{t.preventDefault(),t.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)}))}_startSliderDragging(t,i,e){if(!(t.target&&t.target instanceof Element))return;const s=t.pageX;this._slider.toggleClassName("active",!0);const n=(t,n)=>{const o=ol(this._domNode.domNode),r=Math.min(Math.abs(n-s),Math.abs(n-o.left),Math.abs(n-o.left-o.width));this._model.setScrollTop(Ct&&r>140?e.scrollTop:e.getDesiredScrollTopFromDelta(t-i))};t.pageY!==i&&n(t.pageY,s),this._sliderPointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,(t=>n(t.pageY,t.pageX)),(()=>{this._slider.toggleClassName("active",!1)}))}scrollDueToTouchEvent(t){const i=this._domNode.domNode.getBoundingClientRect().top,e=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(t.pageY-i);this._model.setScrollTop(e)}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 t=["minimap"];return t.push("always"===this._model.options.showSlider?"slider-always":"slider-mouseover"),this._model.options.autohide&&t.push("autohide"),t.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 fD(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(t,i){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(t,i)}onLinesDeleted(t,i){var e;return null===(e=this._lastRenderData)||void 0===e||e.onLinesDeleted(t,i),!0}onLinesInserted(t,i){var e;return null===(e=this._lastRenderData)||void 0===e||e.onLinesInserted(t,i),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(ty),this._renderDecorations=!0,!0}onTokensChanged(t){return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(t)}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(t){if(0===this._model.options.renderMinimap)return this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),void this._sliderHorizontal.setHeight(0);this._shadow.setClassName(t.scrollLeft+t.viewportWidth>=t.scrollWidth?"minimap-shadow-hidden":"minimap-shadow-visible");const i=lD.create(this._model.options,t.viewportStartLineNumber,t.viewportEndLineNumber,t.viewportStartLineNumberVerticalOffset,t.viewportHeight,t.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),t.scrollTop,t.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(t){if(this._renderDecorations){this._renderDecorations=!1;const i=this._model.getSelections();i.sort(Ls.compareRangesUsingStarts);const e=this._model.getMinimapDecorationsInViewport(t.startLineNumber,t.endLineNumber);e.sort(((t,i)=>(t.options.zIndex||0)-(i.options.zIndex||0)));const{canvasInnerWidth:s,canvasInnerHeight:n}=this._model.options,o=this._model.options.minimapLineHeight,r=this._model.options.minimapCharWidth,h=this._model.getOptions().tabSize,c=this._decorationsCanvas.domNode.getContext("2d");c.clearRect(0,0,s,n);const a=new wD(t.startLineNumber,t.endLineNumber,!1);this._renderSelectionLineHighlights(c,i,a,t,o),this._renderDecorationsLineHighlights(c,e,a,t,o);const l=new wD(t.startLineNumber,t.endLineNumber,null);this._renderSelectionsHighlights(c,i,l,t,o,h,r,s),this._renderDecorationsHighlights(c,e,l,t,o,h,r,s)}}_renderSelectionLineHighlights(t,i,e,s,n){if(!this._selectionColor||this._selectionColor.isTransparent())return;t.fillStyle=this._selectionColor.transparent(.5).toString();let o=0,r=0;for(const h of i){const i=s.intersectWithViewport(h);if(!i)continue;const[c,a]=i;for(let t=c;t<=a;t++)e.set(t,!0);const l=s.getYForLineNumber(c,n),u=s.getYForLineNumber(a,n);r>=l||(r>o&&t.fillRect(8,o,t.canvas.width,r-o),o=l),r=u}r>o&&t.fillRect(8,o,t.canvas.width,r-o)}_renderDecorationsLineHighlights(t,i,e,s,n){const o=new Map;for(let r=i.length-1;r>=0;r--){const h=i[r],c=h.options.minimap;if(!c||c.position!==Pf.Inline)continue;const a=s.intersectWithViewport(h.range);if(!a)continue;const[l,u]=a,d=c.getColor(this._theme.value);if(!d||d.isTransparent())continue;let f=o.get(d.toString());f||(f=d.transparent(.5).toString(),o.set(d.toString(),f)),t.fillStyle=f;for(let i=l;i<=u;i++){if(e.has(i))continue;e.set(i,!0);const o=s.getYForLineNumber(l,n);t.fillRect(8,o,t.canvas.width,n)}}}_renderSelectionsHighlights(t,i,e,s,n,o,r,h){if(this._selectionColor&&!this._selectionColor.isTransparent())for(const c of i){const i=s.intersectWithViewport(c);if(!i)continue;const[a,l]=i;for(let i=a;i<=l;i++)this.renderDecorationOnLine(t,e,c,this._selectionColor,s,i,n,n,o,r,h)}}_renderDecorationsHighlights(t,i,e,s,n,o,r,h){for(const c of i){const i=c.options.minimap;if(!i)continue;const a=s.intersectWithViewport(c.range);if(!a)continue;const[l,u]=a,d=i.getColor(this._theme.value);if(d&&!d.isTransparent())for(let a=l;a<=u;a++)switch(i.position){case Pf.Inline:this.renderDecorationOnLine(t,e,c.range,d,s,a,n,n,o,r,h);continue;case Pf.Gutter:{const i=s.getYForLineNumber(a,n);this.renderDecoration(t,d,2,i,2,n);continue}}}}renderDecorationOnLine(t,i,e,s,n,o,r,h,c,a,l){const u=n.getYForLineNumber(o,h);if(u+r<0||u>this._model.options.canvasInnerHeight)return;const{startLineNumber:d,endLineNumber:f}=e,p=d===o?e.startColumn:1,g=f===o?e.endColumn:this._model.getLineMaxColumn(o),m=this.getXOffsetForPosition(i,o,p,c,a,l),w=this.getXOffsetForPosition(i,o,g,c,a,l);this.renderDecoration(t,s,m,u,w-m,r)}getXOffsetForPosition(t,i,e,s,n,o){if(1===e)return 8;if((e-1)*n>=o)return o;let r=t.get(i);if(!r){const e=this._model.getLineContent(i);r=[8];let h=8;for(let t=1;t=o){r[t]=o;break}r[t]=c,h=c}t.set(i,r)}return e-1b?Math.floor((s-b)/2):0,k=u.a/255,x=new iD(Math.round((u.r-l.r)*k+l.r),Math.round((u.g-l.g)*k+l.g),Math.round((u.b-l.b)*k+l.b),255);let C=t.topPaddingLineCount*s;const S=[];for(let t=0,o=e-i+1;t=0&&sw)return;const r=g.charCodeAt(y);if(9===r){const t=u-(y+k)%u;k+=t-1,b+=t*o}else if(32===r)b+=o;else{const u=Fo(r)?2:1;for(let d=0;dw)return}}}}}class wD{constructor(t,i,e){this._startLineNumber=t,this._endLineNumber=i,this._defaultValue=e,this._values=[];for(let t=0,i=this._endLineNumber-this._startLineNumber+1;tthis._endLineNumber||(this._values[t-this._startLineNumber]=i)}get(t){return tthis._endLineNumber?this._defaultValue:this._values[t-this._startLineNumber]}}class vD extends Ry{constructor(t){super(t);const i=this._context.configuration.options.get(143);this._widgets={},this._verticalScrollbarWidth=i.verticalScrollbarWidth,this._minimapWidth=i.minimap.minimapWidth,this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._editorHeight=i.height,this._editorWidth=i.width,this._domNode=ir(document.createElement("div")),Oy.write(this._domNode,4),this._domNode.setClassName("overlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(t){const i=this._context.configuration.options.get(143);return this._verticalScrollbarWidth=i.verticalScrollbarWidth,this._minimapWidth=i.minimap.minimapWidth,this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._editorHeight=i.height,this._editorWidth=i.width,!0}addWidget(t){const i=ir(t.getDomNode());this._widgets[t.getId()]={widget:t,preference:null,domNode:i},i.setPosition("absolute"),i.setAttribute("widgetId",t.getId()),this._domNode.appendChild(i),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(t,i){const e=this._widgets[t.getId()];return e.preference===i?(this._updateMaxMinWidth(),!1):(e.preference=i,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(t){const i=t.getId();if(this._widgets.hasOwnProperty(i)){const t=this._widgets[i].domNode.domNode;delete this._widgets[i],t.parentNode.removeChild(t),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){var t,i;let e=0;const s=Object.keys(this._widgets);for(let n=0,o=s.length;n=3){const i=Math.floor(s/3),e=Math.floor(s/3),n=s-i-e,o=t+i;return[[0,t,o,t,t+i+n,t,o,t],[0,i,n,i+n,e,i+n+e,n+e,i+n+e]]}if(2===e){const i=Math.floor(s/2),e=s-i;return[[0,t,t,t,t+i,t,t,t],[0,i,i,i,e,i+e,i+e,i+e]]}return[[0,t,t,t,t,t,t,t],[0,s,s,s,s,s,s,s]]}equals(t){return this.lineHeight===t.lineHeight&&this.pixelRatio===t.pixelRatio&&this.overviewRulerLanes===t.overviewRulerLanes&&this.renderBorder===t.renderBorder&&this.borderColor===t.borderColor&&this.hideCursor===t.hideCursor&&this.cursorColor===t.cursorColor&&this.themeType===t.themeType&&ug.equals(this.backgroundColor,t.backgroundColor)&&this.top===t.top&&this.right===t.right&&this.domWidth===t.domWidth&&this.domHeight===t.domHeight&&this.canvasWidth===t.canvasWidth&&this.canvasHeight===t.canvasHeight}}class yD extends Ry{constructor(t){super(t),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=ir(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=Qs.onDidChange((t=>{t.changedColorMap&&this._updateSettings(!0)})),this._cursorPositions=[]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(t){const i=new bD(this._context.configuration,this._context.theme);return!(this._settings&&this._settings.equals(i)||(this._settings=i,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,t&&this._render(),0))}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(t){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}onCursorStateChanged(t){this._cursorPositions=[];for(let i=0,e=t.selections.length;it.lineNumber===i.lineNumber))||(this._actualShouldRender=2),1===this._actualShouldRender)return;this._renderedDecorations=i,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");const e=this._settings.canvasWidth,s=this._settings.canvasHeight,n=this._settings.lineHeight,o=this._context.viewLayout,r=s/this._context.viewLayout.getScrollHeight(),h=6*this._settings.pixelRatio|0,c=h/2|0,a=this._domNode.domNode.getContext("2d");t?t.isOpaque()?(a.fillStyle=ug.Format.CSS.formatHexA(t),a.fillRect(0,0,e,s)):(a.clearRect(0,0,e,s),a.fillStyle=ug.Format.CSS.formatHexA(t),a.fillRect(0,0,e,s)):a.clearRect(0,0,e,s);const l=this._settings.x,d=this._settings.w;for(const t of i){const i=t.data;a.fillStyle=t.color;let e=0,u=0,f=0;for(let t=0,p=i.length/3;ts&&(t=s-c),m=t-c,w=t+c}m>f+1||p!==e?(0!==t&&a.fillRect(l[e],u,d[e],f-u),e=p,u=m,f=w):w>f&&(f=w)}a.fillRect(l[e],u,d[e],f-u)}if(!this._settings.hideCursor&&this._settings.cursorColor){const t=2*this._settings.pixelRatio|0,i=t/2|0,e=this._settings.x[7],n=this._settings.w[7];a.fillStyle=this._settings.cursorColor;let h=-100,c=-100;for(let l=0,u=this._cursorPositions.length;ls&&(u=s-i);const d=u-i,f=d+t;d>c+1?(0!==l&&a.fillRect(e,h,n,c-h),h=d,c=f):f>c&&(c=f)}a.fillRect(e,h,n,c-h)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(a.beginPath(),a.lineWidth=1,a.strokeStyle=this._settings.borderColor,a.moveTo(0,0),a.lineTo(0,s),a.stroke(),a.moveTo(0,0),a.lineTo(e,0),a.stroke())}}class kD{constructor(t,i,e){this._colorZoneBrand=void 0,this.from=0|t,this.to=0|i,this.colorId=0|e}static compare(t,i){return t.colorId===i.colorId?t.from===i.from?t.to-i.to:t.from-i.from:t.colorId-i.colorId}}class xD{constructor(t,i,e,s){this._overviewRulerZoneBrand=void 0,this.startLineNumber=t,this.endLineNumber=i,this.heightInLines=e,this.color=s,this._colorZone=null}static compare(t,i){return t.color===i.color?t.startLineNumber===i.startLineNumber?t.heightInLines===i.heightInLines?t.endLineNumber-i.endLineNumber:t.heightInLines-i.heightInLines:t.startLineNumber-i.startLineNumber:t.colore&&(d=e-f);const p=h.color;let g=this._color2Id[p];g||(g=++this._lastAssignedId,this._color2Id[p]=g,this._id2Color[g]=p);const m=new kD(d-f,d+f,g);h.setColorZone(m),o.push(m)}return this._colorZonesInvalid=!1,o.sort(kD.compare),o}}class SD extends Ty{constructor(t,i){super(),this._context=t;const e=this._context.configuration.options;this._domNode=ir(document.createElement("canvas")),this._domNode.setClassName(i),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new CD((t=>this._context.viewLayout.getVerticalOffsetForLineNumber(t))),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(e.get(66)),this._zoneManager.setPixelRatio(e.get(141)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(t){const i=this._context.configuration.options;return t.hasChanged(66)&&(this._zoneManager.setLineHeight(i.get(66)),this._render()),t.hasChanged(141)&&(this._zoneManager.setPixelRatio(i.get(141)),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(t){return this._render(),!0}onScrollChanged(t){return t.scrollHeightChanged&&(this._zoneManager.setOuterHeight(t.scrollHeight),this._render()),!0}onZonesChanged(t){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(t){this._domNode.setTop(t.top),this._domNode.setRight(t.right);let i=!1;i=this._zoneManager.setDOMWidth(t.width)||i,i=this._zoneManager.setDOMHeight(t.height)||i,i&&(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(t){this._zoneManager.setZones(t),this._render()}_render(){if(0===this._zoneManager.getOuterHeight())return!1;const t=this._zoneManager.getCanvasWidth(),i=this._zoneManager.getCanvasHeight(),e=this._zoneManager.resolveColorZones(),s=this._zoneManager.getId2Color(),n=this._domNode.domNode.getContext("2d");return n.clearRect(0,0,t,i),e.length>0&&this._renderOneLane(n,e,s,t),!0}_renderOneLane(t,i,e,s){let n=0,o=0,r=0;for(const h of i){const i=h.colorId,c=h.from,a=h.to;i!==n?(t.fillRect(0,o,s,r-o),n=i,t.fillStyle=e[n],o=c,r=a):r>=c?r=Math.max(r,a):(t.fillRect(0,o,s,r-o),o=c,r=a)}t.fillRect(0,o,s,r-o)}}class DD extends Ry{constructor(t){super(t),this.domNode=ir(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const i=this._context.configuration.options;this._rulers=i.get(101),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(t){const i=this._context.configuration.options;return this._rulers=i.get(101),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(t){return t.scrollHeightChanged}prepareRender(t){}_ensureRulersCount(){const t=this._renderedRulers.length,i=this._rulers.length;if(t===i)return;if(t0;){const t=ir(document.createElement("div"));t.setClassName("view-ruler"),t.setWidth(s),this.domNode.appendChild(t),this._renderedRulers.push(t),n--}return}let e=t-i;for(;e>0;){const t=this._renderedRulers.pop();this.domNode.removeChild(t),e--}}render(t){this._ensureRulersCount();for(let i=0,e=this._rulers.length;i0;return this._shouldShow!==t&&(this._shouldShow=t,!0)}getDomNode(){return this._domNode}_updateWidth(){const t=this._context.configuration.options.get(143);this._width=0===t.minimap.renderMinimap||t.minimap.minimapWidth>0&&0===t.minimap.minimapLeft?t.width:t.width-t.verticalScrollbarWidth}onConfigurationChanged(t){const i=this._context.configuration.options.get(102);return this._useShadows=i.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(t){return this._scrollTop=t.scrollTop,this._updateShouldShow()}prepareRender(t){}render(t){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}class AD{constructor(t){this.left=t.left,this.width=t.width,this.startStyle=null,this.endStyle=null}}class MD{constructor(t,i){this.lineNumber=t,this.ranges=i}}function LD(t){return new AD(t)}function FD(t){return new MD(t.lineNumber,t.ranges.map(LD))}class TD extends Xk{constructor(t){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=t;const i=this._context.configuration.options;this._lineHeight=i.get(66),this._roundedSelection=i.get(100),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){const i=this._context.configuration.options;return this._lineHeight=i.get(66),this._roundedSelection=i.get(100),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(t){return this._selections=t.selections.slice(0),!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}_visibleRangesHaveGaps(t){for(let i=0,e=t.length;i1)return!0;return!1}_enrichVisibleRangesWithStyle(t,i,e){const s=this._typicalHalfwidthCharacterWidth/4;let n=null,o=null;if(e&&e.length>0&&i.length>0){const s=i[0].lineNumber;if(s===t.startLineNumber)for(let t=0;!n&&t=0;t--)e[t].lineNumber===r&&(o=e[t].ranges[0]);n&&!n.startStyle&&(n=null),o&&!o.startStyle&&(o=null)}for(let t=0,e=i.length;t0){const e=i[t-1].ranges[0].left,n=i[t-1].ranges[0].left+i[t-1].ranges[0].width;RD(h-e)e&&(a.top=1),RD(c-n)'}_actualRenderOneSelection(t,i,e,s){if(0===s.length)return;const n=!!s[0].ranges[0].startStyle,o=this._lineHeight.toString(),r=(this._lineHeight-1).toString(),h=s[0].lineNumber,c=s[s.length-1].lineNumber;for(let a=0,l=s.length;a1,r)}this._previousFrameVisibleRangesWithStyle=n,this._renderResult=i.map((([t,i])=>t+i))}render(t,i){if(!this._renderResult)return"";const e=i-t;return e<0||e>=this._renderResult.length?"":this._renderResult[e]}}function RD(t){return t<0?-t:t}TD.SELECTION_CLASS_NAME="selected-text",TD.SELECTION_TOP_LEFT="top-left-radius",TD.SELECTION_BOTTOM_LEFT="bottom-left-radius",TD.SELECTION_TOP_RIGHT="top-right-radius",TD.SELECTION_BOTTOM_RIGHT="bottom-right-radius",TD.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",TD.ROUNDED_PIECE_WIDTH=10,ox(((t,i)=>{const e=t.getColor(Ev);e&&!e.isTransparent()&&i.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${e}; }`)}));class OD{constructor(t,i,e,s,n,o,r){this.top=t,this.left=i,this.paddingLeft=e,this.width=s,this.height=n,this.textContent=o,this.textContentClassName=r}}class ID{constructor(t){this._context=t;const i=this._context.configuration.options,e=i.get(50);this._cursorStyle=i.get(28),this._lineHeight=i.get(66),this._typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(i.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=ir(document.createElement("div")),this._domNode.setClassName(`cursor ${nC}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),er(this._domNode,e),this._domNode.setDisplay("none"),this._position=new Ms(1,1),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(t){const i=this._context.configuration.options,e=i.get(50);return this._cursorStyle=i.get(28),this._lineHeight=i.get(66),this._typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(i.get(31),this._typicalHalfwidthCharacterWidth),er(this._domNode,e),!0}onCursorPositionChanged(t,i){return this._domNode.domNode.style.transitionProperty=i?"none":"",this._position=t,!0}_getGraphemeAwarePosition(){const{lineNumber:t,column:i}=this._position,e=this._context.viewModel.getLineContent(t),[s,n]=function(t,i){i>0&&wo(t.charCodeAt(i))&&i--;const e=i+xo(t,i);return[e-Co(t,e),e]}(e,i-1);return[new Ms(t,s+1),e.substring(s,n)]}_prepareRender(t){let i="",e="";const[s,n]=this._getGraphemeAwarePosition();if(this._cursorStyle===mi.Line||this._cursorStyle===mi.LineThin){const o=t.visibleRangeForPosition(s);if(!o||o.outsideRenderedLine)return null;const r=Ba(this._domNode.domNode);let h;this._cursorStyle===mi.Line?(h=Hl(r,this._lineCursorWidth>0?this._lineCursorWidth:2),h>2&&(i=n,e=this._getTokenClassName(s))):h=Hl(r,1);let c=o.left,a=0;h>=2&&c>=1&&(a=1,c-=a);const l=t.getVerticalOffsetForLineNumber(s.lineNumber)-t.bigNumbersDelta;return new OD(l,c,a,h,this._lineHeight,i,e)}const o=t.linesVisibleRangesForRange(new Ls(s.lineNumber,s.column,s.lineNumber,s.column+n.length),!1);if(!o||0===o.length)return null;const r=o[0];if(r.outsideRenderedLine||0===r.ranges.length)return null;const h=r.ranges[0],c="\t"===n||h.width<1?this._typicalHalfwidthCharacterWidth:h.width;this._cursorStyle===mi.Block&&(i=n,e=this._getTokenClassName(s));let a=t.getVerticalOffsetForLineNumber(s.lineNumber)-t.bigNumbersDelta,l=this._lineHeight;return this._cursorStyle!==mi.Underline&&this._cursorStyle!==mi.UnderlineThin||(a+=this._lineHeight-2,l=2),new OD(a,h.left,0,c,l,i,e)}_getTokenClassName(t){const i=this._context.viewModel.getViewLineData(t.lineNumber),e=i.tokens.findTokenIndexAtOffset(t.column-1);return i.tokens.getClassName(e)}prepareRender(t){this._renderData=this._prepareRender(t)}render(t){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${nC} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}}class _D extends Ry{constructor(t){super(t);const i=this._context.configuration.options;this._readOnly=i.get(90),this._cursorBlinking=i.get(26),this._cursorStyle=i.get(28),this._cursorSmoothCaretAnimation=i.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new ID(this._context),this._secondaryCursors=[],this._renderData=[],this._domNode=ir(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 fc,this._cursorFlatBlinkInterval=new Ya,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(t){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(t){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(t){const i=this._context.configuration.options;this._readOnly=i.get(90),this._cursorBlinking=i.get(26),this._cursorStyle=i.get(28),this._cursorSmoothCaretAnimation=i.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(t);for(let i=0,e=this._secondaryCursors.length;ii.length){const t=this._secondaryCursors.length-i.length;for(let i=0;i{for(let e=0,s=t.ranges.length;e{this._isVisible?this._hide():this._show()}),_D.BLINK_INTERVAL,Ba(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet((()=>{this._blinkingEnabled=!0,this._updateDomClassName()}),_D.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let t="cursors-layer";switch(this._selectionIsEmpty||(t+=" has-selection"),this._cursorStyle){case mi.Line:t+=" cursor-line-style";break;case mi.Block:t+=" cursor-block-style";break;case mi.Underline:t+=" cursor-underline-style";break;case mi.LineThin:t+=" cursor-line-thin-style";break;case mi.BlockOutline:t+=" cursor-block-outline-style";break;case mi.UnderlineThin:t+=" cursor-underline-thin-style";break;default:t+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:t+=" cursor-blink";break;case 2:t+=" cursor-smooth";break;case 3:t+=" cursor-phase";break;case 4:t+=" cursor-expand";break;default:t+=" cursor-solid"}else t+=" cursor-solid";return"on"!==this._cursorSmoothCaretAnimation&&"explicit"!==this._cursorSmoothCaretAnimation||(t+=" cursor-smooth-caret-animation"),t}_show(){this._primaryCursor.show();for(let t=0,i=this._secondaryCursors.length;t{const e=t.getColor(ax);if(e){let s=t.getColor(lx);s||(s=e.opposite()),i.addRule(`.monaco-editor .cursors-layer .cursor { background-color: ${e}; border-color: ${e}; color: ${s}; }`),Hy(t.type)&&i.addRule(`.monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid ${s}; border-right: 1px solid ${s}; }`)}}));const ND=()=>{throw new Error("Invalid change accessor")};class BD extends Ry{constructor(t){super(t);const i=this._context.configuration.options,e=i.get(143);this._lineHeight=i.get(66),this._contentWidth=e.contentWidth,this._contentLeft=e.contentLeft,this.domNode=ir(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=ir(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 t=this._context.viewLayout.getWhitespaces(),i=new Map;for(const e of t)i.set(e.id,e);let e=!1;return this._context.viewModel.changeWhitespace((t=>{const s=Object.keys(this._zones);for(let n=0,o=s.length;n{const s={addZone:t=>(i=!0,this._addZone(e,t)),removeZone:t=>{t&&(i=this._removeZone(e,t)||i)},layoutZone:t=>{t&&(i=this._layoutZone(e,t)||i)}};!function(t,i){try{return t(i)}catch(t){Pi(t)}}(t,s),s.addZone=ND,s.removeZone=ND,s.layoutZone=ND})),i}_addZone(t,i){const e=this._computeWhitespaceProps(i),s={whitespaceId:t.insertWhitespace(e.afterViewLineNumber,this._getZoneOrdinal(i),e.heightInPx,e.minWidthInPx),delegate:i,isInHiddenArea:e.isInHiddenArea,isVisible:!1,domNode:ir(i.domNode),marginDomNode:i.marginDomNode?ir(i.marginDomNode):null};return this._safeCallOnComputedHeight(s.delegate,e.heightInPx),s.domNode.setPosition("absolute"),s.domNode.domNode.style.width="100%",s.domNode.setDisplay("none"),s.domNode.setAttribute("monaco-view-zone",s.whitespaceId),this.domNode.appendChild(s.domNode),s.marginDomNode&&(s.marginDomNode.setPosition("absolute"),s.marginDomNode.domNode.style.width="100%",s.marginDomNode.setDisplay("none"),s.marginDomNode.setAttribute("monaco-view-zone",s.whitespaceId),this.marginDomNode.appendChild(s.marginDomNode)),this._zones[s.whitespaceId]=s,this.setShouldRender(),s.whitespaceId}_removeZone(t,i){if(this._zones.hasOwnProperty(i)){const e=this._zones[i];return delete this._zones[i],t.removeWhitespace(e.whitespaceId),e.domNode.removeAttribute("monaco-visible-view-zone"),e.domNode.removeAttribute("monaco-view-zone"),e.domNode.domNode.parentNode.removeChild(e.domNode.domNode),e.marginDomNode&&(e.marginDomNode.removeAttribute("monaco-visible-view-zone"),e.marginDomNode.removeAttribute("monaco-view-zone"),e.marginDomNode.domNode.parentNode.removeChild(e.marginDomNode.domNode)),this.setShouldRender(),!0}return!1}_layoutZone(t,i){if(this._zones.hasOwnProperty(i)){const e=this._zones[i],s=this._computeWhitespaceProps(e.delegate);return e.isInHiddenArea=s.isInHiddenArea,t.changeOneWhitespace(e.whitespaceId,s.afterViewLineNumber,s.heightInPx),this._safeCallOnComputedHeight(e.delegate,s.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(t){return!!this._zones.hasOwnProperty(t)&&Boolean(this._zones[t].delegate.suppressMouseDown)}_heightInPixels(t){return"number"==typeof t.heightInPx?t.heightInPx:"number"==typeof t.heightInLines?this._lineHeight*t.heightInLines:this._lineHeight}_minWidthInPixels(t){return"number"==typeof t.minWidthInPx?t.minWidthInPx:0}_safeCallOnComputedHeight(t,i){if("function"==typeof t.onComputedHeight)try{t.onComputedHeight(i)}catch(t){Pi(t)}}_safeCallOnDomNodeTop(t,i){if("function"==typeof t.onDomNodeTop)try{t.onDomNodeTop(i)}catch(t){Pi(t)}}prepareRender(t){}render(t){const i=t.viewportData.whitespaceViewportData,e={};let s=!1;for(const t of i)this._zones[t.id].isInHiddenArea||(e[t.id]=t,s=!0);const n=Object.keys(this._zones);for(let i=0,s=n.length;ii)continue;const t=e.startLineNumber===i?e.startColumn:n.minColumn,s=e.endLineNumber===i?e.endColumn:n.maxColumn;t=x.endOffset&&(k++,x=e&&e[k]),9!==n&&32!==n)continue;if(u&&!b&&s<=w)continue;if(l&&s>=y&&s<=w&&32===n){const t=s-1>=0?r.charCodeAt(s-1):0,i=s+1=0?r.charCodeAt(s-1):0;if(32===n&&32!==t&&9!==t)continue}if(e&&(!x||x.startOffset>s||x.endOffset<=s))continue;const a=t.visibleRangeForPosition(new Ms(i,s+1));a&&(o?(C=Math.max(C,a.left),v+=9===n?this._renderArrow(d,p,a.left):``):v+=9===n?`
${String.fromCharCode(m?65515:8594)}
`:`
${String.fromCharCode(g)}
`)}return o?(C=Math.round(C+p),``+v+""):v}_renderArrow(t,i,e){const s=t/2,n=e,o={x:0,y:i/7/2},r={x:.8*i,y:o.y},h={x:r.x-.2*r.x,y:r.y+.2*r.x},c={x:h.x+.1*r.x,y:h.y+.1*r.x},a={x:c.x+.35*r.x,y:c.y-.35*r.x};return``}render(t,i){if(!this._renderResult)return"";const e=i-t;return e<0||e>=this._renderResult.length?"":this._renderResult[e]}}class HD{constructor(t){const i=t.options,e=i.get(50),s=i.get(38);"off"===s?(this.renderWhitespace="none",this.renderWithSVG=!1):"svg"===s?(this.renderWhitespace=i.get(98),this.renderWithSVG=!0):(this.renderWhitespace=i.get(98),this.renderWithSVG=!1),this.spaceWidth=e.spaceWidth,this.middotWidth=e.middotWidth,this.wsmiddotWidth=e.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=e.canUseHalfwidthRightwardsArrow,this.lineHeight=i.get(66),this.stopRenderingLineAfter=i.get(116)}equals(t){return this.renderWhitespace===t.renderWhitespace&&this.renderWithSVG===t.renderWithSVG&&this.spaceWidth===t.spaceWidth&&this.middotWidth===t.middotWidth&&this.wsmiddotWidth===t.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===t.canUseHalfwidthRightwardsArrow&&this.lineHeight===t.lineHeight&&this.stopRenderingLineAfter===t.stopRenderingLineAfter}}let VD=class extends Ty{constructor(t,i,e,s,n,o,r){super(),this._instantiationService=r,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new Fs(1,1,1,1)],this._renderAnimationFrame=null;const h=new dS(i,s,n,t);this._context=new $D(i,e,s),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(lC,this._context,h,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=ir(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=ir(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=ir(document.createElement("div")),Oy.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new TS(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new VS(this._context,this._linesContent),this._viewZones=new BD(this._context),this._viewParts.push(this._viewZones);const c=new yD(this._context);this._viewParts.push(c);const a=new ED(this._context);this._viewParts.push(a);const l=new bS(this._context);this._viewParts.push(l),l.addDynamicOverlay(new MS(this._context)),l.addDynamicOverlay(new TD(this._context)),l.addDynamicOverlay(new PS(this._context)),l.addDynamicOverlay(new FS(this._context)),l.addDynamicOverlay(new zD(this._context));const u=new yS(this._context);this._viewParts.push(u),u.addDynamicOverlay(new LS(this._context)),u.addDynamicOverlay(new tD(this._context)),u.addDynamicOverlay(new XS(this._context)),u.addDynamicOverlay(new eC(this._context)),this._glyphMarginWidgets=new ZS(this._context),this._viewParts.push(this._glyphMarginWidgets);const d=new sC(this._context);d.getDomNode().appendChild(this._viewZones.marginDomNode),d.getDomNode().appendChild(u.getDomNode()),d.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(d),this._contentWidgets=new kS(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new _D(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new vD(this._context),this._viewParts.push(this._overlayWidgets);const f=new DD(this._context);this._viewParts.push(f);const p=new jD(this._context);this._viewParts.push(p);const g=new gD(this._context);if(this._viewParts.push(g),c){const t=this._scrollbar.getOverviewRulerLayoutInfo();t.parent.insertBefore(c.getDomNode(),t.insertBefore)}this._linesContent.appendChild(l.getDomNode()),this._linesContent.appendChild(f.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(d.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(a.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(g.getDomNode()),this._overflowGuardContainer.appendChild(p.domNode),this.domNode.appendChild(this._overflowGuardContainer),o?o.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode):this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this._applyLayout(),this._pointerHandler=this._register(new Yk(this._context,h,this._createPointerHandlerHelper()))}_computeGlyphMarginLaneCount(){const t=this._context.viewModel.model;let i=[];i=i.concat(t.getAllMarginDecorations().map((t=>{var i,e;const s=null!==(e=null===(i=t.options.glyphMargin)||void 0===i?void 0:i.position)&&void 0!==e?e:Bf.Left;return{range:t.range,lane:s}}))),i=i.concat(this._glyphMarginWidgets.getWidgets().map((i=>({range:t.validateRange(i.preference.range),lane:i.preference.lane})))),i.sort(((t,i)=>Ls.compareRangesUsingStarts(t.range,i.range)));let e=null,s=null;for(const t of i)if(t.lane===Bf.Left&&(!e||Ls.compareRangesUsingEnds(e,t.range)<0)&&(e=t.range),t.lane===Bf.Right&&(!s||Ls.compareRangesUsingEnds(s,t.range)<0)&&(s=t.range),e&&s){if(e.endLineNumber{this.focus()},dispatchTextAreaEvent:t=>{this._textAreaHandler.textArea.domNode.dispatchEvent(t)},getLastRenderData:()=>{const t=this._viewCursors.getLastRenderData()||[],i=this._textAreaHandler.getLastRenderData();return new ok(t,i)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:t=>this._viewZones.shouldSuppressMouseDownOnViewZone(t),shouldSuppressMouseDownOnWidget:t=>this._contentWidgets.shouldSuppressMouseDownOnWidget(t),getPositionFromDOMInfo:(t,i)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(t,i)),visibleRangeForPosition:(t,i)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new Ms(t,i))),getLineWidth:t=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(t))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:t=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(t))}}_applyLayout(){const t=this._context.configuration.options.get(143);this.domNode.setWidth(t.width),this.domNode.setHeight(t.height),this._overflowGuardContainer.setWidth(t.width),this._overflowGuardContainer.setHeight(t.height),this._linesContent.setWidth(1e6),this._linesContent.setHeight(1e6)}_getEditorClassName(){const t=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(140)+" "+ex(this._context.theme.type)+t}handleEvents(t){super.handleEvents(t),this._scheduleRender()}onConfigurationChanged(t){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(t){return this._selections=t.selections,!1}onDecorationsChanged(t){return t.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(t){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(t){return this._context.theme.update(t.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const t of this._viewParts)t.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new Gi;if(null===this._renderAnimationFrame){const t=this._createCoordinatedRendering();this._renderAnimationFrame=qD.INSTANCE.scheduleCoordinatedRendering({window:Ba(this.domNode.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new Gi;try{return t.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new Gi;return t.renderText()},prepareRender:(i,e)=>{if(this._store.isDisposed)throw new Gi;return t.prepareRender(i,e)},render:(i,e)=>{if(this._store.isDisposed)throw new Gi;return t.render(i,e)}})}}_flushAccumulatedAndRenderNow(){const t=this._createCoordinatedRendering();UD((()=>t.prepareRenderText()));const i=UD((()=>t.renderText()));if(i){const[e,s]=i;UD((()=>t.prepareRender(e,s))),UD((()=>t.render(e,s)))}}_getViewPartsToRender(){const t=[];let i=0;for(const e of this._viewParts)e.shouldRender()&&(t[i++]=e);return t}_createCoordinatedRendering(){return{prepareRenderText:()=>{this._shouldRecomputeGlyphMarginLanes&&(this._shouldRecomputeGlyphMarginLanes=!1,this._context.configuration.setGlyphMarginDecorationLaneCount(this._computeGlyphMarginLaneCount())),$k.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let t=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&0===t.length)return null;const i=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(i.startLineNumber,i.endLineNumber,i.centeredLineNumber);const e=new WD(this._selections,i,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(e),this._viewLines.shouldRender()&&(this._viewLines.renderText(e),this._viewLines.onDidRender(),t=this._getViewPartsToRender()),[t,new _y(this._context.viewLayout,e,this._viewLines)]},prepareRender:(t,i)=>{for(const e of t)e.prepareRender(i)},render:(t,i)=>{for(const e of t)e.render(i),e.onDidRender()}}}delegateVerticalScrollbarPointerDown(t){this._scrollbar.delegateVerticalScrollbarPointerDown(t)}delegateScrollFromMouseWheelEvent(t){this._scrollbar.delegateScrollFromMouseWheelEvent(t)}restoreState(t){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:t.scrollTop,scrollLeft:t.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(t,i){const e=this._context.viewModel.model.validatePosition({lineNumber:t,column:i}),s=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(e);this._flushAccumulatedAndRenderNow();const n=this._viewLines.visibleRangeForPosition(new Ms(s.lineNumber,s.column));return n?n.left:-1}getTargetAtClientPoint(t,i){const e=this._pointerHandler.getTargetAtClientPoint(t,i);return e?fS.convertViewToModelMouseTarget(e,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(t){return new SD(this._context,t)}change(t){this._viewZones.changeViewZones(t),this._scheduleRender()}render(t,i){if(i){this._viewLines.forceShouldRender();for(const t of this._viewParts)t.forceShouldRender()}t?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(t){this._textAreaHandler.writeScreenReaderContent(t)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(t){this._textAreaHandler.setAriaOptions(t)}addContentWidget(t){this._contentWidgets.addWidget(t.widget),this.layoutContentWidget(t),this._scheduleRender()}layoutContentWidget(t){var i,e,s,n,o,r,h,c;this._contentWidgets.setWidgetPosition(t.widget,null!==(e=null===(i=t.position)||void 0===i?void 0:i.position)&&void 0!==e?e:null,null!==(n=null===(s=t.position)||void 0===s?void 0:s.secondaryPosition)&&void 0!==n?n:null,null!==(r=null===(o=t.position)||void 0===o?void 0:o.preference)&&void 0!==r?r:null,null!==(c=null===(h=t.position)||void 0===h?void 0:h.positionAffinity)&&void 0!==c?c:null),this._scheduleRender()}removeContentWidget(t){this._contentWidgets.removeWidget(t.widget),this._scheduleRender()}addOverlayWidget(t){this._overlayWidgets.addWidget(t.widget),this.layoutOverlayWidget(t),this._scheduleRender()}layoutOverlayWidget(t){this._overlayWidgets.setWidgetPosition(t.widget,t.position?t.position.preference:null)&&this._scheduleRender()}removeOverlayWidget(t){this._overlayWidgets.removeWidget(t.widget),this._scheduleRender()}addGlyphMarginWidget(t){this._glyphMarginWidgets.addWidget(t.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(t){this._glyphMarginWidgets.setWidgetPosition(t.widget,t.position)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(t){this._glyphMarginWidgets.removeWidget(t.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};function UD(t){try{return t()}catch(t){return Pi(t),null}}VD=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(6,dr)],VD);class qD{constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(t){return this._coordinatedRenderings.push(t),this._scheduleRender(t.window),{dispose:()=>{const i=this._coordinatedRenderings.indexOf(t);if(-1!==i&&(this._coordinatedRenderings.splice(i,1),0===this._coordinatedRenderings.length)){for(const[t,i]of this._animationFrameRunners)i.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(t){this._animationFrameRunners.has(t)||this._animationFrameRunners.set(t,Qa(t,(()=>{this._animationFrameRunners.delete(t),this._onRenderScheduled()}),100))}_onRenderScheduled(){const t=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];for(const i of t)UD((()=>i.prepareRenderText()));const i=[];for(let e=0,s=t.length;es.renderText()))}for(let e=0,s=t.length;es.prepareRender(o,r)))}for(let e=0,s=t.length;es.render(o,r)))}}}qD.INSTANCE=new qD;class KD{constructor(t,i,e,s,n,o,r){this.id=t,this.label=i,this.alias=e,this.metadata=s,this._precondition=n,this._run=o,this._contextKeyService=r}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(t){return this.isSupported()?this._run(t):Promise.resolve(void 0)}}function GD(t){let i=0,e=0,s=0,n=0;for(let o=0,r=t.length;o=iE&&(e-=t%iE),e}function oE(t,i){return t.reduce(((t,e)=>nE(t,i(e))),XD)}function rE(t,i){return t===i}function hE(t,i){const e=t,s=i;if(s-e<=0)return XD;const n=Math.floor(e/iE),o=Math.floor(s/iE),r=s-o*iE;return n===o?eE(0,r-(e-n*iE)):eE(o-n,r)}function cE(t,i){return t=i}function uE(t){return eE(t.lineNumber-1,t.column-1)}function dE(t,i){const e=t,s=Math.floor(e/iE),n=e-s*iE,o=i,r=Math.floor(o/iE);return new Ls(s+1,n+1,r+1,o-r*iE+1)}class fE{static fromModelContentChanges(t){const i=t.map((t=>{const i=Ls.lift(t.range);return new fE(uE(i.getStartPosition()),uE(i.getEndPosition()),function(t){const i=to(t);return eE(i.length-1,i[i.length-1].length)}(t.text))})).reverse();return i}constructor(t,i,e){this.startOffset=t,this.endOffset=i,this.newLength=e}toString(){return`[${sE(this.startOffset)}...${sE(this.endOffset)}) -> ${sE(this.newLength)}`}}class pE{constructor(t){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=t.map((t=>gE.from(t)))}getOffsetBeforeChange(t){return this.adjustNextEdit(t),this.translateCurToOld(t)}getDistanceToNextChange(t){this.adjustNextEdit(t);const i=this.edits[this.nextEditIdx],e=i?this.translateOldToCur(i.offsetObj):null;return null===e?null:hE(t,e)}translateOldToCur(t){return eE(t.lineCount+this.deltaOldToNewLineCount,t.lineCount===this.deltaLineIdxInOld?t.columnCount+this.deltaOldToNewColumnCount:t.columnCount)}translateCurToOld(t){const i=sE(t);return eE(i.lineCount-this.deltaOldToNewLineCount,i.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?i.columnCount-this.deltaOldToNewColumnCount:i.columnCount)}adjustNextEdit(t){for(;this.nextEditIdx>5;if(0===s){const t=1<t};class bE{constructor(){this.items=new Map}getKey(t){let i=this.items.get(t);return void 0===i&&(i=this.items.size,this.items.set(t,i)),i}}class yE{get length(){return this._length}constructor(t){this._length=t}}class kE extends yE{static create(t,i,e){let s=t.length;return i&&(s=nE(s,i.length)),e&&(s=nE(s,e.length)),new kE(s,t,i,e,i?i.missingOpeningBracketIds:wE.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(t){switch(t){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const t=[];return t.push(this.openingBracket),this.child&&t.push(this.child),this.closingBracket&&t.push(this.closingBracket),t}constructor(t,i,e,s,n){super(t),this.openingBracket=i,this.child=e,this.closingBracket=s,this.missingOpeningBracketIds=n}canBeReused(t){return null!==this.closingBracket&&!t.intersects(this.missingOpeningBracketIds)}deepClone(){return new kE(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(t,i){return this.child?this.child.computeMinIndentation(nE(t,this.openingBracket.length),i):Number.MAX_SAFE_INTEGER}}class xE extends yE{static create23(t,i,e,s=!1){let n=t.length,o=t.missingOpeningBracketIds;if(t.listHeight!==i.listHeight)throw new Error("Invalid list heights");if(n=nE(n,i.length),o=o.merge(i.missingOpeningBracketIds),e){if(t.listHeight!==e.listHeight)throw new Error("Invalid list heights");n=nE(n,e.length),o=o.merge(e.missingOpeningBracketIds)}return s?new SE(n,t.listHeight+1,t,i,e,o):new CE(n,t.listHeight+1,t,i,e,o)}static getEmpty(){return new EE(XD,0,[],wE.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(t,i,e){super(t),this.listHeight=i,this._missingOpeningBracketIds=e,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const t=this.childrenLength;if(0===t)return;const i=this.getChild(t-1),e=4===i.kind?i.toMutable():i;return i!==e&&this.setChild(t-1,e),e}makeFirstElementMutable(){if(this.throwIfImmutable(),0===this.childrenLength)return;const t=this.getChild(0),i=4===t.kind?t.toMutable():t;return t!==i&&this.setChild(0,i),i}canBeReused(t){if(t.intersects(this.missingOpeningBracketIds))return!1;if(0===this.childrenLength)return!1;let i=this;for(;4===i.kind;){const t=i.childrenLength;if(0===t)throw new Gi;i=i.getChild(t-1)}return i.canBeReused(t)}handleChildrenChanged(){this.throwIfImmutable();const t=this.childrenLength;let i=this.getChild(0).length,e=this.getChild(0).missingOpeningBracketIds;for(let s=1;sthis.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;null===this.line&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const t=this.lineIdx,i=this.lineCharOffset;let e=0;for(;;){const s=this.lineTokens,n=s.getCount();let o=null;if(this.lineTokenOffset1e3)break}if(e>1500)break}const s=(o=i,h=this.lineCharOffset,(n=t)!==(r=this.lineIdx)?eE(r-n,h):eE(0,h-o));var n,o,r,h;return new RE(s,0,-1,wE.getEmpty(),new LE(s))}}class _E{constructor(t,i){this.text=t,this._offset=XD,this.idx=0;const e=i.getRegExpStr(),s=e?new RegExp(e+"|\n","gi"):null,n=[];let o,r=0,h=0,c=0,a=0;const l=[];for(let t=0;t<60;t++)l.push(new RE(eE(0,t),0,-1,wE.getEmpty(),new LE(eE(0,t))));const u=[];for(let t=0;t<60;t++)u.push(new RE(eE(1,t),0,-1,wE.getEmpty(),new LE(eE(1,t))));if(s)for(s.lastIndex=0;null!==(o=s.exec(t));){const t=o.index,e=o[0];if("\n"===e)r++,h=t+1;else{if(c!==t){let i;if(a===r){const e=t-c;if(efunction(t){let i=Zn(t);return/^[\w ]+/.test(t)&&(i=`\\b${i}`),/[\w ]+$/.test(t)&&(i=`${i}\\b`),i}(t))).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const t=this.getRegExpStr();this._regExpGlobal=t?new RegExp(t,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(t){return this.map.get(t.toLowerCase())}findClosingTokenText(t){for(const[i,e]of this.map)if(2===e.kind&&e.bracketIds.intersects(t))return i}get isEmpty(){return 0===this.map.size}}class BE{constructor(t,i){this.denseKeyProvider=t,this.getLanguageConfiguration=i,this.languageIdToBracketTokens=new Map}didLanguageChange(t){return this.languageIdToBracketTokens.has(t)}getSingleLanguageBracketTokens(t){let i=this.languageIdToBracketTokens.get(t);return i||(i=NE.createFromLanguage(this.getLanguageConfiguration(t),this.denseKeyProvider),this.languageIdToBracketTokens.set(t,i)),i}}function PE(t,i=!1){if(0===t.length)return null;if(1===t.length)return t[0];let e=t.length;for(;e>3;){const s=e>>1;for(let n=0;n=3?t[2]:null,i)}function $E(t,i){return Math.abs(t.listHeight-i.listHeight)}function WE(t,i){return t.listHeight===i.listHeight?xE.create23(t,i,null,!1):t.listHeight>i.listHeight?function(t,i){let e=t=t.toMutable();const s=[];let n;for(;;){if(i.listHeight===e.listHeight){n=i;break}if(4!==e.kind)throw new Error("unexpected");s.push(e),e=e.makeLastElementMutable()}for(let t=s.length-1;t>=0;t--){const i=s[t];n?i.childrenLength>=3?n=xE.create23(i.unappendChild(),n,null,!1):(i.appendChildOfSameHeight(n),n=void 0):i.handleChildrenChanged()}return n?xE.create23(t,n,null,!1):t}(t,i):function(t,i){let e=t=t.toMutable();const s=[];for(;i.listHeight!==e.listHeight;){if(4!==e.kind)throw new Error("unexpected");s.push(e),e=e.makeFirstElementMutable()}let n=i;for(let t=s.length-1;t>=0;t--){const i=s[t];n?i.childrenLength>=3?n=xE.create23(n,i.unprependChild(),null,!1):(i.prependChildOfSameHeight(n),n=void 0):i.handleChildrenChanged()}return n?xE.create23(n,t,null,!1):t}(i,t)}class jE{constructor(t){this.lastOffset=XD,this.nextNodes=[t],this.offsets=[XD],this.idxs=[]}readLongestNodeAt(t,i){if(cE(t,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=t;;){const e=HE(this.nextNodes);if(!e)return;const s=HE(this.offsets);if(cE(t,s))return;if(cE(s,t))if(nE(s,e.length)<=t)this.nextNodeAfterCurrent();else{const t=zE(e);-1!==t?(this.nextNodes.push(e.getChild(t)),this.offsets.push(s),this.idxs.push(t)):this.nextNodeAfterCurrent()}else{if(i(e))return this.nextNodeAfterCurrent(),e;{const t=zE(e);if(-1===t)return void this.nextNodeAfterCurrent();this.nextNodes.push(e.getChild(t)),this.offsets.push(s),this.idxs.push(t)}}}}nextNodeAfterCurrent(){for(;;){const t=HE(this.offsets),i=HE(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;const e=HE(this.nextNodes),s=zE(e,this.idxs[this.idxs.length-1]);if(-1!==s){this.nextNodes.push(e.getChild(s)),this.offsets.push(nE(t,i.length)),this.idxs[this.idxs.length-1]=s;break}this.idxs.pop()}}}function zE(t,i=-1){for(;;){if(++i>=t.childrenLength)return-1;if(t.getChild(i))return i}}function HE(t){return t.length>0?t[t.length-1]:void 0}function VE(t,i,e,s){return new UE(t,i,e,s).parseDocument()}class UE{constructor(t,i,e,s){if(this.tokenizer=t,this.createImmutableLists=s,this._itemsConstructed=0,this._itemsFromCache=0,e&&s)throw new Error("Not supported");this.oldNodeReader=e?new jE(e):void 0,this.positionMapper=new pE(i)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let t=this.parseList(wE.getEmpty(),0);return t||(t=xE.getEmpty()),t}parseList(t,i){const e=[];for(;;){let s=this.tryReadChildFromCache(t);if(!s){const e=this.tokenizer.peek();if(!e||2===e.kind&&e.bracketIds.intersects(t))break;s=this.parseChild(t,i+1)}4===s.kind&&0===s.childrenLength||e.push(s)}const s=this.oldNodeReader?function(t){if(0===t.length)return null;if(1===t.length)return t[0];let i=0;function e(){if(i>=t.length)return null;const e=i,s=t[e].listHeight;for(i++;i=2?PE(0===e&&i===t.length?t:t.slice(e,i),!1):t[e]}let s=e(),n=e();if(!n)return s;for(let t=e();t;t=e())$E(s,n)<=$E(n,t)?(s=WE(s,n),n=t):n=WE(n,t);return WE(s,n)}(e):PE(e,this.createImmutableLists);return s}tryReadChildFromCache(t){if(this.oldNodeReader){const i=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(null===i||!tE(i)){const e=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),(e=>!(null!==i&&!cE(e.length,i))&&e.canBeReused(t)));if(e)return this._itemsFromCache++,this.tokenizer.skip(e.length),e}}}parseChild(t,i){this._itemsConstructed++;const e=this.tokenizer.read();switch(e.kind){case 2:return new TE(e.bracketIds,e.length);case 0:return e.astNode;case 1:{if(i>300)return new LE(e.length);const s=t.merge(e.bracketIds),n=this.parseList(s,i+1),o=this.tokenizer.peek();return o&&2===o.kind&&(o.bracketId===e.bracketId||o.bracketIds.intersects(e.bracketIds))?(this.tokenizer.read(),kE.create(e.astNode,n,o.astNode)):kE.create(e.astNode,n,null)}default:throw new Error("unexpected")}}}function qE(t,i){if(0===t.length)return i;if(0===i.length)return t;const e=new N(GE(t)),s=GE(i);s.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let n=e.dequeue();function o(t){if(void 0===t){const t=e.takeWhile((()=>!0))||[];return n&&t.unshift(n),t}const i=[];for(;n&&!tE(t);){const[s,o]=n.splitAt(t);i.push(s),t=hE(s.lengthAfter,t),n=null!=o?o:e.dequeue()}return tE(t)||i.push(new KE(!1,t,t)),i}const r=[];function h(t,i,e){if(r.length>0&&rE(r[r.length-1].endOffset,t)){const t=r[r.length-1];r[r.length-1]=new fE(t.startOffset,i,nE(t.newLength,e))}else r.push({startOffset:t,endOffset:i,newLength:e})}let c=XD;for(const t of s){const i=o(t.lengthBefore);if(t.modified){const e=nE(c,oE(i,(t=>t.lengthBefore)));h(c,e,t.lengthAfter),c=e}else for(const t of i){const i=c;c=nE(c,t.lengthBefore),t.modified&&h(i,c,t.lengthAfter)}}return r}class KE{constructor(t,i,e){this.modified=t,this.lengthBefore=i,this.lengthAfter=e}splitAt(t){const i=hE(t,this.lengthAfter);return rE(i,XD)?[this,void 0]:this.modified?[new KE(this.modified,this.lengthBefore,t),new KE(this.modified,XD,i)]:[new KE(this.modified,t,t),new KE(this.modified,i,i)]}toString(){return`${this.modified?"M":"U"}:${sE(this.lengthBefore)} -> ${sE(this.lengthAfter)}`}}function GE(t){const i=[];let e=XD;for(const s of t){const t=hE(e,s.startOffset);tE(t)||i.push(new KE(!1,t,t));const n=hE(s.startOffset,s.endOffset);i.push(new KE(!0,n,s.newLength)),e=s.endOffset}return i}class ZE extends ie{didLanguageChange(t){return this.brackets.didLanguageChange(t)}constructor(t,i){if(super(),this.textModel=t,this.getLanguageConfiguration=i,this.didChangeEmitter=new fe,this.denseKeyProvider=new bE,this.brackets=new BE(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],t.tokenization.hasTokens)2===t.tokenization.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const t=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),i=new _E(this.textModel.getValue(),t);this.initialAstWithoutTokens=VE(i,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){const t=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,t||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:t}){const i=t.map((t=>new fE(eE(t.fromLineNumber-1,0),eE(t.toLineNumber,0),eE(t.toLineNumber-t.fromLineNumber+1,0))));this.handleEdits(i,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(t){const i=fE.fromModelContentChanges(t.changes);this.handleEdits(i,!1)}handleEdits(t,i){const e=qE(this.queuedTextEdits,t);this.queuedTextEdits=e,this.initialAstWithoutTokens&&!i&&(this.queuedTextEditsForInitialAstWithoutTokens=qE(this.queuedTextEditsForInitialAstWithoutTokens,t))}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(t,i,e){const s=i;return VE(new OE(this.textModel,this.brackets),t,s,e)}getBracketsInRange(t,i){this.flushQueue();const e=eE(t.startLineNumber-1,t.startColumn-1),s=eE(t.endLineNumber-1,t.endColumn-1);return new B((t=>{const n=this.initialAstWithoutTokens||this.astWithTokens;YE(n,XD,n.length,e,s,t,0,0,new Map,i)}))}getBracketPairsInRange(t,i){this.flushQueue();const e=uE(t.getStartPosition()),s=uE(t.getEndPosition());return new B((t=>{const n=this.initialAstWithoutTokens||this.astWithTokens,o=new XE(t,i,this.textModel);tA(n,XD,n.length,e,s,o,0,new Map)}))}getFirstBracketAfter(t){this.flushQueue();const i=this.initialAstWithoutTokens||this.astWithTokens;return JE(i,XD,i.length,uE(t))}getFirstBracketBefore(t){this.flushQueue();const i=this.initialAstWithoutTokens||this.astWithTokens;return QE(i,XD,i.length,uE(t))}}function QE(t,i,e,s){if(4===t.kind||2===t.kind){const n=[];for(const s of t.children)e=nE(i,s.length),n.push({nodeOffsetStart:i,nodeOffsetEnd:e}),i=e;for(let i=n.length-1;i>=0;i--){const{nodeOffsetStart:e,nodeOffsetEnd:o}=n[i];if(cE(e,s)){const n=QE(t.children[i],e,o,s);if(n)return n}}return null}if(3===t.kind)return null;if(1===t.kind){const s=dE(i,e);return{bracketInfo:t.bracketInfo,range:s}}return null}function JE(t,i,e,s){if(4===t.kind||2===t.kind){for(const n of t.children){if(cE(s,e=nE(i,n.length))){const t=JE(n,i,e,s);if(t)return t}i=e}return null}if(3===t.kind)return null;if(1===t.kind){const s=dE(i,e);return{bracketInfo:t.bracketInfo,range:s}}return null}function YE(t,i,e,s,n,o,r,h,c,a,l=!1){if(r>200)return!0;t:for(;;)switch(t.kind){case 4:{const h=t.childrenLength;for(let l=0;l200)return!0;let a=!0;if(2===t.kind){let l=0;if(h){let i=h.get(t.openingBracket.text);void 0===i&&(i=0),l=i,i++,h.set(t.openingBracket.text,i)}const u=nE(i,t.openingBracket.length);let d=-1;if(o.includeMinIndentation&&(d=t.computeMinIndentation(i,o.textModel)),a=o.push(new JD(dE(i,e),dE(i,u),t.closingBracket?dE(nE(u,(null===(c=t.child)||void 0===c?void 0:c.length)||XD),e):void 0,r,l,t,d)),i=u,a&&t.child){const c=t.child;if(e=nE(i,c.length),aE(i,n)&&lE(e,s)&&(a=tA(c,i,e,s,n,o,r+1,h),!a))return!1}null==h||h.set(t.openingBracket.text,l)}else{let e=i;for(const i of t.children){const t=e;if(e=nE(e,i.length),aE(t,n)&&aE(s,e)&&(a=tA(i,t,e,s,n,o,r,h),!a))return!1}}return a}class iA extends ie{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(t,i){super(),this.textModel=t,this.languageConfigurationService=i,this.bracketPairsTree=this._register(new ee),this.onDidChangeEmitter=new fe,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1,this._register(this.languageConfigurationService.onDidChange((t=>{var i;t.languageId&&!(null===(i=this.bracketPairsTree.value)||void 0===i?void 0:i.object.didLanguageChange(t.languageId))||(this.bracketPairsTree.clear(),this.updateBracketPairsTree())})))}handleDidChangeOptions(t){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(t){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(t){var i;null===(i=this.bracketPairsTree.value)||void 0===i||i.object.handleContentChanged(t)}handleDidChangeBackgroundTokenizationState(){var t;null===(t=this.bracketPairsTree.value)||void 0===t||t.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(t){var i;null===(i=this.bracketPairsTree.value)||void 0===i||i.object.handleDidChangeTokens(t)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const e=new te;this.bracketPairsTree.value=(t=e.add(new ZE(this.textModel,(t=>this.languageConfigurationService.getLanguageConfiguration(t)))),i=e,{object:t,dispose:()=>null==i?void 0:i.dispose()}),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());var t,i}getBracketPairsInRange(t){var i;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(i=this.bracketPairsTree.value)||void 0===i?void 0:i.object.getBracketPairsInRange(t,!1))||B.empty}getBracketPairsInRangeWithMinIndentation(t){var i;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(i=this.bracketPairsTree.value)||void 0===i?void 0:i.object.getBracketPairsInRange(t,!0))||B.empty}getBracketsInRange(t,i=!1){var e;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(e=this.bracketPairsTree.value)||void 0===e?void 0:e.object.getBracketsInRange(t,i))||B.empty}findMatchingBracketUp(t,i,e){const s=this.textModel.validatePosition(i),n=this.textModel.getLanguageIdAtPosition(s.lineNumber,s.column);if(this.canBuildAST){const e=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew.getClosingBracketInfo(t);if(!e)return null;const s=this.getBracketPairsInRange(Ls.fromPositions(i,i)).findLast((t=>e.closes(t.openingBracketInfo)));return s?s.openingBracketRange:null}{const i=t.toLowerCase(),o=this.languageConfigurationService.getLanguageConfiguration(n).brackets;if(!o)return null;const r=o.textIsBracket[i];return r?nA(this._findMatchingBracketUp(r,s,eA(e))):null}}matchBracket(t,i){if(this.canBuildAST){const i=this.getBracketPairsInRange(Ls.fromPositions(t,t)).filter((i=>void 0!==i.closingBracketRange&&(i.openingBracketRange.containsPosition(t)||i.closingBracketRange.containsPosition(t)))).findLastMaxBy(R((i=>i.openingBracketRange.containsPosition(t)?i.openingBracketRange:i.closingBracketRange),Ls.compareRangesUsingStarts));return i?[i.openingBracketRange,i.closingBracketRange]:null}{const e=eA(i);return this._matchBracket(this.textModel.validatePosition(t),e)}}_establishBracketSearchOffsets(t,i,e,s){const n=i.getCount(),o=i.getLanguageId(s);let r=Math.max(0,t.column-1-e.maxBracketLength);for(let t=s-1;t>=0;t--){const e=i.getEndOffset(t);if(e<=r)break;if($u(i.getStandardTokenType(t))||i.getLanguageId(t)!==o){r=e;break}}let h=Math.min(i.getLineContent().length,t.column-1+e.maxBracketLength);for(let t=s+1;t=h)break;if($u(i.getStandardTokenType(t))||i.getLanguageId(t)!==o){h=e;break}}return{searchStartOffset:r,searchEndOffset:h}}_matchBracket(t,i){const e=t.lineNumber,s=this.textModel.tokenization.getLineTokens(e),n=this.textModel.getLineContent(e),o=s.findTokenIndexAtOffset(t.column-1);if(o<0)return null;const r=this.languageConfigurationService.getLanguageConfiguration(s.getLanguageId(o)).brackets;if(r&&!$u(s.getStandardTokenType(o))){let{searchStartOffset:h,searchEndOffset:c}=this._establishBracketSearchOffsets(t,s,r,o),a=null;for(;;){const s=ld.findNextBracketInRange(r.forwardRegex,e,n,h,c);if(!s)break;if(s.startColumn<=t.column&&t.column<=s.endColumn){const t=n.substring(s.startColumn-1,s.endColumn-1).toLowerCase(),e=this._matchFoundBracket(s,r.textIsBracket[t],r.textIsOpenBracket[t],i);if(e){if(e instanceof sA)return null;a=e}}h=s.endColumn-1}if(a)return a}if(o>0&&s.getStartOffset(o)===t.column-1){const r=o-1,h=this.languageConfigurationService.getLanguageConfiguration(s.getLanguageId(r)).brackets;if(h&&!$u(s.getStandardTokenType(r))){const{searchStartOffset:o,searchEndOffset:c}=this._establishBracketSearchOffsets(t,s,h,r),a=ld.findPrevBracketInRange(h.reversedRegex,e,n,o,c);if(a&&a.startColumn<=t.column&&t.column<=a.endColumn){const t=n.substring(a.startColumn-1,a.endColumn-1).toLowerCase(),e=this._matchFoundBracket(a,h.textIsBracket[t],h.textIsOpenBracket[t],i);if(e)return e instanceof sA?null:e}}}return null}_matchFoundBracket(t,i,e,s){if(!i)return null;const n=e?this._findMatchingBracketDown(i,t.getEndPosition(),s):this._findMatchingBracketUp(i,t.getStartPosition(),s);return n?n instanceof sA?n:[t,n]:null}_findMatchingBracketUp(t,i,e){const s=t.languageId,n=t.reversedRegex;let o=-1,r=0;const h=(i,s,h,c)=>{for(;;){if(e&&++r%100==0&&!e())return sA.INSTANCE;const a=ld.findPrevBracketInRange(n,i,s,h,c);if(!a)break;const l=s.substring(a.startColumn-1,a.endColumn-1).toLowerCase();if(t.isOpen(l)?o++:t.isClose(l)&&o--,0===o)return a;c=a.startColumn-1}return null};for(let t=i.lineNumber;t>=1;t--){const e=this.textModel.tokenization.getLineTokens(t),n=e.getCount(),o=this.textModel.getLineContent(t);let r=n-1,c=o.length,a=o.length;t===i.lineNumber&&(r=e.findTokenIndexAtOffset(i.column-1),c=i.column-1,a=i.column-1);let l=!0;for(;r>=0;r--){const i=e.getLanguageId(r)===s&&!$u(e.getStandardTokenType(r));if(i)l?c=e.getStartOffset(r):(c=e.getStartOffset(r),a=e.getEndOffset(r));else if(l&&c!==a){const i=h(t,o,c,a);if(i)return i}l=i}if(l&&c!==a){const i=h(t,o,c,a);if(i)return i}}return null}_findMatchingBracketDown(t,i,e){const s=t.languageId,n=t.forwardRegex;let o=1,r=0;const h=(i,s,h,c)=>{for(;;){if(e&&++r%100==0&&!e())return sA.INSTANCE;const a=ld.findNextBracketInRange(n,i,s,h,c);if(!a)break;const l=s.substring(a.startColumn-1,a.endColumn-1).toLowerCase();if(t.isOpen(l)?o++:t.isClose(l)&&o--,0===o)return a;h=a.endColumn-1}return null},c=this.textModel.getLineCount();for(let t=i.lineNumber;t<=c;t++){const e=this.textModel.tokenization.getLineTokens(t),n=e.getCount(),o=this.textModel.getLineContent(t);let r=0,c=0,a=0;t===i.lineNumber&&(r=e.findTokenIndexAtOffset(i.column-1),c=i.column-1,a=i.column-1);let l=!0;for(;r=1;t--){const i=this.textModel.tokenization.getLineTokens(t),r=i.getCount(),h=this.textModel.getLineContent(t);let c=r-1,a=h.length,l=h.length;if(t===e.lineNumber){c=i.findTokenIndexAtOffset(e.column-1),a=e.column-1,l=e.column-1;const t=i.getLanguageId(c);s!==t&&(s=t,n=this.languageConfigurationService.getLanguageConfiguration(s).brackets,o=this.languageConfigurationService.getLanguageConfiguration(s).bracketsNew)}let u=!0;for(;c>=0;c--){const e=i.getLanguageId(c);if(s!==e){if(n&&o&&u&&a!==l){const i=ld.findPrevBracketInRange(n.reversedRegex,t,h,a,l);if(i)return this._toFoundBracket(o,i);u=!1}s=e,n=this.languageConfigurationService.getLanguageConfiguration(s).brackets,o=this.languageConfigurationService.getLanguageConfiguration(s).bracketsNew}const r=!!n&&!$u(i.getStandardTokenType(c));if(r)u?a=i.getStartOffset(c):(a=i.getStartOffset(c),l=i.getEndOffset(c));else if(o&&n&&u&&a!==l){const i=ld.findPrevBracketInRange(n.reversedRegex,t,h,a,l);if(i)return this._toFoundBracket(o,i)}u=r}if(o&&n&&u&&a!==l){const i=ld.findPrevBracketInRange(n.reversedRegex,t,h,a,l);if(i)return this._toFoundBracket(o,i)}}return null}findNextBracket(t){var i;const e=this.textModel.validatePosition(t);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(i=this.bracketPairsTree.value)||void 0===i?void 0:i.object.getFirstBracketAfter(e))||null;const s=this.textModel.getLineCount();let n=null,o=null,r=null;for(let t=e.lineNumber;t<=s;t++){const i=this.textModel.tokenization.getLineTokens(t),s=i.getCount(),h=this.textModel.getLineContent(t);let c=0,a=0,l=0;if(t===e.lineNumber){c=i.findTokenIndexAtOffset(e.column-1),a=e.column-1,l=e.column-1;const t=i.getLanguageId(c);n!==t&&(n=t,o=this.languageConfigurationService.getLanguageConfiguration(n).brackets,r=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew)}let u=!0;for(;cvoid 0!==i.closingBracketRange&&i.range.strictContainsRange(t)));return i?[i.openingBracketRange,i.closingBracketRange]:null}const s=eA(i),n=this.textModel.getLineCount(),o=new Map;let r=[];const h=(t,i)=>{if(!o.has(t)){const e=[];for(let t=0,s=i?i.brackets.length:0;t{for(;;){if(s&&++c%100==0&&!s())return sA.INSTANCE;const h=ld.findNextBracketInRange(t.forwardRegex,i,e,n,o);if(!h)break;const a=e.substring(h.startColumn-1,h.endColumn-1).toLowerCase(),l=t.textIsBracket[a];if(l&&(l.isOpen(a)?r[l.index]++:l.isClose(a)&&r[l.index]--,-1===r[l.index]))return this._matchFoundBracket(h,l,!1,s);n=h.endColumn-1}return null};let l=null,u=null;for(let t=e.lineNumber;t<=n;t++){const i=this.textModel.tokenization.getLineTokens(t),s=i.getCount(),n=this.textModel.getLineContent(t);let o=0,r=0,c=0;if(t===e.lineNumber){o=i.findTokenIndexAtOffset(e.column-1),r=e.column-1,c=e.column-1;const t=i.getLanguageId(o);l!==t&&(l=t,u=this.languageConfigurationService.getLanguageConfiguration(l).brackets,h(l,u))}let d=!0;for(;o!0;{const i=Date.now();return()=>Date.now()-i<=t}}class sA{constructor(){this._searchCanceledBrand=void 0}}function nA(t){return t instanceof sA?null:t}sA.INSTANCE=new sA;class oA extends ie{constructor(t){super(),this.textModel=t,this.colorProvider=new rA,this.onDidChangeEmitter=new fe,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=t.getOptions().bracketPairColorizationOptions,this._register(t.bracketPairs.onDidChange((()=>{this.onDidChangeEmitter.fire()})))}handleDidChangeOptions(t){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(t,i,e,s){return s||void 0===i?[]:this.colorizationOptions.enabled?this.textModel.bracketPairs.getBracketsInRange(t,!0).map((t=>({id:`bracket${t.range.toString()}-${t.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(t,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:t.range}))).toArray():[]}getAllDecorations(t,i){return void 0===t?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new Ls(1,1,this.textModel.getLineCount(),1),t,i):[]}}class rA{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(t,i){return t.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(i?t.nestingLevelOfEqualBracketType:t.nestingLevel)}getInlineClassNameOfLevel(t){return"bracket-highlighting-"+t%30}}function hA(t){return t.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}ox(((t,i)=>{const e=[Bx,Px,$x,Wx,jx,zx],s=new rA;i.addRule(`.monaco-editor .${s.unexpectedClosingBracketClassName} { color: ${t.getColor(Hx)}; }`);const n=e.map((i=>t.getColor(i))).filter((t=>!!t)).filter((t=>!t.isTransparent()));for(let t=0;t<30;t++){const e=n[t%n.length];i.addRule(`.monaco-editor .${s.getInlineClassNameOfLevel(t)} { color: ${e}; }`)}}));class cA{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(t,i,e,s){this.oldPosition=t,this.oldText=i,this.newPosition=e,this.newText=s}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${hA(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${hA(this.oldText)}")`:`(replace@${this.oldPosition} "${hA(this.oldText)}" with "${hA(this.newText)}")`}static _writeStringSize(t){return 4+2*t.length}static _writeString(t,i,e){const s=i.length;Qu(t,s,e),e+=4;for(let n=0;n0&&(65279===s[0]||65534===s[0])?function(t,i,e){const s=[];let n=0;for(let o=0;ot.length)return!1;if(e){if(!fo(t,i))return!1;if(i.length===t.length)return!0;let e=i.length;return i.charAt(i.length-1)===s&&e--,t.charAt(e)===s}return i.charAt(i.length-1)!==s&&(i+=s),0===t.indexOf(i)}function pA(t){return t>=65&&t<=90||t>=97&&t<=122}function gA(t){return Cs(t,!0)}class mA{constructor(t){this._ignorePathCasing=t}compare(t,i,e=!1){return t===i?0:no(this.getComparisonKey(t,e),this.getComparisonKey(i,e))}isEqual(t,i,e=!1){return t===i||!(!t||!i)&&this.getComparisonKey(t,e)===this.getComparisonKey(i,e)}getComparisonKey(t,i=!1){return t.with({path:this._ignorePathCasing(t)?t.path.toLowerCase():void 0,fragment:i?null:void 0}).toString()}isEqualOrParent(t,i,e=!1){if(t.scheme===i.scheme){if(t.scheme===xa.file)return fA(gA(t),gA(i),this._ignorePathCasing(t))&&t.query===i.query&&(e||t.fragment===i.fragment);if(AA(t.authority,i.authority))return fA(t.path,i.path,this._ignorePathCasing(t),"/")&&t.query===i.query&&(e||t.fragment===i.fragment)}return!1}joinPath(t,...i){return ws.joinPath(t,...i)}basenameOrAuthority(t){return yA(t)||t.authority}basename(t){return ss.basename(t.path)}extname(t){return ss.extname(t.path)}dirname(t){if(0===t.path.length)return t;let i;return t.scheme===xa.file?i=ws.file(hs(gA(t))).path:(i=ss.dirname(t.path),t.authority&&i.length&&47!==i.charCodeAt(0)&&(console.error(`dirname("${t.toString})) resulted in a relative path`),i="/")),t.with({path:i})}normalizePath(t){if(!t.path.length)return t;let i;return i=t.scheme===xa.file?ws.file(ns(gA(t))).path:ss.normalize(t.path),t.with({path:i})}relativePath(t,i){if(t.scheme!==i.scheme||!AA(t.authority,i.authority))return;if(t.scheme===xa.file){const e=rs(gA(t),gA(i));return Ct?uA(e):e}let e=t.path||"/";const s=i.path||"/";if(this._ignorePathCasing(t)){let t=0;for(const i=Math.min(e.length,s.length);tdA(e).length&&e[e.length-1]===i}{const i=t.path;return i.length>1&&47===i.charCodeAt(i.length-1)&&!/^[a-zA-Z]:(\/$|\\$)/.test(t.fsPath)}}removeTrailingPathSeparator(t,i=ls){return MA(t,i)?t.with({path:t.path.substr(0,t.path.length-1)}):t}addTrailingPathSeparator(t,i=ls){let e=!1;if(t.scheme===xa.file){const s=gA(t);e=void 0!==s&&s.length===dA(s).length&&s[s.length-1]===i}else{i="/";const s=t.path;e=1===s.length&&47===s.charCodeAt(s.length-1)}return e||MA(t,i)?t:t.with({path:t.path+"/"})}}const wA=new mA((()=>!1));new mA((t=>t.scheme!==xa.file||!Dt)),new mA((()=>!0));const vA=wA.isEqual.bind(wA);wA.isEqualOrParent.bind(wA),wA.getComparisonKey.bind(wA);const bA=wA.basenameOrAuthority.bind(wA),yA=wA.basename.bind(wA),kA=wA.extname.bind(wA),xA=wA.dirname.bind(wA),CA=wA.joinPath.bind(wA),SA=wA.normalizePath.bind(wA),DA=wA.relativePath.bind(wA),EA=wA.resolvePath.bind(wA);wA.isAbsolutePath.bind(wA);const AA=wA.isEqualAuthority.bind(wA),MA=wA.hasTrailingPathSeparator.bind(wA);var LA;function FA(t){return t.toString()}wA.removeTrailingPathSeparator.bind(wA),wA.addTrailingPathSeparator.bind(wA),function(t){t.META_DATA_LABEL="label",t.META_DATA_DESCRIPTION="description",t.META_DATA_SIZE="size",t.META_DATA_MIME="mime",t.parseMetaData=function(i){const e=new Map;i.path.substring(i.path.indexOf(";")+1,i.path.lastIndexOf(";")).split(";").forEach((t=>{const[i,s]=t.split(":");i&&s&&e.set(i,s)}));const s=i.path.substring(0,i.path.indexOf(";"));return s&&e.set(t.META_DATA_MIME,s),e}}(LA||(LA={}));class TA{static create(t,i){const e=t.getAlternativeVersionId(),s=IA(t);return new TA(e,e,s,s,i,i,[])}constructor(t,i,e,s,n,o,r){this.beforeVersionId=t,this.afterVersionId=i,this.beforeEOL=e,this.afterEOL=s,this.beforeCursorState=n,this.afterCursorState=o,this.changes=r}append(t,i,e,s,n){var o,r;i.length>0&&(this.changes=(r=i,null===(o=this.changes)||0===o.length?r:new aA(o,r).compress())),this.afterEOL=e,this.afterVersionId=s,this.afterCursorState=n}static _writeSelectionsSize(t){return 4+16*(t?t.length:0)}static _writeSelections(t,i,e){if(Qu(t,i?i.length:0,e),e+=4,i)for(const s of i)Qu(t,s.selectionStartLineNumber,e),Qu(t,s.selectionStartColumn,e+=4),Qu(t,s.positionLineNumber,e+=4),Qu(t,s.positionColumn,e+=4),e+=4;return e}static _readSelections(t,i,e){const s=Zu(t,i);i+=4;for(let n=0;nt.toString())).join(", ")}matchesResource(t){return(ws.isUri(this.model)?this.model:this.model.uri).toString()===t.toString()}setModel(t){this.model=t}canAppend(t){return this.model===t&&this._data instanceof TA}append(t,i,e,s,n){this._data instanceof TA&&this._data.append(t,i,e,s,n)}close(){this._data instanceof TA&&(this._data=this._data.serialize())}open(){this._data instanceof TA||(this._data=TA.deserialize(this._data))}undo(){if(ws.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof TA&&(this._data=this._data.serialize());const t=TA.deserialize(this._data);this.model._applyUndo(t.changes,t.beforeEOL,t.beforeVersionId,t.beforeCursorState)}redo(){if(ws.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof TA&&(this._data=this._data.serialize());const t=TA.deserialize(this._data);this.model._applyRedo(t.changes,t.afterEOL,t.afterVersionId,t.afterCursorState)}heapSize(){return this._data instanceof TA&&(this._data=this._data.serialize()),this._data.byteLength+168}}class OA{get resources(){return this._editStackElementsArr.map((t=>t.resource))}constructor(t,i,e){this.label=t,this.code=i,this.type=1,this._isOpen=!0,this._editStackElementsArr=e.slice(0),this._editStackElementsMap=new Map;for(const t of this._editStackElementsArr){const i=FA(t.resource);this._editStackElementsMap.set(i,t)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(t){const i=FA(t);return this._editStackElementsMap.has(i)}setModel(t){const i=FA(ws.isUri(t)?t:t.uri);this._editStackElementsMap.has(i)&&this._editStackElementsMap.get(i).setModel(t)}canAppend(t){if(!this._isOpen)return!1;const i=FA(t.uri);return!!this._editStackElementsMap.has(i)&&this._editStackElementsMap.get(i).canAppend(t)}append(t,i,e,s,n){const o=FA(t.uri);this._editStackElementsMap.get(o).append(t,i,e,s,n)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const t of this._editStackElementsArr)t.undo()}redo(){for(const t of this._editStackElementsArr)t.redo()}heapSize(t){const i=FA(t);return this._editStackElementsMap.has(i)?this._editStackElementsMap.get(i).heapSize():0}split(){return this._editStackElementsArr}toString(){const t=[];for(const i of this._editStackElementsArr)t.push(`${yA(i.resource)}: ${i}`);return`{${t.join(", ")}}`}}function IA(t){return"\n"===t.getEOL()?0:1}function _A(t){return!!t&&(t instanceof RA||t instanceof OA)}class NA{constructor(t,i){this._model=t,this._undoRedoService=i}pushStackElement(){const t=this._undoRedoService.getLastElement(this._model.uri);_A(t)&&t.close()}popStackElement(){const t=this._undoRedoService.getLastElement(this._model.uri);_A(t)&&t.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(t,i){const e=this._undoRedoService.getLastElement(this._model.uri);if(_A(e)&&e.canAppend(this._model))return e;const s=new RA(rt(0,"Typing"),"undoredo.textBufferEdit",this._model,t);return this._undoRedoService.pushElement(s,i),s}pushEOL(t){const i=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(t),i.append(this._model,[],IA(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(t,i,e,s){const n=this._getOrCreateEditStackElement(t,s),o=this._model.applyEdits(i,!0),r=NA._computeCursorState(e,o),h=o.map(((t,i)=>({index:i,textChange:t.textChange})));return h.sort(((t,i)=>t.textChange.oldPosition===i.textChange.oldPosition?t.index-i.index:t.textChange.oldPosition-i.textChange.oldPosition)),n.append(this._model,h.map((t=>t.textChange)),IA(this._model),this._model.getAlternativeVersionId(),r),r}static _computeCursorState(t,i){try{return t?t(i):null}catch(t){return Pi(t),null}}}class BA{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function PA(t,i,e,s,n){let o;for(n.spacesDiff=0,n.looksLikeAlignment=!1,o=0;o0&&h>0)return;if(c>0&&a>0)return;const l=Math.abs(h-a),u=Math.abs(r-c);if(0===l)return n.spacesDiff=u,void(u>0&&0<=c-1&&c-10?n++:g>1&&o++,PA(r,h,u,p,l),l.looksLikeAlignment&&(!e||i!==l.spacesDiff))continue;const w=l.spacesDiff;w<=8&&a[w]++,r=u,h=p}let u=e;n!==o&&(u=n{const e=a[i];e>t&&(t=e,d=i)})),4===d&&a[4]>0&&a[2]>0&&a[2]>=a[4]/2&&(d=2)}return{insertSpaces:u,tabSize:d}}function WA(t){return(1&t.metadata)>>>0}function jA(t,i){t.metadata=254&t.metadata|i}function zA(t){return(2&t.metadata)>>>1==1}function HA(t,i){t.metadata=253&t.metadata|(i?1:0)<<1}function VA(t){return(4&t.metadata)>>>2==1}function UA(t,i){t.metadata=251&t.metadata|(i?1:0)<<2}function qA(t){return(64&t.metadata)>>>6==1}function KA(t,i){t.metadata=191&t.metadata|(i?1:0)<<6}function GA(t,i){t.metadata=231&t.metadata|i<<3}function ZA(t,i){t.metadata=223&t.metadata|(i?1:0)<<5}class QA{constructor(t,i,e){this.metadata=0,this.parent=this,this.left=this,this.right=this,jA(this,1),this.start=i,this.end=e,this.delta=0,this.maxEnd=e,this.id=t,this.ownerId=0,this.options=null,UA(this,!1),KA(this,!1),GA(this,1),ZA(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=i,this.cachedAbsoluteEnd=e,this.range=null,HA(this,!1)}reset(t,i,e,s){this.start=i,this.end=e,this.maxEnd=e,this.cachedVersionId=t,this.cachedAbsoluteStart=i,this.cachedAbsoluteEnd=e,this.range=s}setOptions(t){this.options=t;const i=this.options.className;UA(this,"squiggly-error"===i||"squiggly-warning"===i||"squiggly-info"===i),KA(this,null!==this.options.glyphMarginClassName),GA(this,this.options.stickiness),ZA(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(t,i,e){this.cachedVersionId!==e&&(this.range=null),this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i}detach(){this.parent=null,this.left=null,this.right=null}}const JA=new QA(null,0,0);JA.parent=JA,JA.left=JA,JA.right=JA,jA(JA,0);class YA{constructor(){this.root=JA,this.requestNormalizeDelta=!1}intervalSearch(t,i,e,s,n,o){return this.root===JA?[]:function(t,i,e,s,n,o,r){let h=t.root,c=0,a=0,l=0,u=0;const d=[];let f=0;for(;h!==JA;)if(zA(h))HA(h.left,!1),HA(h.right,!1),h===h.parent.right&&(c-=h.parent.delta),h=h.parent;else{if(!zA(h.left)){if(a=c+h.maxEnd,ae)HA(h,!0);else{if(u=c+h.end,u>=i){h.setCachedOffsets(l,u,o);let t=!0;s&&h.ownerId&&h.ownerId!==s&&(t=!1),n&&VA(h)&&(t=!1),r&&!qA(h)&&(t=!1),t&&(d[f++]=h)}HA(h,!0),h.right===JA||zA(h.right)||(c+=h.delta,h=h.right)}}return HA(t.root,!1),d}(this,t,i,e,s,n,o)}search(t,i,e,s){return this.root===JA?[]:function(t,i,e,s,n){let o=t.root,r=0,h=0,c=0;const a=[];let l=0;for(;o!==JA;){if(zA(o)){HA(o.left,!1),HA(o.right,!1),o===o.parent.right&&(r-=o.parent.delta),o=o.parent;continue}if(o.left!==JA&&!zA(o.left)){o=o.left;continue}h=r+o.start,c=r+o.end,o.setCachedOffsets(h,c,s);let t=!0;i&&o.ownerId&&o.ownerId!==i&&(t=!1),e&&VA(o)&&(t=!1),n&&!qA(o)&&(t=!1),t&&(a[l++]=o),HA(o,!0),o.right===JA||zA(o.right)||(r+=o.delta,o=o.right)}return HA(t.root,!1),a}(this,t,i,e,s)}collectNodesFromOwner(t){return function(t,i){let e=t.root;const s=[];let n=0;for(;e!==JA;)zA(e)?(HA(e.left,!1),HA(e.right,!1),e=e.parent):e.left===JA||zA(e.left)?(e.ownerId===i&&(s[n++]=e),HA(e,!0),e.right===JA||zA(e.right)||(e=e.right)):e=e.left;return HA(t.root,!1),s}(this,t)}collectNodesPostOrder(){return function(t){let i=t.root;const e=[];let s=0;for(;i!==JA;)zA(i)?(HA(i.left,!1),HA(i.right,!1),i=i.parent):i.left===JA||zA(i.left)?i.right===JA||zA(i.right)?(e[s++]=i,HA(i,!0)):i=i.right:i=i.left;return HA(t.root,!1),e}(this)}insert(t){iM(this,t),this._normalizeDeltaIfNecessary()}delete(t){eM(this,t),this._normalizeDeltaIfNecessary()}resolveNode(t,i){const e=t;let s=0;for(;t!==this.root;)t===t.parent.right&&(s+=t.parent.delta),t=t.parent;e.setCachedOffsets(e.start+s,e.end+s,i)}acceptReplace(t,i,e,s){const n=function(t,i,e){let s=t.root,n=0,o=0,r=0,h=0;const c=[];let a=0;for(;s!==JA;)if(zA(s))HA(s.left,!1),HA(s.right,!1),s===s.parent.right&&(n-=s.parent.delta),s=s.parent;else{if(!zA(s.left)){if(o=n+s.maxEnd,oe?HA(s,!0):(h=n+s.end,h>=i&&(s.setCachedOffsets(r,h,0),c[a++]=s),HA(s,!0),s.right===JA||zA(s.right)||(n+=s.delta,s=s.right))}return HA(t.root,!1),c}(this,t,t+i);for(let t=0,i=n.length;te?(n.start+=c,n.end+=c,n.delta+=c,(n.delta<-1073741824||n.delta>1073741824)&&(t.requestNormalizeDelta=!0),HA(n,!0)):(HA(n,!0),n.right===JA||zA(n.right)||(o+=n.delta,n=n.right))}HA(t.root,!1)}(this,t,t+i,e),this._normalizeDeltaIfNecessary();for(let o=0,r=n.length;oe)&&1!==s&&(2===s||i)}function tM(t,i,e,s,n){const o=function(t){return(24&t.metadata)>>>3}(t),r=0===o||2===o,h=1===o||2===o,c=e-i,a=s,l=Math.min(c,a),u=t.start;let d=!1;const f=t.end;let p=!1;i<=u&&f<=e&&function(t){return(32&t.metadata)>>>5==1}(t)&&(t.start=i,d=!0,t.end=i,p=!0);{const t=n?1:c>0?2:0;!d&&XA(u,r,i,t)&&(d=!0),!p&&XA(f,h,i,t)&&(p=!0)}if(l>0&&!n){const t=c>a?2:0;!d&&XA(u,r,i+l,t)&&(d=!0),!p&&XA(f,h,i+l,t)&&(p=!0)}{const s=n?1:0;!d&&XA(u,r,e,s)&&(t.start=i+a,d=!0),!p&&XA(f,h,e,s)&&(t.end=i+a,p=!0)}const g=a-c;d||(t.start=Math.max(0,u+g)),p||(t.end=Math.max(0,f+g)),t.start>t.end&&(t.end=t.start)}function iM(t,i){if(t.root===JA)return i.parent=JA,i.left=JA,i.right=JA,jA(i,0),t.root=i,t.root;!function(t,i){let e=0,s=t.root;const n=i.start,o=i.end;for(;;)if(h=o,a=s.end+e,((r=n)===(c=s.start+e)?h-a:r-c)<0){if(s.left===JA){i.start-=e,i.end-=e,i.maxEnd-=e,s.left=i;break}s=s.left}else{if(s.right===JA){i.start-=e+s.delta,i.end-=e+s.delta,i.maxEnd-=e+s.delta,s.right=i;break}e+=s.delta,s=s.right}var r,h,c,a;i.parent=s,i.left=JA,i.right=JA,jA(i,1)}(t,i),cM(i.parent);let e=i;for(;e!==t.root&&1===WA(e.parent);)if(e.parent===e.parent.parent.left){const i=e.parent.parent.right;1===WA(i)?(jA(e.parent,0),jA(i,0),jA(e.parent.parent,1),e=e.parent.parent):(e===e.parent.right&&(e=e.parent,nM(t,e)),jA(e.parent,0),jA(e.parent.parent,1),oM(t,e.parent.parent))}else{const i=e.parent.parent.left;1===WA(i)?(jA(e.parent,0),jA(i,0),jA(e.parent.parent,1),e=e.parent.parent):(e===e.parent.left&&(e=e.parent,oM(t,e)),jA(e.parent,0),jA(e.parent.parent,1),nM(t,e.parent.parent))}return jA(t.root,0),i}function eM(t,i){let e,s;if(i.left===JA?(e=i.right,s=i,e.delta+=i.delta,(e.delta<-1073741824||e.delta>1073741824)&&(t.requestNormalizeDelta=!0),e.start+=i.delta,e.end+=i.delta):i.right===JA?(e=i.left,s=i):(s=function(t){for(;t.left!==JA;)t=t.left;return t}(i.right),e=s.right,e.start+=s.delta,e.end+=s.delta,e.delta+=s.delta,(e.delta<-1073741824||e.delta>1073741824)&&(t.requestNormalizeDelta=!0),s.start+=i.delta,s.end+=i.delta,s.delta=i.delta,(s.delta<-1073741824||s.delta>1073741824)&&(t.requestNormalizeDelta=!0)),s===t.root)return t.root=e,jA(e,0),i.detach(),sM(),hM(e),void(t.root.parent=JA);const n=1===WA(s);if(s===s.parent.left?s.parent.left=e:s.parent.right=e,s===i?e.parent=s.parent:(e.parent=s.parent===i?s:s.parent,s.left=i.left,s.right=i.right,s.parent=i.parent,jA(s,WA(i)),i===t.root?t.root=s:i===i.parent.left?i.parent.left=s:i.parent.right=s,s.left!==JA&&(s.left.parent=s),s.right!==JA&&(s.right.parent=s)),i.detach(),n)return cM(e.parent),s!==i&&(cM(s),cM(s.parent)),void sM();let o;for(cM(e),cM(e.parent),s!==i&&(cM(s),cM(s.parent));e!==t.root&&0===WA(e);)e===e.parent.left?(o=e.parent.right,1===WA(o)&&(jA(o,0),jA(e.parent,1),nM(t,e.parent),o=e.parent.right),0===WA(o.left)&&0===WA(o.right)?(jA(o,1),e=e.parent):(0===WA(o.right)&&(jA(o.left,0),jA(o,1),oM(t,o),o=e.parent.right),jA(o,WA(e.parent)),jA(e.parent,0),jA(o.right,0),nM(t,e.parent),e=t.root)):(o=e.parent.left,1===WA(o)&&(jA(o,0),jA(e.parent,1),oM(t,e.parent),o=e.parent.left),0===WA(o.left)&&0===WA(o.right)?(jA(o,1),e=e.parent):(0===WA(o.left)&&(jA(o.right,0),jA(o,1),nM(t,o),o=e.parent.left),jA(o,WA(e.parent)),jA(e.parent,0),jA(o.left,0),oM(t,e.parent),e=t.root));jA(e,0),sM()}function sM(){JA.parent=JA,JA.delta=0,JA.start=0,JA.end=0}function nM(t,i){const e=i.right;e.delta+=i.delta,(e.delta<-1073741824||e.delta>1073741824)&&(t.requestNormalizeDelta=!0),e.start+=i.delta,e.end+=i.delta,i.right=e.left,e.left!==JA&&(e.left.parent=i),e.parent=i.parent,i.parent===JA?t.root=e:i===i.parent.left?i.parent.left=e:i.parent.right=e,e.left=i,i.parent=e,hM(i),hM(e)}function oM(t,i){const e=i.left;i.delta-=e.delta,(i.delta<-1073741824||i.delta>1073741824)&&(t.requestNormalizeDelta=!0),i.start-=e.delta,i.end-=e.delta,i.left=e.right,e.right!==JA&&(e.right.parent=i),e.parent=i.parent,i.parent===JA?t.root=e:i===i.parent.right?i.parent.right=e:i.parent.left=e,e.right=i,i.parent=e,hM(i),hM(e)}function rM(t){let i=t.end;if(t.left!==JA){const e=t.left.maxEnd;e>i&&(i=e)}if(t.right!==JA){const e=t.right.maxEnd+t.delta;e>i&&(i=e)}return i}function hM(t){t.maxEnd=rM(t)}function cM(t){for(;t!==JA;){const i=rM(t);if(t.maxEnd===i)return;t.maxEnd=i,t=t.parent}}class aM{constructor(t,i){this.piece=t,this.color=i,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==lM)return uM(this.right);let t=this;for(;t.parent!==lM&&t.parent.left!==t;)t=t.parent;return t.parent===lM?lM:t.parent}prev(){if(this.left!==lM)return dM(this.left);let t=this;for(;t.parent!==lM&&t.parent.right!==t;)t=t.parent;return t.parent===lM?lM:t.parent}detach(){this.parent=null,this.left=null,this.right=null}}const lM=new aM(null,0);function uM(t){for(;t.left!==lM;)t=t.left;return t}function dM(t){for(;t.right!==lM;)t=t.right;return t}function fM(t){return t===lM?0:t.size_left+t.piece.length+fM(t.right)}function pM(t){return t===lM?0:t.lf_left+t.piece.lineFeedCnt+pM(t.right)}function gM(){lM.parent=lM}function mM(t,i){const e=i.right;e.size_left+=i.size_left+(i.piece?i.piece.length:0),e.lf_left+=i.lf_left+(i.piece?i.piece.lineFeedCnt:0),i.right=e.left,e.left!==lM&&(e.left.parent=i),e.parent=i.parent,i.parent===lM?t.root=e:i.parent.left===i?i.parent.left=e:i.parent.right=e,e.left=i,i.parent=e}function wM(t,i){const e=i.left;i.left=e.right,e.right!==lM&&(e.right.parent=i),e.parent=i.parent,i.size_left-=e.size_left+(e.piece?e.piece.length:0),i.lf_left-=e.lf_left+(e.piece?e.piece.lineFeedCnt:0),i.parent===lM?t.root=e:i===i.parent.right?i.parent.right=e:i.parent.left=e,e.right=i,i.parent=e}function vM(t,i){let e,s;if(i.left===lM?(s=i,e=s.right):i.right===lM?(s=i,e=s.left):(s=uM(i.right),e=s.right),s===t.root)return t.root=e,e.color=0,i.detach(),gM(),void(t.root.parent=lM);const n=1===s.color;if(s===s.parent.left?s.parent.left=e:s.parent.right=e,s===i?(e.parent=s.parent,kM(t,e)):(e.parent=s.parent===i?s:s.parent,kM(t,e),s.left=i.left,s.right=i.right,s.parent=i.parent,s.color=i.color,i===t.root?t.root=s:i===i.parent.left?i.parent.left=s:i.parent.right=s,s.left!==lM&&(s.left.parent=s),s.right!==lM&&(s.right.parent=s),s.size_left=i.size_left,s.lf_left=i.lf_left,kM(t,s)),i.detach(),e.parent.left===e){const i=fM(e),s=pM(e);if(i!==e.parent.size_left||s!==e.parent.lf_left){const n=i-e.parent.size_left,o=s-e.parent.lf_left;e.parent.size_left=i,e.parent.lf_left=s,yM(t,e.parent,n,o)}}if(kM(t,e.parent),n)return void gM();let o;for(;e!==t.root&&0===e.color;)e===e.parent.left?(o=e.parent.right,1===o.color&&(o.color=0,e.parent.color=1,mM(t,e.parent),o=e.parent.right),0===o.left.color&&0===o.right.color?(o.color=1,e=e.parent):(0===o.right.color&&(o.left.color=0,o.color=1,wM(t,o),o=e.parent.right),o.color=e.parent.color,e.parent.color=0,o.right.color=0,mM(t,e.parent),e=t.root)):(o=e.parent.left,1===o.color&&(o.color=0,e.parent.color=1,wM(t,e.parent),o=e.parent.left),0===o.left.color&&0===o.right.color?(o.color=1,e=e.parent):(0===o.left.color&&(o.right.color=0,o.color=1,mM(t,o),o=e.parent.left),o.color=e.parent.color,e.parent.color=0,o.left.color=0,wM(t,e.parent),e=t.root));e.color=0,gM()}function bM(t,i){for(kM(t,i);i!==t.root&&1===i.parent.color;)if(i.parent===i.parent.parent.left){const e=i.parent.parent.right;1===e.color?(i.parent.color=0,e.color=0,i.parent.parent.color=1,i=i.parent.parent):(i===i.parent.right&&mM(t,i=i.parent),i.parent.color=0,i.parent.parent.color=1,wM(t,i.parent.parent))}else{const e=i.parent.parent.left;1===e.color?(i.parent.color=0,e.color=0,i.parent.parent.color=1,i=i.parent.parent):(i===i.parent.left&&wM(t,i=i.parent),i.parent.color=0,i.parent.parent.color=1,mM(t,i.parent.parent))}t.root.color=0}function yM(t,i,e,s){for(;i!==t.root&&i!==lM;)i.parent.left===i&&(i.parent.size_left+=e,i.parent.lf_left+=s),i=i.parent}function kM(t,i){let e=0,s=0;if(i!==t.root){for(;i!==t.root&&i===i.parent.right;)i=i.parent;if(i!==t.root)for(e=fM((i=i.parent).left)-i.size_left,s=pM(i.left)-i.lf_left,i.size_left+=e,i.lf_left+=s;i!==t.root&&(0!==e||0!==s);)i.parent.left===i&&(i.parent.size_left+=e,i.parent.lf_left+=s),i=i.parent}}lM.parent=lM,lM.left=lM,lM.right=lM,lM.color=0;const xM=65535;function CM(t){let i;return i=t[t.length-1]<65536?new Uint16Array(t.length):new Uint32Array(t.length),i.set(t,0),i}class SM{constructor(t,i,e,s,n){this.lineStarts=t,this.cr=i,this.lf=e,this.crlf=s,this.isBasicASCII=n}}function DM(t,i=!0){const e=[0];let s=1;for(let i=0,n=t.length;i(t!==lM&&this._pieces.push(t.piece),!0)))}read(){return 0===this._pieces.length?0===this._index?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class LM{constructor(t){this._limit=t,this._cache=[]}get(t){for(let i=this._cache.length-1;i>=0;i--){const e=this._cache[i];if(e.nodeStartOffset<=t&&e.nodeStartOffset+e.node.piece.length>=t)return e}return null}get2(t){for(let i=this._cache.length-1;i>=0;i--){const e=this._cache[i];if(e.nodeStartLineNumber&&e.nodeStartLineNumber=t)return e}return null}set(t){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(t)}validate(t){let i=!1;const e=this._cache;for(let s=0;s=t)&&(e[s]=null,i=!0)}if(i){const t=[];for(const i of e)null!==i&&t.push(i);this._cache=t}}}class FM{constructor(t,i,e){this.create(t,i,e)}create(t,i,e){this._buffers=[new AM("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=lM,this._lineCnt=1,this._length=0,this._EOL=i,this._EOLLength=i.length,this._EOLNormalized=e;let s=null;for(let i=0,e=t.length;i0){t[i].lineStarts||(t[i].lineStarts=DM(t[i].buffer));const e=new EM(i+1,{line:0,column:0},{line:t[i].lineStarts.length-1,column:t[i].buffer.length-t[i].lineStarts[t[i].lineStarts.length-1]},t[i].lineStarts.length-1,t[i].buffer.length);this._buffers.push(t[i]),s=this.rbInsertRight(s,e)}this._searchCache=new LM(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(t){const i=65535-Math.floor(21845),e=2*i;let s="",n=0;const o=[];if(this.iterate(this.root,(r=>{const h=this.getNodeContent(r),c=h.length;if(n<=i||n+c0){const i=s.replace(/\r\n|\r|\n/g,t);o.push(new AM(i,DM(i)))}this.create(o,t,!0)}getEOL(){return this._EOL}setEOL(t){this._EOL=t,this._EOLLength=this._EOL.length,this.normalizeEOL(t)}createSnapshot(t){return new MM(this,t)}getOffsetAt(t,i){let e=0,s=this.root;for(;s!==lM;)if(s.left!==lM&&s.lf_left+1>=t)s=s.left;else{if(s.lf_left+s.piece.lineFeedCnt+1>=t)return e+=s.size_left,e+(this.getAccumulatedValue(s,t-s.lf_left-2)+i-1);t-=s.lf_left+s.piece.lineFeedCnt,e+=s.size_left+s.piece.length,s=s.right}return e}getPositionAt(t){t=Math.floor(t),t=Math.max(0,t);let i=this.root,e=0;const s=t;for(;i!==lM;)if(0!==i.size_left&&i.size_left>=t)i=i.left;else{if(i.size_left+i.piece.length>=t){const n=this.getIndexOf(i,t-i.size_left);if(e+=i.lf_left+n.index,0===n.index){const t=this.getOffsetAt(e+1,1);return new Ms(e+1,s-t+1)}return new Ms(e+1,n.remainder+1)}if(t-=i.size_left+i.piece.length,e+=i.lf_left+i.piece.lineFeedCnt,i.right===lM){const i=this.getOffsetAt(e+1,1);return new Ms(e+1,s-t-i+1)}i=i.right}return new Ms(1,1)}getValueInRange(t,i){if(t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn)return"";const e=this.nodeAt2(t.startLineNumber,t.startColumn),s=this.nodeAt2(t.endLineNumber,t.endColumn),n=this.getValueInRange2(e,s);return i?i===this._EOL&&this._EOLNormalized&&i===this.getEOL()&&this._EOLNormalized?n:n.replace(/\r\n|\r|\n/g,i):n}getValueInRange2(t,i){if(t.node===i.node){const e=t.node,s=this._buffers[e.piece.bufferIndex].buffer,n=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);return s.substring(n+t.remainder,n+i.remainder)}let e=t.node;const s=this._buffers[e.piece.bufferIndex].buffer,n=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);let o=s.substring(n+t.remainder,n+e.piece.length);for(e=e.next();e!==lM;){const t=this._buffers[e.piece.bufferIndex].buffer,s=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);if(e===i.node){o+=t.substring(s,s+i.remainder);break}o+=t.substr(s,e.piece.length),e=e.next()}return o}getLinesContent(){const t=[];let i=0,e="",s=!1;return this.iterate(this.root,(n=>{if(n===lM)return!0;const o=n.piece;let r=o.length;if(0===r)return!0;const h=this._buffers[o.bufferIndex].buffer,c=this._buffers[o.bufferIndex].lineStarts,a=o.start.line,l=o.end.line;let u=c[a]+o.start.column;if(s&&(10===h.charCodeAt(u)&&(u++,r--),t[i++]=e,e="",s=!1,0===r))return!0;if(a===l)return this._EOLNormalized||13!==h.charCodeAt(u+r-1)?e+=h.substr(u,r):(s=!0,e+=h.substr(u,r-1)),!0;e+=this._EOLNormalized?h.substring(u,Math.max(u,c[a+1]-this._EOLLength)):h.substring(u,c[a+1]).replace(/(\r\n|\r|\n)$/,""),t[i++]=e;for(let s=a+1;st+f,i.reset(0)):(w=u.buffer,v=t=>t,i.reset(f));do{if(g=i.next(w),g){if(v(g.index)>=p)return a;this.positionInBuffer(t,v(g.index)-d,m);const i=this.getLineFeedCnt(t.piece.bufferIndex,n,m),o=m.line===n.line?m.column-n.column+s:m.column+1;if(l[a++]=Zf(new Ls(e+i,o,e+i,o+g[0].length),g,h),v(g.index)+g[0].length>=p)return a;if(a>=c)return a}}while(g);return a}findMatchesLineByLine(t,i,e,s){const n=[];let o=0;const r=new Xf(i.wordSeparators,i.regex);let h=this.nodeAt2(t.startLineNumber,t.startColumn);if(null===h)return[];const c=this.nodeAt2(t.endLineNumber,t.endColumn);if(null===c)return[];let a=this.positionInBuffer(h.node,h.remainder);const l=this.positionInBuffer(c.node,c.remainder);if(h.node===c.node)return this.findMatchesInNode(h.node,r,t.startLineNumber,t.startColumn,a,l,i,e,s,o,n),n;let u=t.startLineNumber,d=h.node;for(;d!==c.node;){const c=this.getLineFeedCnt(d.piece.bufferIndex,a,d.piece.end);if(c>=1){const h=this._buffers[d.piece.bufferIndex].lineStarts,l=this.offsetInBuffer(d.piece.bufferIndex,d.piece.start);if(o=this.findMatchesInNode(d,r,u,u===t.startLineNumber?t.startColumn:1,a,this.positionInBuffer(d,h[a.line+c]-l),i,e,s,o,n),o>=s)return n;u+=c}const l=u===t.startLineNumber?t.startColumn-1:0;if(u===t.endLineNumber){const h=this.getLineContent(u).substring(l,t.endColumn-1);return o=this._findMatchesInLine(i,r,h,t.endLineNumber,l,o,n,e,s),n}if(o=this._findMatchesInLine(i,r,this.getLineContent(u).substr(l),u,l,o,n,e,s),o>=s)return n;u++,h=this.nodeAt2(u,1),d=h.node,a=this.positionInBuffer(h.node,h.remainder)}if(u===t.endLineNumber){const h=u===t.startLineNumber?t.startColumn-1:0,c=this.getLineContent(u).substring(h,t.endColumn-1);return o=this._findMatchesInLine(i,r,c,t.endLineNumber,h,o,n,e,s),n}return o=this.findMatchesInNode(c.node,r,u,u===t.startLineNumber?t.startColumn:1,a,l,i,e,s,o,n),n}_findMatchesInLine(t,i,e,s,n,o,r,h,c){const a=t.wordSeparators;if(!h&&t.simpleSearch){const i=t.simpleSearch,h=i.length,l=e.length;let u=-h;for(;-1!==(u=e.indexOf(i,u+h));)if((!a||Yf(a,e,l,u,h))&&(r[o++]=new Hf(new Ls(s,u+1+n,s,u+1+h+n),null),o>=c))return o;return o}let l;i.reset(0);do{if(l=i.next(e),l&&(r[o++]=Zf(new Ls(s,l.index+1+n,s,l.index+1+l[0].length+n),l,h),o>=c))return o}while(l);return o}insert(t,i,e=!1){if(this._EOLNormalized=this._EOLNormalized&&e,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==lM){const{node:e,remainder:s,nodeStartOffset:n}=this.nodeAt(t),o=e.piece,r=o.bufferIndex,h=this.positionInBuffer(e,s);if(0===e.piece.bufferIndex&&o.end.line===this._lastChangeBufferPos.line&&o.end.column===this._lastChangeBufferPos.column&&n+o.length===t&&i.lengtht){const t=[];let n=new EM(o.bufferIndex,h,o.end,this.getLineFeedCnt(o.bufferIndex,h,o.end),this.offsetInBuffer(r,o.end)-this.offsetInBuffer(r,h));if(this.shouldCheckCRLF()&&this.endWithCR(i)&&10===this.nodeCharCodeAt(e,s)){const t={line:n.start.line+1,column:0};n=new EM(n.bufferIndex,t,n.end,this.getLineFeedCnt(n.bufferIndex,t,n.end),n.length-1),i+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(i))if(13===this.nodeCharCodeAt(e,s-1)){const n=this.positionInBuffer(e,s-1);this.deleteNodeTail(e,n),i="\r"+i,0===e.piece.length&&t.push(e)}else this.deleteNodeTail(e,h);else this.deleteNodeTail(e,h);const c=this.createNewPieces(i);n.length>0&&this.rbInsertRight(e,n);let a=e;for(let t=0;t=0;t--)n=this.rbInsertLeft(n,s[t]);this.validateCRLFWithPrevNode(n),this.deleteNodes(e)}insertContentToNodeRight(t,i){this.adjustCarriageReturnFromNext(t,i)&&(t+="\n");const e=this.createNewPieces(t),s=this.rbInsertRight(i,e[0]);let n=s;for(let t=1;t=a))break;r=c+1}return e?(e.line=c,e.column=o-l,null):{line:c,column:o-l}}getLineFeedCnt(t,i,e){if(0===e.column)return e.line-i.line;const s=this._buffers[t].lineStarts;if(e.line===s.length-1)return e.line-i.line;const n=s[e.line]+e.column;return s[e.line+1]>n+1?e.line-i.line:13===this._buffers[t].buffer.charCodeAt(n-1)?e.line-i.line+1:e.line-i.line}offsetInBuffer(t,i){return this._buffers[t].lineStarts[i.line]+i.column}deleteNodes(t){for(let i=0;ixM){const i=[];for(;t.length>xM;){const e=t.charCodeAt(65534);let s;13===e||e>=55296&&e<=56319?(s=t.substring(0,65534),t=t.substring(65534)):(s=t.substring(0,xM),t=t.substring(xM));const n=DM(s);i.push(new EM(this._buffers.length,{line:0,column:0},{line:n.length-1,column:s.length-n[n.length-1]},n.length-1,s.length)),this._buffers.push(new AM(s,n))}const e=DM(t);return i.push(new EM(this._buffers.length,{line:0,column:0},{line:e.length-1,column:t.length-e[e.length-1]},e.length-1,t.length)),this._buffers.push(new AM(t,e)),i}let i=this._buffers[0].buffer.length;const e=DM(t,!1);let s=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===i&&0!==i&&this.startWithLF(t)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},s=this._lastChangeBufferPos;for(let t=0;t=t-1)e=e.left;else{if(e.lf_left+e.piece.lineFeedCnt>t-1){const s=this.getAccumulatedValue(e,t-e.lf_left-2),r=this.getAccumulatedValue(e,t-e.lf_left-1),h=this._buffers[e.piece.bufferIndex].buffer,c=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);return n+=e.size_left,this._searchCache.set({node:e,nodeStartOffset:n,nodeStartLineNumber:o-(t-1-e.lf_left)}),h.substring(c+s,c+r-i)}if(e.lf_left+e.piece.lineFeedCnt===t-1){const i=this.getAccumulatedValue(e,t-e.lf_left-2),n=this._buffers[e.piece.bufferIndex].buffer,o=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);s=n.substring(o+i,o+e.piece.length);break}t-=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length,e=e.right}}for(e=e.next();e!==lM;){const t=this._buffers[e.piece.bufferIndex].buffer;if(e.piece.lineFeedCnt>0){const n=this.getAccumulatedValue(e,0),o=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);return s+=t.substring(o,o+n-i),s}{const i=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);s+=t.substr(i,e.piece.length)}e=e.next()}return s}computeBufferMetadata(){let t=this.root,i=1,e=0;for(;t!==lM;)i+=t.lf_left+t.piece.lineFeedCnt,e+=t.size_left+t.piece.length,t=t.right;this._lineCnt=i,this._length=e,this._searchCache.validate(this._length)}getIndexOf(t,i){const e=t.piece,s=this.positionInBuffer(t,i),n=s.line-e.start.line;if(this.offsetInBuffer(e.bufferIndex,e.end)-this.offsetInBuffer(e.bufferIndex,e.start)===i){const i=this.getLineFeedCnt(t.piece.bufferIndex,e.start,s);if(i!==n)return{index:i,remainder:0}}return{index:n,remainder:s.column}}getAccumulatedValue(t,i){if(i<0)return 0;const e=t.piece,s=this._buffers[e.bufferIndex].lineStarts,n=e.start.line+i+1;return n>e.end.line?s[e.end.line]+e.end.column-s[e.start.line]-e.start.column:s[n]-s[e.start.line]-e.start.column}deleteNodeTail(t,i){const e=t.piece,s=e.lineFeedCnt,n=this.offsetInBuffer(e.bufferIndex,e.end),o=i,r=this.offsetInBuffer(e.bufferIndex,o),h=this.getLineFeedCnt(e.bufferIndex,e.start,o),c=h-s,a=r-n;t.piece=new EM(e.bufferIndex,e.start,o,h,e.length+a),yM(this,t,a,c)}deleteNodeHead(t,i){const e=t.piece,s=e.lineFeedCnt,n=this.offsetInBuffer(e.bufferIndex,e.start),o=i,r=this.getLineFeedCnt(e.bufferIndex,o,e.end),h=r-s,c=n-this.offsetInBuffer(e.bufferIndex,o);t.piece=new EM(e.bufferIndex,o,e.end,r,e.length+c),yM(this,t,c,h)}shrinkNode(t,i,e){const s=t.piece,n=s.start,o=s.end,r=s.length,h=s.lineFeedCnt,c=i,a=this.getLineFeedCnt(s.bufferIndex,s.start,c),l=this.offsetInBuffer(s.bufferIndex,i)-this.offsetInBuffer(s.bufferIndex,n);t.piece=new EM(s.bufferIndex,s.start,c,a,l),yM(this,t,l-r,a-h);const u=new EM(s.bufferIndex,e,o,this.getLineFeedCnt(s.bufferIndex,e,o),this.offsetInBuffer(s.bufferIndex,o)-this.offsetInBuffer(s.bufferIndex,e)),d=this.rbInsertRight(t,u);this.validateCRLFWithPrevNode(d)}appendToNode(t,i){this.adjustCarriageReturnFromNext(i,t)&&(i+="\n");const e=this.shouldCheckCRLF()&&this.startWithLF(i)&&this.endWithCR(t),s=this._buffers[0].buffer.length;this._buffers[0].buffer+=i;const n=DM(i,!1);for(let t=0;tt)i=i.left;else{if(i.size_left+i.piece.length>=t){s+=i.size_left;const e={node:i,remainder:t-i.size_left,nodeStartOffset:s};return this._searchCache.set(e),e}t-=i.size_left+i.piece.length,s+=i.size_left+i.piece.length,i=i.right}return null}nodeAt2(t,i){let e=this.root,s=0;for(;e!==lM;)if(e.left!==lM&&e.lf_left>=t-1)e=e.left;else{if(e.lf_left+e.piece.lineFeedCnt>t-1){const n=this.getAccumulatedValue(e,t-e.lf_left-2),o=this.getAccumulatedValue(e,t-e.lf_left-1);return s+=e.size_left,{node:e,remainder:Math.min(n+i-1,o),nodeStartOffset:s}}if(e.lf_left+e.piece.lineFeedCnt===t-1){const n=this.getAccumulatedValue(e,t-e.lf_left-2);if(n+i-1<=e.piece.length)return{node:e,remainder:n+i-1,nodeStartOffset:s};i-=e.piece.length-n;break}t-=e.lf_left+e.piece.lineFeedCnt,s+=e.size_left+e.piece.length,e=e.right}for(e=e.next();e!==lM;){if(e.piece.lineFeedCnt>0){const t=this.getAccumulatedValue(e,0),s=this.offsetOfNode(e);return{node:e,remainder:Math.min(i-1,t),nodeStartOffset:s}}if(e.piece.length>=i-1)return{node:e,remainder:i-1,nodeStartOffset:this.offsetOfNode(e)};i-=e.piece.length,e=e.next()}return null}nodeCharCodeAt(t,i){if(t.piece.lineFeedCnt<1)return-1;const e=this._buffers[t.piece.bufferIndex],s=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start)+i;return e.buffer.charCodeAt(s)}offsetOfNode(t){if(!t)return 0;let i=t.size_left;for(;t!==this.root;)t.parent.right===t&&(i+=t.parent.size_left+t.parent.piece.length),t=t.parent;return i}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(t){if("string"==typeof t)return 10===t.charCodeAt(0);if(t===lM||0===t.piece.lineFeedCnt)return!1;const i=t.piece,e=this._buffers[i.bufferIndex].lineStarts,s=i.start.line,n=e[s]+i.start.column;return s!==e.length-1&&(!(e[s+1]>n+1)&&10===this._buffers[i.bufferIndex].buffer.charCodeAt(n))}endWithCR(t){return"string"==typeof t?13===t.charCodeAt(t.length-1):t!==lM&&0!==t.piece.lineFeedCnt&&13===this.nodeCharCodeAt(t,t.piece.length-1)}validateCRLFWithPrevNode(t){if(this.shouldCheckCRLF()&&this.startWithLF(t)){const i=t.prev();this.endWithCR(i)&&this.fixCRLF(i,t)}}validateCRLFWithNextNode(t){if(this.shouldCheckCRLF()&&this.endWithCR(t)){const i=t.next();this.startWithLF(i)&&this.fixCRLF(t,i)}}fixCRLF(t,i){const e=[],s=this._buffers[t.piece.bufferIndex].lineStarts;let n;n=0===t.piece.end.column?{line:t.piece.end.line-1,column:s[t.piece.end.line]-s[t.piece.end.line-1]-1}:{line:t.piece.end.line,column:t.piece.end.column-1},t.piece=new EM(t.piece.bufferIndex,t.piece.start,n,t.piece.lineFeedCnt-1,t.piece.length-1),yM(this,t,-1,-1),0===t.piece.length&&e.push(t);const o={line:i.piece.start.line+1,column:0},r=i.piece.length-1,h=this.getLineFeedCnt(i.piece.bufferIndex,o,i.piece.end);i.piece=new EM(i.piece.bufferIndex,o,i.piece.end,h,r),yM(this,i,-1,-1),0===i.piece.length&&e.push(i);const c=this.createNewPieces("\r\n");this.rbInsertRight(t,c[0]);for(let t=0;tt.sortIndex-i.sortIndex))}this._mightContainRTL=s,this._mightContainUnusualLineTerminators=n,this._mightContainNonBasicASCII=o;const d=this._doApplyEdits(h);let f=null;if(i&&l.length>0){l.sort(((t,i)=>i.lineNumber-t.lineNumber)),f=[];for(let t=0,i=l.length;t0&&l[t-1].lineNumber===i)continue;const e=l[t].oldContent,s=this.getLineContent(i);0!==s.length&&s!==e&&-1===io(s)&&f.push(i)}}return this._onDidChangeContent.fire(),new qf(u,d,f)}_reduceOperations(t){return t.length<1e3?t:[this._toSingleEditOperation(t)]}_toSingleEditOperation(t){let i=!1;const e=t[0].range,s=t[t.length-1].range,n=new Ls(e.startLineNumber,e.startColumn,s.endLineNumber,s.endColumn);let o=e.startLineNumber,r=e.startColumn;const h=[];for(let e=0,s=t.length;e0&&h.push(s.text),o=n.endLineNumber,r=n.endColumn}const c=h.join(""),[a,l,u]=GD(c);return{sortIndex:0,identifier:t[0].identifier,range:n,rangeOffset:this.getOffsetAt(n.startLineNumber,n.startColumn),rangeLength:this.getValueLengthInRange(n,0),text:c,eolCount:a,firstLineLength:l,lastLineLength:u,forceMoveMarkers:i,isAutoWhitespaceEdit:!1}}_doApplyEdits(t){t.sort(TM._sortOpsDescending);const i=[];for(let e=0;e0){const t=r.eolCount+1;a=1===t?new Ls(h,c,h,c+r.firstLineLength):new Ls(h,c,h+t-1,r.lastLineLength+1)}else a=new Ls(h,c,h,c);e=a.endLineNumber,s=a.endColumn,i.push(a),n=r}return i}static _sortOpsAscending(t,i){const e=Ls.compareRangesUsingEnds(t.range,i.range);return 0===e?t.sortIndex-i.sortIndex:e}static _sortOpsDescending(t,i){const e=Ls.compareRangesUsingEnds(t.range,i.range);return 0===e?i.sortIndex-t.sortIndex:-e}}class RM{constructor(t,i,e,s,n,o,r,h,c){this._chunks=t,this._bom=i,this._cr=e,this._lf=s,this._crlf=n,this._containsRTL=o,this._containsUnusualLineTerminators=r,this._isBasicASCII=h,this._normalizeEOL=c}_getEOL(t){const i=this._cr+this._lf+this._crlf;return 0===i?1===t?"\n":"\r\n":this._cr+this._crlf>i/2?"\r\n":"\n"}create(t){const i=this._getEOL(t),e=this._chunks;if(this._normalizeEOL&&("\r\n"===i&&(this._cr>0||this._lf>0)||"\n"===i&&(this._cr>0||this._crlf>0)))for(let t=0,s=e.length;t=55296&&i<=56319?(this._acceptChunk1(t.substr(0,t.length-1),!1),this._hasPreviousChar=!0,this._previousChar=i):(this._acceptChunk1(t,!1),this._hasPreviousChar=!1,this._previousChar=i)}_acceptChunk1(t,i){(i||0!==t.length)&&this._acceptChunk2(this._hasPreviousChar?String.fromCharCode(this._previousChar)+t:t)}_acceptChunk2(t){const i=function(t,i){t.length=0,t[0]=0;let e=1,s=0,n=0,o=0,r=!0;for(let h=0,c=i.length;h126)&&(r=!1)}const h=new SM(CM(t),s,n,o,r);return t.length=0,h}(this._tmpLineStarts,t);this.chunks.push(new AM(t,i.lineStarts)),this.cr+=i.cr,this.lf+=i.lf,this.crlf+=i.crlf,i.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=Do(t)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=Lo(t)))}finish(t=!0){return this._finish(),new RM(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,t)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const t=this.chunks[this.chunks.length-1];t.buffer+=String.fromCharCode(this._previousChar);const i=DM(t.buffer);t.lineStarts=i,13===this._previousChar&&this.cr++}}}class IM{constructor(t){this._default=t,this._store=[]}get(t){return t=this._store.length;)this._store[this._store.length]=this._default;this._store[t]=i}replace(t,i,e){if(t>=this._store.length)return;if(0===i)return void this.insert(t,e);if(0===e)return void this.delete(t,i);const s=this._store.slice(0,t),n=this._store.slice(t+i),o=function(t,i){const e=[];for(let s=0;s=this._store.length||this._store.splice(t,i)}insert(t,i){if(0===i||t>=this._store.length)return;const e=[];for(let t=0;t0){const e=this._tokens[this._tokens.length-1];if(e.endLineNumber+1===t)return void e.appendLineTokens(i)}this._tokens.push(new _M(t,[i]))}finalize(){return this._tokens}}class BM{constructor(t,i){this.tokenizationSupport=i,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new $M(t)}getStartState(t){return this.store.getStartState(t,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class PM extends BM{constructor(t,i,e,s){super(t,i),this._textModel=e,this._languageIdCodec=s}updateTokensUntilLine(t,i){const e=this._textModel.getLanguageId();for(;;){const s=this.getFirstInvalidLine();if(!s||s.lineNumber>i)break;const n=this._textModel.getLineContent(s.lineNumber),o=zM(this._languageIdCodec,e,this.tokenizationSupport,n,!0,s.startState);t.add(s.lineNumber,o.tokens),this.store.setEndState(s.lineNumber,o.endState)}}getTokenTypeIfInsertingCharacter(t,i){const e=this.getStartState(t.lineNumber);if(!e)return 0;const s=this._textModel.getLanguageId(),n=this._textModel.getLineContent(t.lineNumber),o=n.substring(0,t.column-1)+i+n.substring(t.column-1),r=zM(this._languageIdCodec,s,this.tokenizationSupport,o,!0,e),h=new $g(r.tokens,o,this._languageIdCodec);if(0===h.getCount())return 0;const c=h.findTokenIndexAtOffset(t.column-1);return h.getStandardTokenType(c)}tokenizeLineWithEdit(t,i,e){const s=t.lineNumber,n=t.column,o=this.getStartState(s);if(!o)return null;const r=this._textModel.getLineContent(s),h=r.substring(0,n-1)+e+r.substring(n-1+i),c=this._textModel.getLanguageIdAtPosition(s,0),a=zM(this._languageIdCodec,c,this.tokenizationSupport,h,!0,o);return new $g(a.tokens,h,this._languageIdCodec)}isCheapToTokenize(t){const i=this.store.getFirstInvalidEndStateLineNumberOrMax();return t1&&n>=1;n--){const t=this._textModel.getLineFirstNonWhitespaceColumn(n);if(0!==t&&t0&&e>0&&(e--,i--),this._lineEndStates.replace(t.startLineNumber,e,i)}}class jM{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(t){const i=this._ranges.findIndex((i=>i.contains(t)));if(-1!==i){const e=this._ranges[i];e.start===t?e.endExclusive===t+1?this._ranges.splice(i,1):this._ranges[i]=new op(t+1,e.endExclusive):e.endExclusive===t+1?this._ranges[i]=new op(e.start,t):this._ranges.splice(i,1,new op(e.start,t),new op(t+1,e.endExclusive))}}addRange(t){op.addRange(t,this._ranges)}addRangeAndResize(t,i){let e=0;for(;!(e>=this._ranges.length||t.start<=this._ranges[e].endExclusive);)e++;let s=e;for(;!(s>=this._ranges.length||t.endExclusivet.toString())).join(" + ")}}function zM(t,i,e,s,n,o){let r=null;if(e)try{r=e.tokenizeEncoded(s,n,o.clone())}catch(t){Pi(t)}return r||(r=Bg(t.encodeLanguageId(i),o)),$g.convertToEndOffset(r.tokens,s.length),r}class HM{constructor(t,i){this._tokenizerWithStateStore=t,this._backgroundTokenStore=i,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,mc((t=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(t)})))}_backgroundTokenizeWithDeadline(t){const i=Date.now()+t.timeRemaining(),e=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()1)break;if(this._tokenizeOneInvalidLine(i)>=t)break}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(i.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(t){var i;const e=null===(i=this._tokenizerWithStateStore)||void 0===i?void 0:i.getFirstInvalidLine();return e?(this._tokenizerWithStateStore.updateTokensUntilLine(t,e.lineNumber),e.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(t,i){this._tokenizerWithStateStore.store.invalidateEndStateRange(new pp(t,i))}}const VM=new Uint32Array(0).buffer;class UM{static deleteBeginning(t,i){return null===t||t===VM?t:UM.delete(t,0,i)}static deleteEnding(t,i){if(null===t||t===VM)return t;const e=qM(t);return UM.delete(t,i,e[e.length-2])}static delete(t,i,e){if(null===t||t===VM||i===e)return t;const s=qM(t),n=s.length>>>1;if(0===i&&s[s.length-2]===e)return VM;const o=$g.findIndexInTokensArray(s,i),r=o>0?s[o-1<<1]:0;if(ec&&(s[h++]=i,s[h++]=s[1+(t<<1)],c=i)}if(h===s.length)return t;const l=new Uint32Array(h);return l.set(s.subarray(0,h),0),l.buffer}static append(t,i){if(i===VM)return t;if(t===VM)return i;if(null===t)return t;if(null===i)return null;const e=qM(t),s=qM(i),n=s.length>>>1,o=new Uint32Array(e.length+s.length);o.set(e,0);let r=e.length;const h=e[e.length-2];for(let t=0;t>>1;let o=$g.findIndexInTokensArray(s,i);o>0&&s[o-1<<1]===i&&o--;for(let t=o;t0}getTokens(t,i,e){let s=null;if(i1&&(i=Pg.getLanguageId(s[1])!==t),!i)return VM}if(!s||0===s.length){const e=new Uint32Array(2);return e[0]=i,e[1]=GM(t),e.buffer}return s[s.length-2]=i,0===s.byteOffset&&s.byteLength===s.buffer.byteLength?s.buffer:s}_ensureLine(t){for(;t>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(t,i){0!==i&&(t+i>this._len&&(i=this._len-t),this._lineTokens.splice(t,i),this._len-=i)}_insertLines(t,i){if(0===i)return;const e=[];for(let t=0;t=this._len)return;if(t.startLineNumber===t.endLineNumber){if(t.startColumn===t.endColumn)return;return void(this._lineTokens[i]=UM.delete(this._lineTokens[i],t.startColumn-1,t.endColumn-1))}this._lineTokens[i]=UM.deleteEnding(this._lineTokens[i],t.startColumn-1);const e=t.endLineNumber-1;let s=null;e=this._len||(0!==i?(this._lineTokens[s]=UM.deleteEnding(this._lineTokens[s],t.column-1),this._lineTokens[s]=UM.insert(this._lineTokens[s],t.column-1,e),this._insertLines(t.lineNumber,i)):this._lineTokens[s]=UM.insert(this._lineTokens[s],t.column-1,e))}setMultilineTokens(t,i){if(0===t.length)return{changes:[]};const e=[];for(let s=0,n=t.length;s>>0}class ZM{constructor(t){this._pieces=[],this._isComplete=!1,this._languageIdCodec=t}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(t,i){this._pieces=t||[],this._isComplete=i}setPartial(t,i){let e=t;if(i.length>0){const s=i[0].getRange(),n=i[i.length-1].getRange();if(!s||!n)return t;e=t.plusRange(s).plusRange(n)}let s=null;for(let t=0,i=this._pieces.length;te.endLineNumber){s=s||{index:t};break}if(n.removeTokens(e),n.isEmpty()){this._pieces.splice(t,1),t--,i--;continue}if(n.endLineNumbere.endLineNumber){s=s||{index:t};continue}const[o,r]=n.split(e);o.isEmpty()?s=s||{index:t}:r.isEmpty()||(this._pieces.splice(t,1,o,r),t++,i++,s=s||{index:t})}return s=s||{index:this._pieces.length},i.length>0&&(this._pieces=S(this._pieces,s.index,i)),e}isComplete(){return this._isComplete}addSparseTokens(t,i){if(0===i.getLineContent().length)return i;const e=this._pieces;if(0===e.length)return i;const s=e[ZM._findFirstPieceWithLine(e,t)].getLineTokens(t);if(!s)return i;const n=i.getCount(),o=s.getCount();let r=0;const h=[];let c=0,a=0;const l=(t,i)=>{t!==a&&(a=t,h[c++]=t,h[c++]=i)};for(let t=0;t>>0,a=~c>>>0;for(;ri)){for(;n>e&&t[n-1].startLineNumber<=i&&i<=t[n-1].endLineNumber;)n--;return n}s=n-1}}return e}acceptEdit(t,i,e,s,n){for(const o of this._pieces)o.acceptEdit(t,i,e,s,n)}}class QM extends RS{constructor(t,i,e,s,n,o){super(),this._languageService=t,this._languageConfigurationService=i,this._textModel=e,this._bracketPairsTextModelPart=s,this._languageId=n,this._attachedViews=o,this._semanticTokens=new ZM(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new fe),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new fe),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new fe),this.onDidChangeTokens=this._onDidChangeTokens.event,this.grammarTokens=this._register(new JM(this._languageService.languageIdCodec,this._textModel,(()=>this._languageId),this._attachedViews)),this._register(this._languageConfigurationService.onDidChange((t=>{t.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}))),this._register(this.grammarTokens.onDidChangeTokens((t=>{this._emitModelTokensChangedEvent(t)}))),this._register(this.grammarTokens.onDidChangeBackgroundTokenizationState((()=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})))}handleDidChangeContent(t){if(t.isFlush)this._semanticTokens.flush();else if(!t.isEolChange)for(const i of t.changes){const[t,e,s]=GD(i.text);this._semanticTokens.acceptEdit(i.range,t,e,s,i.text.length>0?i.text.charCodeAt(0):0)}this.grammarTokens.handleDidChangeContent(t)}handleDidChangeAttached(){this.grammarTokens.handleDidChangeAttached()}getLineTokens(t){this.validateLineNumber(t);const i=this.grammarTokens.getLineTokens(t);return this._semanticTokens.addSparseTokens(t,i)}_emitModelTokensChangedEvent(t){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(t),this._onDidChangeTokens.fire(t))}validateLineNumber(t){if(t<1||t>this._textModel.getLineCount())throw new Gi("Illegal value for lineNumber")}get hasTokens(){return this.grammarTokens.hasTokens}resetTokenization(){this.grammarTokens.resetTokenization()}get backgroundTokenizationState(){return this.grammarTokens.backgroundTokenizationState}forceTokenization(t){this.validateLineNumber(t),this.grammarTokens.forceTokenization(t)}isCheapToTokenize(t){return this.validateLineNumber(t),this.grammarTokens.isCheapToTokenize(t)}tokenizeIfCheap(t){this.validateLineNumber(t),this.grammarTokens.tokenizeIfCheap(t)}getTokenTypeIfInsertingCharacter(t,i,e){return this.grammarTokens.getTokenTypeIfInsertingCharacter(t,i,e)}tokenizeLineWithEdit(t,i,e){return this.grammarTokens.tokenizeLineWithEdit(t,i,e)}setSemanticTokens(t,i){this._semanticTokens.set(t,i),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==t,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(t,i){if(this.hasCompleteSemanticTokens())return;const e=this._textModel.validateRange(this._semanticTokens.setPartial(t,i));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:e.startLineNumber,toLineNumber:e.endLineNumber}]})}getWordAtPosition(t){this.assertNotDisposed();const i=this._textModel.validatePosition(t),e=this._textModel.getLineContent(i.lineNumber),s=this.getLineTokens(i.lineNumber),n=s.findTokenIndexAtOffset(i.column-1),[o,r]=QM._findLanguageBoundaries(s,n),h=Jt(i.column,this.getLanguageConfiguration(s.getLanguageId(n)).getWordDefinition(),e.substring(o,r),o);if(h&&h.startColumn<=t.column&&t.column<=h.endColumn)return h;if(n>0&&o===i.column-1){const[o,r]=QM._findLanguageBoundaries(s,n-1),h=Jt(i.column,this.getLanguageConfiguration(s.getLanguageId(n-1)).getWordDefinition(),e.substring(o,r),o);if(h&&h.startColumn<=t.column&&t.column<=h.endColumn)return h}return null}getLanguageConfiguration(t){return this._languageConfigurationService.getLanguageConfiguration(t)}static _findLanguageBoundaries(t,i){const e=t.getLanguageId(i);let s=0;for(let n=i;n>=0&&t.getLanguageId(n)===e;n--)s=t.getStartOffset(n);let n=t.getLineContent().length;for(let s=i,o=t.getCount();s{const i=this.getLanguageId();-1!==t.changedLanguages.indexOf(i)&&this.resetTokenization()}))),this.resetTokenization(),this._register(s.onDidChangeVisibleRanges((({view:t,state:i})=>{if(i){let e=this._attachedViewStates.get(t);e||(e=new YM((()=>this.refreshRanges(e.lineRanges))),this._attachedViewStates.set(t,e)),e.handleStateChange(i)}else this._attachedViewStates.deleteAndDispose(t)})))}resetTokenization(t=!0){var i;this._tokens.flush(),null===(i=this._debugBackgroundTokens)||void 0===i||i.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new $M(this._textModel.getLineCount())),t&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const[e,s]=(()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const t=Qs.get(this.getLanguageId());if(!t)return[null,null];let i;try{i=t.getInitialState()}catch(t){return Pi(t),[null,null]}return[t,i]})();if(this._tokenizer=e&&s?new PM(this._textModel.getLineCount(),e,this._textModel,this._languageIdCodec):null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const t={setTokens:t=>{this.setTokens(t)},backgroundTokenizationFinished:()=>{2!==this._backgroundTokenizationState&&(this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire())},setEndState:(t,i)=>{var e;if(!this._tokenizer)return;const s=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==s&&t>=s&&(null===(e=this._tokenizer)||void 0===e||e.store.setEndState(t,i))}};e&&e.createBackgroundTokenizer&&!e.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=e.createBackgroundTokenizer(this._textModel,t)),this._backgroundTokenizer.value||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new HM(this._tokenizer,t),this._defaultBackgroundTokenizer.handleChanges()),(null==e?void 0:e.backgroundTokenizerShouldOnlyVerifyTokens)&&e.createBackgroundTokenizer?(this._debugBackgroundTokens=new KM(this._languageIdCodec),this._debugBackgroundStates=new $M(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=e.createBackgroundTokenizer(this._textModel,{setTokens:t=>{var i;null===(i=this._debugBackgroundTokens)||void 0===i||i.setMultilineTokens(t,this._textModel)},backgroundTokenizationFinished(){},setEndState:(t,i)=>{var e;null===(e=this._debugBackgroundStates)||void 0===e||e.setEndState(t,i)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){var t;null===(t=this._defaultBackgroundTokenizer)||void 0===t||t.handleChanges()}handleDidChangeContent(t){var i,e,s;if(t.isFlush)this.resetTokenization(!1);else if(!t.isEolChange){for(const e of t.changes){const[t,s]=GD(e.text);this._tokens.acceptEdit(e.range,t,s),null===(i=this._debugBackgroundTokens)||void 0===i||i.acceptEdit(e.range,t,s)}null===(e=this._debugBackgroundStates)||void 0===e||e.acceptChanges(t.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(t.changes),null===(s=this._defaultBackgroundTokenizer)||void 0===s||s.handleChanges()}}setTokens(t){const{changes:i}=this._tokens.setMultilineTokens(t,this._textModel);return i.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:i}),{changes:i}}refreshAllVisibleLineTokens(){const t=pp.joinMany([...this._attachedViewStates].map((([t,i])=>i.lineRanges)));this.refreshRanges(t)}refreshRanges(t){for(const i of t)this.refreshRange(i.startLineNumber,i.endLineNumberExclusive-1)}refreshRange(t,i){var e,s;if(!this._tokenizer)return;t=Math.max(1,Math.min(this._textModel.getLineCount(),t)),i=Math.min(this._textModel.getLineCount(),i);const n=new NM,{heuristicTokens:o}=this._tokenizer.tokenizeHeuristically(n,t,i),r=this.setTokens(n.finalize());if(o)for(const t of r.changes)null===(e=this._backgroundTokenizer.value)||void 0===e||e.requestTokens(t.fromLineNumber,t.toLineNumber+1);null===(s=this._defaultBackgroundTokenizer)||void 0===s||s.checkFinished()}forceTokenization(t){var i,e;const s=new NM;null===(i=this._tokenizer)||void 0===i||i.updateTokensUntilLine(s,t),this.setTokens(s.finalize()),null===(e=this._defaultBackgroundTokenizer)||void 0===e||e.checkFinished()}isCheapToTokenize(t){return!this._tokenizer||this._tokenizer.isCheapToTokenize(t)}tokenizeIfCheap(t){this.isCheapToTokenize(t)&&this.forceTokenization(t)}getLineTokens(t){var i;const e=this._textModel.getLineContent(t),s=this._tokens.getTokens(this._textModel.getLanguageId(),t-1,e);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>t&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>t){const n=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),t-1,e);!s.equals(n)&&(null===(i=this._debugBackgroundTokenizer.value)||void 0===i?void 0:i.reportMismatchingTokens)&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(t)}return s}getTokenTypeIfInsertingCharacter(t,i,e){if(!this._tokenizer)return 0;const s=this._textModel.validatePosition(new Ms(t,i));return this.forceTokenization(s.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(s,e)}tokenizeLineWithEdit(t,i,e){if(!this._tokenizer)return null;const s=this._textModel.validatePosition(t);return this.forceTokenization(s.lineNumber),this._tokenizer.tokenizeLineWithEdit(s,i,e)}get hasTokens(){return this._tokens.hasTokens}}class YM extends ie{get lineRanges(){return this._lineRanges}constructor(t){super(),this._refreshTokens=t,this.runner=this._register(new gc((()=>this.update()),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){u(this._computedLineRanges,this._lineRanges,((t,i)=>t.equals(i)))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(t){this._lineRanges=t.visibleLineRanges,t.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class XM{constructor(){this.changeType=1}}class tL{static applyInjectedText(t,i){if(!i||0===i.length)return t;let e="",s=0;for(const n of i)e+=t.substring(s,n.column-1),s=n.column-1,e+=n.options.content;return e+=t.substring(s),e}static fromDecorations(t){const i=[];for(const e of t)e.options.before&&e.options.before.content.length>0&&i.push(new tL(e.ownerId,e.range.startLineNumber,e.range.startColumn,e.options.before,0)),e.options.after&&e.options.after.content.length>0&&i.push(new tL(e.ownerId,e.range.endLineNumber,e.range.endColumn,e.options.after,1));return i.sort(((t,i)=>t.lineNumber===i.lineNumber?t.column===i.column?t.order-i.order:t.column-i.column:t.lineNumber-i.lineNumber)),i}constructor(t,i,e,s,n){this.ownerId=t,this.lineNumber=i,this.column=e,this.options=s,this.order=n}}class iL{constructor(t,i,e){this.changeType=2,this.lineNumber=t,this.detail=i,this.injectedText=e}}class eL{constructor(t,i){this.changeType=3,this.fromLineNumber=t,this.toLineNumber=i}}class sL{constructor(t,i,e,s){this.changeType=4,this.injectedTexts=s,this.fromLineNumber=t,this.toLineNumber=i,this.detail=e}}class nL{constructor(){this.changeType=5}}class oL{constructor(t,i,e,s){this.changes=t,this.versionId=i,this.isUndoing=e,this.isRedoing=s,this.resultingSelection=null}containsEvent(t){for(let i=0,e=this.changes.length;i0&&(t[i++]=s,e+=s.length),e>=65536)return t.join("")}}}const wL=()=>{throw new Error("Invalid change accessor")};let vL=dL=class extends ie{static resolveOptions(t,i){if(i.detectIndentation){const e=$A(t,i.tabSize,i.insertSpaces);return new zf({tabSize:e.tabSize,indentSize:"tabSize",insertSpaces:e.insertSpaces,trimAutoWhitespace:i.trimAutoWhitespace,defaultEOL:i.defaultEOL,bracketPairColorizationOptions:i.bracketPairColorizationOptions})}return new zf(i)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(t){return this._eventEmitter.slowEvent((i=>t(i.contentChangedEvent)))}onDidChangeContentOrInjectedText(t){return Yi(this._eventEmitter.fastEvent((i=>t(i))),this._onDidChangeInjectedText.event((i=>t(i))))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(t,i,e,s=null,n,o,r){super(),this._undoRedoService=n,this._languageService=o,this._languageConfigurationService=r,this._onWillDispose=this._register(new fe),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new TL((t=>this.handleBeforeFireDecorationsChangedEvent(t)))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new fe),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new fe),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new fe),this._eventEmitter=this._register(new RL),this._languageSelectionListener=this._register(new ee),this._deltaDecorationCallCnt=0,this._attachedViews=new OL,gL++,this.id="$model"+gL,this.isForSimpleWidget=e.isForSimpleWidget,this._associatedResource=null==s?ws.parse("inmemory://model/"+gL):s,this._attachedEditorCount=0;const{textBuffer:h,disposable:c}=pL(t,e.defaultEOL);this._buffer=h,this._bufferDisposable=c,this._options=dL.resolveOptions(this._buffer,e);const a="string"==typeof i?i:i.languageId;"string"!=typeof i&&(this._languageSelectionListener.value=i.onDidChange((()=>this._setLanguage(i.languageId)))),this._bracketPairs=this._register(new iA(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new NS(this,this._languageConfigurationService)),this._decorationProvider=this._register(new oA(this)),this._tokenizationTextModelPart=new QM(this._languageService,this._languageConfigurationService,this,this._bracketPairs,a,this._attachedViews);const l=this._buffer.getLineCount(),u=this._buffer.getValueLengthInRange(new Ls(1,1,l,this._buffer.getLineLength(l)+1),0);e.largeFileOptimizations?(this._isTooLargeForTokenization=u>dL.LARGE_FILE_SIZE_THRESHOLD||l>dL.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=u>dL.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=u>dL._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=Io(gL),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new kL,this._commandManager=new NA(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(a)}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const t=new TM([],"","\n",!1,!1,!0,!0);t.dispose(),this._buffer=t,this._bufferDisposable=ie.None}_assertNotDisposed(){if(this._isDisposed)throw new Error("Model is disposed!")}_emitContentChangedEvent(t,i){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(i),this._bracketPairs.handleDidChangeContent(i),this._eventEmitter.fire(new hL(t,i)))}setValue(t){if(this._assertNotDisposed(),null==t)throw Vi();const{textBuffer:i,disposable:e}=pL(t,this._options.defaultEOL);this._setValueFromTextBuffer(i,e)}_createContentChanged2(t,i,e,s,n,o,r,h){return{changes:[{range:t,rangeOffset:i,rangeLength:e,text:s}],eol:this._buffer.getEOL(),isEolChange:h,versionId:this.getVersionId(),isUndoing:n,isRedoing:o,isFlush:r}}_setValueFromTextBuffer(t,i){this._assertNotDisposed();const e=this.getFullModelRange(),s=this.getValueLengthInRange(e),n=this.getLineCount(),o=this.getLineMaxColumn(n);this._buffer=t,this._bufferDisposable.dispose(),this._bufferDisposable=i,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new kL,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new oL([new XM],this._versionId,!1,!1),this._createContentChanged2(new Ls(1,1,n,o),0,s,this.getValue(),!1,!1,!0,!1))}setEOL(t){this._assertNotDisposed();const i=1===t?"\r\n":"\n";if(this._buffer.getEOL()===i)return;const e=this.getFullModelRange(),s=this.getValueLengthInRange(e),n=this.getLineCount(),o=this.getLineMaxColumn(n);this._onBeforeEOLChange(),this._buffer.setEOL(i),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new oL([new nL],this._versionId,!1,!1),this._createContentChanged2(new Ls(1,1,n,o),0,s,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const t=this.getVersionId(),i=this._decorationsTree.collectNodesPostOrder();for(let e=0,s=i.length;e0}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 t=0,i=0;const e=this._buffer.getLineCount();for(let s=1;s<=e;s++){const e=this._buffer.getLineLength(s);e>=1e4?i+=e:t+=e}return i>t}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(t){this._assertNotDisposed();const i=new zf({tabSize:void 0!==t.tabSize?t.tabSize:this._options.tabSize,indentSize:void 0!==t.indentSize?t.indentSize:this._options.originalIndentSize,insertSpaces:void 0!==t.insertSpaces?t.insertSpaces:this._options.insertSpaces,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:void 0!==t.trimAutoWhitespace?t.trimAutoWhitespace:this._options.trimAutoWhitespace,bracketPairColorizationOptions:void 0!==t.bracketColorizationOptions?t.bracketColorizationOptions:this._options.bracketPairColorizationOptions});if(this._options.equals(i))return;const e=this._options.createChangeEvent(i);this._options=i,this._bracketPairs.handleDidChangeOptions(e),this._decorationProvider.handleDidChangeOptions(e),this._onDidChangeOptions.fire(e)}detectIndentation(t,i){this._assertNotDisposed();const e=$A(this._buffer,i,t);this.updateOptions({insertSpaces:e.insertSpaces,tabSize:e.tabSize,indentSize:e.tabSize})}normalizeIndentation(t){return this._assertNotDisposed(),uC(t,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(t=null){const i=this.findMatches(Mo.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(t,i.map((t=>({range:t.range,text:null}))),(()=>null))}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(t){this._assertNotDisposed();const i=this._validatePosition(t.lineNumber,t.column,0);return this._buffer.getOffsetAt(i.lineNumber,i.column)}getPositionAt(t){this._assertNotDisposed();const i=Math.min(this._buffer.getLength(),Math.max(0,t));return this._buffer.getPositionAt(i)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(t){this._versionId=t}_overwriteAlternativeVersionId(t){this._alternativeVersionId=t}_overwriteInitialUndoRedoSnapshot(t){this._initialUndoRedoSnapshot=t}getValue(t,i=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new Gi("Operation would exceed heap memory limits");const e=this.getFullModelRange(),s=this.getValueInRange(e,t);return i?this._buffer.getBOM()+s:s}createSnapshot(t=!1){return new mL(this._buffer.createSnapshot(t))}getValueLength(t,i=!1){this._assertNotDisposed();const e=this.getFullModelRange(),s=this.getValueLengthInRange(e,t);return i?this._buffer.getBOM().length+s:s}getValueInRange(t,i=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(t),i)}getValueLengthInRange(t,i=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(t),i)}getCharacterCountInRange(t,i=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(t),i)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(t){if(this._assertNotDisposed(),t<1||t>this.getLineCount())throw new Gi("Illegal value for lineNumber");return this._buffer.getLineContent(t)}getLineLength(t){if(this._assertNotDisposed(),t<1||t>this.getLineCount())throw new Gi("Illegal value for lineNumber");return this._buffer.getLineLength(t)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new Gi("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),"\n"===this._buffer.getEOL()?0:1}getLineMinColumn(t){return this._assertNotDisposed(),1}getLineMaxColumn(t){if(this._assertNotDisposed(),t<1||t>this.getLineCount())throw new Gi("Illegal value for lineNumber");return this._buffer.getLineLength(t)+1}getLineFirstNonWhitespaceColumn(t){if(this._assertNotDisposed(),t<1||t>this.getLineCount())throw new Gi("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(t)}getLineLastNonWhitespaceColumn(t){if(this._assertNotDisposed(),t<1||t>this.getLineCount())throw new Gi("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(t)}_validateRangeRelaxedNoAllocations(t){const i=this._buffer.getLineCount(),e=t.startLineNumber,s=t.startColumn;let n=Math.floor("number"!=typeof e||isNaN(e)?1:e),o=Math.floor("number"!=typeof s||isNaN(s)?1:s);if(n<1)n=1,o=1;else if(n>i)n=i,o=this.getLineMaxColumn(n);else if(o<=1)o=1;else{const t=this.getLineMaxColumn(n);o>=t&&(o=t)}const r=t.endLineNumber,h=t.endColumn;let c=Math.floor("number"!=typeof r||isNaN(r)?1:r),a=Math.floor("number"!=typeof h||isNaN(h)?1:h);if(c<1)c=1,a=1;else if(c>i)c=i,a=this.getLineMaxColumn(c);else if(a<=1)a=1;else{const t=this.getLineMaxColumn(c);a>=t&&(a=t)}return e===n&&s===o&&r===c&&h===a&&t instanceof Ls&&!(t instanceof Fs)?t:new Ls(n,o,c,a)}_isValidPosition(t,i,e){return"number"==typeof t&&"number"==typeof i&&(!isNaN(t)&&!isNaN(i)&&(!(t<1||i<1)&&((0|t)===t&&(0|i)===i&&(!(t>this._buffer.getLineCount())&&(1===i||!(i>this.getLineMaxColumn(t))&&(1!==e||!mo(this._buffer.getLineCharCode(t,i-2))))))))}_validatePosition(t,i,e){const s=Math.floor("number"!=typeof t||isNaN(t)?1:t),n=Math.floor("number"!=typeof i||isNaN(i)?1:i),o=this._buffer.getLineCount();if(s<1)return new Ms(1,1);if(s>o)return new Ms(o,this.getLineMaxColumn(o));if(n<=1)return new Ms(s,1);const r=this.getLineMaxColumn(s);return n>=r?new Ms(s,r):1===e&&mo(this._buffer.getLineCharCode(s,n-2))?new Ms(s,n-1):new Ms(s,n)}validatePosition(t){return this._assertNotDisposed(),t instanceof Ms&&this._isValidPosition(t.lineNumber,t.column,1)?t:this._validatePosition(t.lineNumber,t.column,1)}_isValidRange(t,i){const e=t.startLineNumber,s=t.startColumn,n=t.endLineNumber,o=t.endColumn;if(!this._isValidPosition(e,s,0))return!1;if(!this._isValidPosition(n,o,0))return!1;if(1===i){const t=s>1?this._buffer.getLineCharCode(e,s-2):0,i=o>1&&o<=this._buffer.getLineLength(n)?this._buffer.getLineCharCode(n,o-2):0,r=mo(t),h=mo(i);return!r&&!h}return!0}validateRange(t){if(this._assertNotDisposed(),t instanceof Ls&&!(t instanceof Fs)&&this._isValidRange(t,1))return t;const i=this._validatePosition(t.startLineNumber,t.startColumn,0),e=this._validatePosition(t.endLineNumber,t.endColumn,0),s=i.lineNumber,n=i.column,o=e.lineNumber,r=e.column;{const t=n>1?this._buffer.getLineCharCode(s,n-2):0,i=r>1&&r<=this._buffer.getLineLength(o)?this._buffer.getLineCharCode(o,r-2):0,e=mo(t),h=mo(i);return e||h?s===o&&n===r?new Ls(s,n-1,o,r-1):e&&h?new Ls(s,n-1,o,r+1):e?new Ls(s,n-1,o,r):new Ls(s,n,o,r+1):new Ls(s,n,o,r)}}modifyPosition(t,i){this._assertNotDisposed();const e=this.getOffsetAt(t)+i;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,e)))}getFullModelRange(){this._assertNotDisposed();const t=this.getLineCount();return new Ls(1,1,t,this.getLineMaxColumn(t))}findMatchesLineByLine(t,i,e,s){return this._buffer.findMatchesLineByLine(t,i,e,s)}findMatches(t,i,e,s,n,o,r=999){this._assertNotDisposed();let h=null;null!==i&&(Array.isArray(i)||(i=[i]),i.every((t=>Ls.isIRange(t)))&&(h=i.map((t=>this.validateRange(t))))),null===h&&(h=[this.getFullModelRange()]),h=h.sort(((t,i)=>t.startLineNumber-i.startLineNumber||t.startColumn-i.startColumn));const c=[];let a;if(c.push(h.reduce(((t,i)=>Ls.areIntersecting(t,i)?t.plusRange(i):(c.push(t),i)))),!e&&t.indexOf("\n")<0){const i=new Gf(t,e,s,n).parseSearchRequest();if(!i)return[];a=t=>this.findMatchesLineByLine(t,i,o,r)}else a=i=>Jf.findMatches(this,new Gf(t,e,s,n),i,o,r);return c.map(a).reduce(((t,i)=>t.concat(i)),[])}findNextMatch(t,i,e,s,n,o){this._assertNotDisposed();const r=this.validatePosition(i);if(!e&&t.indexOf("\n")<0){const i=new Gf(t,e,s,n).parseSearchRequest();if(!i)return null;const h=this.getLineCount();let c=new Ls(r.lineNumber,r.column,h,this.getLineMaxColumn(h)),a=this.findMatchesLineByLine(c,i,o,1);return Jf.findNextMatch(this,new Gf(t,e,s,n),r,o),a.length>0?a[0]:(c=new Ls(1,1,r.lineNumber,this.getLineMaxColumn(r.lineNumber)),a=this.findMatchesLineByLine(c,i,o,1),a.length>0?a[0]:null)}return Jf.findNextMatch(this,new Gf(t,e,s,n),r,o)}findPreviousMatch(t,i,e,s,n,o){this._assertNotDisposed();const r=this.validatePosition(i);return Jf.findPreviousMatch(this,new Gf(t,e,s,n),r,o)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(t){if(("\n"===this.getEOL()?0:1)!==t)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(t){return t instanceof Vf?t:new Vf(t.identifier||null,this.validateRange(t.range),t.text,t.forceMoveMarkers||!1,t.isAutoWhitespaceEdit||!1,t._isTracked||!1)}_validateEditOperations(t){const i=[];for(let e=0,s=t.length;e({range:this.validateRange(t.range),text:t.text})));let s=!0;if(t)for(let i=0,n=t.length;in.endLineNumber||n.startLineNumber>i.endLineNumber)){o=!0;break}}if(!o){s=!1;break}}if(s)for(let t=0,s=this._trimAutoWhitespaceLines.length;ti.endLineNumber||s===i.startLineNumber&&i.startColumn===n&&i.isEmpty()&&r&&r.length>0&&"\n"===r.charAt(0)||s===i.startLineNumber&&1===i.startColumn&&i.isEmpty()&&r&&r.length>0&&"\n"===r.charAt(r.length-1))){o=!1;break}}if(o){const t=new Ls(s,1,s,n);i.push(new Vf(null,t,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(t,i,e,s)}_applyUndo(t,i,e,s){const n=t.map((t=>{const i=this.getPositionAt(t.newPosition),e=this.getPositionAt(t.newEnd);return{range:new Ls(i.lineNumber,i.column,e.lineNumber,e.column),text:t.oldText}}));this._applyUndoRedoEdits(n,i,!0,!1,e,s)}_applyRedo(t,i,e,s){const n=t.map((t=>{const i=this.getPositionAt(t.oldPosition),e=this.getPositionAt(t.oldEnd);return{range:new Ls(i.lineNumber,i.column,e.lineNumber,e.column),text:t.newText}}));this._applyUndoRedoEdits(n,i,!1,!0,e,s)}_applyUndoRedoEdits(t,i,e,s,n,o){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=e,this._isRedoing=s,this.applyEdits(t,!1),this.setEOL(i),this._overwriteAlternativeVersionId(n)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(o),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(t,i=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const e=this._validateEditOperations(t);return this._doApplyEdits(e,i)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(t,i){const e=this._buffer.getLineCount(),s=this._buffer.applyEdits(t,this._options.trimAutoWhitespace,i),n=this._buffer.getLineCount(),o=s.changes;if(this._trimAutoWhitespaceLines=s.trimAutoWhitespaceLineNumbers,0!==o.length){for(let t=0,i=o.length;t=0;i--){const e=h+i,s=f+i;w.takeFromEndWhile((t=>t.lineNumber>s));const n=w.takeFromEndWhile((t=>t.lineNumber===s));t.push(new iL(e,this.getLineContent(s),n))}if(ut.lineNumbert.lineNumber===i))}t.push(new sL(s+1,h+l,a,c))}i+=d}this._emitContentChangedEvent(new oL(t,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:o,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return null===s.reverseEdits?void 0:s.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(t){if(null===t||0===t.size)return;const i=Array.from(t).map((t=>new iL(t,this.getLineContent(t),this._getInjectedTextInLine(t))));this._onDidChangeInjectedText.fire(new rL(i))}changeDecorations(t,i=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(i,t)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(t,i){const e={addDecoration:(i,e)=>this._deltaDecorationsImpl(t,[],[{range:i,options:e}])[0],changeDecoration:(t,i)=>{this._changeDecorationImpl(t,i)},changeDecorationOptions:(t,i)=>{this._changeDecorationOptionsImpl(t,FL(i))},removeDecoration:i=>{this._deltaDecorationsImpl(t,[i],[])},deltaDecorations:(i,e)=>0===i.length&&0===e.length?[]:this._deltaDecorationsImpl(t,i,e)};let s=null;try{s=i(e)}catch(t){Pi(t)}return e.addDecoration=wL,e.changeDecoration=wL,e.changeDecorationOptions=wL,e.removeDecoration=wL,e.deltaDecorations=wL,s}deltaDecorations(t,i,e=0){if(this._assertNotDisposed(),t||(t=[]),0===t.length&&0===i.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),Pi(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(e,t,i)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(t){return this.getDecorationRange(t)}_setTrackedRange(t,i,e){const s=t?this._decorations[t]:null;if(!s)return i?this._deltaDecorationsImpl(0,[],[{range:i,options:LL[e]}],!0)[0]:null;if(!i)return this._decorationsTree.delete(s),delete this._decorations[s.id],null;const n=this._validateRangeRelaxedNoAllocations(i),o=this._buffer.getOffsetAt(n.startLineNumber,n.startColumn),r=this._buffer.getOffsetAt(n.endLineNumber,n.endColumn);return this._decorationsTree.delete(s),s.reset(this.getVersionId(),o,r,n),s.setOptions(LL[e]),this._decorationsTree.insert(s),s.id}removeAllDecorationsWithOwnerId(t){if(this._isDisposed)return;const i=this._decorationsTree.collectNodesFromOwner(t);for(let t=0,e=i.length;tthis.getLineCount()?[]:this.getLinesDecorations(t,t,i,e)}getLinesDecorations(t,i,e=0,s=!1,n=!1){const o=this.getLineCount(),r=Math.min(o,Math.max(1,t)),h=Math.min(o,Math.max(1,i)),c=this.getLineMaxColumn(h),a=new Ls(r,1,h,c),l=this._getDecorationsInRange(a,e,s,n);return A(l,this._decorationProvider.getDecorationsInRange(a,e,s)),l}getDecorationsInRange(t,i=0,e=!1,s=!1,n=!1){const o=this.validateRange(t),r=this._getDecorationsInRange(o,i,e,n);return A(r,this._decorationProvider.getDecorationsInRange(o,i,e,s)),r}getOverviewRulerDecorations(t=0,i=!1){return this._decorationsTree.getAll(this,t,i,!0,!1)}getInjectedTextDecorations(t=0){return this._decorationsTree.getAllInjectedText(this,t)}_getInjectedTextInLine(t){const i=this._buffer.getOffsetAt(t,1),e=i+this._buffer.getLineLength(t),s=this._decorationsTree.getInjectedTextInInterval(this,i,e,0);return tL.fromDecorations(s).filter((i=>i.lineNumber===t))}getAllDecorations(t=0,i=!1){let e=this._decorationsTree.getAll(this,t,i,!1,!1);return e=e.concat(this._decorationProvider.getAllDecorations(t,i)),e}getAllMarginDecorations(t=0){return this._decorationsTree.getAll(this,t,!1,!1,!0)}_getDecorationsInRange(t,i,e,s){const n=this._buffer.getOffsetAt(t.startLineNumber,t.startColumn),o=this._buffer.getOffsetAt(t.endLineNumber,t.endColumn);return this._decorationsTree.getAllInInterval(this,n,o,i,e,s)}getRangeAt(t,i){return this._buffer.getRangeAt(t,i-t)}_changeDecorationImpl(t,i){const e=this._decorations[t];if(!e)return;if(e.options.after){const i=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.endLineNumber)}if(e.options.before){const i=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.startLineNumber)}const s=this._validateRangeRelaxedNoAllocations(i),n=this._buffer.getOffsetAt(s.startLineNumber,s.startColumn),o=this._buffer.getOffsetAt(s.endLineNumber,s.endColumn);this._decorationsTree.delete(e),e.reset(this.getVersionId(),n,o,s),this._decorationsTree.insert(e),this._onDidChangeDecorations.checkAffectedAndFire(e.options),e.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(s.endLineNumber),e.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(s.startLineNumber)}_changeDecorationOptionsImpl(t,i){const e=this._decorations[t];if(!e)return;const s=!(!e.options.overviewRuler||!e.options.overviewRuler.color),n=!(!i.overviewRuler||!i.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(e.options),this._onDidChangeDecorations.checkAffectedAndFire(i),e.options.after||i.after){const t=this._decorationsTree.getNodeRange(this,e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.endLineNumber)}if(e.options.before||i.before){const t=this._decorationsTree.getNodeRange(this,e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.startLineNumber)}s!==n?(this._decorationsTree.delete(e),e.setOptions(i),this._decorationsTree.insert(e)):e.setOptions(i)}_deltaDecorationsImpl(t,i,e,s=!1){const n=this.getVersionId(),o=i.length;let r=0;const h=e.length;let c=0;this._onDidChangeDecorations.beginDeferredEmit();try{const a=new Array(h);for(;rthis._setLanguage(t.languageId,i))),this._setLanguage(t.languageId,i))}_setLanguage(t,i){this.tokenization.setLanguageId(t,i),this._languageService.requestRichLanguageFeatures(t)}getLanguageIdAtPosition(t,i){return this.tokenization.getLanguageIdAtPosition(t,i)}getWordAtPosition(t){return this._tokenizationTextModelPart.getWordAtPosition(t)}getWordUntilPosition(t){return this._tokenizationTextModelPart.getWordUntilPosition(t)}normalizePosition(t,i){return t}getLineIndentColumn(t){return function(t){let i=0;for(const e of t){if(" "!==e&&"\t"!==e)break;i++}return i}(this.getLineContent(t))+1}};function bL(t){return!(!t.options.overviewRuler||!t.options.overviewRuler.color)}function yL(t){return!!t.options.after||!!t.options.before}vL._MODEL_SYNC_LIMIT=52428800,vL.LARGE_FILE_SIZE_THRESHOLD=20971520,vL.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5,vL.LARGE_FILE_HEAP_OPERATION_THRESHOLD=268435456,vL.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:Ht.tabSize,indentSize:Ht.indentSize,insertSpaces:Ht.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:Ht.trimAutoWhitespace,largeFileOptimizations:Ht.largeFileOptimizations,bracketPairColorizationOptions:Ht.bracketPairColorizationOptions},vL=dL=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([fL(4,cL),fL(5,kd),fL(6,tf)],vL);class kL{constructor(){this._decorationsTree0=new YA,this._decorationsTree1=new YA,this._injectedTextDecorationsTree=new YA}ensureAllNodesHaveRanges(t){this.getAll(t,0,!1,!1,!1)}_ensureNodesHaveRanges(t,i){for(const e of i)null===e.range&&(e.range=t.getRangeAt(e.cachedAbsoluteStart,e.cachedAbsoluteEnd));return i}getAllInInterval(t,i,e,s,n,o){const r=t.getVersionId(),h=this._intervalSearch(i,e,s,n,r,o);return this._ensureNodesHaveRanges(t,h)}_intervalSearch(t,i,e,s,n,o){const r=this._decorationsTree0.intervalSearch(t,i,e,s,n,o),h=this._decorationsTree1.intervalSearch(t,i,e,s,n,o),c=this._injectedTextDecorationsTree.intervalSearch(t,i,e,s,n,o);return r.concat(h).concat(c)}getInjectedTextInInterval(t,i,e,s){const n=t.getVersionId(),o=this._injectedTextDecorationsTree.intervalSearch(i,e,s,!1,n,!1);return this._ensureNodesHaveRanges(t,o).filter((t=>t.options.showIfCollapsed||!t.range.isEmpty()))}getAllInjectedText(t,i){const e=t.getVersionId(),s=this._injectedTextDecorationsTree.search(i,!1,e,!1);return this._ensureNodesHaveRanges(t,s).filter((t=>t.options.showIfCollapsed||!t.range.isEmpty()))}getAll(t,i,e,s,n){const o=t.getVersionId(),r=this._search(i,e,s,o,n);return this._ensureNodesHaveRanges(t,r)}_search(t,i,e,s,n){if(e)return this._decorationsTree1.search(t,i,s,n);{const e=this._decorationsTree0.search(t,i,s,n),o=this._decorationsTree1.search(t,i,s,n),r=this._injectedTextDecorationsTree.search(t,i,s,n);return e.concat(o).concat(r)}}collectNodesFromOwner(t){const i=this._decorationsTree0.collectNodesFromOwner(t),e=this._decorationsTree1.collectNodesFromOwner(t),s=this._injectedTextDecorationsTree.collectNodesFromOwner(t);return i.concat(e).concat(s)}collectNodesPostOrder(){const t=this._decorationsTree0.collectNodesPostOrder(),i=this._decorationsTree1.collectNodesPostOrder(),e=this._injectedTextDecorationsTree.collectNodesPostOrder();return t.concat(i).concat(e)}insert(t){yL(t)?this._injectedTextDecorationsTree.insert(t):bL(t)?this._decorationsTree1.insert(t):this._decorationsTree0.insert(t)}delete(t){yL(t)?this._injectedTextDecorationsTree.delete(t):bL(t)?this._decorationsTree1.delete(t):this._decorationsTree0.delete(t)}getNodeRange(t,i){const e=t.getVersionId();return i.cachedVersionId!==e&&this._resolveNode(i,e),null===i.range&&(i.range=t.getRangeAt(i.cachedAbsoluteStart,i.cachedAbsoluteEnd)),i.range}_resolveNode(t,i){yL(t)?this._injectedTextDecorationsTree.resolveNode(t,i):bL(t)?this._decorationsTree1.resolveNode(t,i):this._decorationsTree0.resolveNode(t,i)}acceptReplace(t,i,e,s){this._decorationsTree0.acceptReplace(t,i,e,s),this._decorationsTree1.acceptReplace(t,i,e,s),this._injectedTextDecorationsTree.acceptReplace(t,i,e,s)}}function xL(t){return t.replace(/[^a-z0-9\-_]/gi," ")}class CL{constructor(t){this.color=t.color||"",this.darkColor=t.darkColor||""}}class SL extends CL{constructor(t){super(t),this._resolvedColor=null,this.position="number"==typeof t.position?t.position:Nf.Center}getColor(t){return this._resolvedColor||(this._resolvedColor=this._resolveColor("light"!==t.type&&this.darkColor?this.darkColor:this.color,t)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(t,i){if("string"==typeof t)return t;const e=t?i.getColor(t.id):null;return e?e.toString():""}}class DL{constructor(t){var i;this.position=null!==(i=null==t?void 0:t.position)&&void 0!==i?i:Bf.Left}}class EL extends CL{constructor(t){super(t),this.position=t.position}getColor(t){return this._resolvedColor||(this._resolvedColor=this._resolveColor("light"!==t.type&&this.darkColor?this.darkColor:this.color,t)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(t,i){return"string"==typeof t?ug.fromHex(t):i.getColor(t.id)}}class AL{static from(t){return t instanceof AL?t:new AL(t)}constructor(t){this.content=t.content||"",this.inlineClassName=t.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=t.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=t.attachedData||null,this.cursorStops=t.cursorStops||null}}class ML{static register(t){return new ML(t)}static createDynamic(t){return new ML(t)}constructor(t){var i,e,s,n,o,r;this.description=t.description,this.blockClassName=t.blockClassName?xL(t.blockClassName):null,this.blockDoesNotCollapse=null!==(i=t.blockDoesNotCollapse)&&void 0!==i?i:null,this.blockIsAfterEnd=null!==(e=t.blockIsAfterEnd)&&void 0!==e?e:null,this.blockPadding=null!==(s=t.blockPadding)&&void 0!==s?s:null,this.stickiness=t.stickiness||0,this.zIndex=t.zIndex||0,this.className=t.className?xL(t.className):null,this.shouldFillLineOnLineBreak=null!==(n=t.shouldFillLineOnLineBreak)&&void 0!==n?n:null,this.hoverMessage=t.hoverMessage||null,this.glyphMarginHoverMessage=t.glyphMarginHoverMessage||null,this.isWholeLine=t.isWholeLine||!1,this.showIfCollapsed=t.showIfCollapsed||!1,this.collapseOnReplaceEdit=t.collapseOnReplaceEdit||!1,this.overviewRuler=t.overviewRuler?new SL(t.overviewRuler):null,this.minimap=t.minimap?new EL(t.minimap):null,this.glyphMargin=t.glyphMarginClassName?new DL(t.glyphMargin):null,this.glyphMarginClassName=t.glyphMarginClassName?xL(t.glyphMarginClassName):null,this.linesDecorationsClassName=t.linesDecorationsClassName?xL(t.linesDecorationsClassName):null,this.firstLineDecorationClassName=t.firstLineDecorationClassName?xL(t.firstLineDecorationClassName):null,this.marginClassName=t.marginClassName?xL(t.marginClassName):null,this.inlineClassName=t.inlineClassName?xL(t.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=t.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=t.beforeContentClassName?xL(t.beforeContentClassName):null,this.afterContentClassName=t.afterContentClassName?xL(t.afterContentClassName):null,this.after=t.after?AL.from(t.after):null,this.before=t.before?AL.from(t.before):null,this.hideInCommentTokens=null!==(o=t.hideInCommentTokens)&&void 0!==o&&o,this.hideInStringTokens=null!==(r=t.hideInStringTokens)&&void 0!==r&&r}}ML.EMPTY=ML.register({description:"empty"});const LL=[ML.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),ML.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),ML.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),ML.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function FL(t){return t instanceof ML?t:ML.createDynamic(t)}class TL extends ie{constructor(t){super(),this.handleBeforeFire=t,this._actual=this._register(new fe),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){var t;this._deferredCnt--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),null===(t=this._affectedInjectedTextLines)||void 0===t||t.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(t){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(t)}checkAffectedAndFire(t){this._affectsMinimap||(this._affectsMinimap=!(!t.minimap||!t.minimap.position)),this._affectsOverviewRuler||(this._affectsOverviewRuler=!(!t.overviewRuler||!t.overviewRuler.color)),this._affectsGlyphMargin||(this._affectsGlyphMargin=!!t.glyphMarginClassName),this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const t={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(t)}}class RL extends ie{constructor(){super(),this._fastEmitter=this._register(new fe),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new fe),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(t=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=t;const i=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(i),this._slowEmitter.fire(i)}}fire(t){this._deferredCnt>0?this._deferredEvent=this._deferredEvent?this._deferredEvent.merge(t):t:(this._fastEmitter.fire(t),this._slowEmitter.fire(t))}}class OL{constructor(){this._onDidChangeVisibleRanges=new fe,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const t=new IL((i=>{this._onDidChangeVisibleRanges.fire({view:t,state:i})}));return this._views.add(t),t}detachView(t){this._views.delete(t),this._onDidChangeVisibleRanges.fire({view:t,state:void 0})}}class IL{constructor(t){this.handleStateChange=t}setVisibleLines(t,i){const e=t.map((t=>new pp(t.startLineNumber,t.endLineNumber+1)));this.handleStateChange({visibleLineRanges:e,stabilized:i})}}class _L{constructor(t){this._selTrackedRange=null,this._trackSelection=!0,this._setState(t,new bC(new Ls(1,1,1,1),0,0,new Ms(1,1),0),new bC(new Ls(1,1,1,1),0,0,new Ms(1,1),0))}dispose(t){this._removeTrackedRange(t)}startTrackingSelection(t){this._trackSelection=!0,this._updateTrackedRange(t)}stopTrackingSelection(t){this._trackSelection=!1,this._removeTrackedRange(t)}_updateTrackedRange(t){this._trackSelection&&(this._selTrackedRange=t.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(t){this._selTrackedRange=t.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new mC(this.modelState,this.viewState)}readSelectionFromMarkers(t){const i=t.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!i.isEmpty()?Fs.fromRange(i.collapseToEnd(),this.modelState.selection.getDirection()):Fs.fromRange(i,this.modelState.selection.getDirection())}ensureValidState(t){this._setState(t,this.modelState,this.viewState)}setState(t,i,e){this._setState(t,i,e)}static _validatePositionWithCache(t,i,e,s){return i.equals(e)?s:t.normalizePosition(i,2)}static _validateViewState(t,i){const e=i.position,s=i.selectionStart.getStartPosition(),n=i.selectionStart.getEndPosition(),o=t.normalizePosition(e,2),r=this._validatePositionWithCache(t,s,e,o),h=this._validatePositionWithCache(t,n,s,r);return e.equals(o)&&s.equals(r)&&n.equals(h)?i:new bC(Ls.fromPositions(r,h),i.selectionStartKind,i.selectionStartLeftoverVisibleColumns+s.column-r.column,o,i.leftoverVisibleColumns+e.column-o.column)}_setState(t,i,e){if(e&&(e=_L._validateViewState(t.viewModel,e)),i){const e=t.model.validateRange(i.selectionStart),s=i.selectionStart.equalsRange(e)?i.selectionStartLeftoverVisibleColumns:0,n=t.model.validatePosition(i.position),o=i.position.equals(n)?i.leftoverVisibleColumns:0;i=new bC(e,i.selectionStartKind,s,n,o)}else{if(!e)return;const s=t.model.validateRange(t.coordinatesConverter.convertViewRangeToModelRange(e.selectionStart)),n=t.model.validatePosition(t.coordinatesConverter.convertViewPositionToModelPosition(e.position));i=new bC(s,e.selectionStartKind,e.selectionStartLeftoverVisibleColumns,n,e.leftoverVisibleColumns)}if(e){const s=t.coordinatesConverter.validateViewRange(e.selectionStart,i.selectionStart),n=t.coordinatesConverter.validateViewPosition(e.position,i.position);e=new bC(s,i.selectionStartKind,i.selectionStartLeftoverVisibleColumns,n,i.leftoverVisibleColumns)}else{const s=t.coordinatesConverter.convertModelPositionToViewPosition(new Ms(i.selectionStart.startLineNumber,i.selectionStart.startColumn)),n=t.coordinatesConverter.convertModelPositionToViewPosition(new Ms(i.selectionStart.endLineNumber,i.selectionStart.endColumn)),o=new Ls(s.lineNumber,s.column,n.lineNumber,n.column),r=t.coordinatesConverter.convertModelPositionToViewPosition(i.position);e=new bC(o,i.selectionStartKind,i.selectionStartLeftoverVisibleColumns,r,i.leftoverVisibleColumns)}this.modelState=i,this.viewState=e,this._updateTrackedRange(t)}}class NL{constructor(t){this.context=t,this.cursors=[new _L(t)],this.lastAddedCursorIndex=0}dispose(){for(const t of this.cursors)t.dispose(this.context)}startTrackingSelections(){for(const t of this.cursors)t.startTrackingSelection(this.context)}stopTrackingSelections(){for(const t of this.cursors)t.stopTrackingSelection(this.context)}updateContext(t){this.context=t}ensureValidState(){for(const t of this.cursors)t.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map((t=>t.readSelectionFromMarkers(this.context)))}getAll(){return this.cursors.map((t=>t.asCursorState()))}getViewPositions(){return this.cursors.map((t=>t.viewState.position))}getTopMostViewPosition(){return function(t,i){return dp(t,((t,e)=>-i(t,e)))}(this.cursors,R((t=>t.viewState.position),Ms.compare)).viewState.position}getBottomMostViewPosition(){return function(t,i){if(0===t.length)return;let e=t[0];for(let s=1;s=0&&(e=n)}return e}(this.cursors,R((t=>t.viewState.position),Ms.compare)).viewState.position}getSelections(){return this.cursors.map((t=>t.modelState.selection))}getViewSelections(){return this.cursors.map((t=>t.viewState.selection))}setSelections(t){this.setStates(mC.fromModelSelections(t))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(t){null!==t&&(this.cursors[0].setState(this.context,t[0].modelState,t[0].viewState),this._setSecondaryStates(t.slice(1)))}_setSecondaryStates(t){const i=this.cursors.length-1,e=t.length;if(ie){const t=i-e;for(let i=0;i=t+1&&this.lastAddedCursorIndex--,this.cursors[t+1].dispose(this.context),this.cursors.splice(t+1,1)}normalize(){if(1===this.cursors.length)return;const t=this.cursors.slice(0),i=[];for(let e=0,s=t.length;et.selection),Ls.compareRangesUsingStarts));for(let e=0;eh&&t.index--;t.splice(h,1),i.splice(r,1),this._removeSecondaryCursor(h-1),e--}}}}class BL{constructor(t,i,e,s){this._cursorContextBrand=void 0,this.model=t,this.viewModel=i,this.coordinatesConverter=e,this.cursorConfig=s}}class PL{constructor(){this.type=0}}class $L{constructor(){this.type=1}}class WL{constructor(t){this.type=2,this._source=t}hasChanged(t){return this._source.hasChanged(t)}}class jL{constructor(t,i,e){this.selections=t,this.modelSelections=i,this.reason=e,this.type=3}}class zL{constructor(t){this.type=4,t?(this.affectsMinimap=t.affectsMinimap,this.affectsOverviewRuler=t.affectsOverviewRuler,this.affectsGlyphMargin=t.affectsGlyphMargin):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0)}}class HL{constructor(){this.type=5}}class VL{constructor(t){this.type=6,this.isFocused=t}}class UL{constructor(){this.type=7}}class qL{constructor(){this.type=8}}class KL{constructor(t,i){this.fromLineNumber=t,this.count=i,this.type=9}}class GL{constructor(t,i){this.type=10,this.fromLineNumber=t,this.toLineNumber=i}}class ZL{constructor(t,i){this.type=11,this.fromLineNumber=t,this.toLineNumber=i}}class QL{constructor(t,i,e,s,n,o,r){this.source=t,this.minimalReveal=i,this.range=e,this.selections=s,this.verticalType=n,this.revealHorizontal=o,this.scrollType=r,this.type=12}}class JL{constructor(t){this.type=13,this.scrollWidth=t.scrollWidth,this.scrollLeft=t.scrollLeft,this.scrollHeight=t.scrollHeight,this.scrollTop=t.scrollTop,this.scrollWidthChanged=t.scrollWidthChanged,this.scrollLeftChanged=t.scrollLeftChanged,this.scrollHeightChanged=t.scrollHeightChanged,this.scrollTopChanged=t.scrollTopChanged}}class YL{constructor(t){this.theme=t,this.type=14}}class XL{constructor(t){this.type=15,this.ranges=t}}class tF{constructor(){this.type=16}}class iF{constructor(){this.type=17}}class eF extends ie{constructor(){super(),this._onEvent=this._register(new fe),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(t){this._addOutgoingEvent(t),this._emitOutgoingEvents()}_addOutgoingEvent(t){for(let i=0,e=this._outgoingEvents.length;i0;){if(this._collector||this._isConsumingViewEventQueue)return;const t=this._outgoingEvents.shift();t.isNoOp()||this._onEvent.fire(t)}}addViewEventHandler(t){for(let i=0,e=this._eventHandlers.length;i0&&this._emitMany(i)}this._emitOutgoingEvents()}emitSingleViewEvent(t){try{this.beginEmitViewEvents().emitViewEvent(t)}finally{this.endEmitViewEvents()}}_emitMany(t){this._viewEventQueue=this._viewEventQueue?this._viewEventQueue.concat(t):t,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const t=this._viewEventQueue;this._viewEventQueue=null;const i=this._eventHandlers.slice(0);for(const e of i)e.handleEvents(t)}}}class sF{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(t){this.viewEvents.push(t)}emitOutgoingEvent(t){this.outgoingEvents.push(t)}}class nF{constructor(t,i,e,s){this.kind=0,this._oldContentWidth=t,this._oldContentHeight=i,this.contentWidth=e,this.contentHeight=s,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(t){return t.kind!==this.kind?null:new nF(this._oldContentWidth,this._oldContentHeight,t.contentWidth,t.contentHeight)}}class oF{constructor(t,i){this.kind=1,this.oldHasFocus=t,this.hasFocus=i}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(t){return t.kind!==this.kind?null:new oF(this.oldHasFocus,t.hasFocus)}}class rF{constructor(t,i,e,s,n,o,r,h){this.kind=2,this._oldScrollWidth=t,this._oldScrollLeft=i,this._oldScrollHeight=e,this._oldScrollTop=s,this.scrollWidth=n,this.scrollLeft=o,this.scrollHeight=r,this.scrollTop=h,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(t){return t.kind!==this.kind?null:new rF(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,t.scrollWidth,t.scrollLeft,t.scrollHeight,t.scrollTop)}}class hF{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(t){return t.kind!==this.kind?null:this}}class cF{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(t){return t.kind!==this.kind?null:this}}class aF{constructor(t,i,e,s,n,o,r){this.kind=6,this.oldSelections=t,this.selections=i,this.oldModelVersionId=e,this.modelVersionId=s,this.source=n,this.reason=o,this.reachedMaxCursorCount=r}static _selectionsAreEqual(t,i){if(!t&&!i)return!0;if(!t||!i)return!1;const e=t.length;if(e!==i.length)return!1;for(let s=0;s0){const t=this._cursors.getSelections();for(let i=0;io&&(s=s.slice(0,o),n=!0);const r=vF.from(this._model,this);return this._cursors.setStates(s),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,i,e,r,n)}setCursorColumnSelectData(t){this._columnSelectData=t}revealPrimary(t,i,e,s,n,o){const r=this._cursors.getViewPositions();let h=null,c=null;r.length>1?c=this._cursors.getViewSelections():h=Ls.fromPositions(r[0],r[0]),t.emitViewEvent(new QL(i,e,h,c,s,n,o))}saveState(){const t=[],i=this._cursors.getSelections();for(let e=0,s=i.length;e0){const i=mC.fromModelSelections(e.resultingSelection);this.setStates(t,"modelChange",e.isUndoing?5:e.isRedoing?6:2,i)&&this.revealPrimary(t,"modelChange",!1,0,!0,0)}else{const i=this._cursors.readSelectionFromMarkers();this.setStates(t,"modelChange",2,mC.fromModelSelections(i))}}}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 t=this._cursors.getPrimaryCursor(),i=t.viewState.selectionStart.getStartPosition(),e=t.viewState.position;return{isReal:!1,fromViewLineNumber:i.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,i),toViewLineNumber:e.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,e)}}getSelections(){return this._cursors.getSelections()}setSelections(t,i,e,s){this.setStates(t,i,s,mC.fromModelSelections(e))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(t){this._prevEditOperationType=t}_pushAutoClosedAction(t,i){const e=[],s=[];for(let n=0,o=t.length;n0&&this._pushAutoClosedAction(e,s),this._prevEditOperationType=t.type}t.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(t){t&&0!==t.length||(t=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(t),this._cursors.normalize()}_emitStateChangedIfNecessary(t,i,e,s,n){const o=vF.from(this._model,this);if(o.equals(s))return!1;const r=this._cursors.getSelections(),h=this._cursors.getViewSelections();if(t.emitViewEvent(new jL(h,r,e)),!s||s.cursorState.length!==o.cursorState.length||o.cursorState.some(((t,i)=>!t.modelState.equals(s.cursorState[i].modelState)))){const h=s?s.cursorState.map((t=>t.modelState.selection)):null;t.emitOutgoingEvent(new aF(h,r,s?s.modelVersionId:0,o.modelVersionId,i||"keyboard",e,n))}return!0}_findAutoClosingPairs(t){if(!t.length)return null;const i=[];for(let e=0,s=t.length;e=0)return null;const n=s.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!n)return null;const o=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(n[1]);if(!o||1!==o.length)return null;const r=s.text.length-n[2].length-1,h=s.text.lastIndexOf(o[0].open,r-1);if(-1===h)return null;i.push([h,r])}return i}executeEdits(t,i,e,s){let n=null;"snippet"===i&&(n=this._findAutoClosingPairs(e)),n&&(e[0]._isTracked=!0);const o=[],r=[],h=this._model.pushEditOperations(this.getSelections(),e,(t=>{if(n)for(let i=0,e=n.length;i0&&this._pushAutoClosedAction(o,r)}_executeEdit(t,i,e,s=0){if(this.context.cursorConfig.readOnly)return;const n=vF.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),t()}catch(t){Pi(t)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(i,e,s,n,!1)&&this.revealPrimary(i,e,!1,0,!0,0)}getAutoClosedCharacters(){return bF.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(t){this._compositionState=new xF(this._model,this.getSelections())}endComposition(t,i){const e=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit((()=>{"keyboard"===i&&this._executeEditOperation(qC.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,e,this.getSelections(),this.getAutoClosedCharacters()))}),t,i)}type(t,i,e){this._executeEdit((()=>{if("keyboard"===e){const t=i.length;let e=0;for(;e{this._executeEditOperation(qC.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),i,e,s,n))}),t,o);else if(0!==n){const i=this.getSelections().map((t=>{const i=t.getPosition();return new Fs(i.lineNumber,i.column+n,i.lineNumber,i.column+n)}));this.setSelections(t,o,i,0)}}paste(t,i,e,s,n){this._executeEdit((()=>{this._executeEditOperation(qC.paste(this.context.cursorConfig,this._model,this.getSelections(),i,e,s||[]))}),t,n,4)}cut(t,i){this._executeEdit((()=>{this._executeEditOperation(FC.cut(this.context.cursorConfig,this._model,this.getSelections()))}),t,i)}executeCommand(t,i,e){this._executeEdit((()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new yC(0,[i],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),t,e)}executeCommands(t,i,e){this._executeEdit((()=>{this._executeEditOperation(new yC(0,i,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),t,e)}}class vF{static from(t,i){return new vF(t.getVersionId(),i.getCursorStates())}constructor(t,i){this.modelVersionId=t,this.cursorState=i}equals(t){if(!t)return!1;if(this.modelVersionId!==t.modelVersionId)return!1;if(this.cursorState.length!==t.cursorState.length)return!1;for(let i=0,e=this.cursorState.length;i=i.length)return!1;if(!i[e].strictContainsRange(t[e]))return!1}return!0}}class yF{static executeCommands(t,i,e){const s={model:t,selectionsBefore:i,trackedRanges:[],trackedRangesDirection:[]},n=this._innerExecuteCommands(s,e);for(let t=0,i=s.trackedRanges.length;t0&&(o[0]._isTracked=!0);let r=t.model.pushEditOperations(t.selectionsBefore,o,(e=>{const s=[];for(let i=0;it.identifier.minor-i.identifier.minor,o=[];for(let e=0;e0?(s[e].sort(n),o[e]=i[e].computeCursorState(t.model,{getInverseEditOperations:()=>s[e],getTrackedSelection:i=>{const e=parseInt(i,10),s=t.model._getTrackedRange(t.trackedRanges[e]);return 0===t.trackedRangesDirection[e]?new Fs(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn):new Fs(s.endLineNumber,s.endColumn,s.startLineNumber,s.startColumn)}})):o[e]=t.selectionsBefore[e];return o}));r||(r=t.selectionsBefore);const h=[];for(const t in n)n.hasOwnProperty(t)&&h.push(parseInt(t,10));h.sort(((t,i)=>i-t));for(const t of h)r.splice(t,1);return r}static _arrayIsEmpty(t){for(let i=0,e=t.length;i{Ls.isEmpty(t)&&""===o||s.push({identifier:{major:i,minor:n++},range:t,text:o,forceMoveMarkers:r,isAutoWhitespaceEdit:e.insertsAutoWhitespace})};let r=!1;const h={addEditOperation:o,addTrackedEditOperation:(t,i,e)=>{r=!0,o(t,i,e)},trackSelection:(i,e)=>{const s=Fs.liftSelection(i);let n;if(s.isEmpty())if("boolean"==typeof e)n=e?2:3;else{const i=t.model.getLineMaxColumn(s.startLineNumber);n=s.startColumn===i?2:3}else n=1;const o=t.trackedRanges.length,r=t.model._setTrackedRange(null,s,n);return t.trackedRanges[o]=r,t.trackedRangesDirection[o]=s.getDirection(),o.toString()}};try{e.getEditOperations(t.model,h)}catch(t){return Pi(t),{operations:[],hadTrackedEditOperation:!1}}return{operations:s,hadTrackedEditOperation:r}}static _getLoserCursorMap(t){(t=t.slice(0)).sort(((t,i)=>-Ls.compareRangesUsingEnds(t.range,i.range)));const i={};for(let e=1;en.identifier.major?s.identifier.major:n.identifier.major,i[o.toString()]=!0;for(let i=0;i0&&e--}}return i}}class kF{constructor(t,i,e){this.text=t,this.startSelection=i,this.endSelection=e}}class xF{static _capture(t,i){const e=[];for(const s of i){if(s.startLineNumber!==s.endLineNumber)return null;e.push(new kF(t.getLineContent(s.startLineNumber),s.startColumn-1,s.endColumn-1))}return e}constructor(t,i){this._original=xF._capture(t,i)}deduceOutcome(t,i){if(!this._original)return null;const e=xF._capture(t,i);if(!e)return null;if(this._original.length!==e.length)return null;const s=[];for(let t=0,i=this._original.length;t_g,tokenizeEncoded:(t,i,e)=>Bg(0,e)};function SF(t,i,e,s,n,o,r){let h="
",c=s,a=0,l=!0;for(let u=0,d=i.getCount();u0;)r&&l?(f+=" ",l=!1):(f+=" ",l=!0),t--;break}case 60:f+="<",l=!1;break;case 62:f+=">",l=!1;break;case 38:f+="&",l=!1;break;case 0:f+="�",l=!1;break;case 65279:case 8232:case 8233:case 133:f+="�",l=!1;break;case 13:f+="​",l=!1;break;case 32:r&&l?(f+=" ",l=!1):(f+=" ",l=!0);break;default:f+=String.fromCharCode(i),l=!1}}if(h+=`${f}`,d>n||c>=n)break}return h+="
",h}function DF(t,i,e){let s='
';const n=to(t);let o=e.getInitialState();for(let t=0,r=n.length;t0&&(s+="
");const h=e.tokenizeEncoded(r,!0,o);$g.convertToEndOffset(h.tokens,r.length);const c=new $g(h.tokens,r,i).inflate();let a=0;for(let t=0,i=c.getCount();t${Gn(r.substring(a,e))}`,a=e}o=h.endState}return s+="
",s}class EF{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(t){this._hasPending=!0,this._inserts.push(t)}change(t){this._hasPending=!0,this._changes.push(t)}remove(t){this._hasPending=!0,this._removes.push(t)}mustCommit(){return this._hasPending}commit(t){if(!this._hasPending)return;const i=this._inserts,e=this._changes,s=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],t._commitPendingChanges(i,e,s)}}class AF{constructor(t,i,e,s,n){this.id=t,this.afterLineNumber=i,this.ordinal=e,this.height=s,this.minWidth=n,this.prefixSum=0}}class MF{constructor(t,i,e,s){this._instanceId=Io(++MF.INSTANCE_COUNT),this._pendingChanges=new EF,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=t,this._lineHeight=i,this._paddingTop=e,this._paddingBottom=s}static findInsertionIndex(t,i,e){let s=0,n=t.length;for(;s>>1;i===t[o].afterLineNumber?e{i=!0,t|=0,e|=0,s|=0,n|=0;const o=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new AF(o,t,e,s,n)),o},changeOneWhitespace:(t,e,s)=>{i=!0,this._pendingChanges.change({id:t,newAfterLineNumber:e|=0,newHeight:s|=0})},removeWhitespace:t=>{i=!0,this._pendingChanges.remove({id:t})}})}finally{this._pendingChanges.commit(this)}return i}_commitPendingChanges(t,i,e){if((t.length>0||e.length>0)&&(this._minWidth=-1),t.length+i.length+e.length<=1){for(const i of t)this._insertWhitespace(i);for(const t of i)this._changeOneWhitespace(t.id,t.newAfterLineNumber,t.newHeight);for(const t of e){const i=this._findWhitespaceIndex(t.id);-1!==i&&this._removeWhitespace(i)}return}const s=new Set;for(const t of e)s.add(t.id);const n=new Map;for(const t of i)n.set(t.id,t);const o=t=>{const i=[];for(const e of t)if(!s.has(e.id)){if(n.has(e.id)){const t=n.get(e.id);e.afterLineNumber=t.newAfterLineNumber,e.height=t.newHeight}i.push(e)}return i},r=o(this._arr).concat(o(t));r.sort(((t,i)=>t.afterLineNumber===i.afterLineNumber?t.ordinal-i.ordinal:t.afterLineNumber-i.afterLineNumber)),this._arr=r,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(t){const i=MF.findInsertionIndex(this._arr,t.afterLineNumber,t.ordinal);this._arr.splice(i,0,t),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,i-1)}_findWhitespaceIndex(t){const i=this._arr;for(let e=0,s=i.length;ei&&(this._arr[e].afterLineNumber-=i-t+1)}}onLinesInserted(t,i){this._checkPendingChanges(),this._lineCount+=(i|=0)-(t|=0)+1;for(let e=0,s=this._arr.length;e=i.length||i[n+1].afterLineNumber>=t)return n;e=n+1|0}else s=n-1|0}return-1}_findFirstWhitespaceAfterLineNumber(t){const i=this._findLastWhitespaceBeforeLineNumber(t|=0)+1;return i1?this._lineHeight*(t-1):0,e+this.getWhitespaceAccumulatedHeightBeforeLineNumber(t-(i?1:0))+this._paddingTop}getVerticalOffsetAfterLineNumber(t,i=!1){return this._checkPendingChanges(),this._lineHeight*(t|=0)+this.getWhitespaceAccumulatedHeightBeforeLineNumber(t+(i?1:0))+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),-1===this._minWidth){let t=0;for(let i=0,e=this._arr.length;ithis.getLinesTotalHeight()}isInTopPadding(t){return 0!==this._paddingTop&&(this._checkPendingChanges(),t=this.getLinesTotalHeight()-this._paddingBottom)}getLineNumberAtOrAfterVerticalOffset(t){if(this._checkPendingChanges(),(t|=0)<0)return 1;const i=0|this._lineCount,e=this._lineHeight;let s=1,n=i;for(;s=o+e)s=i+1;else{if(t>=o)return i;n=i}}return s>i?i:s}getLinesViewportData(t,i){this._checkPendingChanges(),i|=0;const e=this._lineHeight,s=0|this.getLineNumberAtOrAfterVerticalOffset(t|=0),n=0|this.getVerticalOffsetForLineNumber(s);let o=0|this._lineCount,r=0|this.getFirstWhitespaceIndexAfterLineNumber(s);const h=0|this.getWhitespacesCount();let c,a;-1===r?(r=h,a=o+1,c=0):(a=0|this.getAfterLineNumberForWhitespaceIndex(r),c=0|this.getHeightForWhitespaceIndex(r));let l=n,u=l;const d=5e5;let f=0;n>=d&&(f=Math.floor(n/d)*d,f=Math.floor(f/e)*e,u-=f);const p=[],g=t+(i-t)/2;let m=-1;for(let t=s;t<=o;t++){for(-1===m&&(l<=g&&gg)&&(m=t),l+=e,p[t-s]=u,u+=e;a===t;)u+=c,l+=c,r++,r>=h?a=o+1:(a=0|this.getAfterLineNumberForWhitespaceIndex(r),c=0|this.getHeightForWhitespaceIndex(r));if(l>=i){o=t;break}}-1===m&&(m=o);const w=0|this.getVerticalOffsetForLineNumber(o);let v=s,b=o;return vi&&b--,{bigNumbersDelta:f,startLineNumber:s,endLineNumber:o,relativeVerticalOffset:p,centeredLineNumber:m,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:b}}getVerticalOffsetForWhitespaceIndex(t){this._checkPendingChanges();const i=this.getAfterLineNumberForWhitespaceIndex(t|=0);let e,s;return e=i>=1?this._lineHeight*i:0,s=t>0?this.getWhitespacesAccumulatedHeight(t-1):0,e+s+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(t){this._checkPendingChanges(),t|=0;let i=0,e=this.getWhitespacesCount()-1;if(e<0)return-1;if(t>=this.getVerticalOffsetForWhitespaceIndex(e)+this.getHeightForWhitespaceIndex(e))return-1;for(;i=n+this.getHeightForWhitespaceIndex(s))i=s+1;else{if(t>=n)return s;e=s}}return i}getWhitespaceAtVerticalOffset(t){this._checkPendingChanges();const i=this.getWhitespaceIndexAtOrAfterVerticallOffset(t|=0);if(i<0)return null;if(i>=this.getWhitespacesCount())return null;const e=this.getVerticalOffsetForWhitespaceIndex(i);if(e>t)return null;const s=this.getHeightForWhitespaceIndex(i);return{id:this.getIdForWhitespaceIndex(i),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(i),verticalOffset:e,height:s}}getWhitespaceViewportData(t,i){this._checkPendingChanges(),i|=0;const e=this.getWhitespaceIndexAtOrAfterVerticallOffset(t|=0),s=this.getWhitespacesCount()-1;if(e<0)return[];const n=[];for(let t=e;t<=s;t++){const e=this.getVerticalOffsetForWhitespaceIndex(t),s=this.getHeightForWhitespaceIndex(t);if(e>=i)break;n.push({id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:e,height:s})}return n}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(t){return this._checkPendingChanges(),this._arr[t|=0].id}getAfterLineNumberForWhitespaceIndex(t){return this._checkPendingChanges(),this._arr[t|=0].afterLineNumber}getHeightForWhitespaceIndex(t){return this._checkPendingChanges(),this._arr[t|=0].height}}MF.INSTANCE_COUNT=0;class LF{constructor(t,i,e,s){(t|=0)<0&&(t=0),(i|=0)<0&&(i=0),(e|=0)<0&&(e=0),(s|=0)<0&&(s=0),this.width=t,this.contentWidth=i,this.scrollWidth=Math.max(t,i),this.height=e,this.contentHeight=s,this.scrollHeight=Math.max(e,s)}equals(t){return this.width===t.width&&this.contentWidth===t.contentWidth&&this.height===t.height&&this.contentHeight===t.contentHeight}}class FF extends ie{constructor(t,i){super(),this._onDidContentSizeChange=this._register(new fe),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new LF(0,0,0,0),this._scrollable=this._register(new Ck({forceIntegerValues:!0,smoothScrollDuration:t,scheduleAtNextAnimationFrame:i})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(t){this._scrollable.setSmoothScrollDuration(t)}validateScrollPosition(t){return this._scrollable.validateScrollPosition(t)}getScrollDimensions(){return this._dimensions}setScrollDimensions(t){if(this._dimensions.equals(t))return;const i=this._dimensions;this._dimensions=t,this._scrollable.setScrollDimensions({width:t.width,scrollWidth:t.scrollWidth,height:t.height,scrollHeight:t.scrollHeight},!0),(i.contentWidth!==t.contentWidth||i.contentHeight!==t.contentHeight)&&this._onDidContentSizeChange.fire(new nF(i.contentWidth,i.contentHeight,t.contentWidth,t.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(t){this._scrollable.setScrollPositionNow(t)}setScrollPositionSmooth(t){this._scrollable.setScrollPositionSmooth(t)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}}class TF extends ie{constructor(t,i,e){super(),this._configuration=t;const s=this._configuration.options,n=s.get(143),o=s.get(83);this._linesLayout=new MF(i,s.get(66),o.top,o.bottom),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new FF(0,e)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new LF(n.contentWidth,0,n.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(113)?125:0)}onConfigurationChanged(t){const i=this._configuration.options;if(t.hasChanged(66)&&this._linesLayout.setLineHeight(i.get(66)),t.hasChanged(83)){const t=i.get(83);this._linesLayout.setPadding(t.top,t.bottom)}if(t.hasChanged(143)){const t=i.get(143),e=t.contentWidth,s=t.height,n=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new LF(e,n.contentWidth,s,this._getContentHeight(e,s,n.contentWidth)))}else this._updateHeight();t.hasChanged(113)&&this._configureSmoothScrollDuration()}onFlushed(t){this._linesLayout.onFlushed(t)}onLinesDeleted(t,i){this._linesLayout.onLinesDeleted(t,i)}onLinesInserted(t,i){this._linesLayout.onLinesInserted(t,i)}_getHorizontalScrollbarHeight(t,i){const e=this._configuration.options.get(102);return 2===e.horizontal||t>=i?0:e.horizontalScrollbarSize}_getContentHeight(t,i,e){const s=this._configuration.options;let n=this._linesLayout.getLinesTotalHeight();return s.get(104)?n+=Math.max(0,i-s.get(66)-s.get(83).bottom):s.get(102).ignoreHorizontalScrollbarInContentHeight||(n+=this._getHorizontalScrollbarHeight(t,e)),n}_updateHeight(){const t=this._scrollable.getScrollDimensions(),i=t.width,e=t.height;this._scrollable.setScrollDimensions(new LF(i,t.contentWidth,e,this._getContentHeight(i,e,t.contentWidth)))}getCurrentViewport(){const t=this._scrollable.getScrollDimensions(),i=this._scrollable.getCurrentScrollPosition();return new em(i.scrollTop,i.scrollLeft,t.width,t.height)}getFutureViewport(){const t=this._scrollable.getScrollDimensions(),i=this._scrollable.getFutureScrollPosition();return new em(i.scrollTop,i.scrollLeft,t.width,t.height)}_computeContentWidth(){const t=this._configuration.options,i=this._maxLineWidth,e=t.get(144),s=t.get(50),n=t.get(143);if(e.isViewportWrapping){const e=t.get(72);return i>n.contentWidth+s.typicalHalfwidthCharacterWidth&&e.enabled&&"right"===e.side?i+n.verticalScrollbarWidth:i}{const e=t.get(103)*s.typicalHalfwidthCharacterWidth,o=this._linesLayout.getWhitespaceMinWidth();return Math.max(i+e+n.verticalScrollbarWidth,o,this._overlayWidgetsMinWidth)}}setMaxLineWidth(t){this._maxLineWidth=t,this._updateContentWidth()}setOverlayWidgetsMinWidth(t){this._overlayWidgetsMinWidth=t,this._updateContentWidth()}_updateContentWidth(){const t=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new LF(t.width,this._computeContentWidth(),t.height,t.contentHeight)),this._updateHeight()}saveState(){const t=this._scrollable.getFutureScrollPosition(),i=t.scrollTop,e=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(i);return{scrollTop:i,scrollTopWithoutViewZones:i-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(e),scrollLeft:t.scrollLeft}}changeWhitespace(t){const i=this._linesLayout.changeWhitespace(t);return i&&this.onHeightMaybeChanged(),i}getVerticalOffsetForLineNumber(t,i=!1){return this._linesLayout.getVerticalOffsetForLineNumber(t,i)}getVerticalOffsetAfterLineNumber(t,i=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(t,i)}isAfterLines(t){return this._linesLayout.isAfterLines(t)}isInTopPadding(t){return this._linesLayout.isInTopPadding(t)}isInBottomPadding(t){return this._linesLayout.isInBottomPadding(t)}getLineNumberAtVerticalOffset(t){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t)}getWhitespaceAtVerticalOffset(t){return this._linesLayout.getWhitespaceAtVerticalOffset(t)}getLinesViewportData(){const t=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(t.top,t.top+t.height)}getLinesViewportDataAtScrollTop(t){const i=this._scrollable.getScrollDimensions();return t+i.height>i.scrollHeight&&(t=i.scrollHeight-i.height),t<0&&(t=0),this._linesLayout.getLinesViewportData(t,t+i.height)}getWhitespaceViewportData(){const t=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(t.top,t.top+t.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(t){return this._scrollable.validateScrollPosition(t)}setScrollPosition(t,i){1===i?this._scrollable.setScrollPositionNow(t):this._scrollable.setScrollPositionSmooth(t)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(t,i){const e=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:e.scrollLeft+t,scrollTop:e.scrollTop+i})}}class RF{constructor(t,i,e,s,n){this.editorId=t,this.model=i,this.configuration=e,this._linesCollection=s,this._coordinatesConverter=n,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(t){const i=t.id;let e=this._decorationsCache[i];if(!e){const s=t.range,n=t.options;let o;if(n.isWholeLine){const t=this._coordinatesConverter.convertModelPositionToViewPosition(new Ms(s.startLineNumber,1),0,!1,!0),i=this._coordinatesConverter.convertModelPositionToViewPosition(new Ms(s.endLineNumber,this.model.getLineMaxColumn(s.endLineNumber)),1);o=new Ls(t.lineNumber,t.column,i.lineNumber,i.column)}else o=this._coordinatesConverter.convertModelRangeToViewRange(s,1);e=new cm(o,n),this._decorationsCache[i]=e}return e}getMinimapDecorationsInRange(t){return this._getDecorationsInRange(t,!0,!1).decorations}getDecorationsViewportData(t){let i=null!==this._cachedModelDecorationsResolver;return i=i&&t.equalsRange(this._cachedModelDecorationsResolverViewRange),i||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(t,!1,!1),this._cachedModelDecorationsResolverViewRange=t),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(t,i=!1,e=!1){const s=new Ls(t,this._linesCollection.getViewLineMinColumn(t),t,this._linesCollection.getViewLineMaxColumn(t));return this._getDecorationsInRange(s,i,e).inlineDecorations[0]}_getDecorationsInRange(t,i,e){const s=this._linesCollection.getDecorationsInRange(t,this.editorId,xi(this.configuration.options),i,e),n=t.startLineNumber,o=t.endLineNumber,r=[];let h=0;const c=[];for(let t=n;t<=o;t++)c[t-n]=[];for(let t=0,i=s.length;t1===t))}function _F(t,i){return NF(t,i.range,(t=>2===t))}function NF(t,i,e){for(let s=i.startLineNumber;s<=i.endLineNumber;s++){const n=t.tokenization.getLineTokens(s),o=s===i.endLineNumber;let r=s===i.startLineNumber?n.findTokenIndexAtOffset(i.startColumn-1):0;for(;ri.endColumn-1);){if(!e(n.getStandardTokenType(r)))return!1;r++}}return!0}function BF(t,i){return null===t?i?$F.INSTANCE:WF.INSTANCE:new PF(t,i)}class PF{constructor(t,i){this._projectionData=t,this._isVisible=i}isVisible(){return this._isVisible}setVisible(t){return this._isVisible=t,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(t,i,e){this._assertVisible();const s=e>0?this._projectionData.breakOffsets[e-1]:0,n=this._projectionData.breakOffsets[e];let o;if(null!==this._projectionData.injectionOffsets){const e=this._projectionData.injectionOffsets.map(((t,i)=>new tL(0,0,t+1,this._projectionData.injectionOptions[i],0)));o=tL.applyInjectedText(t.getLineContent(i),e).substring(s,n)}else o=t.getValueInRange({startLineNumber:i,startColumn:s+1,endLineNumber:i,endColumn:n+1});return e>0&&(o=zF(this._projectionData.wrappedTextIndentLength)+o),o}getViewLineLength(t,i,e){return this._assertVisible(),this._projectionData.getLineLength(e)}getViewLineMinColumn(t,i,e){return this._assertVisible(),this._projectionData.getMinOutputOffset(e)+1}getViewLineMaxColumn(t,i,e){return this._assertVisible(),this._projectionData.getMaxOutputOffset(e)+1}getViewLineData(t,i,e){const s=new Array;return this.getViewLinesData(t,i,e,1,0,[!0],s),s[0]}getViewLinesData(t,i,e,s,n,o,r){this._assertVisible();const h=this._projectionData,c=h.injectionOffsets,a=h.injectionOptions;let l,u=null;if(c){u=[];let t=0,i=0;for(let e=0;e0?h.breakOffsets[e-1]:0,o=h.breakOffsets[e];for(;io)break;if(n0?h.wrappedTextIndentLength:0,r=i+Math.max(l-n,0),c=i+Math.min(u-n,o-n);r!==c&&s.push(new hm(r,c,t.inlineClassName,t.inlineClassNameAffectsLetterSpacing))}}if(!(u<=o))break;t+=r,i++}}}l=c?t.tokenization.getLineTokens(i).withInserted(c.map(((t,i)=>({offset:t,text:a[i].content,tokenMetadata:$g.defaultTokenMetadata})))):t.tokenization.getLineTokens(i);for(let t=e;t0?s.breakOffsets[e-1]:0,s.breakOffsets[e],e>0?s.wrappedTextIndentLength:0);let o=n.getLineContent();e>0&&(o=zF(s.wrappedTextIndentLength)+o);const r=this._projectionData.getMinOutputOffset(e)+1,h=o.length+1,c=e+1=jF.length)for(let i=1;i<=t;i++)jF[i]=HF(i);return jF[t]}function HF(t){return new Array(t+1).join(" ")}class VF{constructor(t,i,e,s,n,o,r,h,c,a){this._editorId=t,this.model=i,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=e,this._monospaceLineBreaksComputerFactory=s,this.fontInfo=n,this.tabSize=o,this.wrappingStrategy=r,this.wrappingColumn=h,this.wrappingIndent=c,this.wordBreak=a,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new KF(this)}_constructLines(t,i){this.modelLineProjections=[],t&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));const e=this.model.getLinesContent(),s=this.model.getInjectedTextDecorations(this._editorId),n=e.length,o=this.createLineBreaksComputer(),r=new N(tL.fromDecorations(s));for(let t=0;ti.lineNumber===t+1));o.addRequest(e[t],s,i?i[t]:null)}const h=o.finalize(),c=[],a=this.hiddenAreasDecorationIds.map((t=>this.model.getDecorationRange(t))).sort(Ls.compareRangesUsingStarts);let l=1,u=0,d=-1,f=d+1=l&&i<=u));c[t]=e.getViewLineCount(),this.modelLineProjections[t]=e}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new Cf(c)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map((t=>this.model.getDecorationRange(t)))}setHiddenAreas(t){const i=function(t){if(0===t.length)return[];const i=t.slice();i.sort(Ls.compareRangesUsingStarts);const e=[];let s=i[0].startLineNumber,n=i[0].endLineNumber;for(let t=1,o=i.length;tn+1?(e.push(new Ls(s,1,n,1)),s=o.startLineNumber,n=o.endLineNumber):o.endLineNumber>n&&(n=o.endLineNumber)}return e.push(new Ls(s,1,n,1)),e}(t.map((t=>this.model.validateRange(t)))),e=this.hiddenAreasDecorationIds.map((t=>this.model.getDecorationRange(t))).sort(Ls.compareRangesUsingStarts);if(i.length===e.length){let t=!1;for(let s=0;s({range:t,options:ML.EMPTY})));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,s);const n=i;let o=1,r=0,h=-1,c=h+1=o&&i<=r?this.modelLineProjections[t].isVisible()&&(this.modelLineProjections[t]=this.modelLineProjections[t].setVisible(!1),e=!0):(a=!0,this.modelLineProjections[t].isVisible()||(this.modelLineProjections[t]=this.modelLineProjections[t].setVisible(!0),e=!0)),e){const i=this.modelLineProjections[t].getViewLineCount();this.projectedModelLineLineCounts.setValue(t,i)}}return a||this.setHiddenAreas([]),!0}modelPositionIsVisible(t,i){return!(t<1||t>this.modelLineProjections.length)&&this.modelLineProjections[t-1].isVisible()}getModelLineViewLineCount(t){return t<1||t>this.modelLineProjections.length?1:this.modelLineProjections[t-1].getViewLineCount()}setTabSize(t){return this.tabSize!==t&&(this.tabSize=t,this._constructLines(!1,null),!0)}setWrappingSettings(t,i,e,s,n){const o=this.fontInfo.equals(t),r=this.wrappingStrategy===i,h=this.wrappingColumn===e,c=this.wrappingIndent===s,a=this.wordBreak===n;if(o&&r&&h&&c&&a)return!1;const l=o&&r&&!h&&c&&a;this.fontInfo=t,this.wrappingStrategy=i,this.wrappingColumn=e,this.wrappingIndent=s,this.wordBreak=n;let u=null;if(l){u=[];for(let t=0,i=this.modelLineProjections.length;t2&&!this.modelLineProjections[i-2].isVisible(),o=1===i?1:this.projectedModelLineLineCounts.getPrefixSum(i-1)+1;let r=0;const h=[],c=[];for(let t=0,i=s.length;tr?(c=this.projectedModelLineLineCounts.getPrefixSum(i-1)+1,a=c+r-1,d=a+1,f=d+(n-r)-1,h=!0):ni?i:0|t}getActiveIndentGuide(t,i,e){t=this._toValidViewLineNumber(t),i=this._toValidViewLineNumber(i),e=this._toValidViewLineNumber(e);const s=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),n=this.convertViewPositionToModelPosition(i,this.getViewLineMinColumn(i)),o=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.model.guides.getActiveIndentGuide(s.lineNumber,n.lineNumber,o.lineNumber),h=this.convertModelPositionToViewPosition(r.startLineNumber,1),c=this.convertModelPositionToViewPosition(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber));return{startLineNumber:h.lineNumber,endLineNumber:c.lineNumber,indent:r.indent}}getViewLineInfo(t){t=this._toValidViewLineNumber(t);const i=this.projectedModelLineLineCounts.getIndexOf(t-1);return new UF(i.index+1,i.remainder)}getMinColumnOfViewLine(t){return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(t){return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(t){const i=this.modelLineProjections[t.modelLineNumber-1],e=i.getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx),s=i.getModelColumnOfViewPosition(t.modelLineWrappedLineIdx,e);return new Ms(t.modelLineNumber,s)}getModelEndPositionOfViewLine(t){const i=this.modelLineProjections[t.modelLineNumber-1],e=i.getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx),s=i.getModelColumnOfViewPosition(t.modelLineWrappedLineIdx,e);return new Ms(t.modelLineNumber,s)}getViewLineInfosGroupedByModelRanges(t,i){const e=this.getViewLineInfo(t),s=this.getViewLineInfo(i),n=new Array;let o=this.getModelStartPositionOfViewLine(e),r=new Array;for(let t=e.modelLineNumber;t<=s.modelLineNumber;t++){const i=this.modelLineProjections[t-1];if(i.isVisible()){const n=t===e.modelLineNumber?e.modelLineWrappedLineIdx:0,o=t===s.modelLineNumber?s.modelLineWrappedLineIdx+1:i.getViewLineCount();for(let i=n;i{if(-1!==t.forWrappedLinesAfterColumn&&this.modelLineProjections[s.modelLineNumber-1].getViewPositionOfModelPosition(0,t.forWrappedLinesAfterColumn).lineNumber>=s.modelLineWrappedLineIdx)return;if(-1!==t.forWrappedLinesBeforeOrAtColumn&&this.modelLineProjections[s.modelLineNumber-1].getViewPositionOfModelPosition(0,t.forWrappedLinesBeforeOrAtColumn).lineNumbers.modelLineWrappedLineIdx)return}const e=this.convertModelPositionToViewPosition(s.modelLineNumber,t.horizontalLine.endColumn),n=this.modelLineProjections[s.modelLineNumber-1].getViewPositionOfModelPosition(0,t.horizontalLine.endColumn);return n.lineNumber===s.modelLineWrappedLineIdx?new IS(t.visibleColumn,i,t.className,new _S(t.horizontalLine.top,e.column),-1,-1):n.lineNumber!!t)))}}return o}getViewLinesIndentGuides(t,i){t=this._toValidViewLineNumber(t),i=this._toValidViewLineNumber(i);const e=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),s=this.convertViewPositionToModelPosition(i,this.getViewLineMaxColumn(i));let n=[];const o=[],r=[],h=e.lineNumber-1,c=s.lineNumber-1;let a=null;for(let t=h;t<=c;t++){const i=this.modelLineProjections[t];if(i.isVisible()){const s=i.getViewLineNumberOfModelPosition(0,t===h?e.column:1),n=i.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(t+1)),c=n-s+1;let l=0;c>1&&1===i.getViewLineMinColumn(this.model,t+1,n)&&(l=0===s?1:2),o.push(c),r.push(l),null===a&&(a=new Ms(t+1,0))}else null!==a&&(n=n.concat(this.model.guides.getLinesIndentGuides(a.lineNumber,t)),a=null)}null!==a&&(n=n.concat(this.model.guides.getLinesIndentGuides(a.lineNumber,s.lineNumber)),a=null);const l=i-t+1,u=new Array(l);let d=0;for(let t=0,i=n.length;ti&&(u=!0,l=i-n+1),c.getViewLinesData(this.model,s+1,a,l,n-t,e,h),n+=l,u)break}return h}validateViewPosition(t,i,e){t=this._toValidViewLineNumber(t);const s=this.projectedModelLineLineCounts.getIndexOf(t-1),n=s.index,o=s.remainder,r=this.modelLineProjections[n],h=r.getViewLineMinColumn(this.model,n+1,o),c=r.getViewLineMaxColumn(this.model,n+1,o);ic&&(i=c);const a=r.getModelColumnOfViewPosition(o,i);return this.model.validatePosition(new Ms(n+1,a)).equals(e)?new Ms(t,i):this.convertModelPositionToViewPosition(e.lineNumber,e.column)}validateViewRange(t,i){const e=this.validateViewPosition(t.startLineNumber,t.startColumn,i.getStartPosition()),s=this.validateViewPosition(t.endLineNumber,t.endColumn,i.getEndPosition());return new Ls(e.lineNumber,e.column,s.lineNumber,s.column)}convertViewPositionToModelPosition(t,i){const e=this.getViewLineInfo(t),s=this.modelLineProjections[e.modelLineNumber-1].getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return this.model.validatePosition(new Ms(e.modelLineNumber,s))}convertViewRangeToModelRange(t){const i=this.convertViewPositionToModelPosition(t.startLineNumber,t.startColumn),e=this.convertViewPositionToModelPosition(t.endLineNumber,t.endColumn);return new Ls(i.lineNumber,i.column,e.lineNumber,e.column)}convertModelPositionToViewPosition(t,i,e=2,s=!1,n=!1){const o=this.model.validatePosition(new Ms(t,i)),r=o.lineNumber,h=o.column;let c=r-1,a=!1;if(n)for(;c0&&!this.modelLineProjections[c].isVisible();)c--,a=!0;if(0===c&&!this.modelLineProjections[c].isVisible())return new Ms(s?0:1,1);const l=1+this.projectedModelLineLineCounts.getPrefixSum(c);let u;return u=a?this.modelLineProjections[c].getViewPositionOfModelPosition(l,n?1:this.model.getLineMaxColumn(c+1),e):this.modelLineProjections[r-1].getViewPositionOfModelPosition(l,h,e),u}convertModelRangeToViewRange(t,i=0){if(t.isEmpty()){const e=this.convertModelPositionToViewPosition(t.startLineNumber,t.startColumn,i);return Ls.fromPositions(e)}{const i=this.convertModelPositionToViewPosition(t.startLineNumber,t.startColumn,1),e=this.convertModelPositionToViewPosition(t.endLineNumber,t.endColumn,0);return new Ls(i.lineNumber,i.column,e.lineNumber,e.column)}}getViewLineNumberOfModelPosition(t,i){let e=t-1;if(this.modelLineProjections[e].isVisible()){const t=1+this.projectedModelLineLineCounts.getPrefixSum(e);return this.modelLineProjections[e].getViewLineNumberOfModelPosition(t,i)}for(;e>0&&!this.modelLineProjections[e].isVisible();)e--;if(0===e&&!this.modelLineProjections[e].isVisible())return 1;const s=1+this.projectedModelLineLineCounts.getPrefixSum(e);return this.modelLineProjections[e].getViewLineNumberOfModelPosition(s,this.model.getLineMaxColumn(e+1))}getDecorationsInRange(t,i,e,s,n){const o=this.convertViewPositionToModelPosition(t.startLineNumber,t.startColumn),r=this.convertViewPositionToModelPosition(t.endLineNumber,t.endColumn);if(r.lineNumber-o.lineNumber<=t.endLineNumber-t.startLineNumber)return this.model.getDecorationsInRange(new Ls(o.lineNumber,1,r.lineNumber,r.column),i,e,s,n);let h=[];const c=o.lineNumber-1,a=r.lineNumber-1;let l=null;for(let t=c;t<=a;t++)if(this.modelLineProjections[t].isVisible())null===l&&(l=new Ms(t+1,t===c?o.column:1));else if(null!==l){const n=this.model.getLineMaxColumn(t);h=h.concat(this.model.getDecorationsInRange(new Ls(l.lineNumber,l.column,t,n),i,e,s)),l=null}null!==l&&(h=h.concat(this.model.getDecorationsInRange(new Ls(l.lineNumber,l.column,r.lineNumber,r.column),i,e,s)),l=null),h.sort(((t,i)=>{const e=Ls.compareRangesUsingStarts(t.range,i.range);return 0===e?t.idi.id?1:0:e}));const u=[];let d=0,f=null;for(const t of h){const i=t.id;f!==i&&(f=i,u[d++]=t)}return u}getInjectedTextAt(t){const i=this.getViewLineInfo(t.lineNumber);return this.modelLineProjections[i.modelLineNumber-1].getInjectedTextAt(i.modelLineWrappedLineIdx,t.column)}normalizePosition(t,i){const e=this.getViewLineInfo(t.lineNumber);return this.modelLineProjections[e.modelLineNumber-1].normalizePosition(e.modelLineWrappedLineIdx,t,i)}getLineIndentColumn(t){const i=this.getViewLineInfo(t);return 0===i.modelLineWrappedLineIdx?this.model.getLineIndentColumn(i.modelLineNumber):0}}class UF{constructor(t,i){this.modelLineNumber=t,this.modelLineWrappedLineIdx=i}}class qF{constructor(t,i){this.modelRange=t,this.viewLines=i}}class KF{constructor(t){this._lines=t}convertViewPositionToModelPosition(t){return this._lines.convertViewPositionToModelPosition(t.lineNumber,t.column)}convertViewRangeToModelRange(t){return this._lines.convertViewRangeToModelRange(t)}validateViewPosition(t,i){return this._lines.validateViewPosition(t.lineNumber,t.column,i)}validateViewRange(t,i){return this._lines.validateViewRange(t,i)}convertModelPositionToViewPosition(t,i,e,s){return this._lines.convertModelPositionToViewPosition(t.lineNumber,t.column,i,e,s)}convertModelRangeToViewRange(t,i){return this._lines.convertModelRangeToViewRange(t,i)}modelPositionIsVisible(t){return this._lines.modelPositionIsVisible(t.lineNumber,t.column)}getModelLineViewLineCount(t){return this._lines.getModelLineViewLineCount(t)}getViewLineNumberOfModelPosition(t,i){return this._lines.getViewLineNumberOfModelPosition(t,i)}}class GF{constructor(t){this.model=t}dispose(){}createCoordinatesConverter(){return new ZF(this)}getHiddenAreas(){return[]}setHiddenAreas(t){return!1}setTabSize(t){return!1}setWrappingSettings(t,i,e,s){return!1}createLineBreaksComputer(){const t=[];return{addRequest:()=>{t.push(null)},finalize:()=>t}}onModelFlushed(){}onModelLinesDeleted(t,i,e){return new GL(i,e)}onModelLinesInserted(t,i,e,s){return new ZL(i,e)}onModelLineChanged(t,i,e){return[!1,new KL(i,1),null,null]}acceptVersionId(t){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(t,i,e){return{startLineNumber:t,endLineNumber:t,indent:0}}getViewLinesBracketGuides(t,i,e){return new Array(i-t+1).fill([])}getViewLinesIndentGuides(t,i){const e=i-t+1,s=new Array(e);for(let t=0;ti)}getModelLineViewLineCount(t){return 1}getViewLineNumberOfModelPosition(t,i){return t}}class QF extends ie{constructor(t,i,e,s,n,o,r,h,c){if(super(),this.languageConfigurationService=r,this._themeService=h,this._attachedView=c,this.hiddenAreasModel=new XF,this.previousHiddenAreas=[],this._editorId=t,this._configuration=i,this.model=e,this._eventDispatcher=new eF,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new gC(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new gc((()=>this._updateConfigurationViewLineCountNow()),0)),this._hasFocus=!1,this._viewportStart=JF.create(this.model),this.model.isTooLargeForTokenization())this._lines=new GF(this.model);else{const t=this._configuration.options,i=t.get(50),e=t.get(137),o=t.get(144),r=t.get(136),h=t.get(128);this._lines=new VF(this._editorId,this.model,s,n,i,this.model.getOptions().tabSize,e,o.wrappingColumn,r,h)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new wF(e,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new TF(this._configuration,this.getLineCount(),o)),this._register(this.viewLayout.onDidScroll((t=>{t.scrollTopChanged&&this._handleVisibleLinesChanged(),t.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new JL(t)),this._eventDispatcher.emitOutgoingEvent(new rF(t.oldScrollWidth,t.oldScrollLeft,t.oldScrollHeight,t.oldScrollTop,t.scrollWidth,t.scrollLeft,t.scrollHeight,t.scrollTop))}))),this._register(this.viewLayout.onDidContentSizeChange((t=>{this._eventDispatcher.emitOutgoingEvent(t)}))),this._decorations=new RF(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast((t=>{try{const i=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(i,t)}finally{this._eventDispatcher.endEmitViewEvents()}}))),this._register(eD.getInstance().onDidChange((()=>{this._eventDispatcher.emitSingleViewEvent(new tF)}))),this._register(this._themeService.onDidColorThemeChange((t=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new YL(t))}))),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(t){this._eventDispatcher.addViewEventHandler(t)}removeViewEventHandler(t){this._eventDispatcher.removeViewEventHandler(t)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const t=this.viewLayout.getLinesViewportData(),i=new Ls(t.startLineNumber,this.getLineMinColumn(t.startLineNumber),t.endLineNumber,this.getLineMaxColumn(t.endLineNumber));return this._toModelVisibleRanges(i)}visibleLinesStabilized(){const t=this.getModelVisibleRanges();this._attachedView.setVisibleLines(t,!0)}_handleVisibleLinesChanged(){const t=this.getModelVisibleRanges();this._attachedView.setVisibleLines(t,!1)}setHasFocus(t){this._hasFocus=t,this._cursor.setHasFocus(t),this._eventDispatcher.emitSingleViewEvent(new VL(t)),this._eventDispatcher.emitOutgoingEvent(new oF(!t,t))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new PL)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new $L)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const t=new Ms(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),i=this.coordinatesConverter.convertViewPositionToModelPosition(t);return new iT(i,this._viewportStart.startLineDelta)}return new iT(null,0)}_onConfigurationChanged(t,i){const e=this._captureStableViewport(),s=this._configuration.options,n=s.get(50),o=s.get(137),r=s.get(144),h=s.get(136),c=s.get(128);this._lines.setWrappingSettings(n,o,r.wrappingColumn,h,c)&&(t.emitViewEvent(new HL),t.emitViewEvent(new qL),t.emitViewEvent(new zL(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),i.hasChanged(90)&&(this._decorations.reset(),t.emitViewEvent(new zL(null))),i.hasChanged(97)&&(this._decorations.reset(),t.emitViewEvent(new zL(null))),t.emitViewEvent(new WL(i)),this.viewLayout.onConfigurationChanged(i),e.recoverViewportStart(this.coordinatesConverter,this.viewLayout),gC.shouldRecreate(i)&&(this.cursorConfig=new gC(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText((t=>{try{const i=this._eventDispatcher.beginEmitViewEvents();let e=!1,s=!1;const n=t instanceof hL?t.rawContentChangedEvent.changes:t.changes,o=t instanceof hL?t.rawContentChangedEvent.versionId:null,r=this._lines.createLineBreaksComputer();for(const t of n)switch(t.changeType){case 4:for(let i=0;i!t.ownerId||t.ownerId===this._editorId))),r.addRequest(e,s,null)}break;case 2:{let i=null;t.injectedText&&(i=t.injectedText.filter((t=>!t.ownerId||t.ownerId===this._editorId))),r.addRequest(t.detail,i,null);break}}const h=r.finalize(),c=new N(h);for(const t of n)switch(t.changeType){case 1:this._lines.onModelFlushed(),i.emitViewEvent(new HL),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),e=!0;break;case 3:{const s=this._lines.onModelLinesDeleted(o,t.fromLineNumber,t.toLineNumber);null!==s&&(i.emitViewEvent(s),this.viewLayout.onLinesDeleted(s.fromLineNumber,s.toLineNumber)),e=!0;break}case 4:{const s=c.takeCount(t.detail.length),n=this._lines.onModelLinesInserted(o,t.fromLineNumber,t.toLineNumber,s);null!==n&&(i.emitViewEvent(n),this.viewLayout.onLinesInserted(n.fromLineNumber,n.toLineNumber)),e=!0;break}case 2:{const e=c.dequeue(),[n,r,h,a]=this._lines.onModelLineChanged(o,t.lineNumber,e);s=n,r&&i.emitViewEvent(r),h&&(i.emitViewEvent(h),this.viewLayout.onLinesInserted(h.fromLineNumber,h.toLineNumber)),a&&(i.emitViewEvent(a),this.viewLayout.onLinesDeleted(a.fromLineNumber,a.toLineNumber));break}}null!==o&&this._lines.acceptVersionId(o),this.viewLayout.onHeightMaybeChanged(),!e&&s&&(i.emitViewEvent(new qL),i.emitViewEvent(new zL(null)),this._cursor.onLineMappingChanged(i),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const i=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&i){const t=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(t){const i=this.coordinatesConverter.convertModelPositionToViewPosition(t.getStartPosition()),e=this.viewLayout.getVerticalOffsetForLineNumber(i.lineNumber);this.viewLayout.setScrollPosition({scrollTop:e+this._viewportStart.startLineDelta},1)}}try{const i=this._eventDispatcher.beginEmitViewEvents();t instanceof hL&&i.emitOutgoingEvent(new pF(t.contentChangedEvent)),this._cursor.onModelContentChanged(i,t)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()}))),this._register(this.model.onDidChangeTokens((t=>{const i=[];for(let e=0,s=t.ranges.length;e{this._eventDispatcher.emitSingleViewEvent(new UL),this.cursorConfig=new gC(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new fF(t))}))),this._register(this.model.onDidChangeLanguage((t=>{this.cursorConfig=new gC(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new dF(t))}))),this._register(this.model.onDidChangeOptions((t=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const t=this._eventDispatcher.beginEmitViewEvents();t.emitViewEvent(new HL),t.emitViewEvent(new qL),t.emitViewEvent(new zL(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new gC(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new gF(t))}))),this._register(this.model.onDidChangeDecorations((t=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new zL(t)),this._eventDispatcher.emitOutgoingEvent(new uF(t))})))}setHiddenAreas(t,i){var e;this.hiddenAreasModel.setHiddenAreas(i,t);const s=this.hiddenAreasModel.getMergedRanges();if(s===this.previousHiddenAreas)return;this.previousHiddenAreas=s;const n=this._captureStableViewport();let o=!1;try{const t=this._eventDispatcher.beginEmitViewEvents();o=this._lines.setHiddenAreas(s),o&&(t.emitViewEvent(new HL),t.emitViewEvent(new qL),t.emitViewEvent(new zL(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());const i=null===(e=n.viewportStartModelPosition)||void 0===e?void 0:e.lineNumber,r=i&&s.some((t=>t.startLineNumber<=i&&i<=t.endLineNumber));r||n.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),o&&this._eventDispatcher.emitOutgoingEvent(new cF)}getVisibleRangesPlusViewportAboveBelow(){const t=this._configuration.options.get(143),i=this._configuration.options.get(66),e=Math.max(20,Math.round(t.height/i)),s=this.viewLayout.getLinesViewportData(),n=Math.max(1,s.completelyVisibleStartLineNumber-e),o=Math.min(this.getLineCount(),s.completelyVisibleEndLineNumber+e);return this._toModelVisibleRanges(new Ls(n,this.getLineMinColumn(n),o,this.getLineMaxColumn(o)))}getVisibleRanges(){const t=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(t)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(t){const i=this.coordinatesConverter.convertViewRangeToModelRange(t),e=this._lines.getHiddenAreas();if(0===e.length)return[i];const s=[];let n=0,o=i.startLineNumber,r=i.startColumn;const h=i.endLineNumber,c=i.endColumn;for(let t=0,i=e.length;th||(oi.toInlineDecoration(t)))]),new om(o.minColumn,o.maxColumn,o.content,o.continuesWithWrappedLine,e,s,o.tokens,i,n,o.startVisibleColumn)}getViewLineData(t){return this._lines.getViewLineData(t)}getMinimapLinesRenderingData(t,i,e){const s=this._lines.getViewLinesData(t,i,e);return new sm(this.getTabSize(),s)}getAllOverviewRulerDecorations(t){const i=this.model.getOverviewRulerDecorations(this._editorId,xi(this._configuration.options)),e=new YF;for(const s of i){const i=s.options,n=i.overviewRuler;if(!n)continue;const o=n.position;if(0===o)continue;const r=n.getColor(t.value),h=this.coordinatesConverter.getViewLineNumberOfModelPosition(s.range.startLineNumber,s.range.startColumn),c=this.coordinatesConverter.getViewLineNumberOfModelPosition(s.range.endLineNumber,s.range.endColumn);e.accept(r,i.zIndex,h,c,o)}return e.asArray}_invalidateDecorationsColorCache(){const t=this.model.getOverviewRulerDecorations();for(const i of t){const t=i.options.overviewRuler;null==t||t.invalidateCachedColor();const e=i.options.minimap;null==e||e.invalidateCachedColor()}}getValueInRange(t,i){const e=this.coordinatesConverter.convertViewRangeToModelRange(t);return this.model.getValueInRange(e,i)}getValueLengthInRange(t,i){const e=this.coordinatesConverter.convertViewRangeToModelRange(t);return this.model.getValueLengthInRange(e,i)}modifyPosition(t,i){const e=this.coordinatesConverter.convertViewPositionToModelPosition(t);return this.model.modifyPosition(e,i)}deduceModelPositionRelativeToViewPosition(t,i,e){const s=this.coordinatesConverter.convertViewPositionToModelPosition(t);2===this.model.getEOL().length&&(i<0?i-=e:i+=e);const n=this.model.getOffsetAt(s);return this.model.getPositionAt(n+i)}getPlainTextToCopy(t,i,e){const s=e?"\r\n":this.model.getEOL();(t=t.slice(0)).sort(Ls.compareRangesUsingStarts);let n=!1,o=!1;for(const i of t)i.isEmpty()?n=!0:o=!0;if(!o){if(!i)return"";const e=t.map((t=>t.startLineNumber));let n="";for(let t=0;t0&&e[t-1]===e[t]||(n+=this.model.getLineContent(e[t])+s);return n}if(n&&i){const i=[];let s=0;for(const n of t){const t=n.startLineNumber;n.isEmpty()?t!==s&&i.push(this.model.getLineContent(t)):i.push(this.model.getValueInRange(n,e?2:0)),s=t}return 1===i.length?i[0]:i}const r=[];for(const i of t)i.isEmpty()||r.push(this.model.getValueInRange(i,e?2:0));return 1===r.length?r[0]:r}getRichTextToCopy(t,i){const e=this.model.getLanguageId();if(e===qd)return null;if(1!==t.length)return null;let s=t[0];if(s.isEmpty()){if(!i)return null;const t=s.startLineNumber;s=new Ls(t,this.model.getLineMinColumn(t),t,this.model.getLineMaxColumn(t))}const n=this._configuration.options.get(50),o=this._getColorMap();let r;return/[:;\\\/<>]/.test(n.fontFamily)||n.fontFamily===Oi.fontFamily?r=Oi.fontFamily:(r=n.fontFamily,r=r.replace(/"/g,"'"),/[,']/.test(r)||/[+ ]/.test(r)&&(r=`'${r}'`),r=`${r}, ${Oi.fontFamily}`),{mode:e,html:`
`+this._getHTMLToCopy(s,o)+"
"}}_getHTMLToCopy(t,i){const e=t.startLineNumber,s=t.startColumn,n=t.endLineNumber,o=t.endColumn,r=this.getTabSize();let h="";for(let t=e;t<=n;t++){const c=this.model.tokenization.getLineTokens(t),a=c.getLineContent(),l=t===e?s-1:0,u=t===n?o-1:a.length;h+=""===a?"
":SF(a,c.inflate(),i,l,u,r,Ct)}return h}_getColorMap(){const t=Qs.getColorMap(),i=["#000000"];if(t)for(let e=1,s=t.length;ethis._cursor.setStates(s,t,i,e)))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(t){this._cursor.setCursorColumnSelectData(t)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(t){this._cursor.setPrevEditOperationType(t)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(t,i,e=0){this._withViewEventsCollector((s=>this._cursor.setSelections(s,t,i,e)))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(t){this._withViewEventsCollector((i=>this._cursor.restoreState(i,t)))}_executeCursorEdit(t){this._cursor.context.cursorConfig.readOnly?this._eventDispatcher.emitOutgoingEvent(new lF):this._withViewEventsCollector(t)}executeEdits(t,i,e){this._executeCursorEdit((s=>this._cursor.executeEdits(s,t,i,e)))}startComposition(){this._executeCursorEdit((t=>this._cursor.startComposition(t)))}endComposition(t){this._executeCursorEdit((i=>this._cursor.endComposition(i,t)))}type(t,i){this._executeCursorEdit((e=>this._cursor.type(e,t,i)))}compositionType(t,i,e,s,n){this._executeCursorEdit((o=>this._cursor.compositionType(o,t,i,e,s,n)))}paste(t,i,e,s){this._executeCursorEdit((n=>this._cursor.paste(n,t,i,e,s)))}cut(t){this._executeCursorEdit((i=>this._cursor.cut(i,t)))}executeCommand(t,i){this._executeCursorEdit((e=>this._cursor.executeCommand(e,t,i)))}executeCommands(t,i){this._executeCursorEdit((e=>this._cursor.executeCommands(e,t,i)))}revealPrimaryCursor(t,i,e=!1){this._withViewEventsCollector((s=>this._cursor.revealPrimary(s,t,e,0,i,0)))}revealTopMostCursor(t){const i=this._cursor.getTopMostViewPosition(),e=new Ls(i.lineNumber,i.column,i.lineNumber,i.column);this._withViewEventsCollector((i=>i.emitViewEvent(new QL(t,!1,e,null,0,!0,0))))}revealBottomMostCursor(t){const i=this._cursor.getBottomMostViewPosition(),e=new Ls(i.lineNumber,i.column,i.lineNumber,i.column);this._withViewEventsCollector((i=>i.emitViewEvent(new QL(t,!1,e,null,0,!0,0))))}revealRange(t,i,e,s,n){this._withViewEventsCollector((o=>o.emitViewEvent(new QL(t,!1,e,null,s,i,n))))}changeWhitespace(t){this.viewLayout.changeWhitespace(t)&&(this._eventDispatcher.emitSingleViewEvent(new iF),this._eventDispatcher.emitOutgoingEvent(new hF))}_withViewEventsCollector(t){try{return t(this._eventDispatcher.beginEmitViewEvents())}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(t,i){return this._lines.normalizePosition(t,i)}getLineIndentColumn(t){return this._lines.getLineIndentColumn(t)}}class JF{static create(t){const i=t._setTrackedRange(null,new Ls(1,1,1,1),1);return new JF(t,1,!1,i,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(t,i,e,s,n){this._model=t,this._viewLineNumber=i,this._isValid=e,this._modelTrackedRange=s,this._startLineDelta=n}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(t,i){const e=t.coordinatesConverter.convertViewPositionToModelPosition(new Ms(i,t.getLineMinColumn(i))),s=t.model._setTrackedRange(this._modelTrackedRange,new Ls(e.lineNumber,e.column,e.lineNumber,e.column),1),n=t.viewLayout.getVerticalOffsetForLineNumber(i),o=t.viewLayout.getCurrentScrollTop();this._viewLineNumber=i,this._isValid=!0,this._modelTrackedRange=s,this._startLineDelta=o-n}invalidate(){this._isValid=!1}}class YF{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(t,i,e,s,n){const o=this._asMap[t];if(o){const t=o.data,i=t[t.length-1];if(t[t.length-3]===n&&i+1>=e)return void(s>i&&(t[t.length-1]=s));t.push(n,e,s)}else{const o=new am(t,i,[n,e,s]);this._asMap[t]=o,this.asArray.push(o)}}}class XF{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(t,i){const e=this.hiddenAreas.get(t);e&&tT(e,i)||(this.hiddenAreas.set(t,i),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const t=Array.from(this.hiddenAreas.values()).reduce(((t,i)=>function(t,i){const e=[];let s=0,n=0;for(;s0?this.wrappedTextIndentLength:0}getLineLength(t){let i=this.breakOffsets[t]-(t>0?this.breakOffsets[t-1]:0);return t>0&&(i+=this.wrappedTextIndentLength),i}getMaxOutputOffset(t){return this.getLineLength(t)}translateToInputOffset(t,i){t>0&&(i=Math.max(0,i-this.wrappedTextIndentLength));let e=0===t?i:this.breakOffsets[t-1]+i;if(null!==this.injectionOffsets)for(let t=0;tthis.injectionOffsets[t];t++)e0?this.breakOffsets[n-1]:0,0===i)if(t<=o)s=n-1;else{if(!(t>r))break;e=n+1}else if(t=r))break;e=n+1}}let r=t-o;return n>0&&(r+=this.wrappedTextIndentLength),new lT(n,r)}normalizeOutputPosition(t,i,e){if(null!==this.injectionOffsets){const s=this.outputPositionToOffsetInInputWithInjections(t,i),n=this.normalizeOffsetInInputWithInjectionsAroundInjections(s,e);if(n!==s)return this.offsetInInputWithInjectionsToOutputPosition(n,e)}if(0===e){if(t>0&&i===this.getMinOutputOffset(t))return new lT(t-1,this.getMaxOutputOffset(t-1))}else if(1===e&&t0&&(i=Math.max(0,i-this.wrappedTextIndentLength)),(t>0?this.breakOffsets[t-1]:0)+i}normalizeOffsetInInputWithInjectionsAroundInjections(t,i){const e=this.getInjectedTextAtOffset(t);if(!e)return t;if(2===i){if(t===e.offsetInInputWithInjections+e.length&&cT(this.injectionOptions[e.injectedTextIndex].cursorStops))return e.offsetInInputWithInjections+e.length;{let t=e.offsetInInputWithInjections;if(aT(this.injectionOptions[e.injectedTextIndex].cursorStops))return t;let i=e.injectedTextIndex-1;for(;i>=0&&this.injectionOffsets[i]===this.injectionOffsets[e.injectedTextIndex]&&!cT(this.injectionOptions[i].cursorStops)&&(t-=this.injectionOptions[i].content.length,!aT(this.injectionOptions[i].cursorStops));)i--;return t}}if(1===i||4===i){let t=e.offsetInInputWithInjections+e.length,i=e.injectedTextIndex;for(;i+1=0&&this.injectionOffsets[i-1]===this.injectionOffsets[i];)t-=this.injectionOptions[i-1].content.length,i--;return t}Ch()}getInjectedText(t,i){const e=this.outputPositionToOffsetInInputWithInjections(t,i),s=this.getInjectedTextAtOffset(e);return s?{options:this.injectionOptions[s.injectedTextIndex]}:null}getInjectedTextAtOffset(t){const i=this.injectionOffsets,e=this.injectionOptions;if(null!==i){let s=0;for(let n=0;nt)break;if(t<=h)return{injectedTextIndex:n,offsetInInputWithInjections:r,length:o};s+=o}}}}function cT(t){return null==t||t===$f.Right||t===$f.Both}function aT(t){return null==t||t===$f.Left||t===$f.Both}class lT{constructor(t,i){this.outputLineIndex=t,this.outputOffset=i}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(t){return new Ms(t+this.outputLineIndex,this.outputOffset+1)}}class uT{static create(t){return new uT(t.get(132),t.get(131))}constructor(t,i){this.classifier=new dT(t,i)}createLineBreaksComputer(t,i,e,s,n){const o=[],r=[],h=[];return{addRequest:(t,i,e)=>{o.push(t),r.push(i),h.push(e)},finalize:()=>{const c=t.typicalFullwidthCharacterWidth/t.typicalHalfwidthCharacterWidth,a=[];for(let t=0,l=o.length;t=0&&t<256?this._asciiMap[t]:t>=12352&&t<=12543||t>=13312&&t<=19903||t>=19968&&t<=40959?3:this._map.get(t)||this._defaultValue}}let fT=[],pT=[];function gT(t,i,e,s,n,o,r,h){if(-1===n)return null;const c=e.length;if(c<=1)return null;const a="keepAll"===h,l=i.breakOffsets,u=i.breakOffsetsVisibleColumn,d=yT(e,s,n,o,r),f=n-d,p=fT,g=pT;let m=0,w=0,v=0,b=n;const y=l.length;let k=0;if(k>=0){let t=Math.abs(u[k]-b);for(;k+1=t)break;t=i,k++}}for(;ki&&(i=w,n=v);let r=0,h=0,d=0,x=0;if(n<=b){let v=n,y=0===i?0:e.charCodeAt(i-1),k=0===i?0:t.get(y),C=!0;for(let n=i;nw&&bT(0,k,c,l,a)&&(r=i,h=v),v+=u,v>b){i>w?(d=i,x=v-u):(d=n+1,x=v),v-h>f&&(r=0),C=!1;break}y=c,k=l}if(C){m>0&&(p[m]=l[l.length-1],g[m]=u[l.length-1],m++);break}}if(0===r){let c=n,l=e.charCodeAt(i),u=t.get(l),p=!1;for(let s=i-1;s>=w;s--){const i=s+1,n=e.charCodeAt(s);if(9===n){p=!0;break}let g,m;if(wo(n)?(s--,g=0,m=2):(g=t.get(n),m=Fo(n)?o:1),c<=b){if(0===d&&(d=i,x=c),c<=b-f)break;if(bT(0,g,l,u,a)){r=i,h=c;break}}c-=m,l=n,u=g}if(0!==r){const t=f-(x-h);if(t<=s){const i=e.charCodeAt(d);let n;n=mo(i)?2:wT(i,x,s,o),t-n<0&&(r=0)}}if(p){k--;continue}}if(0===r&&(r=d,h=x),r<=w){const t=e.charCodeAt(w);mo(t)?(r=w+2,h=v+2):(r=w+1,h=v+wT(t,v,s,o))}for(w=r,p[m]=r,v=h,g[m]=h,m++,b=h+f;k<0||k=C)break;C=t,k++}}return 0===m?null:(p.length=m,g.length=m,fT=i.breakOffsets,pT=i.breakOffsetsVisibleColumn,i.breakOffsets=p,i.breakOffsetsVisibleColumn=g,i.wrappedTextIndentLength=d,i)}function mT(t,i,e,s,n,o,r,h){const c=tL.applyInjectedText(i,e);let a,l;if(e&&e.length>0?(a=e.map((t=>t.options)),l=e.map((t=>t.column-1))):(a=null,l=null),-1===n)return a?new hT(l,a,[c.length],[],0):null;const u=c.length;if(u<=1)return a?new hT(l,a,[c.length],[],0):null;const d="keepAll"===h,f=yT(c,s,n,o,r),p=n-f,g=[],m=[];let w=0,v=0,b=0,y=n,k=c.charCodeAt(0),x=t.get(k),C=wT(k,0,s,o),S=1;mo(k)&&(C+=1,k=c.charCodeAt(1),x=t.get(k),S++);for(let i=S;iy&&((0===v||C-b>p)&&(v=e,b=C-h),g[w]=v,m[w]=b,w++,y=b+p,v=0),k=n,x=r}return 0!==w||e&&0!==e.length?(g[w]=u,m[w]=C,new hT(l,a,g,m,f)):null}function wT(t,i,e,s){return 9===t?e-i%e:Fo(t)||t<32?s:1}function vT(t,i){return i-t%i}function bT(t,i,e,s,n){return 32!==e&&(2===i&&2!==s||1!==i&&1===s||!n&&3===i&&2!==s||!n&&3===s&&1!==i)}function yT(t,i,e,s,n){let o=0;if(0!==n){const r=io(t);if(-1!==r){for(let e=0;ee&&(o=0)}}return o}const kT=Lu("domLineBreaksComputer",{createHTML:t=>t});class xT{static create(t){return new xT(new WeakRef(t))}constructor(t){this.targetWindow=t}createLineBreaksComputer(t,i,e,s,n){const o=[],r=[];return{addRequest:(t,i)=>{o.push(t),r.push(i)},finalize:()=>function(t,i,e,s,n,o,r,h){var c;function a(t){const e=h[t];if(e){const s=tL.applyInjectedText(i[t],e),n=e.map((t=>t.options)),o=e.map((t=>t.column-1));return new hT(o,n,[s.length],[],0)}return null}if(-1===n){const t=[];for(let e=0,s=i.length;el?(r=0,c=0):a=l-t}const u=n.substr(r),f=CT(u,c,s,a,p,d);g[t]=r,m[t]=c,w[t]=u,v[t]=f[0],b[t]=f[1]}const y=p.build(),k=null!==(c=null==kT?void 0:kT.createHTML(y))&&void 0!==c?c:y;f.innerHTML=k,f.style.position="absolute",f.style.top="10000","keepAll"===r?(f.style.wordBreak="keep-all",f.style.overflowWrap="anywhere"):(f.style.wordBreak="inherit",f.style.overflowWrap="break-word"),t.document.body.appendChild(f);const x=document.createRange(),C=Array.prototype.slice.call(f.children,0),S=[];for(let t=0;tt.options)),c=l.map((t=>t.column-1))):(r=null,c=null),S[t]=new hT(c,r,i,o,s)}return t.document.body.removeChild(f),S}(G(this.targetWindow.deref()),o,t,i,e,s,n,r)}}}function CT(t,i,e,s,n,o){if(0!==o){const t=String(o);n.appendString('
');const r=t.length;let h=i,c=0;const a=[],l=[];let u=0");for(let i=0;i"),a[i]=c,l[i]=h;const s=u;u=i+1"),a[t.length]=c,l[t.length]=h,n.appendString("
"),[a,l]}function ST(t,i,e,s){if(e.length<=1)return null;const n=Array.prototype.slice.call(i.children,0),o=[];try{DT(t,n,s,0,null,e.length-1,null,o)}catch(t){return console.log(t),null}return 0===o.length?null:(o.push(e.length),o)}function DT(t,i,e,s,n,o,r,h){if(s===o)return;if(n=n||ET(t,i,e[s],e[s+1]),r=r||ET(t,i,e[o],e[o+1]),Math.abs(n[0].top-r[0].top)<=.1)return;if(s+1===o)return void h.push(o);const c=s+(o-s)/2|0,a=ET(t,i,e[c],e[c+1]);DT(t,i,e,s,n,c,a,h),DT(t,i,e,c,a,o,r,h)}function ET(t,i,e,s){return t.setStart(i[e/16384|0].firstChild,e%16384),t.setEnd(i[s/16384|0].firstChild,s%16384),t.getClientRects()}class AT extends ie{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new oe),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(t,i,e){this._editor=t,this._instantiationService=e;for(const t of i)this._pending.has(t.id)?Pi(new Error(`Cannot have two contributions with the same id ${t.id}`)):this._pending.set(t.id,t);this._instantiateSome(0),this._register(Ga(Ba(this._editor.getDomNode()),(()=>{this._instantiateSome(1)}))),this._register(Ga(Ba(this._editor.getDomNode()),(()=>{this._instantiateSome(2)}))),this._register(Ga(Ba(this._editor.getDomNode()),(()=>{this._instantiateSome(3)}),5e3))}saveViewState(){const t={};for(const[i,e]of this._instances)"function"==typeof e.saveViewState&&(t[i]=e.saveViewState());return t}restoreViewState(t){for(const[i,e]of this._instances)"function"==typeof e.restoreViewState&&e.restoreViewState(t[i])}get(t){return this._instantiateById(t),this._instances.get(t)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){var t;this._register(Ga(Ba(null===(t=this._editor)||void 0===t?void 0:t.getDomNode()),(()=>{this._instantiateSome(1)}),50))}_instantiateSome(t){if(this._finishedInstantiation[t])return;this._finishedInstantiation[t]=!0;const i=this._findPendingContributionsByInstantiation(t);for(const t of i)this._instantiateById(t.id)}_findPendingContributionsByInstantiation(t){const i=[];for(const[,e]of this._pending)e.instantiation===t&&i.push(e);return i}_instantiateById(t){const i=this._pending.get(t);if(i){if(this._pending.delete(t),!this._instantiationService||!this._editor)throw new Error("Cannot instantiate contributions before being initialized!");try{const t=this._instantiationService.createInstance(i.ctor,this._editor);this._instances.set(i.id,t),"function"==typeof t.restoreViewState&&0!==i.instantiation&&console.warn(`Editor contribution '${i.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(t){Pi(t)}}}}var MT,LT=function(t,i){return function(e,s){i(e,s,t)}};let FT=0;class TT{constructor(t,i,e,s,n,o){this.model=t,this.viewModel=i,this.view=e,this.hasRealView=s,this.listenersToRemove=n,this.attachedView=o}dispose(){Ji(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}let RT=MT=class extends ie{get isSimpleWidget(){return this._configuration.isSimpleWidget}constructor(t,i,e,s,n,o,r,h,c,a,l,u){var d;super(),this.languageConfigurationService=l,this._deliveryQueue=new pe,this._contributions=this._register(new AT),this._onDidDispose=this._register(new fe),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onDidChangeModel=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new IT(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new OT({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new OT({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new IT(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new IT(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new IT(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new IT(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new IT(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new IT(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new IT(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new IT(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new IT(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new IT(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new IT(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new IT(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new IT(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new IT(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new IT(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new IT(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new IT(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),n.willCreateCodeEditor();const f={...i};let p;this._domElement=t,this._overflowWidgetsDomNode=f.overflowWidgetsDomNode,delete f.overflowWidgetsDomNode,this._id=++FT,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=e.telemetryData,this._configuration=this._register(this._createConfiguration(e.isSimpleWidget||!1,f,a)),this._register(this._configuration.onDidChange((t=>{this._onDidChangeConfiguration.fire(t);const i=this._configuration.options;if(t.hasChanged(143)){const t=i.get(143);this._onDidLayoutChange.fire(t)}}))),this._contextKeyService=this._register(r.createScoped(this._domElement)),this._notificationService=c,this._codeEditorService=n,this._commandService=o,this._themeService=h,this._register(new _T(this,this._contextKeyService)),this._register(new NT(this,this._contextKeyService,u)),this._instantiationService=s.createChild(new eT([lh,this._contextKeyService])),this._modelData=null,this._focusTracker=new BT(t),this._register(this._focusTracker.onChange((()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())}))),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={},p=Array.isArray(e.contributions)?e.contributions:du.getEditorContributions(),this._contributions.initialize(this,p,this._instantiationService);for(const t of du.getEditorActions()){if(this._actions.has(t.id)){Pi(new Error(`Cannot have two actions with the same id ${t.id}`));continue}const i=new KD(t.id,t.label,t.alias,t.metadata,null!==(d=t.precondition)&&void 0!==d?d:void 0,(()=>this._instantiationService.invokeFunction((i=>Promise.resolve(t.runEditorCommand(i,this,null))))),this._contextKeyService);this._actions.set(i.id,i)}const g=()=>!this._configuration.options.get(90)&&this._configuration.options.get(36).enabled;this._register(new Ql(this._domElement,{onDragOver:t=>{if(!g())return;const i=this.getTargetAtClientPoint(t.clientX,t.clientY);(null==i?void 0:i.position)&&this.showDropIndicatorAt(i.position)},onDrop:async t=>{if(!g())return;if(this.removeDropIndicator(),!t.dataTransfer)return;const i=this.getTargetAtClientPoint(t.clientX,t.clientY);(null==i?void 0:i.position)&&this._onDropIntoEditor.fire({position:i.position,event:t})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(t){var i;null===(i=this._modelData)||void 0===i||i.view.writeScreenReaderContent(t)}_createConfiguration(t,i,e){return new Xm(t,i,this._domElement,e)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return Ig.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(t){return this._instantiationService.invokeFunction(t)}updateOptions(t){this._configuration.updateOptions(t||{})}getOptions(){return this._configuration.options}getOption(t){return this._configuration.options.get(t)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(t){return this._modelData?TC.getWordAtPosition(this._modelData.model,this._configuration.options.get(129),t):null}getValue(t=null){if(!this._modelData)return"";let i=0;return t&&t.lineEnding&&"\n"===t.lineEnding?i=1:t&&t.lineEnding&&"\r\n"===t.lineEnding&&(i=2),this._modelData.model.getValue(i,!(!t||!t.preserveBOM))}setValue(t){this._modelData&&this._modelData.model.setValue(t)}getModel(){return this._modelData?this._modelData.model:null}setModel(t=null){const i=t;if(null===this._modelData&&null===i)return;if(this._modelData&&this._modelData.model===i)return;const e=this.hasTextFocus(),s=this._detachModel();this._attachModel(i),e&&this.hasModel()&&this.focus();const n={oldModelUrl:s?s.uri:null,newModelUrl:i?i.uri:null};this._removeDecorationTypes(),this._onDidChangeModel.fire(n),this._postDetachModelCleanup(s),this._contributions.onAfterModelAttached()}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const t in this._decorationTypeSubtypes){const i=this._decorationTypeSubtypes[t];for(const e in i)this._removeDecorationType(t+"-"+e)}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(t,i,e,s){const n=t.model.validatePosition({lineNumber:i,column:e}),o=t.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n);return t.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(o.lineNumber,s)}getTopForLineNumber(t,i=!1){return this._modelData?MT._getVerticalOffsetForPosition(this._modelData,t,1,i):-1}getTopForPosition(t,i){return this._modelData?MT._getVerticalOffsetForPosition(this._modelData,t,i,!1):-1}static _getVerticalOffsetForPosition(t,i,e,s=!1){const n=t.model.validatePosition({lineNumber:i,column:e}),o=t.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n);return t.viewModel.viewLayout.getVerticalOffsetForLineNumber(o.lineNumber,s)}getBottomForLineNumber(t,i=!1){return this._modelData?MT._getVerticalOffsetAfterPosition(this._modelData,t,1,i):-1}setHiddenAreas(t,i){var e;null===(e=this._modelData)||void 0===e||e.viewModel.setHiddenAreas(t.map((t=>Ls.lift(t))),i)}getVisibleColumnFromPosition(t){if(!this._modelData)return t.column;const i=this._modelData.model.validatePosition(t),e=this._modelData.model.getOptions().tabSize;return tk.visibleColumnFromColumn(this._modelData.model.getLineContent(i.lineNumber),i.column,e)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(t,i="api"){if(this._modelData){if(!Ms.isIPosition(t))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(i,[{selectionStartLineNumber:t.lineNumber,selectionStartColumn:t.column,positionLineNumber:t.lineNumber,positionColumn:t.column}])}}_sendRevealRange(t,i,e,s){if(!this._modelData)return;if(!Ls.isIRange(t))throw new Error("Invalid arguments");const n=this._modelData.model.validateRange(t),o=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(n);this._modelData.viewModel.revealRange("api",e,o,i,s)}revealLine(t,i=0){this._revealLine(t,0,i)}revealLineInCenter(t,i=0){this._revealLine(t,1,i)}revealLineInCenterIfOutsideViewport(t,i=0){this._revealLine(t,2,i)}revealLineNearTop(t,i=0){this._revealLine(t,5,i)}_revealLine(t,i,e){if("number"!=typeof t)throw new Error("Invalid arguments");this._sendRevealRange(new Ls(t,1,t,1),i,!1,e)}revealPosition(t,i=0){this._revealPosition(t,0,!0,i)}revealPositionInCenter(t,i=0){this._revealPosition(t,1,!0,i)}revealPositionInCenterIfOutsideViewport(t,i=0){this._revealPosition(t,2,!0,i)}revealPositionNearTop(t,i=0){this._revealPosition(t,5,!0,i)}_revealPosition(t,i,e,s){if(!Ms.isIPosition(t))throw new Error("Invalid arguments");this._sendRevealRange(new Ls(t.lineNumber,t.column,t.lineNumber,t.column),i,e,s)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(t,i="api"){const e=Fs.isISelection(t),s=Ls.isIRange(t);if(!e&&!s)throw new Error("Invalid arguments");e?this._setSelectionImpl(t,i):s&&this._setSelectionImpl({selectionStartLineNumber:t.startLineNumber,selectionStartColumn:t.startColumn,positionLineNumber:t.endLineNumber,positionColumn:t.endColumn},i)}_setSelectionImpl(t,i){if(!this._modelData)return;const e=new Fs(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn);this._modelData.viewModel.setSelections(i,[e])}revealLines(t,i,e=0){this._revealLines(t,i,0,e)}revealLinesInCenter(t,i,e=0){this._revealLines(t,i,1,e)}revealLinesInCenterIfOutsideViewport(t,i,e=0){this._revealLines(t,i,2,e)}revealLinesNearTop(t,i,e=0){this._revealLines(t,i,5,e)}_revealLines(t,i,e,s){if("number"!=typeof t||"number"!=typeof i)throw new Error("Invalid arguments");this._sendRevealRange(new Ls(t,1,i,1),e,!1,s)}revealRange(t,i=0,e=!1,s=!0){this._revealRange(t,e?1:0,s,i)}revealRangeInCenter(t,i=0){this._revealRange(t,1,!0,i)}revealRangeInCenterIfOutsideViewport(t,i=0){this._revealRange(t,2,!0,i)}revealRangeNearTop(t,i=0){this._revealRange(t,5,!0,i)}revealRangeNearTopIfOutsideViewport(t,i=0){this._revealRange(t,6,!0,i)}revealRangeAtTop(t,i=0){this._revealRange(t,3,!0,i)}_revealRange(t,i,e,s){if(!Ls.isIRange(t))throw new Error("Invalid arguments");this._sendRevealRange(Ls.lift(t),i,e,s)}setSelections(t,i="api",e=0){if(this._modelData){if(!t||0===t.length)throw new Error("Invalid arguments");for(let i=0,e=t.length;i0&&this._modelData.viewModel.restoreCursorState(t):this._modelData.viewModel.restoreCursorState([t]),this._contributions.restoreViewState(i.contributionsState||{});const e=this._modelData.viewModel.reduceRestoreState(i.viewState);this._modelData.view.restoreState(e)}}handleInitialized(){var t;null===(t=this._getViewModel())||void 0===t||t.visibleLinesStabilized()}getContribution(t){return this._contributions.get(t)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let t=this.getActions();return t=t.filter((t=>t.isSupported())),t}getAction(t){return this._actions.get(t)||null}trigger(t,i,e){switch(e=e||{},i){case"compositionStart":return void this._startComposition();case"compositionEnd":return void this._endComposition(t);case"type":return void this._type(t,e.text||"");case"replacePreviousChar":return void this._compositionType(t,e.text||"",e.replaceCharCnt||0,0,0);case"compositionType":return void this._compositionType(t,e.text||"",e.replacePrevCharCnt||0,e.replaceNextCharCnt||0,e.positionDelta||0);case"paste":return void this._paste(t,e.text||"",e.pasteOnNewLine||!1,e.multicursorText||null,e.mode||null);case"cut":return void this._cut(t)}const s=this.getAction(i);s?Promise.resolve(s.run(e)).then(void 0,Pi):this._modelData&&(this._triggerEditorCommand(t,i,e)||this._triggerCommand(i,e))}_triggerCommand(t,i){this._commandService.executeCommand(t,i)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(t){this._modelData&&(this._modelData.viewModel.endComposition(t),this._onDidCompositionEnd.fire())}_type(t,i){this._modelData&&0!==i.length&&("keyboard"===t&&this._onWillType.fire(i),this._modelData.viewModel.type(i,t),"keyboard"===t&&this._onDidType.fire(i))}_compositionType(t,i,e,s,n){this._modelData&&this._modelData.viewModel.compositionType(i,e,s,n,t)}_paste(t,i,e,s,n){if(!this._modelData||0===i.length)return;const o=this._modelData.viewModel,r=o.getSelection().getStartPosition();o.paste(i,e,s,t);const h=o.getSelection().getStartPosition();"keyboard"===t&&this._onDidPaste.fire({range:new Ls(r.lineNumber,r.column,h.lineNumber,h.column),languageId:n})}_cut(t){this._modelData&&this._modelData.viewModel.cut(t)}_triggerEditorCommand(t,i,e){const s=du.getEditorCommand(i);return!!s&&((e=e||{}).source=t,this._instantiationService.invokeFunction((t=>{Promise.resolve(s.runEditorCommand(t,this,e)).then(void 0,Pi)})),!0)}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!!this._modelData&&!this._configuration.options.get(90)&&(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!!this._modelData&&!this._configuration.options.get(90)&&(this._modelData.model.popStackElement(),!0)}executeEdits(t,i,e){if(!this._modelData)return!1;if(this._configuration.options.get(90))return!1;let s;return s=e?Array.isArray(e)?()=>e:e:()=>null,this._modelData.viewModel.executeEdits(t,i,s),!0}executeCommand(t,i){this._modelData&&this._modelData.viewModel.executeCommand(i,t)}executeCommands(t,i){this._modelData&&this._modelData.viewModel.executeCommands(i,t)}createDecorationsCollection(t){return new PT(this,t)}changeDecorations(t){return this._modelData?this._modelData.model.changeDecorations(t,this._id):null}getLineDecorations(t){return this._modelData?this._modelData.model.getLineDecorations(t,this._id,xi(this._configuration.options)):null}getDecorationsInRange(t){return this._modelData?this._modelData.model.getDecorationsInRange(t,this._id,xi(this._configuration.options)):null}deltaDecorations(t,i){return this._modelData?0===t.length&&0===i.length?t:this._modelData.model.deltaDecorations(t,i,this._id):[]}removeDecorations(t){this._modelData&&0!==t.length&&this._modelData.model.changeDecorations((i=>{i.deltaDecorations(t,[])}))}removeDecorationsByType(t){const i=this._decorationTypeKeysToIds[t];i&&this.deltaDecorations(i,[]),this._decorationTypeKeysToIds.hasOwnProperty(t)&&delete this._decorationTypeKeysToIds[t],this._decorationTypeSubtypes.hasOwnProperty(t)&&delete this._decorationTypeSubtypes[t]}getLayoutInfo(){return this._configuration.options.get(143)}createOverviewRuler(t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.createOverviewRuler(t):null}getContainerDomNode(){return this._domElement}getDomNode(){return this._modelData&&this._modelData.hasRealView?this._modelData.view.domNode.domNode:null}delegateVerticalScrollbarPointerDown(t){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateVerticalScrollbarPointerDown(t)}delegateScrollFromMouseWheelEvent(t){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateScrollFromMouseWheelEvent(t)}layout(t,i=!1){this._configuration.observeContainer(t),i||this.render()}focus(){this._modelData&&this._modelData.hasRealView&&this._modelData.view.focus()}hasTextFocus(){return!(!this._modelData||!this._modelData.hasRealView)&&this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(t){const i={widget:t,position:t.getPosition()};this._contentWidgets.hasOwnProperty(t.getId())&&console.warn("Overwriting a content widget with the same id:"+t.getId()),this._contentWidgets[t.getId()]=i,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(i)}layoutContentWidget(t){const i=t.getId();if(this._contentWidgets.hasOwnProperty(i)){const e=this._contentWidgets[i];e.position=t.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(e)}}removeContentWidget(t){const i=t.getId();if(this._contentWidgets.hasOwnProperty(i)){const t=this._contentWidgets[i];delete this._contentWidgets[i],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(t)}}addOverlayWidget(t){const i={widget:t,position:t.getPosition()};this._overlayWidgets.hasOwnProperty(t.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[t.getId()]=i,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(i)}layoutOverlayWidget(t){const i=t.getId();if(this._overlayWidgets.hasOwnProperty(i)){const e=this._overlayWidgets[i];e.position=t.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(e)}}removeOverlayWidget(t){const i=t.getId();if(this._overlayWidgets.hasOwnProperty(i)){const t=this._overlayWidgets[i];delete this._overlayWidgets[i],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(t)}}addGlyphMarginWidget(t){const i={widget:t,position:t.getPosition()};this._glyphMarginWidgets.hasOwnProperty(t.getId())&&console.warn("Overwriting a glyph margin widget with the same id."),this._glyphMarginWidgets[t.getId()]=i,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(i)}layoutGlyphMarginWidget(t){const i=t.getId();if(this._glyphMarginWidgets.hasOwnProperty(i)){const e=this._glyphMarginWidgets[i];e.position=t.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(e)}}removeGlyphMarginWidget(t){const i=t.getId();if(this._glyphMarginWidgets.hasOwnProperty(i)){const t=this._glyphMarginWidgets[i];delete this._glyphMarginWidgets[i],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(t)}}changeViewZones(t){this._modelData&&this._modelData.hasRealView&&this._modelData.view.change(t)}getTargetAtClientPoint(t,i){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getTargetAtClientPoint(t,i):null}getScrolledVisiblePosition(t){if(!this._modelData||!this._modelData.hasRealView)return null;const i=this._modelData.model.validatePosition(t),e=this._configuration.options,s=e.get(143);return{top:MT._getVerticalOffsetForPosition(this._modelData,i.lineNumber,i.column)-this.getScrollTop(),left:this._modelData.view.getOffsetForColumn(i.lineNumber,i.column)+s.glyphMarginWidth+s.lineNumbersWidth+s.decorationsWidth-this.getScrollLeft(),height:e.get(66)}}getOffsetForColumn(t,i){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getOffsetForColumn(t,i):-1}render(t=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.view.render(!0,t)}setAriaOptions(t){this._modelData&&this._modelData.hasRealView&&this._modelData.view.setAriaOptions(t)}applyFontInfo(t){er(t,this._configuration.options.get(50))}setBanner(t,i){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),this._bannerDomNode=t,this._configuration.setReservedHeight(t?i:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(t){if(!t)return void(this._modelData=null);const i=[];this._domElement.setAttribute("data-mode-id",t.getLanguageId()),this._configuration.setIsDominatedByLongLines(t.isDominatedByLongLines()),this._configuration.setModelLineCount(t.getLineCount());const e=t.onBeforeAttached(),s=new QF(this._id,this._configuration,t,xT.create(Ba(this._domElement)),uT.create(this._configuration.options),(t=>Ja(Ba(this._domElement),t)),this.languageConfigurationService,this._themeService,e);i.push(t.onWillDispose((()=>this.setModel(null)))),i.push(s.onEvent((i=>{switch(i.kind){case 0:this._onDidContentSizeChange.fire(i);break;case 1:this._editorTextFocus.setValue(i.hasFocus);break;case 2:this._onDidScrollChange.fire(i);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(i.reachedMaxCursorCount){const t=rt(0,"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.",this.getOption(79));this._notificationService.prompt(oT.Warning,t,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:rt(0,"Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}const t=[];for(let e=0,s=i.selections.length;e{this._paste("keyboard",t,i,e,s)},type:t=>{this._type("keyboard",t)},compositionType:(t,i,e,s)=>{this._compositionType("keyboard",t,i,e,s)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:{paste:(t,i,e,s)=>{this._commandService.executeCommand("paste",{text:t,pasteOnNewLine:i,multicursorText:e,mode:s})},type:t=>{this._commandService.executeCommand("type",{text:t})},compositionType:(t,i,e,s)=>{e||s?this._commandService.executeCommand("compositionType",{text:t,replacePrevCharCnt:i,replaceNextCharCnt:e,positionDelta:s}):this._commandService.executeCommand("replacePreviousChar",{text:t,replaceCharCnt:i})},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const e=new fS(t.coordinatesConverter);return e.onKeyDown=t=>this._onKeyDown.fire(t),e.onKeyUp=t=>this._onKeyUp.fire(t),e.onContextMenu=t=>this._onContextMenu.fire(t),e.onMouseMove=t=>this._onMouseMove.fire(t),e.onMouseLeave=t=>this._onMouseLeave.fire(t),e.onMouseDown=t=>this._onMouseDown.fire(t),e.onMouseUp=t=>this._onMouseUp.fire(t),e.onMouseDrag=t=>this._onMouseDrag.fire(t),e.onMouseDrop=t=>this._onMouseDrop.fire(t),e.onMouseDropCanceled=t=>this._onMouseDropCanceled.fire(t),e.onMouseWheel=t=>this._onMouseWheel.fire(t),[new VD(i,this._configuration,this._themeService.getColorTheme(),t,e,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(t){null==t||t.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(!this._modelData)return null;const t=this._modelData.model,i=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),i&&this._domElement.contains(i)&&this._domElement.removeChild(i),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),t}_removeDecorationType(t){this._codeEditorService.removeDecorationType(t)}hasModel(){return null!==this._modelData}showDropIndicatorAt(t){const i=[{range:new Ls(t.lineNumber,t.column,t.lineNumber,t.column),options:MT.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(i),this.revealPosition(t,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(t,i){this._contextKeyService.createKey(t,i)}};RT.dropIntoEditorDecorationOptions=ML.register({description:"workbench-dnd-target",className:"dnd-target"}),RT=MT=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([LT(3,dr),LT(4,pr),LT(5,Dr),LT(6,lh),LT(7,tx),LT(8,rT),LT(9,Qm),LT(10,tf),LT(11,Cg)],RT);class OT extends ie{constructor(t){super(),this._emitterOptions=t,this._onDidChangeToTrue=this._register(new fe(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new fe(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(t){const i=t?2:1;this._value!==i&&(this._value=i,2===this._value?this._onDidChangeToTrue.fire():1===this._value&&this._onDidChangeToFalse.fire())}}class IT extends fe{constructor(t,i){super({deliveryQueue:i}),this._contributions=t}fire(t){this._contributions.onBeforeInteractionEvent(),super.fire(t)}}class _T extends ie{constructor(t,i){super(),this._editor=t,i.createKey("editorId",t.getId()),this._editorSimpleInput=XC.editorSimpleInput.bindTo(i),this._editorFocus=XC.focus.bindTo(i),this._textInputFocus=XC.textInputFocus.bindTo(i),this._editorTextFocus=XC.editorTextFocus.bindTo(i),this._tabMovesFocus=XC.tabMovesFocus.bindTo(i),this._editorReadonly=XC.readOnly.bindTo(i),this._inDiffEditor=XC.inDiffEditor.bindTo(i),this._editorColumnSelection=XC.columnSelection.bindTo(i),this._hasMultipleSelections=XC.hasMultipleSelections.bindTo(i),this._hasNonEmptySelection=XC.hasNonEmptySelection.bindTo(i),this._canUndo=XC.canUndo.bindTo(i),this._canRedo=XC.canRedo.bindTo(i),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(Zm.onDidChangeTabFocus((t=>this._tabMovesFocus.set(t)))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const t=this._editor.getOptions();this._tabMovesFocus.set(Zm.getTabFocusMode()),this._editorReadonly.set(t.get(90)),this._inDiffEditor.set(t.get(61)),this._editorColumnSelection.set(t.get(22))}_updateFromSelection(){const t=this._editor.getSelections();t?(this._hasMultipleSelections.set(t.length>1),this._hasNonEmptySelection.set(t.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 t=this._editor.getModel();this._canUndo.set(Boolean(t&&t.canUndo())),this._canRedo.set(Boolean(t&&t.canRedo()))}}class NT extends ie{constructor(t,i,e){super(),this._editor=t,this._contextKeyService=i,this._languageFeaturesService=e,this._langId=XC.languageId.bindTo(i),this._hasCompletionItemProvider=XC.hasCompletionItemProvider.bindTo(i),this._hasCodeActionsProvider=XC.hasCodeActionsProvider.bindTo(i),this._hasCodeLensProvider=XC.hasCodeLensProvider.bindTo(i),this._hasDefinitionProvider=XC.hasDefinitionProvider.bindTo(i),this._hasDeclarationProvider=XC.hasDeclarationProvider.bindTo(i),this._hasImplementationProvider=XC.hasImplementationProvider.bindTo(i),this._hasTypeDefinitionProvider=XC.hasTypeDefinitionProvider.bindTo(i),this._hasHoverProvider=XC.hasHoverProvider.bindTo(i),this._hasDocumentHighlightProvider=XC.hasDocumentHighlightProvider.bindTo(i),this._hasDocumentSymbolProvider=XC.hasDocumentSymbolProvider.bindTo(i),this._hasReferenceProvider=XC.hasReferenceProvider.bindTo(i),this._hasRenameProvider=XC.hasRenameProvider.bindTo(i),this._hasSignatureHelpProvider=XC.hasSignatureHelpProvider.bindTo(i),this._hasInlayHintsProvider=XC.hasInlayHintsProvider.bindTo(i),this._hasDocumentFormattingProvider=XC.hasDocumentFormattingProvider.bindTo(i),this._hasDocumentSelectionFormattingProvider=XC.hasDocumentSelectionFormattingProvider.bindTo(i),this._hasMultipleDocumentFormattingProvider=XC.hasMultipleDocumentFormattingProvider.bindTo(i),this._hasMultipleDocumentSelectionFormattingProvider=XC.hasMultipleDocumentSelectionFormattingProvider.bindTo(i),this._isInWalkThrough=XC.isInWalkThroughSnippet.bindTo(i);const s=()=>this._update();this._register(t.onDidChangeModel(s)),this._register(t.onDidChangeModelLanguage(s)),this._register(e.completionProvider.onDidChange(s)),this._register(e.codeActionProvider.onDidChange(s)),this._register(e.codeLensProvider.onDidChange(s)),this._register(e.definitionProvider.onDidChange(s)),this._register(e.declarationProvider.onDidChange(s)),this._register(e.implementationProvider.onDidChange(s)),this._register(e.typeDefinitionProvider.onDidChange(s)),this._register(e.hoverProvider.onDidChange(s)),this._register(e.documentHighlightProvider.onDidChange(s)),this._register(e.documentSymbolProvider.onDidChange(s)),this._register(e.referenceProvider.onDidChange(s)),this._register(e.renameProvider.onDidChange(s)),this._register(e.documentFormattingEditProvider.onDidChange(s)),this._register(e.documentRangeFormattingEditProvider.onDidChange(s)),this._register(e.signatureHelpProvider.onDidChange(s)),this._register(e.inlayHintsProvider.onDidChange(s)),s()}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._isInWalkThrough.reset()}))}_update(){const t=this._editor.getModel();t?this._contextKeyService.bufferChangeEvents((()=>{this._langId.set(t.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(t)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(t)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(t)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(t)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(t)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(t)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(t)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(t)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(t)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(t)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(t)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(t)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(t)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(t)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(t)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(t)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(t)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(t).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(t).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(t).length>1),this._isInWalkThrough.set(t.uri.scheme===xa.walkThroughSnippet)})):this.reset()}}class BT extends ie{constructor(t){super(),this._onChange=this._register(new fe),this.onChange=this._onChange.event,this._hasFocus=!1,this._domFocusTracker=this._register(Ol(t)),this._register(this._domFocusTracker.onDidFocus((()=>{this._hasFocus=!0,this._onChange.fire(void 0)}))),this._register(this._domFocusTracker.onDidBlur((()=>{this._hasFocus=!1,this._onChange.fire(void 0)})))}hasFocus(){return this._hasFocus}}class PT{get length(){return this._decorationIds.length}constructor(t,i){this._editor=t,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(i)&&i.length>0&&this.set(i)}onDidChange(t,i,e){return this._editor.onDidChangeModelDecorations((e=>{this._isChangingDecorations||t.call(i,e)}),e)}getRange(t){return this._editor.hasModel()?t>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[t]):null}getRanges(){if(!this._editor.hasModel())return[];const t=this._editor.getModel(),i=[];for(const e of this._decorationIds){const s=t.getDecorationRange(e);s&&i.push(s)}return i}has(t){return this._decorationIds.includes(t.id)}clear(){0!==this._decorationIds.length&&this.set([])}set(t){try{this._isChangingDecorations=!0,this._editor.changeDecorations((i=>{this._decorationIds=i.deltaDecorations(this._decorationIds,t)}))}finally{this._isChangingDecorations=!1}return this._decorationIds}append(t){let i=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations((e=>{i=e.deltaDecorations([],t),this._decorationIds=this._decorationIds.concat(i)}))}finally{this._isChangingDecorations=!1}return i}}const $T=encodeURIComponent("");function jT(t){return $T+encodeURIComponent(t.toString())+WT}const zT=encodeURIComponent('');ox(((t,i)=>{const e=t.getColor(sv);e&&i.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${jT(e)}") repeat-x bottom left; }`);const s=t.getColor(ov);s&&i.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${jT(s)}") repeat-x bottom left; }`);const n=t.getColor(hv);n&&i.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${jT(n)}") repeat-x bottom left; }`);const o=t.getColor(av);var r;o&&i.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${r=o,zT+encodeURIComponent(r.toString())+HT}") no-repeat bottom left; }`);const h=t.getColor(Tx);h&&i.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${h.rgba.a}; }`)}));let VT=class extends ie{constructor(t){super(),this._themeService=t,this._onWillCreateCodeEditor=this._register(new fe),this._onCodeEditorAdd=this._register(new fe),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new fe),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new fe),this._onDiffEditorAdd=this._register(new fe),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new fe),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new qt,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(t){this._codeEditors[t.getId()]=t,this._onCodeEditorAdd.fire(t)}removeCodeEditor(t){delete this._codeEditors[t.getId()]&&this._onCodeEditorRemove.fire(t)}listCodeEditors(){return Object.keys(this._codeEditors).map((t=>this._codeEditors[t]))}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(t){this._diffEditors[t.getId()]=t,this._onDiffEditorAdd.fire(t)}listDiffEditors(){return Object.keys(this._diffEditors).map((t=>this._diffEditors[t]))}getFocusedCodeEditor(){let t=null;const i=this.listCodeEditors();for(const e of i){if(e.hasTextFocus())return e;e.hasWidgetFocus()&&(t=e)}return t}removeDecorationType(t){const i=this._decorationOptionProviders.get(t);i&&(i.refCount--,i.refCount<=0&&(this._decorationOptionProviders.delete(t),i.dispose(),this.listCodeEditors().forEach((i=>i.removeDecorationsByType(t)))))}setModelProperty(t,i,e){const s=t.toString();let n;this._modelProperties.has(s)?n=this._modelProperties.get(s):(n=new Map,this._modelProperties.set(s,n)),n.set(i,e)}getModelProperty(t,i){const e=t.toString();if(this._modelProperties.has(e))return this._modelProperties.get(e).get(i)}async openCodeEditor(t,i,e){for(const s of this._codeEditorOpenHandlers){const n=await s(t,i,e);if(null!==n)return n}return null}registerCodeEditorOpenHandler(t){return Xi(this._codeEditorOpenHandlers.unshift(t))}};VT=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,tx)],VT);var UT=function(t,i){return function(e,s){i(e,s,t)}};let qT=class extends VT{constructor(t,i){super(i),this._register(this.onCodeEditorAdd((()=>this._checkContextKey()))),this._register(this.onCodeEditorRemove((()=>this._checkContextKey()))),this._editorIsOpen=t.createKey("editorIsOpen",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler((async(t,i)=>i?this.doOpenEditor(i,t):null)))}_checkContextKey(){let t=!1;for(const i of this.listCodeEditors())if(!i.isSimpleWidget){t=!0;break}this._editorIsOpen.set(t)}setActiveCodeEditor(t){this._activeCodeEditor=t}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(t,i){if(!this.findModel(t,i.resource)){if(i.resource){const e=i.resource.scheme;if(e===xa.http||e===xa.https)return Vl(i.resource.toString()),t}return null}const e=i.options?i.options.selection:null;if(e)if("number"==typeof e.endLineNumber&&"number"==typeof e.endColumn)t.setSelection(e),t.revealRangeInCenter(e,1);else{const i={lineNumber:e.startLineNumber,column:e.startColumn};t.setPosition(i),t.revealPositionInCenter(i,1)}return t}findModel(t,i){const e=t.getModel();return e&&e.uri.toString()!==i.toString()?null:e}};qT=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([UT(0,lh),UT(1,tx)],qT),Sd(pr,qT,0);const KT=fr("layoutService");var GT=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},ZT=function(t,i){return function(e,s){i(e,s,t)}};let QT=class{get mainContainer(){var t,i;return null!==(i=null===(t=x(this._codeEditorService.listCodeEditors()))||void 0===t?void 0:t.getContainerDomNode())&&void 0!==i?i:Wn.document.body}get activeContainer(){var t,i;const e=null!==(t=this._codeEditorService.getFocusedCodeEditor())&&void 0!==t?t:this._codeEditorService.getActiveCodeEditor();return null!==(i=null==e?void 0:e.getContainerDomNode())&&void 0!==i?i:this.mainContainer}get mainContainerDimension(){return il(this.mainContainer)}get activeContainerDimension(){return il(this.activeContainer)}get containers(){return w(this._codeEditorService.listCodeEditors().map((t=>t.getContainerDomNode())))}getContainer(){return this.activeContainer}focus(){var t;null===(t=this._codeEditorService.getFocusedCodeEditor())||void 0===t||t.focus()}constructor(t){this._codeEditorService=t,this.onDidLayoutMainContainer=ce.None,this.onDidLayoutActiveContainer=ce.None,this.onDidLayoutContainer=ce.None,this.onDidChangeActiveContainer=ce.None,this.onDidAddContainer=ce.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};QT=GT([ZT(0,pr)],QT);let JT=class extends QT{get mainContainer(){return this._container}constructor(t,i){super(i),this._container=t}};JT=GT([ZT(1,pr)],JT),Sd(KT,QT,1);const YT=fr("dialogService");var XT=function(t,i){return function(e,s){i(e,s,t)}};function tR(t){return t.scheme===xa.file?t.fsPath:t.path}let iR=0;class eR{constructor(t,i,e,s,n,o,r){this.id=++iR,this.type=0,this.actual=t,this.label=t.label,this.confirmBeforeUndo=t.confirmBeforeUndo||!1,this.resourceLabel=i,this.strResource=e,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=s,this.groupOrder=n,this.sourceId=o,this.sourceOrder=r,this.isValid=!0}setValid(t){this.isValid=t}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class sR{constructor(t,i){this.resourceLabel=t,this.reason=i}}class nR{constructor(){this.elements=new Map}createMessage(){const t=[],i=[];for(const[,e]of this.elements)(0===e.reason?t:i).push(e.resourceLabel);const e=[];return t.length>0&&e.push(rt(0,"The following files have been closed and modified on disk: {0}.",t.join(", "))),i.length>0&&e.push(rt(0,"The following files have been modified in an incompatible way: {0}.",i.join(", "))),e.join("\n")}get size(){return this.elements.size}has(t){return this.elements.has(t)}set(t,i){this.elements.set(t,i)}delete(t){return this.elements.delete(t)}}class oR{constructor(t,i,e,s,n,o,r){this.id=++iR,this.type=1,this.actual=t,this.label=t.label,this.confirmBeforeUndo=t.confirmBeforeUndo||!1,this.resourceLabels=i,this.strResources=e,this.groupId=s,this.groupOrder=n,this.sourceId=o,this.sourceOrder=r,this.removedResources=null,this.invalidatedResources=null}canSplit(){return"function"==typeof this.actual.split}removeResource(t,i,e){this.removedResources||(this.removedResources=new nR),this.removedResources.has(i)||this.removedResources.set(i,new sR(t,e))}setValid(t,i,e){e?this.invalidatedResources&&(this.invalidatedResources.delete(i),0===this.invalidatedResources.size&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new nR),this.invalidatedResources.has(i)||this.invalidatedResources.set(i,new sR(t,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class rR{constructor(t,i){this.resourceLabel=t,this.strResource=i,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const t of this._past)1===t.type&&t.removeResource(this.resourceLabel,this.strResource,0);for(const t of this._future)1===t.type&&t.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const t=[];t.push(`* ${this.strResource}:`);for(let i=0;i=0;i--)t.push(` * [REDO] ${this._future[i]}`);return t.join("\n")}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(t,i){1===t.type?t.setValid(this.resourceLabel,this.strResource,i):t.setValid(i)}setElementsValidFlag(t,i){for(const e of this._past)i(e.actual)&&this._setElementValidFlag(e,t);for(const e of this._future)i(e.actual)&&this._setElementValidFlag(e,t)}pushElement(t){for(const t of this._future)1===t.type&&t.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(t),this.versionId++}createSnapshot(t){const i=[];for(let t=0,e=this._past.length;t=0;t--)i.push(this._future[t].id);return new aL(t,i)}restoreSnapshot(t){const i=t.elements.length;let e=!0,s=0,n=-1;for(let o=0,r=this._past.length;o=i||r.id!==t.elements[s])&&(e=!1,n=0),e||1!==r.type||r.removeResource(this.resourceLabel,this.strResource,0)}let o=-1;for(let n=this._future.length-1;n>=0;n--,s++){const r=this._future[n];e&&(s>=i||r.id!==t.elements[s])&&(e=!1,o=n),e||1!==r.type||r.removeResource(this.resourceLabel,this.strResource,0)}-1!==n&&(this._past=this._past.slice(0,n)),-1!==o&&(this._future=this._future.slice(o+1)),this.versionId++}getElements(){const t=[],i=[];for(const i of this._past)t.push(i.actual);for(const t of this._future)i.push(t.actual);return{past:t,future:i}}getClosestPastElement(){return 0===this._past.length?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return 0===this._future.length?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(t,i){for(let e=this._past.length-1;e>=0;e--)if(this._past[e]===t){i.has(this.strResource)?this._past[e]=i.get(this.strResource):this._past.splice(e,1);break}this.versionId++}splitFutureWorkspaceElement(t,i){for(let e=this._future.length-1;e>=0;e--)if(this._future[e]===t){i.has(this.strResource)?this._future[e]=i.get(this.strResource):this._future.splice(e,1);break}this.versionId++}moveBackward(t){this._past.pop(),this._future.push(t),this.versionId++}moveForward(t){this._future.pop(),this._past.push(t),this.versionId++}}class hR{constructor(t){this.editStacks=t,this._versionIds=[];for(let t=0,i=this.editStacks.length;ti.sourceOrder)&&(i=o,e=s)}return[i,e]}canUndo(t){if(t instanceof uL){const[,i]=this._findClosestUndoElementWithSource(t.id);return!!i}const i=this.getUriComparisonKey(t);return!!this._editStacks.has(i)&&this._editStacks.get(i).hasPastElements()}_onError(t,i){Pi(t);for(const t of i.strResources)this.removeElements(t);this._notificationService.error(t)}_acquireLocks(t){for(const i of t.editStacks)if(i.locked)throw new Error("Cannot acquire edit stack lock");for(const i of t.editStacks)i.locked=!0;return()=>{for(const i of t.editStacks)i.locked=!1}}_safeInvokeWithLocks(t,i,e,s,n){const o=this._acquireLocks(e);let r;try{r=i()}catch(i){return o(),s.dispose(),this._onError(i,t)}return r?r.then((()=>(o(),s.dispose(),n())),(i=>(o(),s.dispose(),this._onError(i,t)))):(o(),s.dispose(),n())}async _invokeWorkspacePrepare(t){if(void 0===t.actual.prepareUndoRedo)return ie.None;const i=t.actual.prepareUndoRedo();return void 0===i?ie.None:i}_invokeResourcePrepare(t,i){if(1!==t.actual.type||void 0===t.actual.prepareUndoRedo)return i(ie.None);const e=t.actual.prepareUndoRedo();return e?Qi(e)?i(e):e.then((t=>i(t))):i(ie.None)}_getAffectedEditStacks(t){const i=[];for(const e of t.strResources)i.push(this._editStacks.get(e)||cR);return new hR(i)}_tryToSplitAndUndo(t,i,e,s){if(i.canSplit())return this._splitPastWorkspaceElement(i,e),this._notificationService.warn(s),new lR(this._undo(t,0,!0));for(const t of i.strResources)this.removeElements(t);return this._notificationService.warn(s),new lR}_checkWorkspaceUndo(t,i,e,s){if(i.removedResources)return this._tryToSplitAndUndo(t,i,i.removedResources,rt(0,"Could not undo '{0}' across all files. {1}",i.label,i.removedResources.createMessage()));if(s&&i.invalidatedResources)return this._tryToSplitAndUndo(t,i,i.invalidatedResources,rt(0,"Could not undo '{0}' across all files. {1}",i.label,i.invalidatedResources.createMessage()));const n=[];for(const t of e.editStacks)t.getClosestPastElement()!==i&&n.push(t.resourceLabel);if(n.length>0)return this._tryToSplitAndUndo(t,i,null,rt(0,"Could not undo '{0}' across all files because changes were made to {1}",i.label,n.join(", ")));const o=[];for(const t of e.editStacks)t.locked&&o.push(t.resourceLabel);return o.length>0?this._tryToSplitAndUndo(t,i,null,rt(0,"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",i.label,o.join(", "))):e.isValid()?null:this._tryToSplitAndUndo(t,i,null,rt(0,"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",i.label))}_workspaceUndo(t,i,e){const s=this._getAffectedEditStacks(i),n=this._checkWorkspaceUndo(t,i,s,!1);return n?n.returnValue:this._confirmAndExecuteWorkspaceUndo(t,i,s,e)}_isPartOfUndoGroup(t){if(!t.groupId)return!1;for(const[,i]of this._editStacks){const e=i.getClosestPastElement();if(e){if(e===t){const e=i.getSecondClosestPastElement();if(e&&e.groupId===t.groupId)return!0}if(e.groupId===t.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(t,i,e,s){if(i.canSplit()&&!this._isPartOfUndoGroup(i)){let n;!function(t){t[t.All=0]="All",t[t.This=1]="This",t[t.Cancel=2]="Cancel"}(n||(n={}));const{result:o}=await this._dialogService.prompt({type:nT.Info,message:rt(0,"Would you like to undo '{0}' across all files?",i.label),buttons:[{label:rt(0,"&&Undo in {0} Files",e.editStacks.length),run:()=>n.All},{label:rt(0,"Undo this &&File"),run:()=>n.This}],cancelButton:{run:()=>n.Cancel}});if(o===n.Cancel)return;if(o===n.This)return this._splitPastWorkspaceElement(i,null),this._undo(t,0,!0);const r=this._checkWorkspaceUndo(t,i,e,!1);if(r)return r.returnValue;s=!0}let n;try{n=await this._invokeWorkspacePrepare(i)}catch(t){return this._onError(t,i)}const o=this._checkWorkspaceUndo(t,i,e,!0);if(o)return n.dispose(),o.returnValue;for(const t of e.editStacks)t.moveBackward(i);return this._safeInvokeWithLocks(i,(()=>i.actual.undo()),e,n,(()=>this._continueUndoInGroup(i.groupId,s)))}_resourceUndo(t,i,e){if(i.isValid){if(!t.locked)return this._invokeResourcePrepare(i,(s=>(t.moveBackward(i),this._safeInvokeWithLocks(i,(()=>i.actual.undo()),new hR([t]),s,(()=>this._continueUndoInGroup(i.groupId,e))))));{const t=rt(0,"Could not undo '{0}' because there is already an undo or redo operation running.",i.label);this._notificationService.warn(t)}}else t.flushAllElements()}_findClosestUndoElementInGroup(t){if(!t)return[null,null];let i=null,e=null;for(const[s,n]of this._editStacks){const o=n.getClosestPastElement();o&&o.groupId===t&&(!i||o.groupOrder>i.groupOrder)&&(i=o,e=s)}return[i,e]}_continueUndoInGroup(t,i){if(!t)return;const[,e]=this._findClosestUndoElementInGroup(t);return e?this._undo(e,0,i):void 0}undo(t){if(t instanceof uL){const[,i]=this._findClosestUndoElementWithSource(t.id);return i?this._undo(i,t.id,!1):void 0}return this._undo("string"==typeof t?t:this.getUriComparisonKey(t),0,!1)}_undo(t,i=0,e){if(!this._editStacks.has(t))return;const s=this._editStacks.get(t),n=s.getClosestPastElement();if(n){if(n.groupId){const[t,s]=this._findClosestUndoElementInGroup(n.groupId);if(n!==t&&s)return this._undo(s,i,e)}if((n.sourceId!==i||n.confirmBeforeUndo)&&!e)return this._confirmAndContinueUndo(t,i,n);try{return 1===n.type?this._workspaceUndo(t,n,e):this._resourceUndo(s,n,e)}finally{}}}async _confirmAndContinueUndo(t,i,e){if((await this._dialogService.confirm({message:rt(0,"Would you like to undo '{0}'?",e.label),primaryButton:rt(0,"&&Yes"),cancelButton:rt(0,"No")})).confirmed)return this._undo(t,i,!0)}_findClosestRedoElementWithSource(t){if(!t)return[null,null];let i=null,e=null;for(const[s,n]of this._editStacks){const o=n.getClosestFutureElement();o&&o.sourceId===t&&(!i||o.sourceOrder0)return this._tryToSplitAndRedo(t,i,null,rt(0,"Could not redo '{0}' across all files because changes were made to {1}",i.label,n.join(", ")));const o=[];for(const t of e.editStacks)t.locked&&o.push(t.resourceLabel);return o.length>0?this._tryToSplitAndRedo(t,i,null,rt(0,"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",i.label,o.join(", "))):e.isValid()?null:this._tryToSplitAndRedo(t,i,null,rt(0,"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",i.label))}_workspaceRedo(t,i){const e=this._getAffectedEditStacks(i),s=this._checkWorkspaceRedo(t,i,e,!1);return s?s.returnValue:this._executeWorkspaceRedo(t,i,e)}async _executeWorkspaceRedo(t,i,e){let s;try{s=await this._invokeWorkspacePrepare(i)}catch(t){return this._onError(t,i)}const n=this._checkWorkspaceRedo(t,i,e,!0);if(n)return s.dispose(),n.returnValue;for(const t of e.editStacks)t.moveForward(i);return this._safeInvokeWithLocks(i,(()=>i.actual.redo()),e,s,(()=>this._continueRedoInGroup(i.groupId)))}_resourceRedo(t,i){if(i.isValid){if(!t.locked)return this._invokeResourcePrepare(i,(e=>(t.moveForward(i),this._safeInvokeWithLocks(i,(()=>i.actual.redo()),new hR([t]),e,(()=>this._continueRedoInGroup(i.groupId))))));{const t=rt(0,"Could not redo '{0}' because there is already an undo or redo operation running.",i.label);this._notificationService.warn(t)}}else t.flushAllElements()}_findClosestRedoElementInGroup(t){if(!t)return[null,null];let i=null,e=null;for(const[s,n]of this._editStacks){const o=n.getClosestFutureElement();o&&o.groupId===t&&(!i||o.groupOrder=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([XT(0,YT),XT(1,rT)],aR);class lR{constructor(t){this.returnValue=t}}function uR(t,i,e){return Math.min(Math.max(t,i),e)}Sd(cL,aR,1);class dR{constructor(){this._n=1,this._val=0}update(t){return this._val=this._val+(t-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class fR{constructor(t){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(t),this._values.fill(0,0,t)}update(t){const i=this._values[this._index];return this._values[this._index]=t,this._index=(this._index+1)%this._values.length,this._sum-=i,this._sum+=t,this._nFa(wR.of(i),t)),0)}get(t){const i=this._key(t),e=this._cache.get(i);return e?uR(e.value,this._min,this._max):this.default()}update(t,i){const e=this._key(t);let s=this._cache.get(e);s||(s=new fR(6),this._cache.set(e,s));const n=uR(s.update(i),this._min,this._max);return Ca(t.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${t.uri.toString()} is ${n}ms`),n}_overall(){const t=new dR;for(const[,i]of this._cache)t.update(i.value);return t.value}default(){return uR(0|this._overall()||this._default,this._min,this._max)}}let yR=class{constructor(t,i){this._logService=t,this._data=new Map,this._isDev=i.isExtensionDevelopment||!i.isBuilt}for(t,i,e){var s,n,o;const r=null!==(s=null==e?void 0:e.min)&&void 0!==s?s:50,h=null!==(n=null==e?void 0:e.max)&&void 0!==n?n:r**2,c=null!==(o=null==e?void 0:e.key)&&void 0!==o?o:void 0,a=`${wR.of(t)},${r}${c?","+c:""}`;let l=this._data.get(a);return l||(this._isDev?l=new bR(this._logService,i,t,0|this._overallAverage()||1.5*r,r,h):(this._logService.debug(`[DEBOUNCE: ${i}] is disabled in developed mode`),l=new vR(1.5*r)),this._data.set(a,l)),l}_overallAverage(){const t=new dR;for(const i of this._data.values())t.update(i.default());return t.value}};yR=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([gR(0,zh),gR(1,pR)],yR),Sd(mR,yR,1);class kR{static create(t,i){return new kR(t,new xR(i))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(t,i){this._startLineNumber=t,this._tokens=i,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(t){return this._startLineNumber<=t&&t<=this._endLineNumber?this._tokens.getLineTokens(t-this._startLineNumber):null}getRange(){const t=this._tokens.getRange();return t?new Ls(this._startLineNumber+t.startLineNumber,t.startColumn,this._startLineNumber+t.endLineNumber,t.endColumn):t}removeTokens(t){this._startLineNumber+=this._tokens.removeTokens(t.startLineNumber-this._startLineNumber,t.startColumn-1,t.endLineNumber-this._startLineNumber,t.endColumn-1),this._updateEndLineNumber()}split(t){const i=t.startLineNumber-this._startLineNumber,e=t.endLineNumber-this._startLineNumber,[s,n,o]=this._tokens.split(i,t.startColumn-1,e,t.endColumn-1);return[new kR(this._startLineNumber,s),new kR(this._startLineNumber+o,n)]}applyEdit(t,i){const[e,s,n]=GD(i);this.acceptEdit(t,e,s,n,i.length>0?i.charCodeAt(0):0)}acceptEdit(t,i,e,s,n){this._acceptDeleteRange(t),this._acceptInsertText(new Ms(t.startLineNumber,t.startColumn),i,e,s,n),this._updateEndLineNumber()}_acceptDeleteRange(t){if(t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn)return;const i=t.startLineNumber-this._startLineNumber,e=t.endLineNumber-this._startLineNumber;if(e<0)return void(this._startLineNumber-=e-i);const s=this._tokens.getMaxDeltaLine();if(!(i>=s+1)){if(i<0&&e>=s+1)return this._startLineNumber=0,void this._tokens.clear();i<0?(this._startLineNumber-=-i,this._tokens.acceptDeleteRange(t.startColumn-1,0,0,e,t.endColumn-1)):this._tokens.acceptDeleteRange(0,i,t.startColumn-1,e,t.endColumn-1)}}_acceptInsertText(t,i,e,s,n){if(0===i&&0===e)return;const o=t.lineNumber-this._startLineNumber;o<0?this._startLineNumber+=i:o>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(o,t.column-1,i,e,s,n)}}class xR{constructor(t){this._tokens=t,this._tokenCount=t.length/4}toString(t){const i=[];for(let e=0;et)){let n=s;for(;n>i&&this._getDeltaLine(n-1)===t;)n--;let o=s;for(;ot||l===t&&d>=i)&&(lt||u===t&&f>=i){if(un?p-=n-e:p=e;else if(d===i&&f===e){if(!(d===s&&p>n)){a=!0;continue}p-=n-e}else if(dn)){a=!0;continue}d=i,f=e,p=f+(p-n)}else if(d>s){if(0===h&&!a){c=r;break}d-=h}else{if(!(d===s&&f>=n))throw new Error("Not possible!");t&&0===d&&(f+=t,p+=t),d-=h,f-=n-e,p-=n-e}const m=4*c;o[m]=d,o[m+1]=f,o[m+2]=p,o[m+3]=g,c++}this._tokenCount=c}acceptInsertText(t,i,e,s,n,o){const r=0===e&&1===s&&(o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122),h=this._tokens,c=this._tokenCount;for(let o=0;o0&&i>=1;t>0&&this._logService.getLevel()===Hh.Trace&&(this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${i.toString(2)} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`),r.push("not-in-legend"));const s=this._themeService.getColorTheme().getTokenStyleMetadata(n,r,e);void 0===s?o=2147483647:(o=0,void 0!==s.italic&&(o|=1|(s.italic?1:0)<<11),void 0!==s.bold&&(o|=2|(s.bold?2:0)<<11),void 0!==s.underline&&(o|=4|(s.underline?4:0)<<11),void 0!==s.strikethrough&&(o|=8|(s.strikethrough?8:0)<<11),s.foreground&&(o|=16|s.foreground<<15),0===o&&(o=2147483647))}else this._logService.getLevel()===Hh.Trace&&this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${t} for legend: ${JSON.stringify(this._legend.tokenTypes)}`),o=2147483647,n="not-in-legend";this._hashTable.add(t,i,s,o),this._logService.getLevel()===Hh.Trace&&this._logService.trace(`SemanticTokensProviderStyling ${t} (${n}) / ${i} (${r.join(" ")}): foreground ${Pg.getForeground(o)}, fontStyle ${Pg.getFontStyle(o).toString(2)}`)}return o}warnOverlappingSemanticTokens(t,i){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,console.warn(`Overlapping semantic tokens detected at lineNumber ${t}, column ${i}`))}warnInvalidLengthSemanticTokens(t,i){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,console.warn(`Semantic token with invalid length detected at lineNumber ${t}, column ${i}`))}warnInvalidEditStart(t,i,e,s,n){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,console.warn(`Invalid semantic tokens edit detected (previousResultId: ${t}, resultId: ${i}) at edit #${e}: The provided start offset ${s} is outside the previous data (length ${n}).`))}};function ER(t,i,e){const s=t.data,n=t.data.length/5|0,o=Math.max(Math.ceil(n/1024),400),r=[];let h=0,c=1,a=0;for(;ht&&0===s[5*i];)i--;if(i-1===t){let t=l;for(;t+1l)i.warnOverlappingSemanticTokens(r,l+1);else{const t=i.getMetadata(w,v,e);2147483647!==t&&(0===f&&(f=r),u[d]=r-f,u[d+1]=l,u[d+2]=m,u[d+3]=t,d+=4,p=r,g=m)}c=r,a=l,h++}d!==u.length&&(u=u.subarray(0,d));const m=kR.create(f,u);r.push(m)}return r}DR=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([SR(1,tx),SR(2,kd),SR(3,zh)],DR);class AR{constructor(t,i,e,s){this.tokenTypeIndex=t,this.tokenModifierSet=i,this.languageId=e,this.metadata=s,this.next=null}}class MR{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=MR._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const t=this._elements;this._currentLengthIndex++,this._currentLength=MR._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1{this._caches=new WeakMap})))}getStyling(t){return this._caches.has(t)||this._caches.set(t,new DR(t.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(t)}};TR=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([FR(0,tx),FR(1,zh),FR(2,kd)],TR),Sd(LR,TR,1);const RR="**",OR="/",IR="[/\\\\]",_R="[^/\\\\]",NR=/\//g;function BR(t,i){switch(t){case 0:return"";case 1:return`${_R}*?`;default:return`(?:${IR}|${_R}+${IR}${i?`|${IR}${_R}+`:""})*?`}}function PR(t,i){if(!t)return[];const e=[];let s=!1,n=!1,o="";for(const r of t){switch(r){case i:if(!s&&!n){e.push(o),o="";continue}break;case"{":s=!0;break;case"}":s=!1;break;case"[":n=!0;break;case"]":n=!1}o+=r}return o&&e.push(o),e}function $R(t){if(!t)return"";let i="";const e=PR(t,OR);if(e.every((t=>t===RR)))i=".*";else{let t=!1;e.forEach(((s,n)=>{if(s===RR){if(t)return;i+=BR(2,n===e.length-1)}else{let t=!1,o="",r=!1,h="";for(const e of s)if("}"!==e&&t)o+=e;else if(!r||"]"===e&&h)switch(e){case"{":t=!0;continue;case"[":r=!0;continue;case"}":{const e=`(?:${PR(o,",").map((t=>$R(t))).join("|")})`;i+=e,t=!1,o="";break}case"]":i+="["+h+"]",r=!1,h="";break;case"?":i+=_R;continue;case"*":i+=BR(1);continue;default:i+=Zn(e)}else{let t;t="-"===e?e:"^"!==e&&"!"!==e||h?e===OR?"":Zn(e):"^",h+=t}nZR(t,i))).filter((t=>t!==GR)),t),s=e.length;if(!s)return GR;if(1===s)return e[0];const n=function(i,s){for(let n=0,o=e.length;n!!t.allBasenames));o&&(n.allBasenames=o.allBasenames);const r=e.reduce(((t,i)=>i.allPaths?t.concat(i.allPaths):t),[]);return r.length&&(n.allPaths=r),n}(e,i):(n=VR.exec(QR(e,i)))?JR(n[1].substr(1),e,!0):(n=UR.exec(QR(e,i)))?JR(n[1],e,!1):function(t){try{const i=new RegExp(`^${$R(t)}$`);return function(e){return i.lastIndex=0,"string"==typeof e&&i.test(e)?t:null}}catch(t){return GR}}(e),qR.set(s,o)),function(t,i){if("string"==typeof i)return t;const e=function(e,s){return fA(e,i.base,!Dt)?t(Jn(e.substr(i.base.length),ls),s):null};return e.allBasenames=t.allBasenames,e.allPaths=t.allPaths,e.basenames=t.basenames,e.patterns=t.patterns,e}(o,t)}function QR(t,i){return i.trimForExclusions&&t.endsWith("/**")?t.substr(0,t.length-2):t}function JR(t,i,e){const s=ls===ss.sep,n=s?t:t.replace(NR,ls),o=ls+n,r=ss.sep+t;let h;return h=e?function(e){return"string"!=typeof e||e!==n&&!e.endsWith(o)&&(s||e!==t&&!e.endsWith(r))?null:i}:function(e){return"string"!=typeof e||e!==n&&(s||e!==t)?null:i},h.allPaths=[(e?"*/":"./")+t],h}function YR(t,i={}){if(!t)return KR;if("string"==typeof t||(e=t)&&"string"==typeof e.base&&"string"==typeof e.pattern){const e=ZR(t,i);if(e===GR)return KR;const s=function(t,i){return!!e(t,i)};return e.allBasenames&&(s.allBasenames=e.allBasenames),e.allPaths&&(s.allPaths=e.allPaths),s}var e;return function(t,i){const e=XR(Object.getOwnPropertyNames(t).map((e=>function(t,i,e){if(!1===i)return GR;const s=ZR(t,e);if(s===GR)return GR;if("boolean"==typeof i)return s;if(i){const e=i.when;if("string"==typeof e){const i=(i,n,o,r)=>{if(!r||!s(i,n))return null;const h=r(e.replace("$(basename)",(()=>o)));return nc(h)?h.then((i=>i?t:null)):h?t:null};return i.requiresSiblings=!0,i}}return s}(e,t[e],i))).filter((t=>t!==GR))),s=e.length;if(!s)return GR;if(!e.some((t=>!!t.requiresSiblings))){if(1===s)return e[0];const t=function(t,i){let s;for(let n=0,o=e.length;n{for(const t of s){const i=await t;if("string"==typeof i)return i}return null})():null},i=e.find((t=>!!t.allBasenames));i&&(t.allBasenames=i.allBasenames);const n=e.reduce(((t,i)=>i.allPaths?t.concat(i.allPaths):t),[]);return n.length&&(t.allPaths=n),t}const n=function(t,i,s){let n,o;for(let r=0,h=e.length;r{for(const t of o){const i=await t;if("string"==typeof i)return i}return null})():null},o=e.find((t=>!!t.allBasenames));o&&(n.allBasenames=o.allBasenames);const r=e.reduce(((t,i)=>i.allPaths?t.concat(i.allPaths):t),[]);return r.length&&(n.allPaths=r),n}(t,i)}function XR(t,i){const e=t.filter((t=>!!t.basenames));if(e.length<2)return t;const s=e.reduce(((t,i)=>{const e=i.basenames;return e?t.concat(e):t}),[]);let n;if(i){n=[];for(let t=0,e=s.length;t{const e=i.patterns;return e?t.concat(e):t}),[]);const o=function(t,i){if("string"!=typeof t)return null;if(!i){let e;for(e=t.length;e>0;e--){const i=t.charCodeAt(e-1);if(47===i||92===i)break}i=t.substr(e)}const e=s.indexOf(i);return-1!==e?n[e]:null};o.basenames=s,o.patterns=n,o.allBasenames=s;const r=t.filter((t=>!t.basenames));return r.push(o),r}function tO(t,i,e,s,n,o){if(Array.isArray(t)){let r=0;for(const h of t){const t=tO(h,i,e,s,n,o);if(10===t)return t;t>r&&(r=t)}return r}if("string"==typeof t)return s?"*"===t?5:t===e?10:0:0;if(t){const{language:c,pattern:a,scheme:l,hasAccessToAllModels:u,notebookType:d}=t;if(!s&&!u)return 0;d&&n&&(i=n);let f=0;if(l)if(l===i.scheme)f=10;else{if("*"!==l)return 0;f=5}if(c)if(c===e)f=10;else{if("*"!==c)return 0;f=Math.max(f,5)}if(d)if(d===o)f=10;else{if("*"!==d||void 0===o)return 0;f=Math.max(f,5)}if(a){let t;if(t="string"==typeof a?a:{...a,base:ns(a.base)},t!==i.fsPath&&(h=i.fsPath,!(r=t)||"string"!=typeof h||!YR(r)(h,void 0,undefined)))return 0;f=10}return f}return 0;var r,h}function iO(t){return"string"!=typeof t&&(Array.isArray(t)?t.every(iO):!!t.exclusive)}class eO{constructor(t,i,e,s){this.uri=t,this.languageId=i,this.notebookUri=e,this.notebookType=s}equals(t){var i,e;return this.notebookType===t.notebookType&&this.languageId===t.languageId&&this.uri.toString()===t.uri.toString()&&(null===(i=this.notebookUri)||void 0===i?void 0:i.toString())===(null===(e=t.notebookUri)||void 0===e?void 0:e.toString())}}class sO{constructor(t){this._notebookInfoResolver=t,this._clock=0,this._entries=[],this._onDidChange=new fe,this.onDidChange=this._onDidChange.event}register(t,i){let e={selector:t,provider:i,_score:-1,_time:this._clock++};return this._entries.push(e),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),Xi((()=>{if(e){const t=this._entries.indexOf(e);t>=0&&(this._entries.splice(t,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),e=void 0)}}))}has(t){return this.all(t).length>0}all(t){if(!t)return[];this._updateScores(t);const i=[];for(const t of this._entries)t._score>0&&i.push(t.provider);return i}ordered(t){const i=[];return this._orderedForEach(t,(t=>i.push(t.provider))),i}orderedGroups(t){const i=[];let e,s;return this._orderedForEach(t,(t=>{e&&s===t._score?e.push(t.provider):(s=t._score,e=[t.provider],i.push(e))})),i}_orderedForEach(t,i){this._updateScores(t);for(const t of this._entries)t._score>0&&i(t)}_updateScores(t){var i,e;const s=null===(i=this._notebookInfoResolver)||void 0===i?void 0:i.call(this,t.uri),n=s?new eO(t.uri,t.getLanguageId(),s.uri,s.type):new eO(t.uri,t.getLanguageId(),void 0,void 0);if(!(null===(e=this._lastCandidate)||void 0===e?void 0:e.equals(n))){this._lastCandidate=n;for(const i of this._entries)if(i._score=tO(i.selector,n.uri,n.languageId,Kf(t),n.notebookUri,n.notebookType),iO(i.selector)&&i._score>0){for(const t of this._entries)t._score=0;i._score=1e3;break}this._entries.sort(sO._compareByScoreAndTime)}}static _compareByScoreAndTime(t,i){return t._scorei._score?-1:nO(t.selector)&&!nO(i.selector)?1:!nO(t.selector)&&nO(i.selector)?-1:t._timei._time?-1:0}}function nO(t){return"string"!=typeof t&&(Array.isArray(t)?t.some(nO):Boolean(t.isBuiltin))}Sd(Cg,class{constructor(){this.referenceProvider=new sO(this._score.bind(this)),this.renameProvider=new sO(this._score.bind(this)),this.codeActionProvider=new sO(this._score.bind(this)),this.definitionProvider=new sO(this._score.bind(this)),this.typeDefinitionProvider=new sO(this._score.bind(this)),this.declarationProvider=new sO(this._score.bind(this)),this.implementationProvider=new sO(this._score.bind(this)),this.documentSymbolProvider=new sO(this._score.bind(this)),this.inlayHintsProvider=new sO(this._score.bind(this)),this.colorProvider=new sO(this._score.bind(this)),this.codeLensProvider=new sO(this._score.bind(this)),this.documentFormattingEditProvider=new sO(this._score.bind(this)),this.documentRangeFormattingEditProvider=new sO(this._score.bind(this)),this.onTypeFormattingEditProvider=new sO(this._score.bind(this)),this.signatureHelpProvider=new sO(this._score.bind(this)),this.hoverProvider=new sO(this._score.bind(this)),this.documentHighlightProvider=new sO(this._score.bind(this)),this.multiDocumentHighlightProvider=new sO(this._score.bind(this)),this.selectionRangeProvider=new sO(this._score.bind(this)),this.foldingRangeProvider=new sO(this._score.bind(this)),this.linkProvider=new sO(this._score.bind(this)),this.inlineCompletionsProvider=new sO(this._score.bind(this)),this.completionProvider=new sO(this._score.bind(this)),this.linkedEditingRangeProvider=new sO(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new sO(this._score.bind(this)),this.documentSemanticTokensProvider=new sO(this._score.bind(this)),this.documentOnDropEditProvider=new sO(this._score.bind(this)),this.documentPasteEditProvider=new sO(this._score.bind(this))}_score(t){var i;return null===(i=this._notebookTypeResolver)||void 0===i?void 0:i.call(this,t)}},1);const oO=fr("IWorkspaceEditService");class rO{constructor(t){this.metadata=t}static convert(t){return t.edits.map((t=>{if(hO.is(t))return hO.lift(t);if(cO.is(t))return cO.lift(t);throw new Error("Unsupported edit")}))}}class hO extends rO{static is(t){return t instanceof hO||$(t)&&ws.isUri(t.resource)&&$(t.textEdit)}static lift(t){return t instanceof hO?t:new hO(t.resource,t.textEdit,t.versionId,t.metadata)}constructor(t,i,e,s){super(s),this.resource=t,this.textEdit=i,this.versionId=e}}class cO extends rO{static is(t){return t instanceof cO||$(t)&&(Boolean(t.newResource)||Boolean(t.oldResource))}static lift(t){return t instanceof cO?t:new cO(t.oldResource,t.newResource,t.options,t.metadata)}constructor(t,i,e={},s){super(s),this.oldResource=t,this.newResource=i,this.options=e}}const aO={enableSplitViewResizing:!0,splitViewDefaultRatio:.5,renderSideBySide:!0,renderMarginRevertIcon:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit",diffAlgorithm:"advanced",accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0},lO=Object.freeze({id:"editor",order:5,type:"object",title:rt(0,"Editor"),scope:5}),uO={...lO,properties:{"editor.tabSize":{type:"number",default:Ht.tabSize,minimum:1,markdownDescription:rt(0,"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:rt(0,'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:Ht.insertSpaces,markdownDescription:rt(0,"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:Ht.detectIndentation,markdownDescription:rt(0,"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:Ht.trimAutoWhitespace,description:rt(0,"Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:Ht.largeFileOptimizations,description:rt(0,"Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{enum:["off","currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[rt(0,"Turn off Word Based Suggestions."),rt(0,"Only suggest words from the active document."),rt(0,"Suggest words from all open documents of the same language."),rt(0,"Suggest words from all open documents.")],description:rt(0,"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:[rt(0,"Semantic highlighting enabled for all color themes."),rt(0,"Semantic highlighting disabled for all color themes."),rt(0,"Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:rt(0,"Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:rt(0,"Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:rt(0,"Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:!1,description:rt(0,"Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:!1,description:rt(0,"Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:!1,description:rt(0,"Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only."),tags:["experimental"]},"editor.language.brackets":{type:["array","null"],default:null,description:rt(0,"Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:rt(0,"The opening bracket character or string sequence.")},{type:"string",description:rt(0,"The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:rt(0,"Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:rt(0,"The opening bracket character or string sequence.")},{type:"string",description:rt(0,"The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:aO.maxComputationTime,description:rt(0,"Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:aO.maxFileSize,description:rt(0,"Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:aO.renderSideBySide,description:rt(0,"Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderSideBySideInlineBreakpoint":{type:"number",default:aO.renderSideBySideInlineBreakpoint,description:rt(0,"If the diff editor width is smaller than this value, the inline view is used.")},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:"boolean",default:aO.useInlineViewWhenSpaceIsLimited,description:rt(0,"If enabled and the editor width is too small, the inline view is used.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:aO.renderMarginRevertIcon,description:rt(0,"When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:aO.ignoreTrimWhitespace,description:rt(0,"When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:aO.renderIndicators,description:rt(0,"Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:aO.diffCodeLens,description:rt(0,"Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:aO.diffWordWrap,markdownEnumDescriptions:[rt(0,"Lines will never wrap."),rt(0,"Lines will wrap at the viewport width."),rt(0,"Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["legacy","advanced"],default:aO.diffAlgorithm,markdownEnumDescriptions:[rt(0,"Uses the legacy diffing algorithm."),rt(0,"Uses the advanced diffing algorithm.")],tags:["experimental"]},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:aO.hideUnchangedRegions.enabled,markdownDescription:rt(0,"Controls whether the diff editor shows unchanged regions.")},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:aO.hideUnchangedRegions.revealLineCount,markdownDescription:rt(0,"Controls how many lines are used for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:aO.hideUnchangedRegions.minimumLineCount,markdownDescription:rt(0,"Controls how many lines are used as a minimum for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:aO.hideUnchangedRegions.contextLineCount,markdownDescription:rt(0,"Controls how many lines are used as context when comparing unchanged regions."),minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:aO.experimental.showMoves,markdownDescription:rt(0,"Controls whether the diff editor should show detected code moves.")},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:aO.experimental.showEmptyDecorations,description:rt(0,"Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.")}}};for(const t of Ii){const i=t.schema;if(void 0!==i)if(void 0!==(dO=i).type||void 0!==dO.anyOf)uO.properties[`editor.${t.name}`]=i;else for(const t in i)Object.hasOwnProperty.call(i,t)&&(uO.properties[t]=i[t])}var dO;let fO=null;function pO(){return null===fO&&(fO=Object.create(null),Object.keys(uO.properties).forEach((t=>{fO[t]=!0}))),fO}Eh.as(Ld).registerConfiguration(uO);class gO{static insert(t,i){return{range:new Ls(t.lineNumber,t.column,t.lineNumber,t.column),text:i,forceMoveMarkers:!0}}static delete(t){return{range:t,text:null}}static replace(t,i){return{range:t,text:i}}static replaceMove(t,i){return{range:t,text:i,forceMoveMarkers:!0}}}function mO(t){return Object.isFrozen(t)?t:function(t){if(!t||"object"!=typeof t)return t;const i=[t];for(;i.length>0;){const t=i.shift();Object.freeze(t);for(const e in t)if(Y.call(t,e)){const s=t[e];"object"!=typeof s||Object.isFrozen(s)||W(s)||i.push(s)}}return t}(t)}class wO{constructor(t={},i=[],e=[],s){this._contents=t,this._keys=i,this._overrides=e,this.raw=s,this.overrideConfigurations=new Map}get rawConfiguration(){var t;if(!this._rawConfiguration)if(null===(t=this.raw)||void 0===t?void 0:t.length){const t=this.raw.map((t=>{if(t instanceof wO)return t;const i=new vO("");return i.parseRaw(t),i.configurationModel}));this._rawConfiguration=t.reduce(((t,i)=>i===t?i:t.merge(i)),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 0===this._keys.length&&0===Object.keys(this._contents).length&&0===this._overrides.length}getValue(t){return t?yd(this.contents,t):this.contents}inspect(t,i){const e=this.rawConfiguration.getValue(t);return{value:e,override:i?this.rawConfiguration.getOverrideValue(t,i):void 0,merged:i?this.rawConfiguration.override(i).getValue(t):e}}getOverrideValue(t,i){const e=this.getContentsForOverrideIdentifer(i);return e?t?yd(e,t):e:void 0}override(t){let i=this.overrideConfigurations.get(t);return i||(i=this.createOverrideConfigurationModel(t),this.overrideConfigurations.set(t,i)),i}merge(...t){var i,e;const s=J(this.contents),n=J(this.overrides),o=[...this.keys],r=(null===(i=this.raw)||void 0===i?void 0:i.length)?[...this.raw]:[this];for(const i of t)if(r.push(...(null===(e=i.raw)||void 0===e?void 0:e.length)?i.raw:[i]),!i.isEmpty()){this.mergeContents(s,i.contents);for(const t of i.overrides){const[i]=n.filter((i=>u(i.identifiers,t.identifiers)));i?(this.mergeContents(i.contents,t.contents),i.keys.push(...t.keys),i.keys=k(i.keys)):n.push(J(t))}for(const t of i.keys)-1===o.indexOf(t)&&o.push(t)}return new wO(s,o,n,r.every((t=>t instanceof wO))?void 0:r)}createOverrideConfigurationModel(t){const i=this.getContentsForOverrideIdentifer(t);if(!i||"object"!=typeof i||!Object.keys(i).length)return this;const e={};for(const t of k([...Object.keys(this.contents),...Object.keys(i)])){let s=this.contents[t];const n=i[t];n&&("object"==typeof s&&"object"==typeof n?(s=J(s),this.mergeContents(s,n)):s=n),e[t]=s}return new wO(e,this.keys,this.overrides)}mergeContents(t,i){for(const e of Object.keys(i))e in t&&$(t[e])&&$(i[e])?this.mergeContents(t[e],i[e]):t[e]=J(i[e])}getContentsForOverrideIdentifer(t){let i=null,e=null;const s=t=>{t&&(e?this.mergeContents(e,t):e=J(t))};for(const e of this.overrides)1===e.identifiers.length&&e.identifiers[0]===t?i=e.contents:e.identifiers.includes(t)&&s(e.contents);return s(i),e}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}addValue(t,i){this.updateValue(t,i,!0)}setValue(t,i){this.updateValue(t,i,!1)}removeValue(t){const i=this.keys.indexOf(t);-1!==i&&(this.keys.splice(i,1),vd(this.contents,t),jd.test(t)&&this.overrides.splice(this.overrides.findIndex((i=>u(i.identifiers,zd(t)))),1))}updateValue(t,i,e){wd(this.contents,t,i,(t=>console.error(t))),(e=e||-1===this.keys.indexOf(t))&&this.keys.push(t),jd.test(t)&&this.overrides.push({identifiers:zd(t),keys:Object.keys(this.contents[t]),contents:md(this.contents[t],(t=>console.error(t)))})}}class vO{constructor(t){this._name=t,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||new wO}parseRaw(t,i){this._raw=t;const{contents:e,keys:s,overrides:n,restricted:o,hasExcludedProperties:r}=this.doParseRaw(t,i);this._configurationModel=new wO(e,s,n,r?[t]:void 0),this._restrictedConfigurations=o||[]}doParseRaw(t,i){const e=Eh.as(Ld).getConfigurationProperties(),s=this.filter(t,e,!0,i);return{contents:md(t=s.raw,(t=>console.error(`Conflict in settings file ${this._name}: ${t}`))),keys:Object.keys(t),overrides:this.toOverrides(t,(t=>console.error(`Conflict in settings file ${this._name}: ${t}`))),restricted:s.restricted,hasExcludedProperties:s.hasExcludedProperties}}filter(t,i,e,s){var n,o,r;let h=!1;if(!(null==s?void 0:s.scopes)&&!(null==s?void 0:s.skipRestricted)&&!(null===(n=null==s?void 0:s.exclude)||void 0===n?void 0:n.length))return{raw:t,restricted:[],hasExcludedProperties:h};const c={},a=[];for(const n in t)if(jd.test(n)&&e){const e=this.filter(t[n],i,!1,s);c[n]=e.raw,h=h||e.hasExcludedProperties,a.push(...e.restricted)}else{const e=i[n],l=e?void 0!==e.scope?e.scope:3:void 0;(null==e?void 0:e.restricted)&&a.push(n),(null===(o=s.exclude)||void 0===o?void 0:o.includes(n))||!(null===(r=s.include)||void 0===r?void 0:r.includes(n))&&(void 0!==l&&void 0!==s.scopes&&!s.scopes.includes(l)||s.skipRestricted&&(null==e?void 0:e.restricted))?h=!0:c[n]=t[n]}return{raw:c,restricted:a,hasExcludedProperties:h}}toOverrides(t,i){const e=[];for(const s of Object.keys(t))if(jd.test(s)){const n={};for(const i in t[s])n[i]=t[s][i];e.push({identifiers:zd(s),keys:Object.keys(n),contents:md(n,i)})}return e}}class bO{constructor(t,i,e,s,n,o,r,h,c,a,l,u,d){this.key=t,this.overrides=i,this._value=e,this.overrideIdentifiers=s,this.defaultConfiguration=n,this.policyConfiguration=o,this.applicationConfiguration=r,this.userConfiguration=h,this.localUserConfiguration=c,this.remoteUserConfiguration=a,this.workspaceConfiguration=l,this.folderConfigurationModel=u,this.memoryConfigurationModel=d}inspect(t,i,e){const s=t.inspect(i,e);return{get value(){return mO(s.value)},get override(){return mO(s.override)},get merged(){return mO(s.merged)}}}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.inspect(this.userConfiguration,this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get user(){return void 0!==this.userInspectValue.value||void 0!==this.userInspectValue.override?{value:this.userInspectValue.value,override:this.userInspectValue.override}:void 0}}class yO{constructor(t,i,e,s,n=new wO,o=new wO,r=new Hp,h=new wO,c=new Hp){this._defaultConfiguration=t,this._policyConfiguration=i,this._applicationConfiguration=e,this._localUserConfiguration=s,this._remoteUserConfiguration=n,this._workspaceConfiguration=o,this._folderConfigurations=r,this._memoryConfiguration=h,this._memoryConfigurationByResource=c,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new Hp,this._userConfiguration=null}getValue(t,i,e){return this.getConsolidatedConfigurationModel(t,i,e).getValue(t)}updateValue(t,i,e={}){let s;e.resource?(s=this._memoryConfigurationByResource.get(e.resource),s||(s=new wO,this._memoryConfigurationByResource.set(e.resource,s))):s=this._memoryConfiguration,void 0===i?s.removeValue(t):s.setValue(t,i),e.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(t,i,e){const s=this.getConsolidatedConfigurationModel(t,i,e),n=this.getFolderConfigurationModelForResource(i.resource,e),o=i.resource&&this._memoryConfigurationByResource.get(i.resource)||this._memoryConfiguration,r=new Set;for(const i of s.overrides)for(const e of i.identifiers)void 0!==s.getOverrideValue(t,e)&&r.add(e);return new bO(t,i,s.getValue(t),r.size?[...r]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,e?this._workspaceConfiguration:void 0,n||void 0,o)}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(t,i,e){let s=this.getConsolidatedConfigurationModelForResource(i,e);return i.overrideIdentifier&&(s=s.override(i.overrideIdentifier)),this._policyConfiguration.isEmpty()||void 0===this._policyConfiguration.getValue(t)||(s=s.merge(this._policyConfiguration)),s}getConsolidatedConfigurationModelForResource({resource:t},i){let e=this.getWorkspaceConsolidatedConfiguration();if(i&&t){const s=i.getFolder(t);s&&(e=this.getFolderConsolidatedConfiguration(s.uri)||e);const n=this._memoryConfigurationByResource.get(t);n&&(e=e.merge(n))}return e}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(t){let i=this._foldersConsolidatedConfigurations.get(t);if(!i){const e=this.getWorkspaceConsolidatedConfiguration(),s=this._folderConfigurations.get(t);s?(i=e.merge(s),this._foldersConsolidatedConfigurations.set(t,i)):i=e}return i}getFolderConfigurationModelForResource(t,i){if(i&&t){const e=i.getFolder(t);if(e)return this._folderConfigurations.get(e.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(((t,i)=>{const{contents:e,overrides:s,keys:n}=this._folderConfigurations.get(i);return t.push([i,{contents:e,overrides:s,keys:n}]),t}),[])}}static parse(t){const i=this.parseConfigurationModel(t.defaults),e=this.parseConfigurationModel(t.policy),s=this.parseConfigurationModel(t.application),n=this.parseConfigurationModel(t.user),o=this.parseConfigurationModel(t.workspace),r=t.folders.reduce(((t,i)=>(t.set(ws.revive(i[0]),this.parseConfigurationModel(i[1])),t)),new Hp);return new yO(i,e,s,n,new wO,o,r,new wO,new Hp)}static parseConfigurationModel(t){return new wO(t.contents,t.keys,t.overrides)}}class kO{constructor(t,i,e,s){this.change=t,this.previous=i,this.currentConfiguraiton=e,this.currentWorkspace=s,this._marker="\n",this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=".".charCodeAt(0),this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const i of t.keys)this.affectedKeys.add(i);for(const[,i]of t.overrides)for(const t of i)this.affectedKeys.add(t);this._affectsConfigStr=this._marker;for(const t of this.affectedKeys)this._affectsConfigStr+=t+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=yO.parse(this.previous.data)),this._previousConfiguration}affectsConfiguration(t,i){var e;const s=this._marker+t,n=this._affectsConfigStr.indexOf(s);if(n<0)return!1;const o=n+s.length;if(o>=this._affectsConfigStr.length)return!1;const r=this._affectsConfigStr.charCodeAt(o);return(r===this._markerCode1||r===this._markerCode2)&&(!i||!et(this.previousConfiguration?this.previousConfiguration.getValue(t,i,null===(e=this.previous)||void 0===e?void 0:e.workspace):void 0,this.currentConfiguraiton.getValue(t,i,this.currentWorkspace)))}}const xO={kind:0},CO={kind:1};class SO{constructor(t,i,e){var s;this._log=e,this._defaultKeybindings=t,this._defaultBoundCommands=new Map;for(const i of t){const t=i.command;t&&"-"!==t.charAt(0)&&this._defaultBoundCommands.set(t,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=SO.handleRemovals([].concat(t).concat(i));for(let t=0,i=this._keybindings.length;t=0;t--){const s=e[t];if(s.command===i.command)continue;let n=!0;for(let t=1;t=0;t--){const s=e[t];if(i.contextMatchesRules(s.when))return s}return e[e.length-1]}resolve(t,i,e){const s=[...i,e];this._log(`| Resolving ${s}`);const n=this._map.get(s[0]);if(void 0===n)return this._log("\\ No keybinding entries."),xO;let o=null;if(s.length<2)o=n;else{o=[];for(let t=0,i=n.length;ti.chords.length)continue;let e=!0;for(let t=1;t=0;e--){const s=i[e];if(SO._contextMatchesRules(t,s.when))return s}return null}static _contextMatchesRules(t,i){return!i||i.evaluate(t)}}function DO(t){return t?`${t.serialize()}`:"no when condition"}function EO(t){return t.extensionId?t.isBuiltinExtension?`built-in extension ${t.extensionId}`:`user extension ${t.extensionId}`:t.isDefault?"built-in":"user"}const AO=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;class MO extends ie{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:ce.None}get inChordMode(){return this._currentChords.length>0}constructor(t,i,e,s,n){super(),this._contextKeyService=t,this._commandService=i,this._telemetryService=e,this._notificationService=s,this._logService=n,this._onDidUpdateKeybindings=this._register(new fe),this._currentChords=[],this._currentChordChecker=new pc,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=LO.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new fc,this._logging=!1}dispose(){super.dispose()}_log(t){this._logging&&this._logService.info(`[KeybindingService]: ${t}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(t,i){const e=this._getResolver().lookupPrimaryKeybinding(t,i||this._contextKeyService);if(e)return e.resolvedKeybinding}dispatchEvent(t,i){return this._dispatch(t,i)}softDispatch(t,i){this._log("/ Soft dispatching keyboard event");const e=this.resolveKeyboardEvent(t);if(e.hasMultipleChords())return console.warn("keyboard event should not be mapped to multiple chords"),xO;const[s]=e.getDispatchChords();if(null===s)return this._log("\\ Keyboard event cannot be dispatched"),xO;const n=this._contextKeyService.getContext(i),o=this._currentChords.map((({keypress:t})=>t));return this._getResolver().resolve(n,o,s)}_scheduleLeaveChordMode(){const t=Date.now();this._currentChordChecker.cancelAndSet((()=>{this._documentHasFocus()?Date.now()-t>5e3&&this._leaveChordMode():this._leaveChordMode()}),500)}_expectAnotherChord(t,i){switch(this._currentChords.push({keypress:t,label:i}),this._currentChords.length){case 0:throw Ui("impossible");case 1:this._currentChordStatusMessage=this._notificationService.status(rt(0,"({0}) was pressed. Waiting for second key of chord...",i));break;default:{const t=this._currentChords.map((({label:t})=>t)).join(", ");this._currentChordStatusMessage=this._notificationService.status(rt(0,"({0}) was pressed. Waiting for next key of chord...",t))}}this._scheduleLeaveChordMode(),oC.enabled&&oC.disable()}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChords=[],oC.enable()}_dispatch(t,i){return this._doDispatch(this.resolveKeyboardEvent(t),i,!1)}_singleModifierDispatch(t,i){const e=this.resolveKeyboardEvent(t),[s]=e.getSingleModifierDispatchChords();if(s)return this._ignoreSingleModifiers.has(s)?(this._log(`+ Ignoring single modifier ${s} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=LO.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=LO.EMPTY,null===this._currentSingleModifier?(this._log(`+ Storing single modifier for possible chord ${s}.`),this._currentSingleModifier=s,this._currentSingleModifierClearTimeout.cancelAndSet((()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null}),300),!1):s===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${s} ${s}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(e,i,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${s}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[n]=e.getChords();return this._ignoreSingleModifiers=new LO(n),null!==this._currentSingleModifier&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(t,i,e=!1){var s;let n=!1;if(t.hasMultipleChords())return console.warn("Unexpected keyboard event mapped to multiple chords"),!1;let o=null,r=null;if(e){const[i]=t.getSingleModifierDispatchChords();o=i,r=i?[i]:[]}else[o]=t.getDispatchChords(),r=this._currentChords.map((({keypress:t})=>t));if(null===o)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),n;const h=this._contextKeyService.getContext(i),c=t.getLabel(),a=this._getResolver().resolve(h,r,o);switch(a.kind){case 0:if(this._logService.trace("KeybindingService#dispatch",c,"[ No matching keybinding ]"),this.inChordMode){const t=this._currentChords.map((({label:t})=>t)).join(", ");this._log(`+ Leaving multi-chord mode: Nothing bound to "${t}, ${c}".`),this._notificationService.status(rt(0,"The key combination ({0}, {1}) is not a command.",t,c),{hideAfter:1e4}),this._leaveChordMode(),n=!0}return n;case 1:return this._logService.trace("KeybindingService#dispatch",c,"[ Several keybindings match - more chords needed ]"),n=!0,this._expectAnotherChord(o,c),this._log(1===this._currentChords.length?"+ Entering multi-chord mode...":"+ Continuing multi-chord mode..."),n;case 2:if(this._logService.trace("KeybindingService#dispatch",c,`[ Will dispatch command ${a.commandId} ]`),null===a.commandId||""===a.commandId){if(this.inChordMode){const t=this._currentChords.map((({label:t})=>t)).join(", ");this._log(`+ Leaving chord mode: Nothing bound to "${t}, ${c}".`),this._notificationService.status(rt(0,"The key combination ({0}, {1}) is not a command.",t,c),{hideAfter:1e4}),this._leaveChordMode(),n=!0}}else this.inChordMode&&this._leaveChordMode(),a.isBubble||(n=!0),this._log(`+ Invoking command ${a.commandId}.`),void 0===a.commandArgs?this._commandService.executeCommand(a.commandId).then(void 0,(t=>this._notificationService.warn(t))):this._commandService.executeCommand(a.commandId,a.commandArgs).then(void 0,(t=>this._notificationService.warn(t))),AO.test(a.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:a.commandId,from:"keybinding",detail:null!==(s=t.getUserSettingsLabel())&&void 0!==s?s:void 0});return n}}mightProducePrintableCharacter(t){return!t.ctrlKey&&!t.metaKey&&(t.keyCode>=31&&t.keyCode<=56||t.keyCode>=21&&t.keyCode<=30)}}class LO{constructor(t){this._ctrlKey=!!t&&t.ctrlKey,this._shiftKey=!!t&&t.shiftKey,this._altKey=!!t&&t.altKey,this._metaKey=!!t&&t.metaKey}has(t){switch(t){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}}LO.EMPTY=new LO(null);class FO{constructor(t,i,e,s,n,o,r){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=t,this.chords=t?TO(t.getDispatchChords()):[],t&&0===this.chords.length&&(this.chords=TO(t.getSingleModifierDispatchChords())),this.bubble=!!i&&94===i.charCodeAt(0),this.command=this.bubble?i.substr(1):i,this.commandArgs=e,this.when=s,this.isDefault=n,this.extensionId=o,this.isBuiltinExtension=r}}function TO(t){const i=[];for(let e=0,s=t.length;ethis._getLabel(t)))}getAriaLabel(){return IO.toLabel(this._os,this._chords,(t=>this._getAriaLabel(t)))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:_O.toLabel(this._os,this._chords,(t=>this._getElectronAccelerator(t)))}getUserSettingsLabel(){return NO.toLabel(this._os,this._chords,(t=>this._getUserSettingsLabel(t)))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map((t=>this._getChord(t)))}_getChord(t){return new yh(t.ctrlKey,t.shiftKey,t.altKey,t.metaKey,this._getLabel(t),this._getAriaLabel(t))}getDispatchChords(){return this._chords.map((t=>this._getChordDispatch(t)))}getSingleModifierDispatchChords(){return this._chords.map((t=>this._getSingleModifierChordDispatch(t)))}}class $O extends PO{constructor(t,i){super(i,t)}_keyCodeToUILabel(t){if(2===this._os)switch(t){case 15:return"←";case 16:return"↑";case 17:return"→";case 18:return"↓"}return Ne.toString(t)}_getLabel(t){return t.isDuplicateModifierCase()?"":this._keyCodeToUILabel(t.keyCode)}_getAriaLabel(t){return t.isDuplicateModifierCase()?"":Ne.toString(t.keyCode)}_getElectronAccelerator(t){return Ne.toElectronAccelerator(t.keyCode)}_getUserSettingsLabel(t){if(t.isDuplicateModifierCase())return"";const i=Ne.toUserSettingsUS(t.keyCode);return i?i.toLowerCase():i}_getChordDispatch(t){return $O.getDispatchStr(t)}static getDispatchStr(t){if(t.isModifierKey())return null;let i="";return t.ctrlKey&&(i+="ctrl+"),t.shiftKey&&(i+="shift+"),t.altKey&&(i+="alt+"),t.metaKey&&(i+="meta+"),i+=Ne.toString(t.keyCode),i}_getSingleModifierChordDispatch(t){return 5!==t.keyCode||t.shiftKey||t.altKey||t.metaKey?4!==t.keyCode||t.ctrlKey||t.altKey||t.metaKey?6!==t.keyCode||t.ctrlKey||t.shiftKey||t.metaKey?57!==t.keyCode||t.ctrlKey||t.shiftKey||t.altKey?null:"meta":"alt":"shift":"ctrl"}static _scanCodeToKeyCode(t){const i=Ie[t];if(-1!==i)return i;switch(t){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(t){if(!t)return null;if(t instanceof vh)return t;const i=this._scanCodeToKeyCode(t.scanCode);return 0===i?null:new vh(t.ctrlKey,t.shiftKey,t.altKey,t.metaKey,i)}static resolveKeybinding(t,i){const e=TO(t.chords.map((t=>this._toKeyCodeChord(t))));return e.length>0?[new $O(e,i)]:[]}}const WO=fr("labelService"),jO=fr("progressService");Object.freeze({total(){},worked(){},done(){}});class zO{constructor(t){this.callback=t}report(t){this._value=t,this.callback(this._value)}}zO.None=Object.freeze({report(){}});const HO=fr("editorProgressService");class VO{constructor(){this._value="",this._pos=0}reset(t){return this._value=t,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos=0;i--,this._valueLen--){const t=this._value.charCodeAt(i);if(!(47===t||this._splitOnBackslash&&92===t))break}return this.next()}hasNext(){return this._to!1),i=(()=>!1)){return new ZO(new KO(t,i))}static forStrings(){return new ZO(new VO)}static forConfigKeys(){return new ZO(new UO)}constructor(t){this._iter=t}clear(){this._root=void 0}set(t,i){const e=this._iter.reset(t);let s;this._root||(this._root=new GO,this._root.segment=e.value());const n=[];for(s=this._root;;){const t=e.cmp(s.segment);if(t>0)s.left||(s.left=new GO,s.left.segment=e.value()),n.push([-1,s]),s=s.left;else if(t<0)s.right||(s.right=new GO,s.right.segment=e.value()),n.push([1,s]),s=s.right;else{if(!e.hasNext())break;e.next(),s.mid||(s.mid=new GO,s.mid.segment=e.value()),n.push([0,s]),s=s.mid}}const o=s.value;s.value=i,s.key=t;for(let t=n.length-1;t>=0;t--){const i=n[t][1];i.updateHeight();const e=i.balanceFactor();if(e<-1||e>1){const e=n[t][0],s=n[t+1][0];if(1===e&&1===s)n[t][1]=i.rotateLeft();else if(-1===e&&-1===s)n[t][1]=i.rotateRight();else if(1===e&&-1===s)i.right=n[t+1][1]=n[t+1][1].rotateRight(),n[t][1]=i.rotateLeft();else{if(-1!==e||1!==s)throw new Error;i.left=n[t+1][1]=n[t+1][1].rotateLeft(),n[t][1]=i.rotateRight()}if(t>0)switch(n[t-1][0]){case-1:n[t-1][1].left=n[t][1];break;case 1:n[t-1][1].right=n[t][1];break;case 0:n[t-1][1].mid=n[t][1]}else this._root=n[0][1]}}return o}get(t){var i;return null===(i=this._getNode(t))||void 0===i?void 0:i.value}_getNode(t){const i=this._iter.reset(t);let e=this._root;for(;e;){const t=i.cmp(e.segment);if(t>0)e=e.left;else if(t<0)e=e.right;else{if(!i.hasNext())break;i.next(),e=e.mid}}return e}has(t){const i=this._getNode(t);return!(void 0===(null==i?void 0:i.value)&&void 0===(null==i?void 0:i.mid))}delete(t){return this._delete(t,!1)}deleteSuperstr(t){return this._delete(t,!0)}_delete(t,i){var e;const s=this._iter.reset(t),n=[];let o=this._root;for(;o;){const t=s.cmp(o.segment);if(t>0)n.push([-1,o]),o=o.left;else if(t<0)n.push([1,o]),o=o.right;else{if(!s.hasNext())break;s.next(),n.push([0,o]),o=o.mid}}if(o){if(i?(o.left=void 0,o.mid=void 0,o.right=void 0,o.height=1):(o.key=void 0,o.value=void 0),!o.mid&&!o.value)if(o.left&&o.right){const t=this._min(o.right);if(t.key){const{key:i,value:e,segment:s}=t;this._delete(t.key,!1),o.key=i,o.value=e,o.segment=s}}else{const t=null!==(e=o.left)&&void 0!==e?e:o.right;if(n.length>0){const[i,e]=n[n.length-1];switch(i){case-1:e.left=t;break;case 0:e.mid=t;break;case 1:e.right=t}}else this._root=t}for(let t=n.length-1;t>=0;t--){const i=n[t][1];i.updateHeight();const e=i.balanceFactor();if(e>1?(i.right.balanceFactor()>=0||(i.right=i.right.rotateRight()),n[t][1]=i.rotateLeft()):e<-1&&(i.left.balanceFactor()<=0||(i.left=i.left.rotateLeft()),n[t][1]=i.rotateRight()),t>0)switch(n[t-1][0]){case-1:n[t-1][1].left=n[t][1];break;case 1:n[t-1][1].right=n[t][1];break;case 0:n[t-1][1].mid=n[t][1]}else this._root=n[0][1]}}}_min(t){for(;t.left;)t=t.left;return t}findSubstr(t){const i=this._iter.reset(t);let e,s=this._root;for(;s;){const t=i.cmp(s.segment);if(t>0)s=s.left;else if(t<0)s=s.right;else{if(!i.hasNext())break;i.next(),e=s.value||e,s=s.mid}}return s&&s.value||e}findSuperstr(t){return this._findSuperstrOrElement(t,!1)}_findSuperstrOrElement(t,i){const e=this._iter.reset(t);let s=this._root;for(;s;){const t=e.cmp(s.segment);if(t>0)s=s.left;else if(t<0)s=s.right;else{if(!e.hasNext())return s.mid?this._entries(s.mid):i?s.value:void 0;e.next(),s=s.mid}}}forEach(t){for(const[i,e]of this)t(e,i)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(t){const i=[];return this._dfsEntries(t,i),i[Symbol.iterator]()}_dfsEntries(t,i){t&&(t.left&&this._dfsEntries(t.left,i),t.value&&i.push([t.key,t.value]),t.mid&&this._dfsEntries(t.mid,i),t.right&&this._dfsEntries(t.right,i))}}const QO=fr("contextService");function JO(t){return"string"==typeof(null==t?void 0:t.id)&&ws.isUri(t.uri)}const YO={id:"empty-window"};class XO{constructor(t,i){this.raw=i,this.uri=t.uri,this.index=t.index,this.name=t.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}rt(0,"Code Workspace");const tI="4064f6ec-cb38-4ad0-af64-ee6467e63c82";var iI,eI,sI,nI,oI,rI,hI,cI;!function(t){t.inspectTokensAction=rt(0,"Developer: Inspect Tokens")}(iI||(iI={})),function(t){t.gotoLineActionLabel=rt(0,"Go to Line/Column...")}(eI||(eI={})),function(t){t.helpQuickAccessActionLabel=rt(0,"Show all Quick Access Providers")}(sI||(sI={})),function(t){t.quickCommandActionLabel=rt(0,"Command Palette"),t.quickCommandHelp=rt(0,"Show And Run Commands")}(nI||(nI={})),function(t){t.quickOutlineActionLabel=rt(0,"Go to Symbol..."),t.quickOutlineByCategoryActionLabel=rt(0,"Go to Symbol by Category...")}(oI||(oI={})),function(t){t.editorViewAccessibleLabel=rt(0,"Editor content"),t.accessibilityHelpMessage=rt(0,"Press Alt+F1 for Accessibility Options.")}(rI||(rI={})),function(t){t.toggleHighContrast=rt(0,"Toggle High Contrast Theme")}(hI||(hI={})),function(t){t.bulkEditServiceSummary=rt(0,"Made {0} edits in {1} files")}(cI||(cI={}));const aI=fr("workspaceTrustManagementService"),lI=fr("contextViewService"),uI=fr("contextMenuService");var dI,fI;function pI(t,i,e){const s=e.mode===fI.ALIGN?e.offset:e.offset+e.size,n=e.mode===fI.ALIGN?e.offset+e.size:e.offset;return 0===e.position?i<=t-s?s:i<=n?n-i:Math.max(t-i,0):i<=n?n-i:i<=t-s?s:0}!function(t){function i(t,i){if(t.start>=i.end||i.start>=t.end)return{start:0,end:0};const e=Math.max(t.start,i.start),s=Math.min(t.end,i.end);return s-e<=0?{start:0,end:0}:{start:e,end:s}}function e(t){return t.end-t.start<=0}t.intersect=i,t.isEmpty=e,t.intersects=function(t,s){return!e(i(t,s))},t.relativeComplement=function(t,i){const s=[],n={start:t.start,end:Math.min(i.start,t.end)},o={start:Math.max(i.end,t.start),end:t.end};return e(n)||s.push(n),e(o)||s.push(o),s}}(dI||(dI={})),function(t){t[t.AVOID=0]="AVOID",t[t.ALIGN=1]="ALIGN"}(fI||(fI={}));class gI extends ie{constructor(t,i){super(),this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=ie.None,this.toDisposeOnSetContainer=ie.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=Wl(".context-view"),zl(this.view),this.setContainer(t,i),this._register(Xi((()=>this.setContainer(null,1))))}setContainer(t,i){var e;this.useFixedPosition=1!==i;const s=this.useShadowDOM;if(this.useShadowDOM=3===i,(t!==this.container||s===this.useShadowDOM)&&(this.container&&(this.toDisposeOnSetContainer.dispose(),this.shadowRoot?(this.shadowRoot.removeChild(this.view),this.shadowRoot=null,null===(e=this.shadowRootHostElement)||void 0===e||e.remove(),this.shadowRootHostElement=null):this.container.removeChild(this.view),this.container=null),t)){if(this.container=t,this.useShadowDOM){this.shadowRootHostElement=Wl(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const t=document.createElement("style");t.textContent=mI,this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild(Wl("slot"))}else this.container.appendChild(this.view);const i=new te;gI.BUBBLE_UP_EVENTS.forEach((t=>{i.add(Ka(this.container,t,(t=>{this.onDOMEvent(t,!1)})))})),gI.BUBBLE_DOWN_EVENTS.forEach((t=>{i.add(Ka(this.container,t,(t=>{this.onDOMEvent(t,!0)}),!0))})),this.toDisposeOnSetContainer=i}}show(t){var i,e;this.isVisible()&&this.hide(),Ha(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex="2575",this.view.style.position=this.useFixedPosition?"fixed":"absolute",jl(this.view),this.toDisposeOnClean=t.render(this.view)||ie.None,this.delegate=t,this.doLayout(),null===(e=(i=this.delegate).focus)||void 0===e||e.call(i)}getViewElement(){return this.view}layout(){this.isVisible()&&(!1!==this.delegate.canRelayout||Lt&&Gh?(this.delegate.layout&&this.delegate.layout(),this.doLayout()):this.hide())}doLayout(){if(!this.isVisible())return;const t=this.delegate.getAnchor();let i;if(t instanceof HTMLElement){const e=ol(t),s=function(t){let i=t,e=1;do{const t=tl(i).zoom;null!=t&&"1"!==t&&(e*=t),i=i.parentElement}while(null!==i&&i!==i.ownerDocument.documentElement);return e}(t);i={top:e.top*s,left:e.left*s,width:e.width*s,height:e.height*s}}else i=(e=t)&&"number"==typeof e.x&&"number"==typeof e.y?{top:t.y,left:t.x,width:t.width||1,height:t.height||2}:{top:t.posy,left:t.posx,width:2,height:2};var e;const s=rl(this.view),n=al(this.view),o=this.delegate.anchorPosition||0,r=this.delegate.anchorAlignment||0,h=this.delegate.anchorAxisAlignment||0;let c,a;const l=function(){var t,i;return null!==(i=null===(t=wl().defaultView)||void 0===t?void 0:t.window)&&void 0!==i?i:Wn}();if(0===h){const t={offset:i.top-l.pageYOffset,size:i.height,position:0===o?0:1},e={offset:i.left,size:i.width,position:0===r?0:1,mode:fI.ALIGN};c=pI(l.innerHeight,n,t)+l.pageYOffset,dI.intersects({start:c,end:c+n},{start:t.offset,end:t.offset+t.size})&&(e.mode=fI.AVOID),a=pI(l.innerWidth,s,e)}else{const t={offset:i.left,size:i.width,position:0===r?0:1},e={offset:i.top,size:i.height,position:0===o?0:1,mode:fI.ALIGN};a=pI(l.innerWidth,s,t),dI.intersects({start:a,end:a+s},{start:t.offset,end:t.offset+t.size})&&(e.mode=fI.AVOID),c=pI(l.innerHeight,n,e)+l.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(0===o?"bottom":"top"),this.view.classList.add(0===r?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const u=ol(this.container);this.view.style.top=c-(this.useFixedPosition?ol(this.view).top:u.top)+"px",this.view.style.left=a-(this.useFixedPosition?ol(this.view).left:u.left)+"px",this.view.style.width="initial"}hide(t){const i=this.delegate;this.delegate=null,(null==i?void 0:i.onHide)&&i.onHide(t),this.toDisposeOnClean.dispose(),zl(this.view)}isVisible(){return!!this.delegate}onDOMEvent(t,i){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(t,Ba(t).document.activeElement):i&&!ll(t.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}gI.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],gI.BUBBLE_DOWN_EVENTS=["click"];const mI='\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t.codicon[class*=\'codicon-\'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }\n\n\t:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }\n\t: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\t: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\t: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\t: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';let wI=class extends ie{constructor(t){super(),this.layoutService=t,this.currentViewDisposable=ie.None,this.contextView=this._register(new gI(this.layoutService.mainContainer,1)),this.layout(),this._register(t.onDidLayoutContainer((()=>this.layout())))}showContextView(t,i,e){let s;s=i?i===this.layoutService.getContainer(Ba(i))?1:e?3:2:1,this.contextView.setContainer(null!=i?i:this.layoutService.activeContainer,s),this.contextView.show(t);const n=Xi((()=>{this.currentViewDisposable===n&&this.hideContextView()}));return this.currentViewDisposable=n,n}getContextViewElement(){return this.contextView.getViewElement()}layout(){this.contextView.layout()}hideContextView(t){this.contextView.hide(t)}dispose(){super.dispose(),this.currentViewDisposable.dispose(),this.currentViewDisposable=ie.None}};wI=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,KT)],wI);let vI=[],bI=[],yI=[];function kI(t,i=!1){!function(t,i,e){const s=function(t){return{id:t.id,mime:t.mime,filename:t.filename,extension:t.extension,filepattern:t.filepattern,firstline:t.firstline,userConfigured:false,filenameLowercase:t.filename?t.filename.toLowerCase():void 0,extensionLowercase:t.extension?t.extension.toLowerCase():void 0,filepatternLowercase:t.filepattern?YR(t.filepattern.toLowerCase()):void 0,filepatternOnPath:!!t.filepattern&&t.filepattern.indexOf(ss.sep)>=0}}(t);vI.push(s),s.userConfigured?yI.push(s):bI.push(s),e&&!s.userConfigured&&vI.forEach((t=>{t.mime===s.mime||t.userConfigured||(s.extension&&t.extension===s.extension&&console.warn(`Overwriting extension <<${s.extension}>> to now point to mime <<${s.mime}>>`),s.filename&&t.filename===s.filename&&console.warn(`Overwriting filename <<${s.filename}>> to now point to mime <<${s.mime}>>`),s.filepattern&&t.filepattern===s.filepattern&&console.warn(`Overwriting filepattern <<${s.filepattern}>> to now point to mime <<${s.mime}>>`),s.firstline&&t.firstline===s.firstline&&console.warn(`Overwriting firstline <<${s.firstline}>> to now point to mime <<${s.mime}>>`))}))}(t,0,i)}function xI(t,i,e){var s;let n,o,r;for(let h=e.length-1;h>=0;h--){const c=e[h];if(i===c.filenameLowercase){n=c;break}c.filepattern&&(!o||c.filepattern.length>o.filepattern.length)&&(null===(s=c.filepatternLowercase)||void 0===s?void 0:s.call(c,c.filepatternOnPath?t:i))&&(o=c),c.extension&&(!r||c.extension.length>r.extension.length)&&i.endsWith(c.extensionLowercase)&&(r=c)}return n||o||r||void 0}const CI=Object.prototype.hasOwnProperty,SI="vs.editor.nullLanguage";class DI{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(SI,0),this._register(qd,1),this._nextLanguageId=2}_register(t,i){this._languageIdToLanguage[i]=t,this._languageToLanguageId.set(t,i)}register(t){if(this._languageToLanguageId.has(t))return;const i=this._nextLanguageId++;this._register(t,i)}encodeLanguageId(t){return this._languageToLanguageId.get(t)||0}decodeLanguageId(t){return this._languageIdToLanguage[t]||SI}}class EI extends ie{constructor(t=!0,i=!1){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,EI.instanceCount++,this._warnOnOverwrite=i,this.languageIdCodec=new DI,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},t&&(this._initializeFromRegistry(),this._register(Ud.onDidChangeLanguages((()=>{this._initializeFromRegistry()}))))}dispose(){EI.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},vI=vI.filter((t=>t.userConfigured)),bI=[];const t=[].concat(Ud.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(t)}_registerLanguages(t){for(const i of t)this._registerLanguage(i);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((t=>{this._lowercaseNameMap[t.toLowerCase()]=i.identifier})),i.mimetypes.forEach((t=>{this._mimeTypesMap[t]=i.identifier}))})),Eh.as(Ld).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(t){const i=t.id;let e;CI.call(this._languages,i)?e=this._languages[i]:(this.languageIdCodec.register(i),e={identifier:i,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[i]=e),this._mergeLanguage(e,t)}_mergeLanguage(t,i){const e=i.id;let s=null;if(Array.isArray(i.mimetypes)&&i.mimetypes.length>0&&(t.mimetypes.push(...i.mimetypes),s=i.mimetypes[0]),s||(s=`text/x-${e}`,t.mimetypes.push(s)),Array.isArray(i.extensions)){t.extensions=i.configuration?i.extensions.concat(t.extensions):t.extensions.concat(i.extensions);for(const t of i.extensions)kI({id:e,mime:s,extension:t},this._warnOnOverwrite)}if(Array.isArray(i.filenames))for(const n of i.filenames)kI({id:e,mime:s,filename:n},this._warnOnOverwrite),t.filenames.push(n);if(Array.isArray(i.filenamePatterns))for(const t of i.filenamePatterns)kI({id:e,mime:s,filepattern:t},this._warnOnOverwrite);if("string"==typeof i.firstLine&&i.firstLine.length>0){let t=i.firstLine;"^"!==t.charAt(0)&&(t="^"+t);try{const i=new RegExp(t);"^"!==(n=i).source&&"^$"!==n.source&&"$"!==n.source&&"^\\s*$"!==n.source&&n.exec("")&&0===n.lastIndex||kI({id:e,mime:s,firstline:i},this._warnOnOverwrite)}catch(e){console.warn(`[${i.id}]: Invalid regular expression \`${t}\`: `,e)}}var n;t.aliases.push(e);let o=null;if(void 0!==i.aliases&&Array.isArray(i.aliases)&&(o=0===i.aliases.length?[null]:i.aliases),null!==o)for(const i of o)i&&0!==i.length&&t.aliases.push(i);const r=null!==o&&o.length>0;r&&null===o[0]||!r&&t.name||(t.name=(r?o[0]:null)||e),i.configuration&&t.configurationFiles.push(i.configuration),i.icon&&t.icons.push(i.icon)}isRegisteredLanguageId(t){return!!t&&CI.call(this._languages,t)}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(t){const i=t.toLowerCase();return CI.call(this._lowercaseNameMap,i)?this._lowercaseNameMap[i]:null}getLanguageIdByMimeType(t){return t&&CI.call(this._mimeTypesMap,t)?this._mimeTypesMap[t]:null}guessLanguageIdByFilepathOrFirstLine(t,i){return t||i?function(t,i){return function(t,i){let e;if(t)switch(t.scheme){case xa.file:e=t.fsPath;break;case xa.data:e=LA.parseMetaData(t).get(LA.META_DATA_LABEL);break;case xa.vscodeNotebookCell:e=void 0;break;default:e=t.path}if(!e)return[{id:"unknown",mime:Ed.unknown}];e=e.toLowerCase();const s=cs(e),n=xI(e,s,yI);if(n)return[n,{id:qd,mime:Ed.text}];const o=xI(e,s,bI);if(o)return[o,{id:qd,mime:Ed.text}];if(i){const t=function(t){if(Oo(t)&&(t=t.substr(1)),t.length>0)for(let i=vI.length-1;i>=0;i--){const e=vI[i];if(!e.firstline)continue;const s=t.match(e.firstline);if(s&&s.length>0)return e}}(i);if(t)return[t,{id:qd,mime:Ed.text}]}return[{id:"unknown",mime:Ed.unknown}]}(t,i).map((t=>t.id))}(t,i):[]}}EI.instanceCount=0;class AI extends ie{constructor(t=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new fe),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new fe),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new fe({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,AI.instanceCount++,this._registry=this._register(new EI(!0,t)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange((()=>this._onDidChange.fire())))}dispose(){AI.instanceCount--,super.dispose()}isRegisteredLanguageId(t){return this._registry.isRegisteredLanguageId(t)}getLanguageIdByLanguageName(t){return this._registry.getLanguageIdByLanguageName(t)}getLanguageIdByMimeType(t){return this._registry.getLanguageIdByMimeType(t)}guessLanguageIdByFilepathOrFirstLine(t,i){return x(this._registry.guessLanguageIdByFilepathOrFirstLine(t,i),null)}createById(t){return new MI(this.onDidChange,(()=>this._createAndGetLanguageIdentifier(t)))}createByFilepathOrFirstLine(t,i){return new MI(this.onDidChange,(()=>{const e=this.guessLanguageIdByFilepathOrFirstLine(t,i);return this._createAndGetLanguageIdentifier(e)}))}_createAndGetLanguageIdentifier(t){return t&&this.isRegisteredLanguageId(t)||(t=qd),t}requestBasicLanguageFeatures(t){this._requestedBasicLanguages.has(t)||(this._requestedBasicLanguages.add(t),this._onDidRequestBasicLanguageFeatures.fire(t))}requestRichLanguageFeatures(t){this._requestedRichLanguages.has(t)||(this._requestedRichLanguages.add(t),this.requestBasicLanguageFeatures(t),Qs.getOrCreate(t),this._onDidRequestRichLanguageFeatures.fire(t))}}AI.instanceCount=0;class MI{constructor(t,i){this._onDidChangeLanguages=t,this._selector=i,this._listener=null,this._emitter=null,this.languageId=this._selector()}_dispose(){this._listener&&(this._listener.dispose(),this._listener=null),this._emitter&&(this._emitter.dispose(),this._emitter=null)}get onDidChange(){return this._listener||(this._listener=this._onDidChangeLanguages((()=>this._evaluate()))),this._emitter||(this._emitter=new fe({onDidRemoveLastListener:()=>{this._dispose()}})),this._emitter.event}_evaluate(){var t;const i=this._selector();i!==this.languageId&&(this.languageId=i,null===(t=this._emitter)||void 0===t||t.fire(this.languageId))}}const LI={RESOURCES:"ResourceURLs",DOWNLOAD_URL:"DownloadURL",FILES:"Files",TEXT:Ed.text,INTERNAL_URI_LIST:"application/vnd.code.uri-list"};let FI=0;const TI=new Uint32Array(10);function RI(t,i,e){var s;t>=e&&t>8&&(TI[FI++]=s>>8&255),s>>16&&(TI[FI++]=s>>16&255)))}const OI=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),II=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),_I=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]),NI=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 BI(...t){return function(i,e){for(let s=0,n=t.length;s0?[{start:0,end:i.length}]:[]:null}function WI(t,i){const e=i.toLowerCase().indexOf(t.toLowerCase());return-1===e?null:[{start:e,end:e+t.length}]}function jI(t,i){return zI(t.toLowerCase(),i.toLowerCase(),0,0)}function zI(t,i,e,s){if(e===t.length)return[];if(s===i.length)return null;if(t[e]===i[s]){let n=null;return(n=zI(t,i,e+1,s+1))?XI({start:s,end:s+1},n):null}return zI(t,i,e,s+1)}function HI(t){return 97<=t&&t<=122}function VI(t){return 65<=t&&t<=90}function UI(t){return 48<=t&&t<=57}function qI(t){return 32===t||9===t||10===t||13===t}const KI=new Set;function GI(t){return qI(t)||KI.has(t)}function ZI(t,i){return t===i||GI(t)&&GI(i)}"()[]{}<>`'\"-/;:,.?!".split("").forEach((t=>KI.add(t.charCodeAt(0))));const QI=new Map;function JI(t){if(QI.has(t))return QI.get(t);let i;const e=function(t){const i=function(t){if(FI=0,RI(t,OI,4352),FI>0)return TI.subarray(0,FI);if(RI(t,II,4449),FI>0)return TI.subarray(0,FI);if(RI(t,_I,4520),FI>0)return TI.subarray(0,FI);if(RI(t,NI,12593),FI)return TI.subarray(0,FI);if(t>=44032&&t<=55203){const i=t-44032,e=i%588,s=Math.floor(i/588),n=Math.floor(e/28),o=e%28-1;if(s=0&&(o<_I.length?RI(o,_I,0):4520+o-125930)return TI.subarray(0,FI)}}(t);if(i&&i.length>0)return new Uint32Array(i)}(t);return e&&(i=e),QI.set(t,i),i}function YI(t){return HI(t)||VI(t)||UI(t)}function XI(t,i){return 0===i.length?i=[t]:t.end===i[0].start?i[0].start=t.start:i.unshift(t),i}function t_(t,i){for(let e=i;e0&&!YI(t.charCodeAt(e-1)))return e}return t.length}function i_(t,i,e,s){if(e===t.length)return[];if(s===i.length)return null;if(t[e]!==i[s].toLowerCase())return null;{let n=null,o=s+1;for(n=i_(t,i,e+1,s+1);!n&&(o=t_(i,o))60)return null;const e=function(t){let i=0,e=0,s=0,n=0,o=0;for(let r=0;r.2&&i<.8&&s>.6&&n<.2}(e)){if(!function(t){const{upperPercent:i,lowerPercent:e}=t;return 0===e&&i>.6}(e))return null;i=i.toLowerCase()}let s=null,n=0;for(t=t.toLowerCase();n0&&GI(t.charCodeAt(e-1)))return e;return t.length}const o_=BI(PI,e_,WI),r_=BI(PI,e_,jI),h_=new Up(1e4);function c_(t,i,e=!1){if("string"!=typeof t||"string"!=typeof i)return null;let s=h_.get(t);s||(s=new RegExp(t.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*"),"i"),h_.set(t,s));const n=s.exec(i);return n?[{start:n.index,end:n.index+n[0].length}]:e?r_(t,i):o_(t,i)}function a_(t,i){const e=D_(t,t.toLowerCase(),0,i,i.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return e?u_(e):null}function l_(t,i,e,s,n,o){const r=Math.min(13,t.length);for(;e1;s--){const n=t[s]+e,o=i[i.length-1];o&&o.end===n?o.end=n+1:i.push({start:n,end:n+1})}return i}const d_=128;function f_(){const t=[],i=[];for(let t=0;t<=d_;t++)i[t]=0;for(let e=0;e<=d_;e++)t.push(i.slice(0));return t}function p_(t){const i=[];for(let e=0;e<=t;e++)i[e]=0;return i}const g_=p_(2*d_),m_=p_(2*d_),w_=f_(),v_=f_(),b_=f_();function y_(t,i){if(i<0||i>=t.length)return!1;const e=t.codePointAt(i);switch(e){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!!To(e)}}function k_(t,i){if(i<0||i>=t.length)return!1;switch(t.charCodeAt(i)){case 32:case 9:return!0;default:return!1}}function x_(t,i,e){return i[t]!==e[t]}var C_;!function(t){t.Default=[-100,0],t.isDefault=function(t){return!t||2===t.length&&-100===t[0]&&0===t[1]}}(C_||(C_={}));class S_{constructor(t,i){this.firstMatchCanBeWeak=t,this.boostFullMatch=i}}function D_(t,i,e,s,n,o,r=S_.default){const h=t.length>d_?d_:t.length,c=s.length>d_?d_:s.length;if(e>=h||o>=c||h-e>c-o)return;if(!function(t,i,e,s,n,o,r=!1){for(;i=e&&h>=s;)n[r]===o[h]&&(m_[r]=h,r--),h--}(h,c,e,o,i,n);let a=1,l=1,u=e,d=o;const f=[!1];for(a=1,u=e;ur,v=w?v_[a][l-1]+(w_[a][l-1]>0?-5:0):0,b=d>r+1&&w_[a][l-1]>0,y=b?v_[a][l-2]+(w_[a][l-2]>0?-5:0):0;if(b&&(!w||y>=v)&&(!g||y>=m))v_[a][l]=y,b_[a][l]=3,w_[a][l]=0;else if(w&&(!g||v>=m))v_[a][l]=v,b_[a][l]=2,w_[a][l]=0;else{if(!g)throw new Error("not possible");v_[a][l]=m,b_[a][l]=1,w_[a][l]=w_[a-1][l-1]+1}}}if(!f[0]&&!r.firstMatchCanBeWeak)return;a--,l--;const p=[v_[a][l],o];let g=0,m=0;for(;a>=1;){let t=l;do{const i=b_[a][t];if(3===i)t-=2;else{if(2!==i)break;t-=1}}while(t>=1);g>1&&i[e+a-1]===n[o+l-1]&&!x_(t+o-1,s,n)&&g+1>w_[a][t]&&(t=l),t===l?g++:g=1,m||(m=t),a--,l=t-1,p.push(l)}return c===h&&r.boostFullMatch&&(p[0]+=2),p[0]-=m-h,p}function E_(t,i,e,s,n,o,r,h,c,a,l){if(i[e]!==o[r])return Number.MIN_SAFE_INTEGER;let u=1,d=!1;return r===e-s?u=t[e]===n[r]?7:5:!x_(r,n,o)||0!==r&&x_(r-1,n,o)?!y_(o,r)||0!==r&&y_(o,r-1)?(y_(o,r-1)||k_(o,r-1))&&(u=5,d=!0):u=5:(u=t[e]===n[r]?7:5,d=!0),u>1&&e===s&&(l[0]=!0),d||(d=x_(r,n,o)||y_(o,r-1)||k_(o,r-1)),e===s?r>c&&(u-=d?3:5):u+=a?d?2:0:d?0:1,r+1===h&&(u-=d?3:5),u}function A_(t,i,e,s,n,o,r){return function(t,i,e,s,n,o,r,h){let c=D_(t,i,e,s,n,o,h);if(t.length>=3){const i=Math.min(7,t.length-1);for(let r=e+1;rc[0])&&(c=t))}}}return c}(t,i,e,s,n,o,0,r)}function M_(t,i){if(i+1>=t.length)return;const e=t[i],s=t[i+1];return e!==s?t.slice(0,i)+s+e+t.slice(i+2):void 0}S_.default={boostFullMatch:!0,firstMatchCanBeWeak:!1};const L_=new RegExp(`\\$\\(${Sr.iconNameExpression}(?:${Sr.iconModifierExpression})?\\)`,"g"),F_=new RegExp(`(\\\\)?${L_.source}`,"g"),T_=new RegExp(`\\\\${L_.source}`,"g"),R_=new RegExp(`(\\s)?(\\\\)?${L_.source}(\\s)?`,"g");function O_(t){return-1===t.indexOf("$(")?t:t.replace(R_,((t,i,e,s)=>e?t:i||s||""))}const I_=new RegExp(`\\$\\(${Sr.iconNameCharacter}+\\)`,"g");function __(t){I_.lastIndex=0;let i="";const e=[];let s=0;for(;;){const n=I_.lastIndex,o=I_.exec(t),r=t.substring(n,null==o?void 0:o.index);if(r.length>0){i+=r;for(let t=0;ti?t:`\\${t}`))}(t):t).replace(/([ \t]+)/g,((t,i)=>" ".repeat(i.length))).replace(/\>/gm,"\\>").replace(/\n/g,1===i?"\\\n":"\n\n"),this}appendMarkdown(t){return this.value+=t,this}appendCodeblock(t,i){return this.value+="\n```",this.value+=t,this.value+="\n",this.value+=i,this.value+="\n```\n",this}appendLink(t,i,e){return this.value+="[",this.value+=this._escape(i,"]"),this.value+="](",this.value+=this._escape(String(t),")"),e&&(this.value+=` "${this._escape(this._escape(e,'"'),")")}"`),this.value+=")",this}_escape(t,i){const e=new RegExp(Zn(i),"g");return t.replace(e,((i,e)=>"\\"!==t.charAt(e-1)?`\\${i}`:i))}}function P_(t){return $_(t)?!t.value:!Array.isArray(t)||t.every(P_)}function $_(t){return t instanceof B_||!(!t||"object"!=typeof t)&&!("string"!=typeof t.value||"boolean"!=typeof t.isTrusted&&"object"!=typeof t.isTrusted&&void 0!==t.isTrusted||"boolean"!=typeof t.supportThemeIcons&&void 0!==t.supportThemeIcons)}function W_(t){return t.replace(/"/g,""")}function j_(t){return t?t.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1"):t}class z_{constructor(t,i,e){this.hoverDelegate=t,this.target=i,this.fadeInAnimation=e}async update(t,i,e){var s;if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let n;if(void 0===t||P(t)||t instanceof HTMLElement)n=t;else if(Z(t.markdown)){this._hoverWidget||this.show(rt(0,"Loading..."),i),this._cancellationTokenSource=new Se;const e=this._cancellationTokenSource.token;if(n=await t.markdown(e),void 0===n&&(n=t.markdownNotSupportedFallback),this.isDisposed||e.isCancellationRequested)return}else n=null!==(s=t.markdown)&&void 0!==s?s:t.markdownNotSupportedFallback;this.show(n,i,e)}show(t,i,e){const s=this._hoverWidget;if(this.hasContent(t)){const n={content:t,target:this.target,appearance:{showPointer:"element"===this.hoverDelegate.placement,skipFadeInAnimation:!this.fadeInAnimation||!!s},position:{hoverPosition:2},...e};this._hoverWidget=this.hoverDelegate.showHover(n,i)}null==s||s.dispose()}hasContent(t){return!(!t||$_(t)&&!t.value)}get isDisposed(){var t;return null===(t=this._hoverWidget)||void 0===t?void 0:t.isDisposed}dispose(){var t,i;null===(t=this._hoverWidget)||void 0===t||t.dispose(),null===(i=this._cancellationTokenSource)||void 0===i||i.dispose(!0),this._cancellationTokenSource=void 0}}function H_(t,i,e,s){let n,o;const r=(i,e)=>{var s;const r=void 0!==o;i&&(null==o||o.dispose(),o=void 0),e&&(null==n||n.dispose(),n=void 0),r&&(null===(s=t.onDidHideHover)||void 0===s||s.call(t))},h=(n,r,h)=>new fc((async()=>{o&&!o.isDisposed||(o=new z_(t,h||i,n>0),await o.update(e,r,s))}),n),c=Ua(i,Fl.MOUSE_OVER,(()=>{if(n)return;const e=new te;e.add(Ua(i,Fl.MOUSE_LEAVE,(t=>r(!1,t.fromElement===i)),!0)),e.add(Ua(i,Fl.MOUSE_DOWN,(()=>r(!0,!0)),!0));const s={targetElements:[i],dispose:()=>{}};void 0!==t.placement&&"mouse"!==t.placement||e.add(Ua(i,Fl.MOUSE_MOVE,(t=>{s.x=t.x+10,t.target instanceof HTMLElement&&t.target.classList.contains("action-label")&&r(!0,!0)}),!0)),e.add(h(t.delay,!1,s)),n=e}),!0),a=Ua(i,Fl.FOCUS,(()=>{if(n)return;const e={targetElements:[i],dispose:()=>{}},s=new te;s.add(Ua(i,Fl.BLUR,(()=>r(!0,!0)),!0)),s.add(h(t.delay,!1,e)),n=s}),!0);return{show:t=>{r(!1,!0),h(0,t)},hide:()=>{r(!0,!0)},update:async(t,i)=>{e=t,await(null==o?void 0:o.update(e,void 0,i))},dispose:()=>{c.dispose(),a.dispose(),r(!0,!0)}}}function V_(t,i={}){const e=U_(i);return K_(e,function(t,i){const e={type:1,children:[]};let s=0,n=e;const o=[],r=new q_(t);for(;!r.eos();){let t=r.next();const e="\\"===t&&0!==G_(r.peek(),i);if(e&&(t=r.next()),e||0===G_(t,i)||t!==r.peek())if("\n"===t)2===n.type&&(n=o.pop()),n.children.push({type:8});else if(2!==n.type){const i={type:2,content:t};n.children.push(i),o.push(n),n=i}else n.content+=t;else{r.advance(),2===n.type&&(n=o.pop());const e=G_(t,i);if(n.type===e||5===n.type&&6===e)n=o.pop();else{const t={type:e,children:[]};5===e&&(t.index=s,s++),n.children.push(t),o.push(n),n=t}}}return 2===n.type&&(n=o.pop()),e}(t,!!i.renderCodeSegments),i.actionHandler,i.renderCodeSegments),e}function U_(t){const i=document.createElement(t.inline?"span":"div");return t.className&&(i.className=t.className),i}class q_{constructor(t){this.source=t,this.index=0}eos(){return this.index>=this.source.length}next(){const t=this.peek();return this.advance(),t}peek(){return this.source[this.index]}advance(){this.index++}}function K_(t,i,e,s){let n;if(2===i.type)n=document.createTextNode(i.content||"");else if(3===i.type)n=document.createElement("b");else if(4===i.type)n=document.createElement("i");else if(7===i.type&&s)n=document.createElement("code");else if(5===i.type&&e){const t=document.createElement("a");e.disposables.add(Ka(t,"click",(t=>{e.callback(String(i.index),t)}))),n=t}else 8===i.type?n=document.createElement("br"):1===i.type&&(n=t);n&&t!==n&&t.appendChild(n),n&&Array.isArray(i.children)&&i.children.forEach((t=>{K_(n,t,e,s)}))}function G_(t,i){switch(t){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return i?7:0;default:return 0}}const Z_=new RegExp(`(\\\\)?\\$\\((${Sr.iconNameExpression}(?:${Sr.iconModifierExpression})?)\\)`,"g");function Q_(t){const i=new Array;let e,s=0,n=0;for(;null!==(e=Z_.exec(t));){n=e.index||0,st.length)&&(i=t.length);for(var e=0,s=new Array(i);e=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function n(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}t.defaults={async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};var o=/[&<>"']/,r=/[&<>"']/g,h=/[<>"']|&(?!#?\w+;)/,c=/[<>"']|&(?!#?\w+;)/g,a={"&":"&","<":"<",">":">",'"':""","'":"'"},l=function(t){return a[t]};function u(t,i){if(i){if(o.test(t))return t.replace(r,l)}else if(h.test(t))return t.replace(c,l);return t}var d=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function f(t){return t.replace(d,(function(t,i){return"colon"===(i=i.toLowerCase())?":":"#"===i.charAt(0)?"x"===i.charAt(1)?String.fromCharCode(parseInt(i.substring(2),16)):String.fromCharCode(+i.substring(1)):""}))}var p=/(^|[^\[])\^/g;function g(t,i){t="string"==typeof t?t:t.source,i=i||"";var e={replace:function(i,s){return s=(s=s.source||s).replace(p,"$1"),t=t.replace(i,s),e},getRegex:function(){return new RegExp(t,i)}};return e}var m=/[^\w:]/g,w=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function v(t,i,e){if(t){var s;try{s=decodeURIComponent(f(e)).replace(m,"").toLowerCase()}catch(t){return null}if(0===s.indexOf("javascript:")||0===s.indexOf("vbscript:")||0===s.indexOf("data:"))return null}i&&!w.test(e)&&(e=function(t,i){b[" "+t]||(b[" "+t]=y.test(t)?t+"/":E(t,"/",!0));var e=-1===(t=b[" "+t]).indexOf(":");return"//"===i.substring(0,2)?e?i:t.replace(k,"$1")+i:"/"===i.charAt(0)?e?i:t.replace(x,"$1")+i:t+i}(i,e));try{e=encodeURI(e).replace(/%25/g,"%")}catch(t){return null}return e}var b={},y=/^[^:]+:\/*[^/]*$/,k=/^([^:]+:)[\s\S]*$/,x=/^([^:]+:\/*[^/]*)[\s\S]*$/,C={exec:function(){}};function S(t){for(var i,e,s=1;s=0&&"\\"===e[n];)s=!s;return s?"|":" |"})).split(/ \|/),s=0;if(e[0].trim()||e.shift(),e.length>0&&!e[e.length-1].trim()&&e.pop(),e.length>i)e.splice(i);else for(;e.length1;)1&i&&(e+=t),i>>=1,t+=t;return e+t}function L(t,i,e,s){var n=i.href,o=i.title?u(i.title):null,r=t[1].replace(/\\([\[\]])/g,"$1");if("!"!==t[0].charAt(0)){s.state.inLink=!0;var h={type:"link",raw:e,href:n,title:o,text:r,tokens:s.inlineTokens(r)};return s.state.inLink=!1,h}return{type:"image",raw:e,href:n,title:o,text:u(r)}}var F=function(){function i(i){this.options=i||t.defaults}var e=i.prototype;return e.space=function(t){var i=this.rules.block.newline.exec(t);if(i&&i[0].length>0)return{type:"space",raw:i[0]}},e.code=function(t){var i=this.rules.block.code.exec(t);if(i){var e=i[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:i[0],codeBlockStyle:"indented",text:this.options.pedantic?e:E(e,"\n")}}},e.fences=function(t){var i=this.rules.block.fences.exec(t);if(i){var e=i[0],s=function(t,i){var e=t.match(/^(\s+)(?:```)/);if(null===e)return i;var s=e[1];return i.split("\n").map((function(t){var i=t.match(/^\s+/);return null===i?t:i[0].length>=s.length?t.slice(s.length):t})).join("\n")}(e,i[3]||"");return{type:"code",raw:e,lang:i[2]?i[2].trim():i[2],text:s}}},e.heading=function(t){var i=this.rules.block.heading.exec(t);if(i){var e=i[2].trim();if(/#$/.test(e)){var s=E(e,"#");this.options.pedantic?e=s.trim():s&&!/ $/.test(s)||(e=s.trim())}return{type:"heading",raw:i[0],depth:i[1].length,text:e,tokens:this.lexer.inline(e)}}},e.hr=function(t){var i=this.rules.block.hr.exec(t);if(i)return{type:"hr",raw:i[0]}},e.blockquote=function(t){var i=this.rules.block.blockquote.exec(t);if(i){var e=i[0].replace(/^ *>[ \t]?/gm,"");return{type:"blockquote",raw:i[0],tokens:this.lexer.blockTokens(e,[]),text:e}}},e.list=function(t){var i=this.rules.block.list.exec(t);if(i){var e,n,o,r,h,c,a,l,u,d,f,p,g=i[1].trim(),m=g.length>1,w={type:"list",raw:"",ordered:m,start:m?+g.slice(0,-1):"",loose:!1,items:[]};g=m?"\\d{1,9}\\"+g.slice(-1):"\\"+g,this.options.pedantic&&(g=m?g:"[*+-]");for(var v=new RegExp("^( {0,3}"+g+")((?:[\t ][^\\n]*)?(?:\\n|$))");t&&(p=!1,i=v.exec(t))&&!this.rules.block.hr.test(t);){if(t=t.substring((e=i[0]).length),l=i[2].split("\n",1)[0],u=t.split("\n",1)[0],this.options.pedantic?(r=2,f=l.trimLeft()):(r=i[2].search(/[^ ]/),f=l.slice(r=r>4?1:r),r+=i[1].length),c=!1,!l&&/^ *$/.test(u)&&(e+=u+"\n",t=t.substring(u.length+1),p=!0),!p)for(var b=new RegExp("^ {0,"+Math.min(3,r-1)+"}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))"),y=new RegExp("^ {0,"+Math.min(3,r-1)+"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)"),k=new RegExp("^ {0,"+Math.min(3,r-1)+"}(?:```|~~~)"),x=new RegExp("^ {0,"+Math.min(3,r-1)+"}#");t&&(l=d=t.split("\n",1)[0],this.options.pedantic&&(l=l.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!k.test(l))&&!x.test(l)&&!b.test(l)&&!y.test(t);){if(l.search(/[^ ]/)>=r||!l.trim())f+="\n"+l.slice(r);else{if(c)break;f+="\n"+l}c||l.trim()||(c=!0),e+=d+"\n",t=t.substring(d.length+1)}w.loose||(a?w.loose=!0:/\n *\n *$/.test(e)&&(a=!0)),this.options.gfm&&(n=/^\[[ xX]\] /.exec(f))&&(o="[ ] "!==n[0],f=f.replace(/^\[[ xX]\] +/,"")),w.items.push({type:"list_item",raw:e,task:!!n,checked:o,loose:!1,text:f}),w.raw+=e}w.items[w.items.length-1].raw=e.trimRight(),w.items[w.items.length-1].text=f.trimRight(),w.raw=w.raw.trimRight();var C=w.items.length;for(h=0;h1)return!0;return!1}));!w.loose&&S.length&&D&&(w.loose=!0,w.items[h].loose=!0)}return w}},e.html=function(t){var i=this.rules.block.html.exec(t);if(i){var e={type:"html",raw:i[0],pre:!this.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]};if(this.options.sanitize){var s=this.options.sanitizer?this.options.sanitizer(i[0]):u(i[0]);e.type="paragraph",e.text=s,e.tokens=this.lexer.inline(s)}return e}},e.def=function(t){var i=this.rules.block.def.exec(t);if(i)return i[3]&&(i[3]=i[3].substring(1,i[3].length-1)),{type:"def",tag:i[1].toLowerCase().replace(/\s+/g," "),raw:i[0],href:i[2],title:i[3]}},e.table=function(t){var i=this.rules.block.table.exec(t);if(i){var e={type:"table",header:D(i[1]).map((function(t){return{text:t}})),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:i[3]&&i[3].trim()?i[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(e.header.length===e.align.length){e.raw=i[0];var s,n,o,r,h=e.align.length;for(s=0;s/i.test(i[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:i[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):u(i[0]):i[0]}},e.link=function(t){var i=this.rules.inline.link.exec(t);if(i){var e=i[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;var s=E(e.slice(0,-1),"\\");if((e.length-s.length)%2==0)return}else{var n=function(t,i){if(-1===t.indexOf(i[1]))return-1;for(var e=t.length,s=0,n=0;n-1){var o=(0===i[0].indexOf("!")?5:4)+i[1].length+n;i[2]=i[2].substring(0,n),i[0]=i[0].substring(0,o).trim(),i[3]=""}}var r=i[2],h="";if(this.options.pedantic){var c=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);c&&(r=c[1],h=c[3])}else h=i[3]?i[3].slice(1,-1):"";return r=r.trim(),/^$/.test(e)?r.slice(1):r.slice(1,-1)),L(i,{href:r?r.replace(this.rules.inline._escapes,"$1"):r,title:h?h.replace(this.rules.inline._escapes,"$1"):h},i[0],this.lexer)}},e.reflink=function(t,i){var e;if((e=this.rules.inline.reflink.exec(t))||(e=this.rules.inline.nolink.exec(t))){var s=(e[2]||e[1]).replace(/\s+/g," ");if(!(s=i[s.toLowerCase()])||!s.href){var n=e[0].charAt(0);return{type:"text",raw:n,text:n}}return L(e,s,e[0],this.lexer)}},e.emStrong=function(t,i,e){void 0===e&&(e="");var s=this.rules.inline.emStrong.lDelim.exec(t);if(s&&(!s[3]||!e.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var n=s[1]||s[2]||"";if(!n||n&&(""===e||this.rules.inline.punctuation.exec(e))){var o,r,h=s[0].length-1,c=h,a=0,l="*"===s[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(l.lastIndex=0,i=i.slice(-1*t.length+h);null!=(s=l.exec(i));)if(o=s[1]||s[2]||s[3]||s[4]||s[5]||s[6])if(r=o.length,s[3]||s[4])c+=r;else if(!((s[5]||s[6])&&h%3)||(h+r)%3){if(!((c-=r)>0)){if(r=Math.min(r,r+c+a),Math.min(h,r)%2){var u=t.slice(1,h+s.index+r);return{type:"em",raw:t.slice(0,h+s.index+r+1),text:u,tokens:this.lexer.inlineTokens(u)}}var d=t.slice(2,h+s.index+r-1);return{type:"strong",raw:t.slice(0,h+s.index+r+1),text:d,tokens:this.lexer.inlineTokens(d)}}}else a+=r}}},e.codespan=function(t){var i=this.rules.inline.code.exec(t);if(i){var e=i[2].replace(/\n/g," "),s=/[^ ]/.test(e),n=/^ /.test(e)&&/ $/.test(e);return s&&n&&(e=e.substring(1,e.length-1)),e=u(e,!0),{type:"codespan",raw:i[0],text:e}}},e.br=function(t){var i=this.rules.inline.br.exec(t);if(i)return{type:"br",raw:i[0]}},e.del=function(t){var i=this.rules.inline.del.exec(t);if(i)return{type:"del",raw:i[0],text:i[2],tokens:this.lexer.inlineTokens(i[2])}},e.autolink=function(t,i){var e,s,n=this.rules.inline.autolink.exec(t);if(n)return s="@"===n[2]?"mailto:"+(e=u(this.options.mangle?i(n[1]):n[1])):e=u(n[1]),{type:"link",raw:n[0],text:e,href:s,tokens:[{type:"text",raw:e,text:e}]}},e.url=function(t,i){var e;if(e=this.rules.inline.url.exec(t)){var s,n;if("@"===e[2])n="mailto:"+(s=u(this.options.mangle?i(e[0]):e[0]));else{var o;do{o=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])[0]}while(o!==e[0]);s=u(e[0]),n="www."===e[1]?"http://"+s:s}return{type:"link",raw:e[0],text:s,href:n,tokens:[{type:"text",raw:s,text:s}]}}},e.inlineText=function(t,i){var e,s=this.rules.inline.text.exec(t);if(s)return e=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(s[0]):u(s[0]):s[0]:u(this.options.smartypants?i(s[0]):s[0]),{type:"text",raw:s[0],text:e}},i}(),T={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:C,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};T.def=g(T.def).replace("label",T._label).replace("title",T._title).getRegex(),T.bullet=/(?:[*+-]|\d{1,9}[.)])/,T.listItemStart=g(/^( *)(bull) */).replace("bull",T.bullet).getRegex(),T.list=g(T.list).replace(/bull/g,T.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+T.def.source+")").getRegex(),T._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",T._comment=/|$)/,T.html=g(T.html,"i").replace("comment",T._comment).replace("tag",T._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),T.paragraph=g(T._paragraph).replace("hr",T.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",T._tag).getRegex(),T.blockquote=g(T.blockquote).replace("paragraph",T.paragraph).getRegex(),T.normal=S({},T),T.gfm=S({},T.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),T.gfm.table=g(T.gfm.table).replace("hr",T.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",T._tag).getRegex(),T.gfm.paragraph=g(T._paragraph).replace("hr",T.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",T.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",T._tag).getRegex(),T.pedantic=S({},T.normal,{html:g("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",T._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:C,paragraph:g(T.normal._paragraph).replace("hr",T.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",T.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var R={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:C,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:C,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(e="x"+e.toString(16)),s+="&#"+e+";";return s}R._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",R.punctuation=g(R.punctuation).replace(/punctuation/g,R._punctuation).getRegex(),R.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,R.escapedEmSt=/\\\*|\\_/g,R._comment=g(T._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),R.emStrong.lDelim=g(R.emStrong.lDelim).replace(/punct/g,R._punctuation).getRegex(),R.emStrong.rDelimAst=g(R.emStrong.rDelimAst,"g").replace(/punct/g,R._punctuation).getRegex(),R.emStrong.rDelimUnd=g(R.emStrong.rDelimUnd,"g").replace(/punct/g,R._punctuation).getRegex(),R._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,R._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,R._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])?)+(?![-_])/,R.autolink=g(R.autolink).replace("scheme",R._scheme).replace("email",R._email).getRegex(),R._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,R.tag=g(R.tag).replace("comment",R._comment).replace("attribute",R._attribute).getRegex(),R._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,R._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,R._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,R.link=g(R.link).replace("label",R._label).replace("href",R._href).replace("title",R._title).getRegex(),R.reflink=g(R.reflink).replace("label",R._label).replace("ref",T._label).getRegex(),R.nolink=g(R.nolink).replace("ref",T._label).getRegex(),R.reflinkSearch=g(R.reflinkSearch,"g").replace("reflink",R.reflink).replace("nolink",R.nolink).getRegex(),R.normal=S({},R),R.pedantic=S({},R.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:g(/^!?\[(label)\]\((.*?)\)/).replace("label",R._label).getRegex(),reflink:g(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",R._label).getRegex()}),R.gfm=S({},R.normal,{escape:g(R.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\0?i[i.length-1].raw+="\n":i.push(e);else if(e=this.tokenizer.code(t))t=t.substring(e.raw.length),!(s=i[i.length-1])||"paragraph"!==s.type&&"text"!==s.type?i.push(e):(s.raw+="\n"+e.raw,s.text+="\n"+e.text,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(e=this.tokenizer.fences(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.heading(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.hr(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.blockquote(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.list(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.html(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.def(t))t=t.substring(e.raw.length),!(s=i[i.length-1])||"paragraph"!==s.type&&"text"!==s.type?this.tokens.links[e.tag]||(this.tokens.links[e.tag]={href:e.href,title:e.title}):(s.raw+="\n"+e.raw,s.text+="\n"+e.raw,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(e=this.tokenizer.table(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.lheading(t))t=t.substring(e.raw.length),i.push(e);else if(n=t,this.options.extensions&&this.options.extensions.startBlock&&function(){var i=1/0,e=t.slice(1),s=void 0;r.options.extensions.startBlock.forEach((function(t){"number"==typeof(s=t.call({lexer:this},e))&&s>=0&&(i=Math.min(i,s))})),i<1/0&&i>=0&&(n=t.substring(0,i+1))}(),this.state.top&&(e=this.tokenizer.paragraph(n)))s=i[i.length-1],o&&"paragraph"===s.type?(s.raw+="\n"+e.raw,s.text+="\n"+e.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):i.push(e),o=n.length!==t.length,t=t.substring(e.raw.length);else if(e=this.tokenizer.text(t))t=t.substring(e.raw.length),(s=i[i.length-1])&&"text"===s.type?(s.raw+="\n"+e.raw,s.text+="\n"+e.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):i.push(e);else if(t){var h="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(h);break}throw new Error(h)}return this.state.top=!0,i},o.inline=function(t,i){return void 0===i&&(i=[]),this.inlineQueue.push({src:t,tokens:i}),i},o.inlineTokens=function(t,i){var e,s,n,o=this;void 0===i&&(i=[]);var r,h,c,a=t;if(this.tokens.links){var l=Object.keys(this.tokens.links);if(l.length>0)for(;null!=(r=this.tokenizer.rules.inline.reflinkSearch.exec(a));)l.includes(r[0].slice(r[0].lastIndexOf("[")+1,-1))&&(a=a.slice(0,r.index)+"["+M("a",r[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(r=this.tokenizer.rules.inline.blockSkip.exec(a));)a=a.slice(0,r.index)+"["+M("a",r[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(r=this.tokenizer.rules.inline.escapedEmSt.exec(a));)a=a.slice(0,r.index)+"++"+a.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;t;)if(h||(c=""),h=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((function(s){return!!(e=s.call({lexer:o},t,i))&&(t=t.substring(e.raw.length),i.push(e),!0)}))))if(e=this.tokenizer.escape(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.tag(t))t=t.substring(e.raw.length),(s=i[i.length-1])&&"text"===e.type&&"text"===s.type?(s.raw+=e.raw,s.text+=e.text):i.push(e);else if(e=this.tokenizer.link(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.reflink(t,this.tokens.links))t=t.substring(e.raw.length),(s=i[i.length-1])&&"text"===e.type&&"text"===s.type?(s.raw+=e.raw,s.text+=e.text):i.push(e);else if(e=this.tokenizer.emStrong(t,a,c))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.codespan(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.br(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.del(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.autolink(t,I))t=t.substring(e.raw.length),i.push(e);else if(this.state.inLink||!(e=this.tokenizer.url(t,I))){if(n=t,this.options.extensions&&this.options.extensions.startInline&&function(){var i=1/0,e=t.slice(1),s=void 0;o.options.extensions.startInline.forEach((function(t){"number"==typeof(s=t.call({lexer:this},e))&&s>=0&&(i=Math.min(i,s))})),i<1/0&&i>=0&&(n=t.substring(0,i+1))}(),e=this.tokenizer.inlineText(n,O))t=t.substring(e.raw.length),"_"!==e.raw.slice(-1)&&(c=e.raw.slice(-1)),h=!0,(s=i[i.length-1])&&"text"===s.type?(s.raw+=e.raw,s.text+=e.text):i.push(e);else if(t){var u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}}else t=t.substring(e.raw.length),i.push(e);return i},s=e,n=[{key:"rules",get:function(){return{block:T,inline:R}}}],null&&i(s.prototype,null),n&&i(s,n),Object.defineProperty(s,"prototype",{writable:!1}),e}(),N=function(){function i(i){this.options=i||t.defaults}var e=i.prototype;return e.code=function(t,i,e){var s=(i||"").match(/\S*/)[0];if(this.options.highlight){var n=this.options.highlight(t,s);null!=n&&n!==t&&(e=!0,t=n)}return t=t.replace(/\n$/,"")+"\n",s?'
'+(e?t:u(t,!0))+"
\n":"
"+(e?t:u(t,!0))+"
\n"},e.blockquote=function(t){return"
\n"+t+"
\n"},e.html=function(t){return t},e.heading=function(t,i,e,s){return this.options.headerIds?"'+t+"\n":""+t+"\n"},e.hr=function(){return this.options.xhtml?"
\n":"
\n"},e.list=function(t,i,e){var s=i?"ol":"ul";return"<"+s+(i&&1!==e?' start="'+e+'"':"")+">\n"+t+"\n"},e.listitem=function(t){return"
  • "+t+"
  • \n"},e.checkbox=function(t){return" "},e.paragraph=function(t){return"

    "+t+"

    \n"},e.table=function(t,i){return i&&(i=""+i+""),"\n\n"+t+"\n"+i+"
    \n"},e.tablerow=function(t){return"\n"+t+"\n"},e.tablecell=function(t,i){var e=i.header?"th":"td";return(i.align?"<"+e+' align="'+i.align+'">':"<"+e+">")+t+"\n"},e.strong=function(t){return""+t+""},e.em=function(t){return""+t+""},e.codespan=function(t){return""+t+""},e.br=function(){return this.options.xhtml?"
    ":"
    "},e.del=function(t){return""+t+""},e.link=function(t,i,e){if(null===(t=v(this.options.sanitize,this.options.baseUrl,t)))return e;var s='"+e+""},e.image=function(t,i,e){if(null===(t=v(this.options.sanitize,this.options.baseUrl,t)))return e;var s=''+e+'":">")},e.text=function(t){return t},i}(),B=function(){function t(){}var i=t.prototype;return i.strong=function(t){return t},i.em=function(t){return t},i.codespan=function(t){return t},i.del=function(t){return t},i.html=function(t){return t},i.text=function(t){return t},i.link=function(t,i,e){return""+e},i.image=function(t,i,e){return""+e},i.br=function(){return""},t}(),P=function(){function t(){this.seen={}}var i=t.prototype;return i.serialize=function(t){return t.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},i.getNextSafeSlug=function(t,i){var e=t,s=0;if(this.seen.hasOwnProperty(e)){s=this.seen[t];do{e=t+"-"+ ++s}while(this.seen.hasOwnProperty(e))}return i||(this.seen[t]=s,this.seen[e]=0),e},i.slug=function(t,i){void 0===i&&(i={});var e=this.serialize(t);return this.getNextSafeSlug(e,i.dryrun)},t}(),$=function(){function i(i){this.options=i||t.defaults,this.options.renderer=this.options.renderer||new N,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new B,this.slugger=new P}i.parse=function(t,e){return new i(e).parse(t)},i.parseInline=function(t,e){return new i(e).parseInline(t)};var e=i.prototype;return e.parse=function(t,i){void 0===i&&(i=!0);var e,s,n,o,r,h,c,a,l,u,d,p,g,m,w,v,b,y,k,x="",C=t.length;for(e=0;e0&&"paragraph"===w.tokens[0].type?(w.tokens[0].text=y+" "+w.tokens[0].text,w.tokens[0].tokens&&w.tokens[0].tokens.length>0&&"text"===w.tokens[0].tokens[0].type&&(w.tokens[0].tokens[0].text=y+" "+w.tokens[0].tokens[0].text)):w.tokens.unshift({type:"text",text:y}):m+=y),m+=this.parse(w.tokens,g),l+=this.renderer.listitem(m,b,v);x+=this.renderer.list(l,d,p);continue;case"html":x+=this.renderer.html(u.text);continue;case"paragraph":x+=this.renderer.paragraph(this.parseInline(u.tokens));continue;case"text":for(l=u.tokens?this.parseInline(u.tokens):u.text;e+1An error occurred:

    "+u(t.message+"",!0)+"
    ";throw t}try{var c=_.lex(t,i);if(i.walkTokens){if(i.async)return Promise.all(W.walkTokens(c,i.walkTokens)).then((function(){return $.parse(c,i)})).catch(h);W.walkTokens(c,i.walkTokens)}return $.parse(c,i)}catch(t){h(t)}}W.options=W.setOptions=function(i){return S(W.defaults,i),t.defaults=W.defaults,W},W.getDefaults=n,W.defaults=t.defaults,W.use=function(){for(var t=arguments.length,i=new Array(t),e=0;eAn error occurred:

    "+u(t.message+"",!0)+"
    ";throw t}},W.Parser=$,W.parser=$.parse,W.Renderer=N,W.TextRenderer=B,W.Lexer=_,W.lexer=_.lex,W.Tokenizer=F,W.Slugger=P,W.parse=W;var j=W.options,z=W.setOptions,H=W.use,V=W.walkTokens,U=W.parseInline,q=W,K=$.parse,G=_.lex;t.Lexer=_,t.Parser=$,t.Renderer=N,t.Slugger=P,t.TextRenderer=B,t.Tokenizer=F,t.getDefaults=n,t.lexer=G,t.marked=W,t.options=j,t.parse=q,t.parseInline=U,t.parser=K,t.setOptions=z,t.use=H,t.walkTokens=V,Object.defineProperty(t,"__esModule",{value:!0})},(t.amd=!0)?t(0,e):"object"==typeof exports&&"undefined"!=typeof module?e(exports):e((i="undefined"!=typeof globalThis?globalThis:i||self).marked={})}(),tN.Lexer||exports,tN.Parser||exports,tN.Renderer||exports,tN.Slugger||exports,tN.TextRenderer||exports,tN.Tokenizer||exports,tN.getDefaults||exports,tN.lexer||exports;var iN=tN.marked||exports.marked;function eN(t){let i=JSON.parse(t);return i=nN(i),i}function sN(t,i){return i instanceof RegExp?{$mid:2,source:i.source,flags:i.flags}:i}function nN(t,i=0){if(!t||i>200)return t;if("object"==typeof t){switch(t.$mid){case 1:return ws.revive(t);case 2:return new RegExp(t.source,t.flags);case 17:return new Date(t.source)}if(t instanceof qu||t instanceof Uint8Array)return t;if(Array.isArray(t))for(let e=0;e{let s=[],n=[];return t&&(({href:t,dimensions:s}=function(t){const i=[],e=t.split("|").map((t=>t.trim()));t=e[0];const s=e[1];if(s){const t=/height=(\d+)/.exec(s),e=/width=(\d+)/.exec(s),n=t?t[1]:"",o=e?e[1]:"",r=isFinite(parseInt(o)),h=isFinite(parseInt(n));r&&i.push(`width="${o}"`),h&&i.push(`height="${n}"`)}return{href:t,dimensions:i}}(t)),n.push(`src="${W_(t)}"`)),e&&n.push(`alt="${W_(e)}"`),i&&n.push(`title="${W_(i)}"`),s.length&&(n=n.concat(s)),""},paragraph:t=>`

    ${t}

    `,link:(t,i,e)=>"string"!=typeof t?"":(t===e&&(e=j_(e)),i="string"==typeof i?W_(j_(i)):"",`/g,">").replace(/"/g,""").replace(/'/g,"'")}" title="${i||t}" draggable="false">${e}`)});function rN(t,i={},e={}){var s,n;const o=new te;let r=!1;const h=U_(i),c=function(i){let e;try{e=eN(decodeURIComponent(i))}catch(t){}return e?(e=X(e,(i=>t.uris&&t.uris[i]?ws.revive(t.uris[i]):void 0)),encodeURIComponent(JSON.stringify(e))):i},a=function(i,e){let s=ws.revive(t.uris&&t.uris[i]);return e?i.startsWith(xa.data+":")?i:(s||(s=ws.parse(i)),Aa.uriToBrowserUri(s).toString(!0)):s?ws.parse(i).toString()===s.toString()?i:(s.query&&(s=s.with({query:c(s.query)})),s.toString()):i},l=new iN.Renderer;l.image=oN.image,l.link=oN.link,l.paragraph=oN.paragraph;const u=[],d=[];if(i.codeBlockRendererSync?l.code=(t,e)=>{const s=X_.nextId(),n=i.codeBlockRendererSync(hN(e),t);return d.push([s,n]),`
    ${Gn(t)}
    `}:i.codeBlockRenderer&&(l.code=(t,e)=>{const s=X_.nextId(),n=i.codeBlockRenderer(hN(e),t);return u.push(n.then((t=>[s,t]))),`
    ${Gn(t)}
    `}),i.actionHandler){const e=function(e){let s=e.target;if("A"===s.tagName||(s=s.parentElement,s&&"A"===s.tagName))try{let n=s.dataset.href;n&&(t.baseUri&&(n=cN(ws.from(t.baseUri),n)),i.actionHandler.callback(n,e))}catch(t){Pi(t)}finally{e.preventDefault()}},s=i.actionHandler.disposables.add(new Pk(h,"click")),n=i.actionHandler.disposables.add(new Pk(h,"auxclick"));i.actionHandler.disposables.add(ce.any(s.event,n.event)((t=>{const i=new ic(Ba(h),t);(i.leftButton||i.middleButton)&&e(i)}))),i.actionHandler.disposables.add(Ua(h,"keydown",(t=>{const i=new Jh(t);(i.equals(10)||i.equals(3))&&e(i)})))}t.supportHtml||(e.sanitizer=i=>(t.isTrusted?i.match(/^(]+>)|(<\/\s*span>)$/):void 0)?i:"",e.sanitize=!0,e.silent=!0),e.renderer=l;let f,p=null!==(s=t.value)&&void 0!==s?s:"";if(p.length>1e5&&(p=`${p.substr(0,1e5)}…`),t.supportThemeIcons&&(p=function(t){return t.replace(T_,(t=>`\\${t}`))}(p)),i.fillInIncompleteTokens){const t={...iN.defaults,...e},i=function(t){let i,e;for(i=0;i"string"==typeof t?t:t.outerHTML)).join(""));const g=(new DOMParser).parseFromString(aN(t,f),"text/html");if(g.body.querySelectorAll("img").forEach((i=>{const e=i.getAttribute("src");if(e){let s=e;try{t.baseUri&&(s=cN(ws.from(t.baseUri),s))}catch(t){}i.src=a(s,!0)}})),g.body.querySelectorAll("a").forEach((i=>{const e=i.getAttribute("href");if(i.setAttribute("href",""),!e||/^data:|javascript:/i.test(e)||/^command:/i.test(e)&&!t.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(e))i.replaceWith(...i.childNodes);else{let s=a(e,!1);t.baseUri&&(s=cN(ws.from(t.baseUri),e)),i.dataset.href=s}})),h.innerHTML=aN(t,g.body.innerHTML),u.length>0)Promise.all(u).then((t=>{var e,s;if(r)return;const n=new Map(t),o=h.querySelectorAll("div[data-code]");for(const t of o){const i=n.get(null!==(e=t.dataset.code)&&void 0!==e?e:"");i&&Nl(t,i)}null===(s=i.asyncRenderCallback)||void 0===s||s.call(i)}));else if(d.length>0){const t=new Map(d),i=h.querySelectorAll("div[data-code]");for(const e of i){const i=t.get(null!==(n=e.dataset.code)&&void 0!==n?n:"");i&&Nl(e,i)}}if(i.asyncRenderCallback)for(const t of h.getElementsByTagName("img")){const e=o.add(Ua(t,"load",(()=>{e.dispose(),i.asyncRenderCallback()})))}return{element:h,dispose:()=>{r=!0,o.dispose()}}}function hN(t){if(!t)return"";const i=t.split(/[\s+|:|,|\{|\?]/,1);return i.length?i[0]:t}function cN(t,i){return/^\w[\w\d+.-]*:/.test(i)?i:t.path.endsWith("/")?EA(t,i).toString():EA(xA(t),i).toString()}function aN(t,i){const{config:e,allowedSchemes:s}=function(t){const i=[xa.http,xa.https,xa.mailto,xa.data,xa.file,xa.vscodeFileResource,xa.vscodeRemote,xa.vscodeRemoteResource];return t.isTrusted&&i.push(xa.command),{config:{ALLOWED_TAGS:[...Gl],ALLOWED_ATTR:lN,ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:i}}(t);ya("uponSanitizeAttribute",((t,i)=>{if("style"!==i.attrName&&"class"!==i.attrName);else{if("SPAN"===t.tagName){if("style"===i.attrName)return void(i.keepAttr=/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?$/.test(i.attrValue));if("class"===i.attrName)return void(i.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(i.attrValue))}i.keepAttr=!1}}));const n=function(t,i=!1){const e=document.createElement("a");return ya("afterSanitizeAttributes",(s=>{for(const n of["href","src"])if(s.hasAttribute(n)){const o=s.getAttribute(n);if("href"===n&&o.startsWith("#"))continue;if(e.href=o,!t.includes(e.protocol.replace(/:$/,""))){if(i&&"src"===n&&e.href.startsWith("data:"))continue;s.removeAttribute(n)}}})),Xi((()=>{ka("afterSanitizeAttributes")}))}(s);try{return ba(i,{...e,RETURN_TRUSTED_TYPE:!0})}finally{ka("uponSanitizeAttribute"),n.dispose()}}const lN=["align","autoplay","alt","class","controls","data-code","data-href","draggable","height","href","loop","muted","playsinline","poster","src","style","target","title","width","start"];const uN=new Map([[""",'"'],[" "," "],["&","&"],["'","'"],["<","<"],[">",">"]]),dN=new Hn((()=>{const t=new iN.Renderer;return t.code=t=>t,t.blockquote=t=>t,t.html=()=>"",t.heading=t=>t+"\n",t.hr=()=>"",t.list=t=>t,t.listitem=t=>t+"\n",t.paragraph=t=>t+"\n",t.table=(t,i)=>t+i+"\n",t.tablerow=t=>t,t.tablecell=t=>t+" ",t.strong=t=>t,t.em=t=>t,t.codespan=t=>t,t.br=()=>"\n",t.del=t=>t,t.image=()=>"",t.text=t=>t,t.link=(t,i,e)=>e,t}));function fN(t){let i="";return t.forEach((t=>{i+=t.raw})),i}function pN(t){for(const i of t.tokens)if("text"===i.type){const e=i.raw.split("\n"),s=e[e.length-1];if(s.includes("`"))return mN(t);if(s.includes("**"))return kN(t,"**");if(s.match(/\*\w/))return kN(t,"*");if(s.match(/(^|\s)__\w/))return yN(t);if(s.match(/(^|\s)_\w/))return wN(t);if(s.match(/(^|\s)\[.*\]\(\w*/))return vN(t);if(s.match(/(^|\s)\[\w/))return bN(t)}}function gN(t){const i=fN(t);return iN.lexer(i+"\n```")}function mN(t){return kN(t,"`")}function wN(t){return kN(t,"_")}function vN(t){return kN(t,")")}function bN(t){return kN(t,"](about:blank)")}function yN(t){return kN(t,"__")}function kN(t,i){const e=fN(Array.isArray(t)?t:[t]);return iN.lexer(e+i)[0]}function xN(t){const i=fN(t),e=i.split("\n");let s,n=!1;for(let t=0;t0){const t=n?e.slice(0,-1).join("\n"):i,o=!!t.match(/\|\s*$/),r=t+(o?"":"|")+`\n|${" --- |".repeat(s)}`;return iN.lexer(r)}}class CN{constructor(t){this.spliceables=t}splice(t,i,e){this.spliceables.forEach((s=>s.splice(t,i,e)))}}class SN extends Error{constructor(t,i){super(`ListError [${t}] ${i}`)}}function DN(t,i){const e=[];for(const s of i){if(t.start>=s.range.end)continue;if(t.end({range:EN(t.range,s),size:t.size}))),r=e.map(((i,e)=>({range:{start:t+e,end:t+e+1},size:i.size})));this.groups=function(...t){return function(t){const i=[];let e=null;for(const s of t){const t=s.range.start,n=s.range.end,o=s.size;e&&o===e.size?e.range.end=n:(e={range:{start:t,end:n},size:o},i.push(e))}return i}(t.reduce(((t,i)=>t.concat(i)),[]))}(n,r,o),this._size=this._paddingTop+this.groups.reduce(((t,i)=>t+i.size*(i.range.end-i.range.start)),0)}get count(){const t=this.groups.length;return t?this.groups[t-1].range.end:0}get size(){return this._size}indexAt(t){if(t<0)return-1;if(t{for(const e of t)this.getRenderer(i).disposeTemplate(e.templateData),e.templateData=null})),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(t){const i=this.renderers.get(t);if(!i)throw new Error(`No renderer found for ${t}`);return i}}var LN=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r};const FN={CurrentDragAndDropData:void 0},TN={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements:t=>[t],getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class RN{constructor(t){this.elements=t}update(){}getData(){return this.elements}}class ON{constructor(t){this.elements=t}update(){}getData(){return this.elements}}class IN{constructor(){this.types=[],this.files=[]}update(t){if(t.types&&this.types.splice(0,this.types.length,...t.types),t.files){this.files.splice(0,this.files.length);for(let i=0;ie,this.getPosInSet=(null==t?void 0:t.getPosInSet)?t.getPosInSet.bind(t):(t,i)=>i+1,this.getRole=(null==t?void 0:t.getRole)?t.getRole.bind(t):()=>"listitem",this.isChecked=(null==t?void 0:t.isChecked)?t.isChecked.bind(t):()=>{}}}class NN{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(t){if(t!==this._horizontalScrolling){if(t&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=t,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:hl(this.domNode)}),this.rowsContainer.style.width=`${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(t,i,e,s=TN){var n,o,r,h,c,a,l,u,d,f,p,g,m;if(this.virtualDelegate=i,this.domId="list_id_"+ ++NN.InstanceCount,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new cc(50),this.splicing=!1,this.dragOverAnimationStopDisposable=ie.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=ie.None,this.onDragLeaveTimeout=ie.None,this.disposables=new te,this._onDidChangeContentHeight=new fe,this._onDidChangeContentWidth=new fe,this.onDidChangeContentHeight=ce.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,s.horizontalScrolling&&s.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=new AN(null!==(n=s.paddingTop)&&void 0!==n?n:0);for(const t of e)this.renderers.set(t.templateId,t);this.cache=this.disposables.add(new MN(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","boolean"!=typeof s.mouseSupport||s.mouseSupport),this._horizontalScrolling=null!==(o=s.horizontalScrolling)&&void 0!==o?o:TN.horizontalScrolling,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.paddingBottom=void 0===s.paddingBottom?0:s.paddingBottom,this.accessibilityProvider=new _N(s.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",(null!==(r=s.transformOptimization)&&void 0!==r?r:TN.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)",this.rowsContainer.style.overflow="hidden",this.rowsContainer.style.contain="strict"),this.disposables.add(hw.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new Ck({forceIntegerValues:!0,smoothScrollDuration:null!==(h=s.smoothScrolling)&&void 0!==h&&h?125:0,scheduleAtNextAnimationFrame:t=>Ja(Ba(this.domNode),t)})),this.scrollableElement=this.disposables.add(new Tk(this.rowsContainer,{alwaysConsumeMouseWheel:null!==(c=s.alwaysConsumeMouseWheel)&&void 0!==c?c:TN.alwaysConsumeMouseWheel,horizontal:1,vertical:null!==(a=s.verticalScrollMode)&&void 0!==a?a:TN.verticalScrollMode,useShadows:null!==(l=s.useShadows)&&void 0!==l?l:TN.useShadows,mouseWheelScrollSensitivity:s.mouseWheelScrollSensitivity,fastScrollSensitivity:s.fastScrollSensitivity,scrollByPage:s.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),t.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add(Ua(this.rowsContainer,rw.Change,(t=>this.onTouchChange(t)))),this.disposables.add(Ua(this.scrollableElement.getDomNode(),"scroll",(t=>t.target.scrollTop=0))),this.disposables.add(Ua(this.domNode,"dragover",(t=>this.onDragOver(this.toDragEvent(t))))),this.disposables.add(Ua(this.domNode,"drop",(t=>this.onDrop(this.toDragEvent(t))))),this.disposables.add(Ua(this.domNode,"dragleave",(t=>this.onDragLeave(this.toDragEvent(t))))),this.disposables.add(Ua(this.domNode,"dragend",(t=>this.onDragEnd(t)))),this.setRowLineHeight=null!==(u=s.setRowLineHeight)&&void 0!==u?u:TN.setRowLineHeight,this.setRowHeight=null!==(d=s.setRowHeight)&&void 0!==d?d:TN.setRowHeight,this.supportDynamicHeights=null!==(f=s.supportDynamicHeights)&&void 0!==f?f:TN.supportDynamicHeights,this.dnd=null!==(p=s.dnd)&&void 0!==p?p:this.disposables.add(TN.dnd),this.layout(null===(g=s.initialSize)||void 0===g?void 0:g.height,null===(m=s.initialSize)||void 0===m?void 0:m.width)}updateOptions(t){let i;if(void 0!==t.paddingBottom&&(this.paddingBottom=t.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),void 0!==t.smoothScrolling&&this.scrollable.setSmoothScrollDuration(t.smoothScrolling?125:0),void 0!==t.horizontalScrolling&&(this.horizontalScrolling=t.horizontalScrolling),void 0!==t.scrollByPage&&(i={...null!=i?i:{},scrollByPage:t.scrollByPage}),void 0!==t.mouseWheelScrollSensitivity&&(i={...null!=i?i:{},mouseWheelScrollSensitivity:t.mouseWheelScrollSensitivity}),void 0!==t.fastScrollSensitivity&&(i={...null!=i?i:{},fastScrollSensitivity:t.fastScrollSensitivity}),i&&this.scrollableElement.updateOptions(i),void 0!==t.paddingTop&&t.paddingTop!==this.rangeMap.paddingTop){const i=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),e=t.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=t.paddingTop,this.render(i,Math.max(0,this.lastRenderTop+e),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.lastRenderTop,this.lastRenderHeight)}}splice(t,i,e=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(t,i,e)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(t,i,e=[]){const s=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),n=dI.intersect(s,{start:t,end:t+i}),o=new Map;for(let t=n.end-1;t>=n.start;t--){const i=this.items[t];if(i.dragStartDisposable.dispose(),i.checkedDisposable.dispose(),i.row){let e=o.get(i.templateId);e||(e=[],o.set(i.templateId,e));const s=this.renderers.get(i.templateId);s&&s.disposeElement&&s.disposeElement(i.element,t,i.row.templateData,i.size),e.push(i.row)}i.row=null}const r={start:t+i,end:this.items.length},h=dI.intersect(r,s),c=dI.relativeComplement(r,s),a=e.map((t=>({id:String(this.itemId++),element:t,templateId:this.virtualDelegate.getTemplateId(t),size:this.virtualDelegate.getHeight(t),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(t),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:ie.None,checkedDisposable:ie.None})));let l;0===t&&i>=this.items.length?(this.rangeMap=new AN(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,a),l=this.items,this.items=a):(this.rangeMap.splice(t,i,a),l=this.items.splice(t,i,...a));const u=e.length-i,d=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),f=EN(h,u),p=dI.intersect(d,f);for(let t=p.start;tEN(t,u))),w=[{start:t,end:t+e.length},...m].map((t=>dI.intersect(d,t))),v=this.getNextToLastElement(w);for(const t of w)for(let i=t.start;it.element))}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=Ja(Ba(this.domNode),(()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null})))}eventuallyUpdateScrollWidth(){this.horizontalScrolling?this.scrollableElementWidthDelayer.trigger((()=>this.updateScrollWidth())):this.scrollableElementWidthDelayer.cancel()}updateScrollWidth(){if(!this.horizontalScrolling)return;let t=0;for(const i of this.items)void 0!==i.width&&(t=Math.max(t,i.width));this.scrollWidth=t,this.scrollableElement.setScrollDimensions({scrollWidth:0===t?0:t+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(this.supportDynamicHeights){for(const t of this.items)t.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(t){return this.items[t].element}indexOf(t){return this.items.findIndex((i=>i.element===t))}domElement(t){const i=this.items[t].row;return i&&i.domNode}elementHeight(t){return this.items[t].size}elementTop(t){return this.rangeMap.positionAt(t)}indexAt(t){return this.rangeMap.indexAt(t)}indexAfter(t){return this.rangeMap.indexAfter(t)}layout(t,i){const e={height:"number"==typeof t?t:cl(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,e.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(e),void 0!==i&&(this.renderWidth=i,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:"number"==typeof i?i:hl(this.domNode)})}render(t,i,e,s,n,o=!1){const r=this.getRenderRange(i,e),h=dI.relativeComplement(r,t),c=dI.relativeComplement(t,r),a=this.getNextToLastElement(h);if(o){const i=dI.intersect(t,r);for(let t=i.start;t{for(const t of c)for(let i=t.start;is.row.domNode.setAttribute("aria-checked",String(!!t));t(r.value),s.checkedDisposable=r.onDidChange(t)}!n&&s.row.domNode.parentElement||(i?this.rowsContainer.insertBefore(s.row.domNode,i):this.rowsContainer.appendChild(s.row.domNode)),this.updateItemInDOM(s,t);const h=this.renderers.get(s.templateId);if(!h)throw new Error(`No renderer found for template id ${s.templateId}`);null==h||h.renderElement(s.element,t,s.row.templateData,s.size);const c=this.dnd.getDragURI(s.element);s.dragStartDisposable.dispose(),s.row.domNode.draggable=!!c,c&&(s.dragStartDisposable=Ua(s.row.domNode,"dragstart",(t=>this.onDragStart(s.element,c,t)))),this.horizontalScrolling&&(this.measureItemWidth(s),this.eventuallyUpdateScrollWidth())}measureItemWidth(t){if(!t.row||!t.row.domNode)return;t.row.domNode.style.width="fit-content",t.width=hl(t.row.domNode);const i=Ba(t.row.domNode).getComputedStyle(t.row.domNode);i.paddingLeft&&(t.width+=parseFloat(i.paddingLeft)),i.paddingRight&&(t.width+=parseFloat(i.paddingRight)),t.row.domNode.style.width=""}updateItemInDOM(t,i){t.row.domNode.style.top=`${this.elementTop(i)}px`,this.setRowHeight&&(t.row.domNode.style.height=`${t.size}px`),this.setRowLineHeight&&(t.row.domNode.style.lineHeight=`${t.size}px`),t.row.domNode.setAttribute("data-index",`${i}`),t.row.domNode.setAttribute("data-last-element",i===this.length-1?"true":"false"),t.row.domNode.setAttribute("data-parity",i%2==0?"even":"odd"),t.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(t.element,i,this.length))),t.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(t.element,i))),t.row.domNode.setAttribute("id",this.getElementDomId(i)),t.row.domNode.classList.toggle("drop-target",t.dropTarget)}removeItemFromDOM(t){const i=this.items[t];if(i.dragStartDisposable.dispose(),i.checkedDisposable.dispose(),i.row){const e=this.renderers.get(i.templateId);e&&e.disposeElement&&e.disposeElement(i.element,t,i.row.templateData,i.size),this.cache.release(i.row),i.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(t,i){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:t,reuseAnimation:i})}get scrollTop(){return this.getScrollTop()}set scrollTop(t){this.setScrollTop(t)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return ce.map(this.disposables.add(new Pk(this.domNode,"click")).event,(t=>this.toMouseEvent(t)),this.disposables)}get onMouseDblClick(){return ce.map(this.disposables.add(new Pk(this.domNode,"dblclick")).event,(t=>this.toMouseEvent(t)),this.disposables)}get onMouseMiddleClick(){return ce.filter(ce.map(this.disposables.add(new Pk(this.domNode,"auxclick")).event,(t=>this.toMouseEvent(t)),this.disposables),(t=>1===t.browserEvent.button),this.disposables)}get onMouseDown(){return ce.map(this.disposables.add(new Pk(this.domNode,"mousedown")).event,(t=>this.toMouseEvent(t)),this.disposables)}get onMouseOver(){return ce.map(this.disposables.add(new Pk(this.domNode,"mouseover")).event,(t=>this.toMouseEvent(t)),this.disposables)}get onMouseOut(){return ce.map(this.disposables.add(new Pk(this.domNode,"mouseout")).event,(t=>this.toMouseEvent(t)),this.disposables)}get onContextMenu(){return ce.any(ce.map(this.disposables.add(new Pk(this.domNode,"contextmenu")).event,(t=>this.toMouseEvent(t)),this.disposables),ce.map(this.disposables.add(new Pk(this.domNode,rw.Contextmenu)).event,(t=>this.toGestureEvent(t)),this.disposables))}get onTouchStart(){return ce.map(this.disposables.add(new Pk(this.domNode,"touchstart")).event,(t=>this.toTouchEvent(t)),this.disposables)}get onTap(){return ce.map(this.disposables.add(new Pk(this.rowsContainer,rw.Tap)).event,(t=>this.toGestureEvent(t)),this.disposables)}toMouseEvent(t){const i=this.getItemIndexFromEventTarget(t.target||null),e=void 0===i?void 0:this.items[i];return{browserEvent:t,index:i,element:e&&e.element}}toTouchEvent(t){const i=this.getItemIndexFromEventTarget(t.target||null),e=void 0===i?void 0:this.items[i];return{browserEvent:t,index:i,element:e&&e.element}}toGestureEvent(t){const i=this.getItemIndexFromEventTarget(t.initialTarget||null),e=void 0===i?void 0:this.items[i];return{browserEvent:t,index:i,element:e&&e.element}}toDragEvent(t){const i=this.getItemIndexFromEventTarget(t.target||null),e=void 0===i?void 0:this.items[i];return{browserEvent:t,index:i,element:e&&e.element}}onScroll(t){try{const i=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(i,t.scrollTop,t.height,t.scrollLeft,t.scrollWidth),this.supportDynamicHeights&&this._rerender(t.scrollTop,t.height,t.inSmoothScrolling)}catch(i){throw console.error("Got bad scroll event:",t),i}}onTouchChange(t){t.preventDefault(),t.stopPropagation(),this.scrollTop-=t.translationY}onDragStart(t,i,e){var s,n;if(!e.dataTransfer)return;const o=this.dnd.getDragElements(t);if(e.dataTransfer.effectAllowed="copyMove",e.dataTransfer.setData(LI.TEXT,i),e.dataTransfer.setDragImage){let t;this.dnd.getDragLabel&&(t=this.dnd.getDragLabel(o,e)),void 0===t&&(t=String(o.length));const i=Wl(".monaco-drag-image");i.textContent=t;const s=(t=>{for(;t&&!t.classList.contains("monaco-workbench");)t=t.parentElement;return t||this.domNode.ownerDocument})(this.domNode);s.appendChild(i),e.dataTransfer.setDragImage(i,-10,-10),setTimeout((()=>s.removeChild(i)),0)}this.domNode.classList.add("dragging"),this.currentDragData=new RN(o),FN.CurrentDragAndDropData=new ON(o),null===(n=(s=this.dnd).onDragStart)||void 0===n||n.call(s,this.currentDragData,e)}onDragOver(t){var i;if(t.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),FN.CurrentDragAndDropData&&"vscode-ui"===FN.CurrentDragAndDropData.getData())return!1;if(this.setupDragAndDropScrollTopAnimation(t.browserEvent),!t.browserEvent.dataTransfer)return!1;if(!this.currentDragData)if(FN.CurrentDragAndDropData)this.currentDragData=FN.CurrentDragAndDropData;else{if(!t.browserEvent.dataTransfer.types)return!1;this.currentDragData=new IN}const e=this.dnd.onDragOver(this.currentDragData,t.element,t.index,t.browserEvent);if(this.canDrop="boolean"==typeof e?e:e.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;let s;if(t.browserEvent.dataTransfer.dropEffect="boolean"!=typeof e&&0===e.effect?"copy":"move",s="boolean"!=typeof e&&e.feedback?e.feedback:void 0===t.index?[-1]:[t.index],s=k(s).filter((t=>t>=-1&&tt-i)),s=-1===s[0]?[-1]:s,n=this.currentDragFeedback,o=s,Array.isArray(n)&&Array.isArray(o)?u(n,o):n===o)return!0;var n,o;if(this.currentDragFeedback=s,this.currentDragFeedbackDisposable.dispose(),-1===s[0])this.domNode.classList.add("drop-target"),this.rowsContainer.classList.add("drop-target"),this.currentDragFeedbackDisposable=Xi((()=>{this.domNode.classList.remove("drop-target"),this.rowsContainer.classList.remove("drop-target")}));else{for(const t of s){const e=this.items[t];e.dropTarget=!0,null===(i=e.row)||void 0===i||i.domNode.classList.add("drop-target")}this.currentDragFeedbackDisposable=Xi((()=>{var t;for(const i of s){const e=this.items[i];e.dropTarget=!1,null===(t=e.row)||void 0===t||t.domNode.classList.remove("drop-target")}}))}return!0}onDragLeave(t){var i,e;this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=uc((()=>this.clearDragOverFeedback()),100,this.disposables),this.currentDragData&&(null===(e=(i=this.dnd).onDragLeave)||void 0===e||e.call(i,this.currentDragData,t.element,t.index,t.browserEvent))}onDrop(t){if(!this.canDrop)return;const i=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,FN.CurrentDragAndDropData=void 0,i&&t.browserEvent.dataTransfer&&(t.browserEvent.preventDefault(),i.update(t.browserEvent.dataTransfer),this.dnd.drop(i,t.element,t.index,t.browserEvent))}onDragEnd(t){var i,e;this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,FN.CurrentDragAndDropData=void 0,null===(e=(i=this.dnd).onDragEnd)||void 0===e||e.call(i,t)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=ie.None}setupDragAndDropScrollTopAnimation(t){if(!this.dragOverAnimationDisposable){const t=nl(this.domNode).top;this.dragOverAnimationDisposable=function(t,i){const e=()=>{i(),s=Ja(t,e)};let s=Ja(t,e);return Xi((()=>s.dispose()))}(Ba(this.domNode),this.animateDragAndDropScrollTop.bind(this,t))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=uc((()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}),1e3,this.disposables),this.dragOverMouseY=t.pageY}animateDragAndDropScrollTop(t){if(void 0===this.dragOverMouseY)return;const i=this.dragOverMouseY-t,e=this.renderHeight-35;i<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(i-35))):i>e&&(this.scrollTop+=Math.min(14,Math.floor(.3*(i-e))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getItemIndexFromEventTarget(t){const i=this.scrollableElement.getDomNode();let e=t;for(;e instanceof HTMLElement&&e!==this.rowsContainer&&i.contains(e);){const t=e.getAttribute("data-index");if(t){const i=Number(t);if(!isNaN(i))return i}e=e.parentElement}}getRenderRange(t,i){return{start:this.rangeMap.indexAt(t),end:this.rangeMap.indexAfter(t+i-1)}}_rerender(t,i,e){const s=this.getRenderRange(t,i);let n,o;t===this.elementTop(s.start)?(n=s.start,o=0):s.end-s.start>1&&(n=s.start+1,o=this.elementTop(n)-t);let r=0;for(;;){const h=this.getRenderRange(t,i);let c=!1;for(let t=h.start;t=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r};class WN{constructor(t){this.trait=t,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(t){return t}renderElement(t,i,e){const s=this.renderedElements.findIndex((t=>t.templateData===e));if(s>=0){const t=this.renderedElements[s];this.trait.unrender(e),t.index=i}else this.renderedElements.push({index:i,templateData:e});this.trait.renderIndex(i,e)}splice(t,i,e){const s=[];for(const n of this.renderedElements)n.index=t+i&&s.push({index:n.index+e-i,templateData:n.templateData});this.renderedElements=s}renderIndexes(t){for(const{index:i,templateData:e}of this.renderedElements)t.indexOf(i)>-1&&this.trait.renderIndex(i,e)}disposeTemplate(t){const i=this.renderedElements.findIndex((i=>i.templateData===t));i<0||this.renderedElements.splice(i,1)}}class jN{get name(){return this._trait}get renderer(){return new WN(this)}constructor(t){this._trait=t,this.length=0,this.indexes=[],this.sortedIndexes=[],this._onChange=new fe,this.onChange=this._onChange.event}splice(t,i,e){var s;i=Math.max(0,Math.min(i,this.length-t));const n=e.length-i,o=t+i,r=[];let h=0;for(;h=o;)r.push(this.sortedIndexes[h++]+n);const c=this.length+n;if(this.sortedIndexes.length>0&&0===r.length&&c>0){const i=null!==(s=this.sortedIndexes.find((i=>i>=t)))&&void 0!==s?s:c-1;r.push(Math.min(i,c-1))}this.renderer.splice(t,i,e.length),this._set(r,r),this.length=c}renderIndex(t,i){i.classList.toggle(this._trait,this.contains(t))}unrender(t){t.classList.remove(this._trait)}set(t,i){return this._set(t,[...t].sort(rB),i)}_set(t,i,e){const s=this.indexes,n=this.sortedIndexes;this.indexes=t,this.sortedIndexes=i;const o=oB(n,t);return this.renderer.renderIndexes(o),this._onChange.fire({indexes:t,browserEvent:e}),s}get(){return this.indexes}contains(t){return d(this.sortedIndexes,t,rB)>=0}dispose(){Ji(this._onChange)}}$N([ow],jN.prototype,"renderer",null);class zN extends jN{constructor(t){super("selected"),this.setAriaSelected=t}renderIndex(t,i){super.renderIndex(t,i),this.setAriaSelected&&(this.contains(t)?i.setAttribute("aria-selected","true"):i.setAttribute("aria-selected","false"))}}class HN{constructor(t,i,e){this.trait=t,this.view=i,this.identityProvider=e}splice(t,i,e){if(!this.identityProvider)return this.trait.splice(t,i,new Array(e.length).fill(!1));const s=this.trait.get().map((t=>this.identityProvider.getId(this.view.element(t)).toString()));if(0===s.length)return this.trait.splice(t,i,new Array(e.length).fill(!1));const n=new Set(s),o=e.map((t=>n.has(this.identityProvider.getId(t).toString())));this.trait.splice(t,i,o)}}function VN(t){return"INPUT"===t.tagName||"TEXTAREA"===t.tagName}function UN(t,i){return!!t.classList.contains(i)||!t.classList.contains("monaco-list")&&!!t.parentElement&&UN(t.parentElement,i)}function qN(t){return UN(t,"monaco-editor")}function KN(t){return!!("A"===t.tagName&&t.classList.contains("monaco-button")||"DIV"===t.tagName&&t.classList.contains("monaco-button-dropdown"))||!t.classList.contains("monaco-list")&&!!t.parentElement&&KN(t.parentElement)}class GN{get onKeyDown(){return ce.chain(this.disposables.add(new Pk(this.view.domNode,"keydown")).event,(t=>t.filter((t=>!VN(t.target))).map((t=>new Jh(t)))))}constructor(t,i,e){this.list=t,this.view=i,this.disposables=new te,this.multipleSelectionDisposables=new te,this.multipleSelectionSupport=e.multipleSelectionSupport,this.disposables.add(this.onKeyDown((t=>{switch(t.keyCode){case 3:return this.onEnter(t);case 16:return this.onUpArrow(t);case 18:return this.onDownArrow(t);case 11:return this.onPageUpArrow(t);case 12:return this.onPageDownArrow(t);case 9:return this.onEscape(t);case 31:this.multipleSelectionSupport&&(St?t.metaKey:t.ctrlKey)&&this.onCtrlA(t)}})))}updateOptions(t){void 0!==t.multipleSelectionSupport&&(this.multipleSelectionSupport=t.multipleSelectionSupport)}onEnter(t){t.preventDefault(),t.stopPropagation(),this.list.setSelection(this.list.getFocus(),t.browserEvent)}onUpArrow(t){t.preventDefault(),t.stopPropagation(),this.list.focusPrevious(1,!1,t.browserEvent);const i=this.list.getFocus()[0];this.list.setAnchor(i),this.list.reveal(i),this.view.domNode.focus()}onDownArrow(t){t.preventDefault(),t.stopPropagation(),this.list.focusNext(1,!1,t.browserEvent);const i=this.list.getFocus()[0];this.list.setAnchor(i),this.list.reveal(i),this.view.domNode.focus()}onPageUpArrow(t){t.preventDefault(),t.stopPropagation(),this.list.focusPreviousPage(t.browserEvent);const i=this.list.getFocus()[0];this.list.setAnchor(i),this.list.reveal(i),this.view.domNode.focus()}onPageDownArrow(t){t.preventDefault(),t.stopPropagation(),this.list.focusNextPage(t.browserEvent);const i=this.list.getFocus()[0];this.list.setAnchor(i),this.list.reveal(i),this.view.domNode.focus()}onCtrlA(t){t.preventDefault(),t.stopPropagation(),this.list.setSelection(C(this.list.length),t.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(t){this.list.getSelection().length&&(t.preventDefault(),t.stopPropagation(),this.list.setSelection([],t.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}$N([ow],GN.prototype,"onKeyDown",null),function(t){t[t.Automatic=0]="Automatic",t[t.Trigger=1]="Trigger"}(BN||(BN={})),function(t){t[t.Idle=0]="Idle",t[t.Typing=1]="Typing"}(PN||(PN={}));const ZN=new class{mightProducePrintableCharacter(t){return!(t.ctrlKey||t.metaKey||t.altKey)&&(t.keyCode>=31&&t.keyCode<=56||t.keyCode>=21&&t.keyCode<=30||t.keyCode>=98&&t.keyCode<=107||t.keyCode>=85&&t.keyCode<=95)}};class QN{constructor(t,i,e,s,n){this.list=t,this.view=i,this.keyboardNavigationLabelProvider=e,this.keyboardNavigationEventFilter=s,this.delegate=n,this.enabled=!1,this.state=PN.Idle,this.mode=BN.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new te,this.disposables=new te,this.updateOptions(t.options)}updateOptions(t){var i,e;null===(i=t.typeNavigationEnabled)||void 0===i||i?this.enable():this.disable(),this.mode=null!==(e=t.typeNavigationMode)&&void 0!==e?e:BN.Automatic}enable(){if(this.enabled)return;let t=!1;const i=ce.chain(this.enabledDisposables.add(new Pk(this.view.domNode,"keydown")).event,(i=>i.filter((t=>!VN(t.target))).filter((()=>this.mode===BN.Automatic||this.triggered)).map((t=>new Jh(t))).filter((i=>t||this.keyboardNavigationEventFilter(i))).filter((t=>this.delegate.mightProducePrintableCharacter(t))).forEach((t=>Tl(t,!0))).map((t=>t.browserEvent.key)))),e=ce.debounce(i,(()=>null),800,void 0,void 0,void 0,this.enabledDisposables);ce.reduce(ce.any(i,e),((t,i)=>null===i?null:(t||"")+i),void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),e(this.onClear,this,this.enabledDisposables),i((()=>t=!0),void 0,this.enabledDisposables),e((()=>t=!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 i=this.list.getFocus();if(i.length>0&&i[0]===this.previouslyFocused){const e=null===(t=this.list.options.accessibilityProvider)||void 0===t?void 0:t.getAriaLabel(this.list.element(i[0]));e&&$m(e)}this.previouslyFocused=-1}onInput(t){if(!t)return this.state=PN.Idle,void(this.triggered=!1);const i=this.list.getFocus(),e=i.length>0?i[0]:0,s=this.state===PN.Idle?1:0;this.state=PN.Typing;for(let i=0;i1&&1===i.length)return this.previouslyFocused=e,this.list.setFocus([n]),void this.list.reveal(n)}}else if(void 0===r||PI(t,r))return this.previouslyFocused=e,this.list.setFocus([n]),void this.list.reveal(n)}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class JN{constructor(t,i){this.list=t,this.view=i,this.disposables=new te;const e=ce.chain(this.disposables.add(new Pk(i.domNode,"keydown")).event,(t=>t.filter((t=>!VN(t.target))).map((t=>new Jh(t))))),s=ce.chain(e,(t=>t.filter((t=>!(2!==t.keyCode||t.ctrlKey||t.metaKey||t.shiftKey||t.altKey)))));s(this.onTab,this,this.disposables)}onTab(t){if(t.target!==this.view.domNode)return;const i=this.list.getFocus();if(0===i.length)return;const e=this.view.domElement(i[0]);if(!e)return;const s=e.querySelector("[tabIndex]");if(!(s&&s instanceof HTMLElement&&-1!==s.tabIndex))return;const n=Ba(s).getComputedStyle(s);"hidden"!==n.visibility&&"none"!==n.display&&(t.preventDefault(),t.stopPropagation(),s.focus())}dispose(){this.disposables.dispose()}}function YN(t){return St?t.browserEvent.metaKey:t.browserEvent.ctrlKey}function XN(t){return t.browserEvent.shiftKey}const tB={isSelectionSingleChangeEvent:YN,isSelectionRangeChangeEvent:XN};class iB{constructor(t){this.list=t,this.disposables=new te,this._onPointer=new fe,this.onPointer=this._onPointer.event,!1!==t.options.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||tB),this.mouseSupport=void 0===t.options.mouseSupport||!!t.options.mouseSupport,this.mouseSupport&&(t.onMouseDown(this.onMouseDown,this,this.disposables),t.onContextMenu(this.onContextMenu,this,this.disposables),t.onMouseDblClick(this.onDoubleClick,this,this.disposables),t.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(hw.addTarget(t.getHTMLElement()))),ce.any(t.onMouseClick,t.onMouseMiddleClick,t.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(t){void 0!==t.multipleSelectionSupport&&(this.multipleSelectionController=void 0,t.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||tB))}isSelectionSingleChangeEvent(t){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionSingleChangeEvent(t)}isSelectionRangeChangeEvent(t){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionRangeChangeEvent(t)}isSelectionChangeEvent(t){return this.isSelectionSingleChangeEvent(t)||this.isSelectionRangeChangeEvent(t)}onMouseDown(t){qN(t.browserEvent.target)||gl()!==t.browserEvent.target&&this.list.domFocus()}onContextMenu(t){VN(t.browserEvent.target)||qN(t.browserEvent.target)||this.list.setFocus(void 0===t.index?[]:[t.index],t.browserEvent)}onViewPointer(t){if(!this.mouseSupport)return;if(VN(t.browserEvent.target)||qN(t.browserEvent.target))return;if(t.browserEvent.isHandledByList)return;t.browserEvent.isHandledByList=!0;const i=t.index;return void 0===i?(this.list.setFocus([],t.browserEvent),this.list.setSelection([],t.browserEvent),void this.list.setAnchor(void 0)):this.isSelectionChangeEvent(t)?this.changeSelection(t):(this.list.setFocus([i],t.browserEvent),this.list.setAnchor(i),Ml(e=t.browserEvent)&&2===e.button||this.list.setSelection([i],t.browserEvent),void this._onPointer.fire(t));var e}onDoubleClick(t){if(VN(t.browserEvent.target)||qN(t.browserEvent.target))return;if(this.isSelectionChangeEvent(t))return;if(t.browserEvent.isHandledByList)return;t.browserEvent.isHandledByList=!0;const i=this.list.getFocus();this.list.setSelection(i,t.browserEvent)}changeSelection(t){const i=t.index;let e=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(t)){if(void 0===e){const t=this.list.getFocus()[0];e=null!=t?t:i,this.list.setAnchor(e)}const s=C(Math.min(e,i),Math.max(e,i)+1),n=this.list.getSelection(),o=function(t,i){const e=t.indexOf(i);if(-1===e)return[];const s=[];let n=e-1;for(;n>=0&&t[n]===i-(e-n);)s.push(t[n--]);for(s.reverse(),n=e;n=t.length)e.push(i[n++]);else if(n>=i.length)e.push(t[s++]);else{if(t[s]===i[n]){s++,n++;continue}t[s]t!==i));this.list.setFocus([i]),this.list.setAnchor(i),this.list.setSelection(e.length===s.length?[...s,i]:s,t.browserEvent)}}dispose(){this.disposables.dispose()}}class eB{constructor(t,i){this.styleElement=t,this.selectorSuffix=i}style(t){var i,e;const s=this.selectorSuffix&&`.${this.selectorSuffix}`,n=[];t.listBackground&&n.push(`.monaco-list${s} .monaco-list-rows { background: ${t.listBackground}; }`),t.listFocusBackground&&(n.push(`.monaco-list${s}:focus .monaco-list-row.focused { background-color: ${t.listFocusBackground}; }`),n.push(`.monaco-list${s}:focus .monaco-list-row.focused:hover { background-color: ${t.listFocusBackground}; }`)),t.listFocusForeground&&n.push(`.monaco-list${s}:focus .monaco-list-row.focused { color: ${t.listFocusForeground}; }`),t.listActiveSelectionBackground&&(n.push(`.monaco-list${s}:focus .monaco-list-row.selected { background-color: ${t.listActiveSelectionBackground}; }`),n.push(`.monaco-list${s}:focus .monaco-list-row.selected:hover { background-color: ${t.listActiveSelectionBackground}; }`)),t.listActiveSelectionForeground&&n.push(`.monaco-list${s}:focus .monaco-list-row.selected { color: ${t.listActiveSelectionForeground}; }`),t.listActiveSelectionIconForeground&&n.push(`.monaco-list${s}:focus .monaco-list-row.selected .codicon { color: ${t.listActiveSelectionIconForeground}; }`),t.listFocusAndSelectionBackground&&n.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${s}:focus .monaco-list-row.selected.focused { background-color: ${t.listFocusAndSelectionBackground}; }\n\t\t\t`),t.listFocusAndSelectionForeground&&n.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${s}:focus .monaco-list-row.selected.focused { color: ${t.listFocusAndSelectionForeground}; }\n\t\t\t`),t.listInactiveFocusForeground&&(n.push(`.monaco-list${s} .monaco-list-row.focused { color: ${t.listInactiveFocusForeground}; }`),n.push(`.monaco-list${s} .monaco-list-row.focused:hover { color: ${t.listInactiveFocusForeground}; }`)),t.listInactiveSelectionIconForeground&&n.push(`.monaco-list${s} .monaco-list-row.focused .codicon { color: ${t.listInactiveSelectionIconForeground}; }`),t.listInactiveFocusBackground&&(n.push(`.monaco-list${s} .monaco-list-row.focused { background-color: ${t.listInactiveFocusBackground}; }`),n.push(`.monaco-list${s} .monaco-list-row.focused:hover { background-color: ${t.listInactiveFocusBackground}; }`)),t.listInactiveSelectionBackground&&(n.push(`.monaco-list${s} .monaco-list-row.selected { background-color: ${t.listInactiveSelectionBackground}; }`),n.push(`.monaco-list${s} .monaco-list-row.selected:hover { background-color: ${t.listInactiveSelectionBackground}; }`)),t.listInactiveSelectionForeground&&n.push(`.monaco-list${s} .monaco-list-row.selected { color: ${t.listInactiveSelectionForeground}; }`),t.listHoverBackground&&n.push(`.monaco-list${s}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${t.listHoverBackground}; }`),t.listHoverForeground&&n.push(`.monaco-list${s}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${t.listHoverForeground}; }`);const o=Kl(t.listFocusAndSelectionOutline,Kl(t.listSelectionOutline,null!==(i=t.listFocusOutline)&&void 0!==i?i:""));o&&n.push(`.monaco-list${s}:focus .monaco-list-row.focused.selected { outline: 1px solid ${o}; outline-offset: -1px;}`),t.listFocusOutline&&n.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${s}:focus .monaco-list-row.focused { outline: 1px solid ${t.listFocusOutline}; outline-offset: -1px; }\n\t\t\t\t.monaco-workbench.context-menu-visible .monaco-list${s}.last-focused .monaco-list-row.focused { outline: 1px solid ${t.listFocusOutline}; outline-offset: -1px; }\n\t\t\t`);const r=Kl(t.listSelectionOutline,null!==(e=t.listInactiveFocusOutline)&&void 0!==e?e:"");r&&n.push(`.monaco-list${s} .monaco-list-row.focused.selected { outline: 1px dotted ${r}; outline-offset: -1px; }`),t.listSelectionOutline&&n.push(`.monaco-list${s} .monaco-list-row.selected { outline: 1px dotted ${t.listSelectionOutline}; outline-offset: -1px; }`),t.listInactiveFocusOutline&&n.push(`.monaco-list${s} .monaco-list-row.focused { outline: 1px dotted ${t.listInactiveFocusOutline}; outline-offset: -1px; }`),t.listHoverOutline&&n.push(`.monaco-list${s} .monaco-list-row:hover { outline: 1px dashed ${t.listHoverOutline}; outline-offset: -1px; }`),t.listDropBackground&&n.push(`\n\t\t\t\t.monaco-list${s}.drop-target,\n\t\t\t\t.monaco-list${s} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${s} .monaco-list-row.drop-target { background-color: ${t.listDropBackground} !important; color: inherit !important; }\n\t\t\t`),t.tableColumnsBorder&&n.push(`\n\t\t\t\t.monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: ${t.tableColumnsBorder};\n\t\t\t\t}\n\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: transparent;\n\t\t\t\t}\n\t\t\t`),t.tableOddRowsBackgroundColor&&n.push(`\n\t\t\t\t.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {\n\t\t\t\t\tbackground-color: ${t.tableOddRowsBackgroundColor};\n\t\t\t\t}\n\t\t\t`),this.styleElement.textContent=n.join("\n")}}const sB={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropBackground:"#383B3D",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:ug.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:ug.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:ug.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},nB={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){},dispose(){}}};function oB(t,i){const e=[];let s=0,n=0;for(;s=t.length)e.push(i[n++]);else if(n>=i.length)e.push(t[s++]);else{if(t[s]===i[n]){e.push(t[s]),s++,n++;continue}e.push(t[s]t-i;class hB{constructor(t,i){this._templateId=t,this.renderers=i}get templateId(){return this._templateId}renderTemplate(t){return this.renderers.map((i=>i.renderTemplate(t)))}renderElement(t,i,e,s){let n=0;for(const o of this.renderers)o.renderElement(t,i,e[n++],s)}disposeElement(t,i,e,s){var n;let o=0;for(const r of this.renderers)null===(n=r.disposeElement)||void 0===n||n.call(r,t,i,e[o],s),o+=1}disposeTemplate(t){let i=0;for(const e of this.renderers)e.disposeTemplate(t[i++])}}class cB{constructor(t){this.accessibilityProvider=t,this.templateId="a18n"}renderTemplate(t){return t}renderElement(t,i,e){const s=this.accessibilityProvider.getAriaLabel(t);s?e.setAttribute("aria-label",s):e.removeAttribute("aria-label");const n=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(t);"number"==typeof n?e.setAttribute("aria-level",`${n}`):e.removeAttribute("aria-level")}disposeTemplate(t){}}class aB{constructor(t,i){this.list=t,this.dnd=i}getDragElements(t){const i=this.list.getSelectedElements();return i.indexOf(t)>-1?i:[t]}getDragURI(t){return this.dnd.getDragURI(t)}getDragLabel(t,i){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(t,i)}onDragStart(t,i){var e,s;null===(s=(e=this.dnd).onDragStart)||void 0===s||s.call(e,t,i)}onDragOver(t,i,e,s){return this.dnd.onDragOver(t,i,e,s)}onDragLeave(t,i,e,s){var n,o;null===(o=(n=this.dnd).onDragLeave)||void 0===o||o.call(n,t,i,e,s)}onDragEnd(t){var i,e;null===(e=(i=this.dnd).onDragEnd)||void 0===e||e.call(i,t)}drop(t,i,e,s){this.dnd.drop(t,i,e,s)}dispose(){this.dnd.dispose()}}class lB{get onDidChangeFocus(){return ce.map(this.eventBufferer.wrapEvent(this.focus.onChange),(t=>this.toListEvent(t)),this.disposables)}get onDidChangeSelection(){return ce.map(this.eventBufferer.wrapEvent(this.selection.onChange),(t=>this.toListEvent(t)),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 t=!1;const i=ce.chain(this.disposables.add(new Pk(this.view.domNode,"keydown")).event,(i=>i.map((t=>new Jh(t))).filter((i=>t=58===i.keyCode||i.shiftKey&&68===i.keyCode)).map((t=>Tl(t,!0))).filter((()=>!1)))),e=ce.chain(this.disposables.add(new Pk(this.view.domNode,"keyup")).event,(i=>i.forEach((()=>t=!1)).map((t=>new Jh(t))).filter((t=>58===t.keyCode||t.shiftKey&&68===t.keyCode)).map((t=>Tl(t,!0))).map((({browserEvent:t})=>{const i=this.getFocus(),e=i.length?i[0]:void 0;return{index:e,element:void 0!==e?this.view.element(e):void 0,anchor:void 0!==e?this.view.domElement(e):this.view.domNode,browserEvent:t}})))),s=ce.chain(this.view.onContextMenu,(i=>i.filter((()=>!t)).map((({element:t,index:i,browserEvent:e})=>({element:t,index:i,anchor:new ic(Ba(this.view.domNode),e),browserEvent:e})))));return ce.any(i,e,s)}get onKeyDown(){return this.disposables.add(new Pk(this.view.domNode,"keydown")).event}get onDidFocus(){return ce.signal(this.disposables.add(new Pk(this.view.domNode,"focus",!0)).event)}constructor(t,i,e,s,n=nB){var o,r,h,c;this.user=t,this._options=n,this.focus=new jN("focused"),this.anchor=new jN("anchor"),this.eventBufferer=new be,this._ariaLabel="",this.disposables=new te,this._onDidDispose=new fe,this.onDidDispose=this._onDidDispose.event;const a=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?null===(o=this._options.accessibilityProvider)||void 0===o?void 0:o.getWidgetRole():"list";this.selection=new zN("listbox"!==a);const l=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=n.accessibilityProvider,this.accessibilityProvider&&(l.push(new cB(this.accessibilityProvider)),null===(h=(r=this.accessibilityProvider).onDidChangeActiveDescendant)||void 0===h||h.call(r,this.onDidChangeActiveDescendant,this,this.disposables)),s=s.map((t=>new hB(t.templateId,[...l,t])));const u={...n,dnd:n.dnd&&new aB(this,n.dnd)};if(this.view=this.createListView(i,e,s,u),this.view.domNode.setAttribute("role",a),n.styleController)this.styleController=n.styleController(this.view.domId);else{const t=bl(this.view.domNode);this.styleController=new eB(t,this.view.domId)}this.spliceable=new CN([new HN(this.focus,this.view,n.identityProvider),new HN(this.selection,this.view,n.identityProvider),new HN(this.anchor,this.view,n.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 JN(this,this.view)),("boolean"!=typeof n.keyboardSupport||n.keyboardSupport)&&(this.keyboardController=new GN(this,this.view,n),this.disposables.add(this.keyboardController)),n.keyboardNavigationLabelProvider&&(this.typeNavigationController=new QN(this,this.view,n.keyboardNavigationLabelProvider,null!==(c=n.keyboardNavigationEventFilter)&&void 0!==c?c:()=>!0,n.keyboardNavigationDelegate||ZN),this.disposables.add(this.typeNavigationController)),this.mouseController=this.createMouseController(n),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()),!1!==this._options.multipleSelectionSupport&&this.view.domNode.setAttribute("aria-multiselectable","true")}createListView(t,i,e,s){return new NN(t,i,e,s)}createMouseController(t){return new iB(this)}updateOptions(t={}){var i,e;this._options={...this._options,...t},null===(i=this.typeNavigationController)||void 0===i||i.updateOptions(this._options),void 0!==this._options.multipleSelectionController&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(t),null===(e=this.keyboardController)||void 0===e||e.updateOptions(t),this.view.updateOptions(t)}get options(){return this._options}splice(t,i,e=[]){if(t<0||t>this.view.length)throw new SN(this.user,`Invalid start index: ${t}`);if(i<0)throw new SN(this.user,`Invalid delete count: ${i}`);0===i&&0===e.length||this.eventBufferer.bufferEvents((()=>this.spliceable.splice(t,i,e)))}rerender(){this.view.rerender()}element(t){return this.view.element(t)}indexOf(t){return this.view.indexOf(t)}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(t){this.view.setScrollTop(t)}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(t){this._ariaLabel=t,this.view.domNode.setAttribute("aria-label",t)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(t,i){this.view.layout(t,i)}setSelection(t,i){for(const i of t)if(i<0||i>=this.length)throw new SN(this.user,`Invalid index ${i}`);this.selection.set(t,i)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map((t=>this.view.element(t)))}setAnchor(t){if(void 0!==t){if(t<0||t>=this.length)throw new SN(this.user,`Invalid index ${t}`);this.anchor.set([t])}else this.anchor.set([])}getAnchor(){return x(this.anchor.get(),void 0)}getAnchorElement(){const t=this.getAnchor();return void 0===t?void 0:this.element(t)}setFocus(t,i){for(const i of t)if(i<0||i>=this.length)throw new SN(this.user,`Invalid index ${i}`);this.focus.set(t,i)}focusNext(t=1,i=!1,e,s){if(0===this.length)return;const n=this.focus.get(),o=this.findNextIndex(n.length>0?n[0]+t:0,i,s);o>-1&&this.setFocus([o],e)}focusPrevious(t=1,i=!1,e,s){if(0===this.length)return;const n=this.focus.get(),o=this.findPreviousIndex(n.length>0?n[0]-t:0,i,s);o>-1&&this.setFocus([o],e)}async focusNextPage(t,i){let e=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);e=0===e?0:e-1;const s=this.getFocus()[0];if(s!==e&&(void 0===s||e>s)){const n=this.findPreviousIndex(e,!1,i);this.setFocus(n>-1&&s!==n?[n]:[e],t)}else{const n=this.view.getScrollTop();let o=n+this.view.renderHeight;e>s&&(o-=this.view.elementHeight(e)),this.view.setScrollTop(o),this.view.getScrollTop()!==n&&(this.setFocus([]),await lc(0),await this.focusNextPage(t,i))}}async focusPreviousPage(t,i){let e;const s=this.view.getScrollTop();e=0===s?this.view.indexAt(s):this.view.indexAfter(s-1);const n=this.getFocus()[0];if(n!==e&&(void 0===n||n>=e)){const s=this.findNextIndex(e,!1,i);this.setFocus(s>-1&&n!==s?[s]:[e],t)}else{const e=s;this.view.setScrollTop(s-this.view.renderHeight),this.view.getScrollTop()!==e&&(this.setFocus([]),await lc(0),await this.focusPreviousPage(t,i))}}focusLast(t,i){if(0===this.length)return;const e=this.findPreviousIndex(this.length-1,!1,i);e>-1&&this.setFocus([e],t)}focusFirst(t,i){this.focusNth(0,t,i)}focusNth(t,i,e){if(0===this.length)return;const s=this.findNextIndex(t,!1,e);s>-1&&this.setFocus([s],i)}findNextIndex(t,i=!1,e){for(let s=0;s=this.length&&!i)return-1;if(t%=this.length,!e||e(this.element(t)))return t;t++}return-1}findPreviousIndex(t,i=!1,e){for(let s=0;sthis.view.element(t)))}reveal(t,i,e=0){if(t<0||t>=this.length)throw new SN(this.user,`Invalid index ${t}`);const s=this.view.getScrollTop(),n=this.view.elementTop(t),o=this.view.elementHeight(t);if(j(i))this.view.setScrollTop((o-this.view.renderHeight+e)*uR(i,0,1)+n-e);else{const t=n+o,i=s+this.view.renderHeight;n=i||(n=i&&o>=this.view.renderHeight?this.view.setScrollTop(n-e):t>=i&&this.view.setScrollTop(t-this.view.renderHeight))}}getRelativeTop(t,i=0){if(t<0||t>=this.length)throw new SN(this.user,`Invalid index ${t}`);const e=this.view.getScrollTop(),s=this.view.elementTop(t),n=this.view.elementHeight(t);return se+this.view.renderHeight?null:Math.abs((e+i-s)/(n-this.view.renderHeight+i))}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(t){return this.view.getElementDomId(t)}getElementTop(t){return this.view.elementTop(t)}style(t){this.styleController.style(t)}toListEvent({indexes:t,browserEvent:i}){return{indexes:t,elements:t.map((t=>this.view.element(t))),browserEvent:i}}_onFocusChange(){const t=this.focus.get();this.view.domNode.classList.toggle("element-focused",t.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){var t;const i=this.focus.get();if(i.length>0){let e;(null===(t=this.accessibilityProvider)||void 0===t?void 0:t.getActiveDescendantId)&&(e=this.accessibilityProvider.getActiveDescendantId(this.view.element(i[0]))),this.view.domNode.setAttribute("aria-activedescendant",e||this.view.getElementDomId(i[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const t=this.selection.get();this.view.domNode.classList.toggle("selection-none",0===t.length),this.view.domNode.classList.toggle("selection-single",1===t.length),this.view.domNode.classList.toggle("selection-multiple",t.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}$N([ow],lB.prototype,"onDidChangeFocus",null),$N([ow],lB.prototype,"onDidChangeSelection",null),$N([ow],lB.prototype,"onContextMenu",null),$N([ow],lB.prototype,"onKeyDown",null),$N([ow],lB.prototype,"onDidFocus",null);const uB=Wl,dB="selectOption.entry.template";class fB{get templateId(){return dB}renderTemplate(t){const i=Object.create(null);return i.root=t,i.text=Il(t,uB(".option-text")),i.detail=Il(t,uB(".option-detail")),i.decoratorRight=Il(t,uB(".option-decorator-right")),i}renderElement(t,i,e){const s=e,n=t.detail,o=t.decoratorRight,r=t.isDisabled;s.text.textContent=t.text,s.detail.textContent=n||"",s.decoratorRight.innerText=o||"",r?s.root.classList.add("option-disabled"):s.root.classList.remove("option-disabled")}disposeTemplate(t){}}class pB extends ie{constructor(t,i,e,s,n){super(),this.options=[],this._currentSelection=0,this._hasDetails=!1,this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=s,this.selectBoxOptions=n||Object.create(null),"number"!=typeof this.selectBoxOptions.minBottomMargin?this.selectBoxOptions.minBottomMargin=pB.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","string"==typeof this.selectBoxOptions.ariaLabel&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),"string"==typeof this.selectBoxOptions.ariaDescription&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=new fe,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(e),this.selected=i||0,t&&this.setOptions(t,i),this.initStyleSheet()}getHeight(){return 22}getTemplateId(){return dB}constructSelectDropDown(t){this.contextViewProvider=t,this.selectDropDownContainer=Wl(".monaco-select-box-dropdown-container"),this.selectDropDownContainer.classList.add("monaco-select-box-dropdown-padding"),this.selectionDetailsPane=Il(this.selectDropDownContainer,uB(".select-box-details-pane"));const i=Il(this.selectDropDownContainer,uB(".select-box-dropdown-container-width-control")),e=Il(i,uB(".width-control-div"));this.widthControlElement=document.createElement("span"),this.widthControlElement.className="option-text-width-control",Il(e,this.widthControlElement),this._dropDownPosition=0,this.styleElement=bl(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute("draggable","true"),this._register(Ua(this.selectDropDownContainer,Fl.DRAG_START,(t=>{Tl(t,!0)})))}registerListeners(){let t;this._register(Ka(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.selectElement.title=this.options[this.selected].text)}))),this._register(Ua(this.selectElement,Fl.CLICK,(t=>{Tl(t),this._isVisible?this.hideSelectDropDown(!0):this.showSelectDropDown()}))),this._register(Ua(this.selectElement,Fl.MOUSE_DOWN,(t=>{Tl(t)}))),this._register(Ua(this.selectElement,"touchstart",(()=>{t=this._isVisible}))),this._register(Ua(this.selectElement,"touchend",(i=>{Tl(i),t?this.hideSelectDropDown(!0):this.showSelectDropDown()}))),this._register(Ua(this.selectElement,Fl.KEY_DOWN,(t=>{const i=new Jh(t);let e=!1;St?18!==i.keyCode&&16!==i.keyCode&&10!==i.keyCode&&3!==i.keyCode||(e=!0):(18===i.keyCode&&i.altKey||16===i.keyCode&&i.altKey||10===i.keyCode||3===i.keyCode)&&(e=!0),e&&(this.showSelectDropDown(),Tl(t,!0))})))}get onDidSelect(){return this._onDidSelect.event}setOptions(t,i){u(this.options,t)||(this.options=t,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach(((t,i)=>{this.selectElement.add(this.createOption(t.text,i,t.isDisabled)),"string"==typeof t.description&&(this._hasDetails=!0)}))),void 0!==i&&(this.select(i),this._currentSelection=this.selected)}setOptionsList(){var t;null===(t=this.selectList)||void 0===t||t.splice(0,this.selectList.length,this.options)}select(t){t>=0&&tthis.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.selectElement.title=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(t){this.selectElement.tabIndex=t?0:-1}render(t){this.container=t,t.classList.add("select-container"),t.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){const t=[];this.styles.listFocusBackground&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`),this.styles.listFocusForeground&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`),this.styles.decoratorRightForeground&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`),this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground?(t.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `),t.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `),t.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `)):this.styles.selectListBorder&&(t.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `),t.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `)),this.styles.listHoverForeground&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`),this.styles.listHoverBackground&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`),this.styles.listFocusOutline&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ${this.styles.listFocusOutline} !important; outline-offset: -1.6px !important; }`),this.styles.listHoverOutline&&t.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 ${this.styles.listHoverOutline} !important; outline-offset: -1.6px !important; }`),t.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; }"),t.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=t.join("\n")}styleSelectElement(){var t,i,e;const s=null!==(t=this.styles.selectBackground)&&void 0!==t?t:"",n=null!==(i=this.styles.selectForeground)&&void 0!==i?i:"",o=null!==(e=this.styles.selectBorder)&&void 0!==e?e:"";this.selectElement.style.backgroundColor=s,this.selectElement.style.color=n,this.selectElement.style.borderColor=o}styleList(){var t,i;const e=null!==(t=this.styles.selectBackground)&&void 0!==t?t:"",s=Kl(this.styles.selectListBackground,e);this.selectDropDownListContainer.style.backgroundColor=s,this.selectionDetailsPane.style.backgroundColor=s;const n=null!==(i=this.styles.focusBorder)&&void 0!==i?i:"";this.selectDropDownContainer.style.outlineColor=n,this.selectDropDownContainer.style.outlineOffset="-1px",this.selectList.style(this.styles)}createOption(t,i,e){const s=document.createElement("option");return s.value=t,s.text=t,s.disabled=!!e,s}showSelectDropDown(){this.selectionDetailsPane.innerText="",this.contextViewProvider&&!this._isVisible&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:t=>this.renderSelectDropDown(t,!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:t=>this.renderSelectDropDown(t),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(t){this.contextViewProvider&&this._isVisible&&(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),t&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(t,i){return t.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(i),{dispose:()=>{try{t.removeChild(this.selectDropDownContainer)}catch(t){}}}}measureMaxDetailsHeight(){let t=0;return this.options.forEach(((i,e)=>{this.updateDetail(e),this.selectionDetailsPane.offsetHeight>t&&(t=this.selectionDetailsPane.offsetHeight)})),t}layoutSelectDropDown(t){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const i=Ba(this.selectElement),e=ol(this.selectElement),s=Ba(this.selectElement).getComputedStyle(this.selectElement),n=parseFloat(s.getPropertyValue("--dropdown-padding-top"))+parseFloat(s.getPropertyValue("--dropdown-padding-bottom")),o=i.innerHeight-e.top-e.height-(this.selectBoxOptions.minBottomMargin||0),r=e.top-pB.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,h=this.selectElement.offsetWidth,c=this.setWidthControlElement(this.widthControlElement),a=Math.max(c,Math.round(h)).toString()+"px";this.selectDropDownContainer.style.width=a,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let l=this.selectList.contentHeight;this._hasDetails&&void 0===this._cachedMaxDetailsHeight&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const u=this._hasDetails?this._cachedMaxDetailsHeight:0,d=l+n+u,f=Math.floor((o-n-u)/this.getHeight()),p=Math.floor((r-n-u)/this.getHeight());if(t)return!(e.top+e.height>i.innerHeight-22||e.topf&&this.options.length>f?(this._dropDownPosition=1,this.selectDropDownContainer.removeChild(this.selectDropDownListContainer),this.selectDropDownContainer.removeChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove("border-top"),this.selectionDetailsPane.classList.add("border-bottom")):(this._dropDownPosition=0,this.selectDropDownContainer.removeChild(this.selectDropDownListContainer),this.selectDropDownContainer.removeChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove("border-bottom"),this.selectionDetailsPane.classList.add("border-top")),0));if(e.top+e.height>i.innerHeight-22||e.topo&&(l=f*this.getHeight())}else d>r&&(l=p*this.getHeight());return this.selectList.layout(l),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=l+n+"px",this.selectDropDownContainer.style.height=""):this.selectDropDownContainer.style.height=l+n+"px",this.updateDetail(this.selected),this.selectDropDownContainer.style.width=a,this.selectDropDownListContainer.setAttribute("tabindex","0"),this.selectElement.classList.add("synthetic-focus"),this.selectDropDownContainer.classList.add("synthetic-focus"),!0}return!1}setWidthControlElement(t){let i=0;if(t){let e=0,s=0;this.options.forEach(((t,i)=>{const n=t.text.length+(t.detail?t.detail.length:0)+(t.decoratorRight?t.decoratorRight.length:0);n>s&&(e=i,s=n)})),t.textContent=this.options[e].text+(this.options[e].decoratorRight?this.options[e].decoratorRight+" ":""),i=rl(t)}return i}createSelectList(t){if(this.selectList)return;this.selectDropDownListContainer=Il(t,uB(".select-box-dropdown-list-container")),this.listRenderer=new fB,this.selectList=new lB("SelectBoxCustom",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:t=>{let i=t.text;return t.detail&&(i+=`. ${t.detail}`),t.decoratorRight&&(i+=`. ${t.decoratorRight}`),t.description&&(i+=`. ${t.description}`),i},getWidgetAriaLabel:()=>rt(0,"Select Box"),getRole:()=>St?"":"option",getWidgetRole:()=>"listbox"}}),this.selectBoxOptions.ariaLabel&&(this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel);const i=this._register(new Pk(this.selectDropDownListContainer,"keydown")),e=ce.chain(i.event,(t=>t.filter((()=>this.selectList.length>0)).map((t=>new Jh(t)))));this._register(ce.chain(e,(t=>t.filter((t=>3===t.keyCode))))(this.onEnter,this)),this._register(ce.chain(e,(t=>t.filter((t=>2===t.keyCode))))(this.onEnter,this)),this._register(ce.chain(e,(t=>t.filter((t=>9===t.keyCode))))(this.onEscape,this)),this._register(ce.chain(e,(t=>t.filter((t=>16===t.keyCode))))(this.onUpArrow,this)),this._register(ce.chain(e,(t=>t.filter((t=>18===t.keyCode))))(this.onDownArrow,this)),this._register(ce.chain(e,(t=>t.filter((t=>12===t.keyCode))))(this.onPageDown,this)),this._register(ce.chain(e,(t=>t.filter((t=>11===t.keyCode))))(this.onPageUp,this)),this._register(ce.chain(e,(t=>t.filter((t=>14===t.keyCode))))(this.onHome,this)),this._register(ce.chain(e,(t=>t.filter((t=>13===t.keyCode))))(this.onEnd,this)),this._register(ce.chain(e,(t=>t.filter((t=>t.keyCode>=21&&t.keyCode<=56||t.keyCode>=85&&t.keyCode<=113))))(this.onCharacter,this)),this._register(Ua(this.selectList.getHTMLElement(),Fl.POINTER_UP,(t=>this.onPointerUp(t)))),this._register(this.selectList.onMouseOver((t=>void 0!==t.index&&this.selectList.setFocus([t.index])))),this._register(this.selectList.onDidChangeFocus((t=>this.onListFocus(t)))),this._register(Ua(this.selectDropDownContainer,Fl.FOCUS_OUT,(t=>{this._isVisible&&!ll(t.relatedTarget,this.selectDropDownContainer)&&this.onListBlur()}))),this.selectList.getHTMLElement().setAttribute("aria-label",this.selectBoxOptions.ariaLabel||""),this.selectList.getHTMLElement().setAttribute("aria-expanded","true"),this.styleList()}onPointerUp(t){if(!this.selectList.length)return;Tl(t);const i=t.target;if(!i)return;if(i.classList.contains("slider"))return;const e=i.closest(".monaco-list-row");if(!e)return;const s=Number(e.getAttribute("data-index")),n=e.classList.contains("option-disabled");s>=0&&s{for(let i=0;ithis.selected+2)this.selected+=2;else{if(i)return;this.selected++}this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(t){this.selected>0&&(Tl(t,!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(t){Tl(t),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(t){Tl(t),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(t){Tl(t),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(t){const i=Ne.toString(t.keyCode);let e=-1;for(let s=0;s{this._register(Ua(this.selectElement,t,(()=>{this.selectElement.focus()})))})),this._register(Ka(this.selectElement,"click",(t=>{Tl(t,!0)}))),this._register(Ka(this.selectElement,"change",(t=>{this.selectElement.title=t.target.value,this._onDidSelect.fire({index:t.target.selectedIndex,selected:t.target.value})}))),this._register(Ka(this.selectElement,"keydown",(t=>{let i=!1;St?18!==t.keyCode&&16!==t.keyCode&&10!==t.keyCode||(i=!0):(18===t.keyCode&&t.altKey||10===t.keyCode||3===t.keyCode)&&(i=!0),i&&t.stopPropagation()})))}get onDidSelect(){return this._onDidSelect.event}setOptions(t,i){this.options&&u(this.options,t)||(this.options=t,this.selectElement.options.length=0,this.options.forEach(((t,i)=>{this.selectElement.add(this.createOption(t.text,i,t.isDisabled))}))),void 0!==i&&this.select(i)}select(t){0===this.options.length?this.selected=0:t>=0&&tthis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selectElement.title=this.selected{this.element&&this.handleActionChangeEvent(t)})))}handleActionChangeEvent(t){void 0!==t.enabled&&this.updateEnabled(),void 0!==t.checked&&this.updateChecked(),void 0!==t.class&&this.updateClass(),void 0!==t.label&&(this.updateLabel(),this.updateTooltip()),void 0!==t.tooltip&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new vr)),this._actionRunner}set actionRunner(t){this._actionRunner=t}isEnabled(){return this._action.enabled}setActionContext(t){this._context=t}render(t){const i=this.element=t;this._register(hw.addTarget(t));const e=this.options&&this.options.draggable;e&&(t.draggable=!0,qo&&this._register(Ua(t,Fl.DRAG_START,(t=>{var i;return null===(i=t.dataTransfer)||void 0===i?void 0:i.setData(LI.TEXT,this._action.label)})))),this._register(Ua(i,rw.Tap,(t=>this.onClick(t,!0)))),this._register(Ua(i,Fl.MOUSE_DOWN,(t=>{e||Tl(t,!0),this._action.enabled&&0===t.button&&i.classList.add("active")}))),St&&this._register(Ua(i,Fl.CONTEXT_MENU,(t=>{0===t.button&&!0===t.ctrlKey&&this.onClick(t)}))),this._register(Ua(i,Fl.CLICK,(t=>{Tl(t,!0),this.options&&this.options.isMenu||this.onClick(t)}))),this._register(Ua(i,Fl.DBLCLICK,(t=>{Tl(t,!0)}))),[Fl.MOUSE_UP,Fl.MOUSE_OUT].forEach((t=>{this._register(Ua(i,t,(t=>{Tl(t),i.classList.remove("active")})))}))}onClick(t,i=!1){var e;Tl(t,!0);const s=q(this._context)?(null===(e=this.options)||void 0===e?void 0:e.useEventAsContext)?t:{preserveFocus:i}:this._context;this.actionRunner.run(this._action,s)}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(t){this.element&&(this.element.tabIndex=t?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}updateTooltip(){var t;if(!this.element)return;const i=null!==(t=this.getTooltip())&&void 0!==t?t:"";this.updateAriaLabel(),this.options.hoverDelegate?(this.element.title="",this.customHover?this.customHover.update(i):(this.customHover=H_(this.options.hoverDelegate,this.element,i),this._store.add(this.customHover))):this.element.title=i}updateAriaLabel(){var t;if(this.element){const i=null!==(t=this.getTooltip())&&void 0!==t?t:"";this.element.setAttribute("aria-label",i)}}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),this._context=void 0,super.dispose()}}class vB extends wB{constructor(t,i,e){super(t,i,e),this.options=e,this.options.icon=void 0!==e.icon&&e.icon,this.options.label=void 0===e.label||e.label,this.cssClass=""}render(t){super.render(t),K(this.element);const i=document.createElement("a");if(i.classList.add("action-label"),i.setAttribute("role",this.getDefaultAriaRole()),this.label=i,this.element.appendChild(i),this.options.label&&this.options.keybinding){const t=document.createElement("span");t.classList.add("keybinding"),t.textContent=this.options.keybinding,this.element.appendChild(t)}this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}getDefaultAriaRole(){return this._action.id===br.ID?"presentation":this.options.isMenu?"menuitem":"button"}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(t){this.label&&(this.label.tabIndex=t?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.action.label)}getTooltip(){let t=null;return this.action.tooltip?t=this.action.tooltip:!this.options.label&&this.action.label&&this.options.icon&&(t=this.action.label,this.options.keybinding&&(t=rt(0,"{0} ({1})",t,this.options.keybinding))),null!=t?t:void 0}updateClass(){var t;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()):null===(t=this.label)||void 0===t||t.classList.remove("codicon")}updateEnabled(){var t,i;this.action.enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),null===(t=this.element)||void 0===t||t.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),null===(i=this.element)||void 0===i||i.classList.add("disabled"))}updateAriaLabel(){var t;if(this.label){const i=null!==(t=this.getTooltip())&&void 0!==t?t:"";this.label.setAttribute("aria-label",i)}}updateChecked(){this.label&&(void 0!==this.action.checked?(this.label.classList.toggle("checked",this.action.checked),this.label.setAttribute("aria-checked",this.action.checked?"true":"false"),this.label.setAttribute("role","checkbox")):(this.label.classList.remove("checked"),this.label.removeAttribute("aria-checked"),this.label.setAttribute("role",this.getDefaultAriaRole())))}}class bB extends wB{constructor(t,i,e,s,n,o,r){super(t,i),this.selectBox=new mB(e,s,n,o,r),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(t){this.selectBox.select(t)}registerListeners(){this._register(this.selectBox.onDidSelect((t=>this.runAction(t.selected,t.index))))}runAction(t,i){this.actionRunner.run(this._action,this.getActionContext(t,i))}getActionContext(t,i){return t}setFocusable(t){this.selectBox.setFocusable(t)}focus(){var t;null===(t=this.selectBox)||void 0===t||t.focus()}blur(){var t;null===(t=this.selectBox)||void 0===t||t.blur()}render(t){this.selectBox.render(t)}}class yB extends vr{constructor(t,i){super(),this._onDidChangeVisibility=this._register(new fe),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=Il(t,Wl(".monaco-dropdown")),this._label=Il(this._element,Wl(".dropdown-label"));let e=i.labelRenderer;e||(e=t=>(t.textContent=i.label||"",null));for(const t of[Fl.CLICK,Fl.MOUSE_DOWN,rw.Tap])this._register(Ua(this.element,t,(t=>Tl(t,!0))));for(const t of[Fl.MOUSE_DOWN,rw.Tap])this._register(Ua(this._label,t,(t=>{Ml(t)&&(t.detail>1||0!==t.button)||(this.visible?this.hide():this.show())})));this._register(Ua(this._label,Fl.KEY_UP,(t=>{const i=new Jh(t);(i.equals(3)||i.equals(10))&&(Tl(t,!0),this.visible?this.hide():this.show())})));const s=e(this._label);s&&this._register(s),this._register(hw.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)}}class kB extends yB{constructor(t,i){super(t,i),this._options=i,this._actions=[],this.actions=i.actions||[]}set menuOptions(t){this._menuOptions=t}get menuOptions(){return this._menuOptions}get actions(){return this._options.actionProvider?this._options.actionProvider.getActions():this._actions}set actions(t){this._actions=t}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:(t,i)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(t,i):void 0,getKeyBinding:t=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(t):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 xB extends wB{constructor(t,i,e,s=Object.create(null)){super(null,t,s),this.actionItem=null,this._onDidChangeVisibility=this._register(new fe),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this.menuActionsOrProvider=i,this.contextMenuProvider=e,this.options=s,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(t){this.actionItem=t;const i=Array.isArray(this.menuActionsOrProvider);if(this.dropdownMenu=this._register(new kB(t,{contextMenuProvider:this.contextMenuProvider,labelRenderer:t=>{this.element=Il(t,Wl("a.action-label"));let i=[];return"string"==typeof this.options.classNames?i=this.options.classNames.split(/\s+/g).filter((t=>!!t)):this.options.classNames&&(i=this.options.classNames),i.find((t=>"icon"===t))||i.push("codicon"),this.element.classList.add(...i),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this.element.title=this._action.label||"",this.element.ariaLabel=this._action.label||"",null},menuAsChild:this.options.menuAsChild,actions:i?this.menuActionsOrProvider:void 0,actionProvider:i?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry})),this._register(this.dropdownMenu.onDidChangeVisibility((t=>{var i;null===(i=this.element)||void 0===i||i.setAttribute("aria-expanded",`${t}`),this._onDidChangeVisibility.fire(t)}))),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const t=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return t.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}getTooltip(){let t=null;return this.action.tooltip?t=this.action.tooltip:this.action.label&&(t=this.action.label),null!=t?t:void 0}setActionContext(t){super.setActionContext(t),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=t:this.dropdownMenu.menuOptions={context:t})}show(){var t;null===(t=this.dropdownMenu)||void 0===t||t.show()}updateEnabled(){var t,i;const e=!this.action.enabled;null===(t=this.actionItem)||void 0===t||t.classList.toggle("disabled",e),null===(i=this.element)||void 0===i||i.classList.toggle("disabled",e)}}var CB,SB;!function(t){t[t.STORAGE_DOES_NOT_EXIST=0]="STORAGE_DOES_NOT_EXIST",t[t.STORAGE_IN_MEMORY=1]="STORAGE_IN_MEMORY"}(CB||(CB={})),function(t){t[t.None=0]="None",t[t.Initialized=1]="Initialized",t[t.Closed=2]="Closed"}(SB||(SB={}));class DB extends ie{constructor(t,i=Object.create(null)){super(),this.database=t,this.options=i,this._onDidChangeStorage=this._register(new ge),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=SB.None,this.cache=new Map,this.flushDelayer=this._register(new ac(DB.DEFAULT_FLUSH_DELAY)),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal((t=>this.onDidChangeItemsExternal(t))))}onDidChangeItemsExternal(t){var i,e;this._onDidChangeStorage.pause();try{null===(i=t.changed)||void 0===i||i.forEach(((t,i)=>this.acceptExternal(i,t))),null===(e=t.deleted)||void 0===e||e.forEach((t=>this.acceptExternal(t,void 0)))}finally{this._onDidChangeStorage.resume()}}acceptExternal(t,i){if(this.state===SB.Closed)return;let e=!1;q(i)?e=this.cache.delete(t):this.cache.get(t)!==i&&(this.cache.set(t,i),e=!0),e&&this._onDidChangeStorage.fire({key:t,external:!0})}get(t,i){const e=this.cache.get(t);return q(e)?i:e}getBoolean(t,i){const e=this.get(t);return q(e)?i:"true"===e}getNumber(t,i){const e=this.get(t);return q(e)?i:parseInt(e,10)}async set(t,i,e=!1){if(this.state===SB.Closed)return;if(q(i))return this.delete(t,e);const s=$(i)||Array.isArray(i)?JSON.stringify(i,sN):String(i);return this.cache.get(t)!==s?(this.cache.set(t,s),this.pendingInserts.set(t,s),this.pendingDeletes.delete(t),this._onDidChangeStorage.fire({key:t,external:e}),this.doFlush()):void 0}async delete(t,i=!1){if(this.state!==SB.Closed)return this.cache.delete(t)?(this.pendingDeletes.has(t)||this.pendingDeletes.add(t),this.pendingInserts.delete(t),this._onDidChangeStorage.fire({key:t,external:i}),this.doFlush()):void 0}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const t={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(t).finally((()=>{var t;if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)null===(t=this.whenFlushedCallbacks.pop())||void 0===t||t()}))}async doFlush(t){return this.options.hint===CB.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger((()=>this.flushPending()),t)}}DB.DEFAULT_FLUSH_DELAY=100;class EB{constructor(){this.onDidChangeItemsExternal=ce.None,this.items=new Map}async updateItems(t){var i,e;null===(i=t.insert)||void 0===i||i.forEach(((t,i)=>this.items.set(i,t))),null===(e=t.delete)||void 0===e||e.forEach((t=>this.items.delete(t)))}}const AB="__$__targetStorageMarker",MB=fr("storageService");var LB;!function(t){t[t.NONE=0]="NONE",t[t.SHUTDOWN=1]="SHUTDOWN"}(LB||(LB={}));class FB extends ie{constructor(t={flushInterval:FB.DEFAULT_FLUSH_INTERVAL}){super(),this.options=t,this._onDidChangeValue=this._register(new ge),this._onDidChangeTarget=this._register(new ge),this._onWillSaveState=this._register(new fe),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}onDidChangeValue(t,i,e){return ce.filter(this._onDidChangeValue.event,(e=>e.scope===t&&(void 0===i||e.key===i)),e)}emitDidChangeValue(t,i){const{key:e,external:s}=i;if(e===AB){switch(t){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0}this._onDidChangeTarget.fire({scope:t})}else this._onDidChangeValue.fire({scope:t,key:e,target:this.getKeyTargets(t)[e],external:s})}get(t,i,e){var s;return null===(s=this.getStorage(i))||void 0===s?void 0:s.get(t,e)}getBoolean(t,i,e){var s;return null===(s=this.getStorage(i))||void 0===s?void 0:s.getBoolean(t,e)}getNumber(t,i,e){var s;return null===(s=this.getStorage(i))||void 0===s?void 0:s.getNumber(t,e)}store(t,i,e,s,n=!1){q(i)?this.remove(t,e,n):this.withPausedEmitters((()=>{var o;this.updateKeyTarget(t,e,s),null===(o=this.getStorage(e))||void 0===o||o.set(t,i,n)}))}remove(t,i,e=!1){this.withPausedEmitters((()=>{var s;this.updateKeyTarget(t,i,void 0),null===(s=this.getStorage(i))||void 0===s||s.delete(t,e)}))}withPausedEmitters(t){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{t()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(t,i,e,s=!1){var n,o;const r=this.getKeyTargets(i);"number"==typeof e?r[t]!==e&&(r[t]=e,null===(n=this.getStorage(i))||void 0===n||n.set(AB,JSON.stringify(r),s)):"number"==typeof r[t]&&(delete r[t],null===(o=this.getStorage(i))||void 0===o||o.set(AB,JSON.stringify(r),s))}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(t){switch(t){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(t){const i=this.getStorage(t);return i?function(t){const i=t.get(AB);if(i)try{return JSON.parse(i)}catch(t){}return Object.create(null)}(i):Object.create(null)}}FB.DEFAULT_FLUSH_INTERVAL=6e4;const TB={keybindingLabelBackground:lw(kv),keybindingLabelForeground:lw(xv),keybindingLabelBorder:lw(Cv),keybindingLabelBottomBorder:lw(Sv),keybindingLabelShadow:lw(kw)},RB={buttonForeground:lw(zw),buttonSeparator:lw(Hw),buttonBackground:lw(Vw),buttonHoverBackground:lw(Uw),buttonSecondaryForeground:lw(Kw),buttonSecondaryBackground:lw(Gw),buttonSecondaryHoverBackground:lw(Zw),buttonBorder:lw(qw)},OB={progressBarBackground:lw(ev)},IB={inputActiveOptionBorder:lw(Ew),inputActiveOptionForeground:lw(Mw),inputActiveOptionBackground:lw(Aw)};lw(Cb),lw(Db),lw(Sb),lw(dv),lw(fv),lw(kw),lw(vw),lw(ry),lw(hy),lw(cy),lw(yw);const _B={inputBackground:lw(Cw),inputForeground:lw(Sw),inputBorder:lw(Dw),inputValidationInfoBorder:lw(Tw),inputValidationInfoBackground:lw(Lw),inputValidationInfoForeground:lw(Fw),inputValidationWarningBorder:lw(Iw),inputValidationWarningBackground:lw(Rw),inputValidationWarningForeground:lw(Ow),inputValidationErrorBorder:lw(Bw),inputValidationErrorBackground:lw(_w),inputValidationErrorForeground:lw(Nw)},NB={listFilterWidgetBackground:lw(gb),listFilterWidgetOutline:lw(mb),listFilterWidgetNoMatchesOutline:lw(wb),listFilterWidgetShadow:lw(vb),inputBoxStyles:_B,toggleStyles:IB},BB={badgeBackground:lw(Qw),badgeForeground:lw(Jw),badgeBorder:lw(vw)};lw($b),lw(Pb),lw(Wb),lw(Wb),lw(jb);const PB={listBackground:void 0,listInactiveFocusForeground:void 0,listFocusBackground:lw(Qv),listFocusForeground:lw(Jv),listFocusOutline:lw(Yv),listActiveSelectionBackground:lw(tb),listActiveSelectionForeground:lw(ib),listActiveSelectionIconForeground:lw(eb),listFocusAndSelectionOutline:lw(Xv),listFocusAndSelectionBackground:lw(tb),listFocusAndSelectionForeground:lw(ib),listInactiveSelectionBackground:lw(sb),listInactiveSelectionIconForeground:lw(ob),listInactiveSelectionForeground:lw(nb),listInactiveFocusBackground:lw(rb),listInactiveFocusOutline:lw(hb),listHoverBackground:lw(cb),listHoverForeground:lw(ab),listDropBackground:lw(lb),listSelectionOutline:lw(bw),listHoverOutline:lw(bw),treeIndentGuidesStroke:lw(bb),treeInactiveIndentGuidesStroke:lw(yb),tableColumnsBorder:lw(kb),tableOddRowsBackgroundColor:lw(xb)};function $B(t){return function(t){const i={...PB};for(const e in t){const s=t[e];i[e]=void 0!==s?lw(s):void 0}return i}(t)}const WB={selectBackground:lw(Pw),selectListBackground:lw($w),selectForeground:lw(Ww),decoratorRightForeground:lw(bv),selectBorder:lw(jw),focusBorder:lw(ww),listFocusBackground:lw(Lb),listInactiveSelectionIconForeground:lw(Mb),listFocusForeground:lw(Ab),listFocusOutline:(jB=bw,zB=ug.transparent.toString(),`var(${aw(jB)}, ${zB})`),listHoverBackground:lw(cb),listHoverForeground:lw(ab),listHoverOutline:lw(bw),selectListBorder:lw(pv),listBackground:void 0,listActiveSelectionBackground:void 0,listActiveSelectionForeground:void 0,listActiveSelectionIconForeground:void 0,listFocusAndSelectionBackground:void 0,listDropBackground: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};var jB,zB;const HB={shadowColor:lw(kw),borderColor:lw(Fb),foregroundColor:lw(Tb),backgroundColor:lw(Rb),selectionForegroundColor:lw(Ob),selectionBackgroundColor:lw(Ib),selectionBorderColor:lw(_b),separatorColor:lw(Nb),scrollbarShadow:lw(Yw),scrollbarSliderBackground:lw(Xw),scrollbarSliderHoverBackground:lw(tv),scrollbarSliderActiveBackground:lw(iv)};var VB=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},UB=function(t,i){return function(e,s){i(e,s,t)}};function qB(t,i,e,s,n,o){KB(t.getActions(i),e,!1,"string"==typeof s?t=>t===s:s,n,o)}function KB(t,i,e,s=(t=>"navigation"===t),n=(()=>!1),o=!1){let r,h;Array.isArray(i)?(r=i,h=i):(r=i.primary,h=i.secondary);const c=new Set;for(const[i,n]of t){let t;s(i)?(t=r,t.length>0&&o&&t.push(new br)):(t=h,t.length>0&&t.push(new br));for(let s of n){e&&(s=s instanceof Ph&&s.alt?s.alt:s);const n=t.push(s);s instanceof yr&&c.add({group:i,action:s,index:n-1})}}for(const{group:t,action:i,index:e}of c){const o=s(t)?r:h,c=i.actions;n(i,t,o.length)&&o.splice(e,1,...c)}}let GB=class extends vB{constructor(t,i,e,s,n,o,r,h){super(void 0,t,{icon:!(!t.class&&!t.item.icon),label:!t.class&&!t.item.icon,draggable:null==i?void 0:i.draggable,keybinding:null==i?void 0:i.keybinding,hoverDelegate:null==i?void 0:i.hoverDelegate}),this._keybindingService=e,this._notificationService=s,this._contextKeyService=n,this._themeService=o,this._contextMenuService=r,this._accessibilityService=h,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new ee),this._altKey=Zl.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(t){t.preventDefault(),t.stopPropagation();try{await this.actionRunner.run(this._commandAction,this._context)}catch(t){this._notificationService.error(t)}}render(t){if(super.render(t),t.classList.add("menu-entry"),this.options.icon&&this._updateItemClass(this._menuItemAction.item),this._menuItemAction.alt){let i=!1;const e=()=>{var t;const e=!!(null===(t=this._menuItemAction.alt)||void 0===t?void 0:t.enabled)&&(!this._accessibilityService.isMotionReduced()||i)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&i);e!==this._wantsAltCommand&&(this._wantsAltCommand=e,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._register(this._altKey.event(e)),this._register(Ua(t,"mouseleave",(()=>{i=!1,e()}))),this._register(Ua(t,"mouseenter",(()=>{i=!0,e()}))),e()}}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){var t;const i=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),e=i&&i.getLabel(),s=this._commandAction.tooltip||this._commandAction.label;let n=e?rt(0,"{0} ({1})",s,e):s;if(!this._wantsAltCommand&&(null===(t=this._menuItemAction.alt)||void 0===t?void 0:t.enabled)){const t=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,i=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),e=i&&i.getLabel(),s=e?rt(0,"{0} ({1})",t,e):t;n=rt(0,"{0}\n[{1}] {2}",n,OO.modifierLabels[_t].altKey,s)}return n}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(t){this._itemClassDispose.value=void 0;const{element:i,label:e}=this;if(!i||!e)return;const s=this._commandAction.checked&&(n=t.toggled)&&void 0!==n.condition&&t.toggled.icon?t.toggled.icon:t.icon;var n;if(s)if(Sr.isThemeIcon(s)){const t=Sr.asClassNameArray(s);e.classList.add(...t),this._itemClassDispose.value=Xi((()=>{e.classList.remove(...t)}))}else e.style.backgroundImage=Vy(this._themeService.getColorTheme().type)?Ul(s.dark):Ul(s.light),e.classList.add("icon"),this._itemClassDispose.value=Yi(Xi((()=>{e.style.backgroundImage="",e.classList.remove("icon")})),this._themeService.onDidColorThemeChange((()=>{this.updateClass()})))}};GB=VB([UB(2,rC),UB(3,rT),UB(4,lh),UB(5,tx),UB(6,uI),UB(7,Qm)],GB);let ZB=class extends xB{constructor(t,i,e,s,n){var o,r,h;const c={...i,menuAsChild:null!==(o=null==i?void 0:i.menuAsChild)&&void 0!==o&&o,classNames:null!==(r=null==i?void 0:i.classNames)&&void 0!==r?r:Sr.isThemeIcon(t.item.icon)?Sr.asClassName(t.item.icon):void 0,keybindingProvider:null!==(h=null==i?void 0:i.keybindingProvider)&&void 0!==h?h:t=>e.lookupKeybinding(t.id)};super(t,{getActions:()=>t.actions},s,c),this._keybindingService=e,this._contextMenuService=s,this._themeService=n}render(t){super.render(t),K(this.element),t.classList.add("menu-entry");const i=this._action,{icon:e}=i.item;if(e&&!Sr.isThemeIcon(e)){this.element.classList.add("icon");const t=()=>{this.element&&(this.element.style.backgroundImage=Vy(this._themeService.getColorTheme().type)?Ul(e.dark):Ul(e.light))};t(),this._register(this._themeService.onDidColorThemeChange((()=>{t()})))}}};ZB=VB([UB(2,rC),UB(3,uI),UB(4,tx)],ZB);let QB=class extends wB{constructor(t,i,e,s,n,o,r,h){var c,a,l;let u;super(null,t),this._keybindingService=e,this._notificationService=s,this._contextMenuService=n,this._menuService=o,this._instaService=r,this._storageService=h,this._container=null,this._options=i,this._storageKey=`${t.item.submenu.id}_lastActionId`;const d=(null==i?void 0:i.persistLastActionId)?h.get(this._storageKey,1):void 0;d&&(u=t.actions.find((t=>d===t.id))),u||(u=t.actions[0]),this._defaultAction=this._instaService.createInstance(GB,u,{keybinding:this._getDefaultActionKeybindingLabel(u)});const f={keybindingProvider:t=>this._keybindingService.lookupKeybinding(t.id),...i,menuAsChild:null===(c=null==i?void 0:i.menuAsChild)||void 0===c||c,classNames:null!==(a=null==i?void 0:i.classNames)&&void 0!==a?a:["codicon","codicon-chevron-down"],actionRunner:null!==(l=null==i?void 0:i.actionRunner)&&void 0!==l?l:new vr};this._dropdown=new xB(t,t.actions,this._contextMenuService,f),this._dropdown.actionRunner.onDidRun((t=>{t.action instanceof Ph&&this.update(t.action)}))}update(t){var i;(null===(i=this._options)||void 0===i?void 0:i.persistLastActionId)&&this._storageService.store(this._storageKey,t.id,1,1),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(GB,t,{keybinding:this._getDefaultActionKeybindingLabel(t)}),this._defaultAction.actionRunner=new class extends vr{async runAction(t,i){await t.run(void 0)}},this._container&&this._defaultAction.render(_l(this._container,Wl(".action-container")))}_getDefaultActionKeybindingLabel(t){var i;let e;if(null===(i=this._options)||void 0===i?void 0:i.renderKeybindingWithDefaultActionLabel){const i=this._keybindingService.lookupKeybinding(t.id);i&&(e=`(${i.getLabel()})`)}return e}setActionContext(t){super.setActionContext(t),this._defaultAction.setActionContext(t),this._dropdown.setActionContext(t)}render(t){this._container=t,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const i=Wl(".action-container");this._defaultAction.render(Il(this._container,i)),this._register(Ua(i,Fl.KEY_DOWN,(t=>{const i=new Jh(t);i.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),i.stopPropagation())})));const e=Wl(".dropdown-action-container");this._dropdown.render(Il(this._container,e)),this._register(Ua(e,Fl.KEY_DOWN,(t=>{var i;const e=new Jh(t);e.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),null===(i=this._defaultAction.element)||void 0===i||i.focus(),e.stopPropagation())})))}focus(t){t?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(t){t?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};QB=VB([UB(2,rC),UB(3,rT),UB(4,uI),UB(5,Ih),UB(6,dr),UB(7,MB)],QB);let JB=class extends bB{constructor(t,i){super(null,t,t.actions.map((t=>({text:t.id===br.ID?"─────────":t.label,isDisabled:!t.enabled}))),0,i,WB,{ariaLabel:t.tooltip,optionsAsChildren:!0}),this.select(Math.max(0,t.actions.findIndex((t=>t.checked))))}render(t){super.render(t),t.style.borderColor=lw(jw)}runAction(t,i){const e=this.action.actions[i];e&&this.actionRunner.run(e)}};function YB(t,i,e){return i instanceof Ph?t.createInstance(GB,i,e):i instanceof Bh?i.item.isSelection?t.createInstance(JB,i):i.item.rememberDefaultAction?t.createInstance(QB,i,{...e,persistLastActionId:!0}):t.createInstance(ZB,i,e):void 0}JB=VB([UB(1,lI)],JB);class XB extends ie{constructor(t,i={}){var e,s,n,o,r,h;let c,a;switch(super(),this._actionRunnerDisposables=this._register(new te),this.viewItemDisposables=this._register(new oe),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new fe),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new fe({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new fe),this.onDidRun=this._onDidRun.event,this._onWillRun=this._register(new fe),this.onWillRun=this._onWillRun.event,this.options=i,this._context=null!==(e=i.context)&&void 0!==e?e:null,this._orientation=null!==(s=this.options.orientation)&&void 0!==s?s:0,this._triggerKeys={keyDown:null!==(o=null===(n=this.options.triggerKeys)||void 0===n?void 0:n.keyDown)&&void 0!==o&&o,keys:null!==(h=null===(r=this.options.triggerKeys)||void 0===r?void 0:r.keys)&&void 0!==h?h:[3,10]},this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new vr,this._actionRunnerDisposables.add(this._actionRunner)),this._actionRunnerDisposables.add(this._actionRunner.onDidRun((t=>this._onDidRun.fire(t)))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun((t=>this._onWillRun.fire(t)))),this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar",!1!==i.animated&&this.domNode.classList.add("animated"),this._orientation){case 0:c=[15],a=[17];break;case 1:c=[16],a=[18],this.domNode.className+=" vertical"}this._register(Ua(this.domNode,Fl.KEY_DOWN,(t=>{const i=new Jh(t);let e=!0;const s="number"==typeof this.focusedItem?this.viewItems[this.focusedItem]:void 0;c&&(i.equals(c[0])||i.equals(c[1]))?e=this.focusPrevious():a&&(i.equals(a[0])||i.equals(a[1]))?e=this.focusNext():i.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():i.equals(14)?e=this.focusFirst():i.equals(13)?e=this.focusLast():i.equals(2)&&s instanceof wB&&s.trapsArrowNavigation?e=this.focusNext():this.isTriggerKeyEvent(i)?this._triggerKeys.keyDown?this.doTrigger(i):this.triggerKeyDown=!0:e=!1,e&&(i.preventDefault(),i.stopPropagation())}))),this._register(Ua(this.domNode,Fl.KEY_UP,(t=>{const i=new Jh(t);this.isTriggerKeyEvent(i)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(i)),i.preventDefault(),i.stopPropagation()):(i.equals(2)||i.equals(1026)||i.equals(16)||i.equals(18)||i.equals(15)||i.equals(17))&&this.updateFocusedItem()}))),this.focusTracker=this._register(Ol(this.domNode)),this._register(this.focusTracker.onDidBlur((()=>{gl()!==this.domNode&&ll(gl(),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),t.appendChild(this.domNode)}refreshRole(){this.length()>=1?this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(t){if(this.focusable=t,this.focusable){const t=this.viewItems.find((t=>t instanceof wB&&t.isEnabled()));t instanceof wB&&t.setFocusable(!0)}else this.viewItems.forEach((t=>{t instanceof wB&&t.setFocusable(!1)}))}isTriggerKeyEvent(t){let i=!1;return this._triggerKeys.keys.forEach((e=>{i=i||t.equals(e)})),i}updateFocusedItem(){var t,i;for(let e=0;ei.setActionContext(t)))}get actionRunner(){return this._actionRunner}set actionRunner(t){this._actionRunner=t,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((i=>i.actionRunner=t))}getContainer(){return this.domNode}getAction(t){var i;if("number"==typeof t)return null===(i=this.viewItems[t])||void 0===i?void 0:i.action;if(t instanceof HTMLElement){for(;t.parentElement!==this.actionsList;){if(!t.parentElement)return;t=t.parentElement}for(let i=0;i{const e=document.createElement("li");let n;e.className="action-item",e.setAttribute("role","presentation");const o={hoverDelegate:this.options.hoverDelegate,...i};this.options.actionViewItemProvider&&(n=this.options.actionViewItemProvider(t,o)),n||(n=new vB(this.context,t,o)),this.options.allowContextMenu||this.viewItemDisposables.set(n,Ua(e,Fl.CONTEXT_MENU,(t=>{Tl(t,!0)}))),n.actionRunner=this._actionRunner,n.setActionContext(this.context),n.render(e),this.focusable&&n instanceof wB&&0===this.viewItems.length&&n.setFocusable(!0),null===s||s<0||s>=this.actionsList.children.length?(this.actionsList.appendChild(e),this.viewItems.push(n)):(this.actionsList.insertBefore(e,this.actionsList.children[s]),this.viewItems.splice(s,0,n),s++)})),"number"==typeof this.focusedItem&&this.focus(this.focusedItem),this.refreshRole()}clear(){this.isEmpty()||(this.viewItems=Ji(this.viewItems),this.viewItemDisposables.clearAndDisposeAll(),Ha(this.actionsList),this.refreshRole())}length(){return this.viewItems.length}isEmpty(){return 0===this.viewItems.length}focus(t){let i,e=!1;if(void 0===t?e=!0:"number"==typeof t?i=t:"boolean"==typeof t&&(e=t),e&&void 0===this.focusedItem){const t=this.viewItems.findIndex((t=>t.isEnabled()));this.focusedItem=-1===t?void 0:t,this.updateFocus(void 0,void 0,!0)}else void 0!==i&&(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(t){if(void 0===this.focusedItem)this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const i=this.focusedItem;let e;do{if(!t&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=i,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,e=this.viewItems[this.focusedItem]}while(this.focusedItem!==i&&(this.options.focusOnlyEnabledItems&&!e.isEnabled()||e.action.id===br.ID));return this.updateFocus(),!0}focusPrevious(t){if(void 0===this.focusedItem)this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const i=this.focusedItem;let e;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!t&&this.options.preventLoopNavigation)return this.focusedItem=i,!1;this.focusedItem=this.viewItems.length-1}e=this.viewItems[this.focusedItem]}while(this.focusedItem!==i&&(this.options.focusOnlyEnabledItems&&!e.isEnabled()||e.action.id===br.ID));return this.updateFocus(!0),!0}updateFocus(t,i,e=!1){var s,n;void 0===this.focusedItem&&this.actionsList.focus({preventScroll:i}),void 0!==this.previouslyFocusedItem&&this.previouslyFocusedItem!==this.focusedItem&&(null===(s=this.viewItems[this.previouslyFocusedItem])||void 0===s||s.blur());const o=void 0!==this.focusedItem?this.viewItems[this.focusedItem]:void 0;if(o){let s=!0;Z(o.focus)||(s=!1),this.options.focusOnlyEnabledItems&&Z(o.isEnabled)&&!o.isEnabled()&&(s=!1),o.action.id===br.ID&&(s=!1),s&&(null===(n=o.showHover)||void 0===n||n.call(o)),s?(e||this.previouslyFocusedItem!==this.focusedItem)&&(o.focus(t),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:i}),this.previouslyFocusedItem=void 0)}}doTrigger(t){if(void 0===this.focusedItem)return;const i=this.viewItems[this.focusedItem];i instanceof wB&&this.run(i._action,null==i._context?t:i._context)}async run(t,i){await this._actionRunner.run(t,i)}dispose(){this._context=void 0,this.viewItems=Ji(this.viewItems),this.getContainer().remove(),super.dispose()}}const tP=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,iP=/(&)?(&)([^\s&])/g;var eP;!function(t){t[t.Right=0]="Right",t[t.Left=1]="Left"}(eP||(eP={}));class sP extends XB{constructor(t,i,e,s){t.classList.add("monaco-menu-container"),t.setAttribute("role","presentation");const n=document.createElement("div");n.classList.add("monaco-menu"),n.setAttribute("role","presentation"),super(n,{orientation:1,actionViewItemProvider:t=>this.doGetActionViewItem(t,e,o),context:e.context,actionRunner:e.actionRunner,ariaLabel:e.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...St||Dt?[10]:[]],keyDown:!0}}),this.menuStyles=s,this.menuElement=n,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(t,s),this._register(hw.addTarget(n)),this._register(Ua(n,Fl.KEY_DOWN,(t=>{new Jh(t).equals(2)&&t.preventDefault()}))),e.enableMnemonics&&this._register(Ua(n,Fl.KEY_DOWN,(t=>{const i=t.key.toLocaleLowerCase();if(this.mnemonics.has(i)){Tl(t,!0);const e=this.mnemonics.get(i);if(1===e.length&&(e[0]instanceof oP&&e[0].container&&this.focusItemByElement(e[0].container),e[0].onClick(t)),e.length>1){const t=e.shift();t&&t.container&&(this.focusItemByElement(t.container),e.push(t)),this.mnemonics.set(i,e)}}}))),Dt&&this._register(Ua(n,Fl.KEY_DOWN,(t=>{const i=new Jh(t);i.equals(14)||i.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),Tl(t,!0)):(i.equals(13)||i.equals(12))&&(this.focusedItem=0,this.focusPrevious(),Tl(t,!0))}))),this._register(Ua(this.domNode,Fl.MOUSE_OUT,(t=>{ll(t.relatedTarget,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),t.stopPropagation())}))),this._register(Ua(this.actionsList,Fl.MOUSE_OVER,(t=>{let i=t.target;if(i&&ll(i,this.actionsList)&&i!==this.actionsList){for(;i.parentElement!==this.actionsList&&null!==i.parentElement;)i=i.parentElement;if(i.classList.contains("action-item")){const t=this.focusedItem;this.setFocusedItem(i),t!==this.focusedItem&&this.updateFocus()}}}))),this._register(hw.addTarget(this.actionsList)),this._register(Ua(this.actionsList,rw.Tap,(t=>{let i=t.initialTarget;if(i&&ll(i,this.actionsList)&&i!==this.actionsList){for(;i.parentElement!==this.actionsList&&null!==i.parentElement;)i=i.parentElement;if(i.classList.contains("action-item")){const t=this.focusedItem;this.setFocusedItem(i),t!==this.focusedItem&&this.updateFocus()}}})));const o={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new Rk(n,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const r=this.scrollableElement.getDomNode();r.style.position="",this.styleScrollElement(r,s),this._register(Ua(n,rw.Change,(t=>{Tl(t,!0);const i=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:i-t.translationY})}))),this._register(Ua(r,Fl.MOUSE_UP,(t=>{t.preventDefault()})));const h=Ba(t);n.style.maxHeight=`${Math.max(10,h.innerHeight-t.getBoundingClientRect().top-35)}px`,i=i.filter((t=>{var i;return!(null===(i=e.submenuIds)||void 0===i?void 0:i.has(t.id))||(console.warn(`Found submenu cycle: ${t.id}`),!1)})),this.push(i,{icon:!0,label:!0,isMenu:!0}),t.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter((t=>!(t instanceof rP))).forEach(((t,i,e)=>{t.updatePositionInSet(i+1,e.length)}))}initializeOrUpdateStyleSheet(t,i){this.styleSheet||(fl(t)?this.styleSheet=bl(t):(sP.globalStyleSheet||(sP.globalStyleSheet=bl()),this.styleSheet=sP.globalStyleSheet)),this.styleSheet.textContent=function(t,i){let e=`\n.monaco-menu {\n\tfont-size: 13px;\n\tborder-radius: 5px;\n\tmin-width: 160px;\n}\n\n${hP(Is.menuSelection)}\n${hP(Is.menuSubmenu)}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: 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\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar.animated .action-item.active {\n\ttransform: scale(1.272019649, 1.272019649); /* 1.272019649 = √φ */\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-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\tcolor: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid var(--vscode-menu-separatorBackground);\n\tpadding-top: 1px;\n\tpadding: 30px;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 2em;\n\talign-items: center;\n\tposition: relative;\n\tmargin: 0 4px;\n\tborder-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\topacity: unset;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-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\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\twidth: 100%;\n\theight: 0px !important;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n\t-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\toutline: 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\tbox-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\tbackground: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: 4px 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tmargin: 5px 0 !important;\n\tpadding: 0;\n\tborder-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\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 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\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}`;if(i){e+="\n\t\t\t/* Arrows */\n\t\t\t.monaco-scrollable-element > .scrollbar > .scra {\n\t\t\t\tcursor: pointer;\n\t\t\t\tfont-size: 11px !important;\n\t\t\t}\n\n\t\t\t.monaco-scrollable-element > .visible {\n\t\t\t\topacity: 1;\n\n\t\t\t\t/* Background rule added for IE9 - to allow clicks on dom node */\n\t\t\t\tbackground:rgba(0,0,0,0);\n\n\t\t\t\ttransition: opacity 100ms linear;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible {\n\t\t\t\topacity: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible.fade {\n\t\t\t\ttransition: opacity 800ms linear;\n\t\t\t}\n\n\t\t\t/* Scrollable Content Inset Shadow */\n\t\t\t.monaco-scrollable-element > .shadow {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 3px;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 3px;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top-left-corner {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t";const i=t.scrollbarShadow;i&&(e+=`\n\t\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\t\tbox-shadow: ${i} 0 6px 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\t\tbox-shadow: ${i} 6px 0 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.top.left {\n\t\t\t\t\tbox-shadow: ${i} 6px 6px 6px -6px inset;\n\t\t\t\t}\n\t\t\t`);const s=t.scrollbarSliderBackground;s&&(e+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider {\n\t\t\t\t\tbackground: ${s};\n\t\t\t\t}\n\t\t\t`);const n=t.scrollbarSliderHoverBackground;n&&(e+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider:hover {\n\t\t\t\t\tbackground: ${n};\n\t\t\t\t}\n\t\t\t`);const o=t.scrollbarSliderActiveBackground;o&&(e+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider.active {\n\t\t\t\t\tbackground: ${o};\n\t\t\t\t}\n\t\t\t`)}return e}(i,fl(t))}styleScrollElement(t,i){var e,s;const n=null!==(e=i.foregroundColor)&&void 0!==e?e:"",o=null!==(s=i.backgroundColor)&&void 0!==s?s:"",r=i.shadowColor?`0 2px 8px ${i.shadowColor}`:"";t.style.outline=i.borderColor?`1px solid ${i.borderColor}`:"",t.style.borderRadius="5px",t.style.color=n,t.style.backgroundColor=o,t.style.boxShadow=r}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(t){const i=this.focusedItem;this.setFocusedItem(t),i!==this.focusedItem&&this.updateFocus()}setFocusedItem(t){for(let i=0;i{this.element&&(this._register(Ua(this.element,Fl.MOUSE_UP,(t=>{if(Tl(t,!0),qo){if(new ic(Ba(this.element),t).rightButton)return;this.onClick(t)}else setTimeout((()=>{this.onClick(t)}),0)}))),this._register(Ua(this.element,Fl.CONTEXT_MENU,(t=>{Tl(t,!0)}))))}),100),this._register(this.runOnceToEnableMouseUp)}render(t){super.render(t),this.element&&(this.container=t,this.item=Il(this.element,Wl("a.action-menu-item")),this._action.id===br.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=Il(this.item,Wl("span.menu-item-check"+Sr.asCSSSelector(Is.menuSelection))),this.check.setAttribute("role","none"),this.label=Il(this.item,Wl("span.action-label")),this.options.label&&this.options.keybinding&&(Il(this.item,Wl("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 t;super.focus(),null===(t=this.item)||void 0===t||t.focus(),this.applyStyle()}updatePositionInSet(t,i){this.item&&(this.item.setAttribute("aria-posinset",`${t}`),this.item.setAttribute("aria-setsize",`${i}`))}updateLabel(){var t;if(this.label&&this.options.label){Ha(this.label);let i=O_(this.action.label);if(i){const e=function(t){const i=tP,e=i.exec(t);if(!e)return t;return t.replace(i,!e[1]?"$2$3":"").trim()}(i);this.options.enableMnemonics||(i=e),this.label.setAttribute("aria-label",e.replace(/&&/g,"&"));const s=tP.exec(i);if(s){i=Gn(i),iP.lastIndex=0;let e=iP.exec(i);for(;e&&e[1];)e=iP.exec(i);const n=t=>t.replace(/&&/g,"&");e?this.label.append(Jn(n(i.substr(0,e.index))," "),Wl("u",{"aria-hidden":"true"},e[3]),Yn(n(i.substr(e.index+e[0].length))," ")):this.label.innerText=n(i).trim(),null===(t=this.item)||void 0===t||t.setAttribute("aria-keyshortcuts",(s[1]?s[1]:s[3]).toLocaleLowerCase())}else this.label.innerText=i.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 t=this.action.checked;this.item.classList.toggle("checked",!!t),void 0!==t?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",t?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){const t=this.element&&this.element.classList.contains("focused"),i=t&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,e=t&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,s=t&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"",n=t&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=null!=i?i:"",this.item.style.backgroundColor=null!=e?e:"",this.item.style.outline=s,this.item.style.outlineOffset=n),this.check&&(this.check.style.color=null!=i?i:"")}}class oP extends nP{constructor(t,i,e,s,n){super(t,t,s,n),this.submenuActions=i,this.parentData=e,this.submenuOptions=s,this.mysubmenu=null,this.submenuDisposables=this._register(new te),this.mouseOver=!1,this.expandDirection=s&&void 0!==s.expandDirection?s.expandDirection:eP.Right,this.showScheduler=new gc((()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))}),250),this.hideScheduler=new gc((()=>{this.element&&!ll(gl(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))}),750)}render(t){super.render(t),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=Il(this.item,Wl("span.submenu-indicator"+Sr.asCSSSelector(Is.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register(Ua(this.element,Fl.KEY_UP,(t=>{const i=new Jh(t);(i.equals(17)||i.equals(3))&&(Tl(t,!0),this.createSubmenu(!0))}))),this._register(Ua(this.element,Fl.KEY_DOWN,(t=>{const i=new Jh(t);gl()===this.item&&(i.equals(17)||i.equals(3))&&Tl(t,!0)}))),this._register(Ua(this.element,Fl.MOUSE_OVER,(()=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())}))),this._register(Ua(this.element,Fl.MOUSE_LEAVE,(()=>{this.mouseOver=!1}))),this._register(Ua(this.element,Fl.FOCUS_OUT,(()=>{this.element&&!ll(gl(),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(t){Tl(t,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(t){if(this.parentData.submenu&&(t||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(t,i,e,s){const n={top:0,left:0};return n.left=pI(t.width,i.width,{position:s===eP.Right?0:1,offset:e.left,size:e.width}),n.left>=e.left&&n.left{new Jh(t).equals(15)&&(Tl(t,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))}))),this.submenuDisposables.add(Ua(this.submenuContainer,Fl.KEY_DOWN,(t=>{new Jh(t).equals(15)&&Tl(t,!0)}))),this.submenuDisposables.add(this.parentData.submenu.onDidCancel((()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)}))),this.parentData.submenu.focus(t),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(t){var i;this.item&&(null===(i=this.item)||void 0===i||i.setAttribute("aria-expanded",t))}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=null!=t?t:"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class rP extends vB{constructor(t,i,e,s){super(t,i,e),this.menuStyles=s}render(t){super.render(t),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:"")}}function hP(t){const i=Os()[t.id];return`.codicon-${t.id}:before { content: '\\${i.toString(16)}'; }`}class cP{constructor(t,i,e,s){this.contextViewService=t,this.telemetryService=i,this.notificationService=e,this.keybindingService=s,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(t){this.options=t}showContextMenu(t){const i=t.getActions();if(!i.length)return;let e;this.focusToReturn=gl();const s=t.domForShadowRoot instanceof HTMLElement?t.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>t.getAnchor(),canRelayout:!1,anchorAlignment:t.anchorAlignment,anchorAxisAlignment:t.anchorAxisAlignment,render:s=>{var n;this.lastContainer=s;const o=t.getMenuClassName?t.getMenuClassName():"";o&&(s.className+=" "+o),this.options.blockMouse&&(this.block=s.appendChild(Wl(".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",null===(n=this.blockDisposable)||void 0===n||n.dispose(),this.blockDisposable=Ua(this.block,Fl.MOUSE_DOWN,(t=>t.stopPropagation())));const r=new te,h=t.actionRunner||new vr;h.onWillRun((i=>this.onActionRun(i,!t.skipTelemetry)),this,r),h.onDidRun(this.onDidActionRun,this,r),e=new sP(s,i,{actionViewItemProvider:t.getActionViewItem,context:t.getActionsContext?t.getActionsContext():null,actionRunner:h,getKeyBinding:t.getKeyBinding?t.getKeyBinding:t=>this.keybindingService.lookupKeybinding(t.id)},HB),e.onDidCancel((()=>this.contextViewService.hideContextView(!0)),null,r),e.onDidBlur((()=>this.contextViewService.hideContextView(!0)),null,r);const c=Ba(s);return r.add(Ua(c,Fl.BLUR,(()=>this.contextViewService.hideContextView(!0)))),r.add(Ua(c,Fl.MOUSE_DOWN,(t=>{if(t.defaultPrevented)return;const i=new ic(c,t);let e=i.target;if(!i.rightButton){for(;e;){if(e===s)return;e=e.parentElement}this.contextViewService.hideContextView(!0)}}))),Yi(r,e)},focus:()=>{null==e||e.focus(!!t.autoSelectFirstItem)},onHide:i=>{var e,s,n;null===(e=t.onHide)||void 0===e||e.call(t,!!i),this.block&&(this.block.remove(),this.block=null),null===(s=this.blockDisposable)||void 0===s||s.dispose(),this.blockDisposable=null,this.lastContainer&&(gl()===this.lastContainer||ll(gl(),this.lastContainer))&&(null===(n=this.focusToReturn)||void 0===n||n.focus()),this.lastContainer=null}},s,!!s)}onActionRun(t,i){i&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:t.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(t){t.error&&!zi(t.error)&&this.notificationService.error(t.error)}}var aP=function(t,i){return function(e,s){i(e,s,t)}};let lP=class extends ie{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new cP(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(t,i,e,s,n,o){super(),this.telemetryService=t,this.notificationService=i,this.contextViewService=e,this.keybindingService=s,this.menuService=n,this.contextKeyService=o,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new fe),this._onDidHideContextMenu=this._store.add(new fe)}configure(t){this.contextMenuHandler.configure(t)}showContextMenu(t){t=uP.transform(t,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...t,onHide:i=>{var e;null===(e=t.onHide)||void 0===e||e.call(t,i),this._onDidHideContextMenu.fire()}}),Zl.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};var uP,dP;lP=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([aP(0,jh),aP(1,rT),aP(2,lI),aP(3,rC),aP(4,Ih),aP(5,lh)],lP),function(t){t.transform=function(t,i,e){if(!((s=t)&&s.menuId instanceof Oh))return t;var s;const{menuId:n,menuActionOptions:o,contextKeyService:r}=t;return{...t,getActions:()=>{const s=[];if(n){const t=i.createMenu(n,null!=r?r:e);!function(t,i,e){const s=t.getActions(i),n=Zl.getInstance();KB(s,e,n.keyStatus.altKey||(Ct||Dt)&&n.keyStatus.shiftKey,(t=>"navigation"===t))}(t,o,s),t.dispose()}return t.getActions?br.join(t.getActions(),s):s}}}}(uP||(uP={})),function(t){t[t.API=0]="API",t[t.USER=1]="USER"}(dP||(dP={}));const fP=fr("openerService");var pP=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},gP=function(t,i){return function(e,s){i(e,s,t)}};let mP=class{constructor(t){this._commandService=t}async open(t,i){if(!Ca(t,xa.command))return!1;if(!(null==i?void 0:i.allowCommands))return!0;if("string"==typeof t&&(t=ws.parse(t)),Array.isArray(i.allowCommands)&&!i.allowCommands.includes(t.path))return!0;let e=[];try{e=eN(decodeURIComponent(t.query))}catch(i){try{e=eN(t.query)}catch(t){}}return Array.isArray(e)||(e=[e]),await this._commandService.executeCommand(t.path,...e),!0}};mP=pP([gP(0,Dr)],mP);let wP=class{constructor(t){this._editorService=t}async open(t,i){"string"==typeof t&&(t=ws.parse(t));const{selection:e,uri:s}=function(t){let i;const e=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(t.fragment);return e&&(i={startLineNumber:parseInt(e[1]),startColumn:e[2]?parseInt(e[2]):1,endLineNumber:e[4]?parseInt(e[4]):void 0,endColumn:e[4]?e[5]?parseInt(e[5]):1:void 0},t=t.with({fragment:""})),{selection:i,uri:t}}(t);return(t=s).scheme===xa.file&&(t=SA(t)),await this._editorService.openCodeEditor({resource:t,options:{selection:e,source:(null==i?void 0:i.fromUserGesture)?dP.USER:dP.API,...null==i?void 0:i.editorOptions}},this._editorService.getFocusedCodeEditor(),null==i?void 0:i.openToSide),!0}};wP=pP([gP(0,pr)],wP);let vP=class{constructor(t,i){this._openers=new qt,this._validators=new qt,this._resolvers=new qt,this._resolvedUriTargets=new Hp((t=>t.with({path:null,fragment:null,query:null}).toString())),this._externalOpeners=new qt,this._defaultExternalOpener={openExternal:async t=>(Sa(t,xa.http,xa.https)?Vl(t):Wn.location.href=t,!0)},this._openers.push({open:async(t,i)=>!(!(null==i?void 0:i.openExternal)&&!Sa(t,xa.mailto,xa.http,xa.https,xa.vsls)||(await this._doOpenExternal(t,i),0))}),this._openers.push(new mP(i)),this._openers.push(new wP(t))}registerOpener(t){return{dispose:this._openers.unshift(t)}}async open(t,i){var e;const s="string"==typeof t?ws.parse(t):t,n=null!==(e=this._resolvedUriTargets.get(s))&&void 0!==e?e:t;for(const t of this._validators)if(!await t.shouldOpen(n,i))return!1;for(const e of this._openers)if(await e.open(t,i))return!0;return!1}async resolveExternalUri(t,i){for(const e of this._resolvers)try{const s=await e.resolveExternalUri(t,i);if(s)return this._resolvedUriTargets.has(s.resolved)||this._resolvedUriTargets.set(s.resolved,t),s}catch(t){}throw new Error("Could not resolve external URI: "+t.toString())}async _doOpenExternal(t,i){const e="string"==typeof t?ws.parse(t):t;let s,n;try{s=(await this.resolveExternalUri(e,i)).resolved}catch(t){s=e}if(n="string"==typeof t&&e.toString()===s.toString()?t:encodeURI(s.toString(!0)),null==i?void 0:i.allowContributedOpeners){const t="string"==typeof(null==i?void 0:i.allowContributedOpeners)?null==i?void 0:i.allowContributedOpeners:void 0;for(const i of this._externalOpeners)if(await i.openExternal(n,{sourceUri:e,preferredOpenerId:t},xe.None))return!0}return this._defaultExternalOpener.openExternal(n,{sourceUri:e},xe.None)}dispose(){this._validators.clear()}};vP=pP([gP(0,pr),gP(1,Dr)],vP);const bP=fr("editorWorkerService");var yP,kP;!function(t){t[t.Hint=1]="Hint",t[t.Info=2]="Info",t[t.Warning=4]="Warning",t[t.Error=8]="Error"}(yP||(yP={})),function(t){t.compare=function(t,i){return i-t};const i=Object.create(null);i[t.Error]=rt(0,"Error"),i[t.Warning]=rt(0,"Warning"),i[t.Info]=rt(0,"Info"),t.toString=function(t){return i[t]||""},t.fromSeverity=function(i){switch(i){case nT.Error:return t.Error;case nT.Warning:return t.Warning;case nT.Info:return t.Info;case nT.Ignore:return t.Hint}},t.toSeverity=function(i){switch(i){case t.Error:return nT.Error;case t.Warning:return nT.Warning;case t.Info:return nT.Info;case t.Hint:return nT.Ignore}}}(yP||(yP={})),function(t){const i="";function e(t,e){const s=[i];return s.push(t.source?t.source.replace("¦","\\¦"):i),s.push(t.code?"string"==typeof t.code?t.code.replace("¦","\\¦"):t.code.value.replace("¦","\\¦"):i),s.push(null!=t.severity?yP.toString(t.severity):i),s.push(t.message&&e?t.message.replace("¦","\\¦"):i),s.push(null!=t.startLineNumber?t.startLineNumber.toString():i),s.push(null!=t.startColumn?t.startColumn.toString():i),s.push(null!=t.endLineNumber?t.endLineNumber.toString():i),s.push(null!=t.endColumn?t.endColumn.toString():i),s.push(i),s.join("¦")}t.makeKey=function(t){return e(t,!0)},t.makeKeyOptionalMessage=e}(kP||(kP={}));const xP=fr("markerService");var CP=function(t,i){return function(e,s){i(e,s,t)}};let SP=class extends ie{constructor(t,i){super(),this._markerService=i,this._onDidChangeMarker=this._register(new fe),this._markerDecorations=new Hp,t.getModels().forEach((t=>this._onModelAdded(t))),this._register(t.onModelAdded(this._onModelAdded,this)),this._register(t.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach((t=>t.dispose())),this._markerDecorations.clear()}getMarker(t,i){const e=this._markerDecorations.get(t);return e&&e.getMarker(i)||null}_handleMarkerChange(t){t.forEach((t=>{const i=this._markerDecorations.get(t);i&&this._updateDecorations(i)}))}_onModelAdded(t){const i=new DP(t);this._markerDecorations.set(t.uri,i),this._updateDecorations(i)}_onModelRemoved(t){var i;const e=this._markerDecorations.get(t.uri);e&&(e.dispose(),this._markerDecorations.delete(t.uri)),t.uri.scheme!==xa.inMemory&&t.uri.scheme!==xa.internal&&t.uri.scheme!==xa.vscode||null===(i=this._markerService)||void 0===i||i.read({resource:t.uri}).map((t=>t.owner)).forEach((i=>this._markerService.remove(i,[t.uri])))}_updateDecorations(t){const i=this._markerService.read({resource:t.model.uri,take:500});t.update(i)&&this._onDidChangeMarker.fire(t.model)}};SP=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([CP(0,gr),CP(1,xP)],SP);class DP extends ie{constructor(t){super(),this.model=t,this._map=new qp,this._register(Xi((()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()})))}update(t){const{added:i,removed:e}=function(t,i){const e=[],s=[];for(const s of t)i.has(s)||e.push(s);for(const e of i)t.has(e)||s.push(e);return{removed:e,added:s}}(new Set(this._map.keys()),new Set(t));if(0===i.length&&0===e.length)return!1;const s=e.map((t=>this._map.get(t))),n=i.map((t=>({range:this._createDecorationRange(this.model,t),options:this._createDecorationOption(t)}))),o=this.model.deltaDecorations(s,n);for(const t of e)this._map.delete(t);for(let t=0;t=i)return e;const s=t.getWordAtPosition(e.getStartPosition());s&&(e=new Ls(e.startLineNumber,s.startColumn,e.endLineNumber,s.endColumn))}else if(i.endColumn===Number.MAX_VALUE&&1===i.startColumn&&e.startLineNumber===e.endLineNumber){const s=t.getLineFirstNonWhitespaceColumn(i.startLineNumber);s=0}}var EP,AP=function(t,i){return function(e,s){i(e,s,t)}};function MP(t){return t.toString()}class LP{constructor(t,i,e){this.model=t,this._modelEventListeners=new te,this.model=t,this._modelEventListeners.add(t.onWillDispose((()=>i(t)))),this._modelEventListeners.add(t.onDidChangeLanguage((i=>e(t,i))))}dispose(){this._modelEventListeners.dispose()}}const FP=Dt||St?1:2;class TP{constructor(t,i,e,s,n,o,r,h){this.uri=t,this.initialUndoRedoSnapshot=i,this.time=e,this.sharesUndoRedoStack=s,this.heapSize=n,this.sha1=o,this.versionId=r,this.alternativeVersionId=h}}let RP=EP=class extends ie{constructor(t,i,e,s,n){super(),this._configurationService=t,this._resourcePropertiesService=i,this._undoRedoService=e,this._languageService=s,this._languageConfigurationService=n,this._onModelAdded=this._register(new fe),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new fe),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new fe),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration((t=>this._updateModelOptions(t)))),this._updateModelOptions(void 0)}static _readModelOptions(t,i){var e;let s=Ht.tabSize;if(t.editor&&void 0!==t.editor.tabSize){const i=parseInt(t.editor.tabSize,10);isNaN(i)||(s=i),s<1&&(s=1)}let n="tabSize";if(t.editor&&void 0!==t.editor.indentSize&&"tabSize"!==t.editor.indentSize){const i=parseInt(t.editor.indentSize,10);isNaN(i)||(n=Math.max(i,1))}let o=Ht.insertSpaces;t.editor&&void 0!==t.editor.insertSpaces&&(o="false"!==t.editor.insertSpaces&&Boolean(t.editor.insertSpaces));let r=FP;const h=t.eol;"\r\n"===h?r=2:"\n"===h&&(r=1);let c=Ht.trimAutoWhitespace;t.editor&&void 0!==t.editor.trimAutoWhitespace&&(c="false"!==t.editor.trimAutoWhitespace&&Boolean(t.editor.trimAutoWhitespace));let a=Ht.detectIndentation;t.editor&&void 0!==t.editor.detectIndentation&&(a="false"!==t.editor.detectIndentation&&Boolean(t.editor.detectIndentation));let l=Ht.largeFileOptimizations;t.editor&&void 0!==t.editor.largeFileOptimizations&&(l="false"!==t.editor.largeFileOptimizations&&Boolean(t.editor.largeFileOptimizations));let u=Ht.bracketPairColorizationOptions;return(null===(e=t.editor)||void 0===e?void 0:e.bracketPairColorization)&&"object"==typeof t.editor.bracketPairColorization&&(u={enabled:!!t.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!t.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:i,tabSize:s,indentSize:n,insertSpaces:o,detectIndentation:a,defaultEOL:r,trimAutoWhitespace:c,largeFileOptimizations:l,bracketPairColorizationOptions:u}}_getEOL(t,i){if(t)return this._resourcePropertiesService.getEOL(t,i);const e=this._configurationService.getValue("files.eol",{overrideIdentifier:i});return e&&"string"==typeof e&&"auto"!==e?e:3===_t||2===_t?"\n":"\r\n"}_shouldRestoreUndoStack(){const t=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof t||t}getCreationOptions(t,i,e){const s="string"==typeof t?t:t.languageId;let n=this._modelCreationOptionsByLanguageAndResource[s+i];if(!n){const t=this._configurationService.getValue("editor",{overrideIdentifier:s,resource:i}),o=this._getEOL(i,s);n=EP._readModelOptions({editor:t,eol:o},e),this._modelCreationOptionsByLanguageAndResource[s+i]=n}return n}_updateModelOptions(t){const i=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const e=Object.keys(this._models);for(let s=0,n=e.length;st){const i=[];for(this._disposedModels.forEach((t=>{t.sharesUndoRedoStack||i.push(t)})),i.sort(((t,i)=>t.time-i.time));i.length>0&&this._disposedModelsHeapSize>t;){const t=i.shift();this._removeDisposedModel(t.uri),null!==t.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(t.initialUndoRedoSnapshot)}}}_createModelData(t,i,e,s){const n=this.getCreationOptions(i,e,s),o=new vL(t,i,n,e,this._undoRedoService,this._languageService,this._languageConfigurationService);if(e&&this._disposedModels.has(MP(e))){const t=this._removeDisposedModel(e),i=this._undoRedoService.getElements(e),s=this._getSHA1Computer(),n=!!s.canComputeSHA1(o)&&s.computeSHA1(o)===t.sha1;if(n||t.sharesUndoRedoStack){for(const t of i.past)_A(t)&&t.matchesResource(e)&&t.setModel(o);for(const t of i.future)_A(t)&&t.matchesResource(e)&&t.setModel(o);this._undoRedoService.setElementsValidFlag(e,!0,(t=>_A(t)&&t.matchesResource(e))),n&&(o._overwriteVersionId(t.versionId),o._overwriteAlternativeVersionId(t.alternativeVersionId),o._overwriteInitialUndoRedoSnapshot(t.initialUndoRedoSnapshot))}else null!==t.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(t.initialUndoRedoSnapshot)}const r=MP(o.uri);if(this._models[r])throw new Error("ModelService: Cannot add model because it already exists!");const h=new LP(o,(t=>this._onWillDispose(t)),((t,i)=>this._onDidChangeLanguage(t,i)));return this._models[r]=h,h}createModel(t,i,e,s=!1){let n;return n=this._createModelData(t,i||qd,e,s),this._onModelAdded.fire(n.model),n.model}getModels(){const t=[],i=Object.keys(this._models);for(let e=0,s=i.length;e0||i.future.length>0){for(const e of i.past)_A(e)&&e.matchesResource(t.uri)&&(n=!0,o+=e.heapSize(t.uri),e.setModel(t.uri));for(const e of i.future)_A(e)&&e.matchesResource(t.uri)&&(n=!0,o+=e.heapSize(t.uri),e.setModel(t.uri))}}const r=EP.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,h=this._getSHA1Computer();if(n)if(s||!(o>r)&&h.canComputeSHA1(t))this._ensureDisposedModelsHeapSize(r-o),this._undoRedoService.setElementsValidFlag(t.uri,!1,(i=>_A(i)&&i.matchesResource(t.uri))),this._insertDisposedModel(new TP(t.uri,e.model.getInitialUndoRedoSnapshot(),Date.now(),s,o,h.computeSHA1(t),t.getVersionId(),t.getAlternativeVersionId()));else{const t=e.model.getInitialUndoRedoSnapshot();null!==t&&this._undoRedoService.restoreSnapshot(t)}else if(!s){const t=e.model.getInitialUndoRedoSnapshot();null!==t&&this._undoRedoService.restoreSnapshot(t)}delete this._models[i],e.dispose(),delete this._modelCreationOptionsByLanguageAndResource[t.getLanguageId()+t.uri],this._onModelRemoved.fire(t)}_onDidChangeLanguage(t,i){const e=i.oldLanguage,s=t.getLanguageId(),n=this.getCreationOptions(e,t.uri,t.isForSimpleWidget),o=this.getCreationOptions(s,t.uri,t.isForSimpleWidget);EP._setModelOptionsForModel(t,o,n),this._onModelModeChanged.fire({model:t,oldLanguageId:e})}_getSHA1Computer(){return new OP}};RP.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520,RP=EP=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([AP(0,gd),AP(1,xg),AP(2,cL),AP(3,kd),AP(4,tf)],RP);class OP{canComputeSHA1(t){return t.getValueLength()<=OP.MAX_MODEL_SIZE}computeSHA1(t){const i=new Na,e=t.createSnapshot();let s;for(;s=e.read();)i.update(s);return i.digest()}}OP.MAX_MODEL_SIZE=10485760;class IP{get templateId(){return this.renderer.templateId}constructor(t,i){this.renderer=t,this.modelProvider=i}renderTemplate(t){return{data:this.renderer.renderTemplate(t),disposable:ie.None}}renderElement(t,i,e,s){var n;if(null===(n=e.disposable)||void 0===n||n.dispose(),!e.data)return;const o=this.modelProvider();if(o.isResolved(t))return this.renderer.renderElement(o.get(t),t,e.data,s);const r=new Se,h=o.resolve(t,r.token);e.disposable={dispose:()=>r.cancel()},this.renderer.renderPlaceholder(t,e.data),h.then((i=>this.renderer.renderElement(i,t,e.data,s)))}disposeTemplate(t){t.disposable&&(t.disposable.dispose(),t.disposable=void 0),t.data&&(this.renderer.disposeTemplate(t.data),t.data=void 0)}}class _P{constructor(t,i){this.modelProvider=t,this.accessibilityProvider=i}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(t){const i=this.modelProvider();return i.isResolved(t)?this.accessibilityProvider.getAriaLabel(i.get(t)):null}}class NP{constructor(t,i,e,s,n={}){const o=()=>this.model,r=s.map((t=>new IP(t,o)));this.list=new lB(t,i,e,r,function(t,i){return{...i,accessibilityProvider:i.accessibilityProvider&&new _P(t,i.accessibilityProvider)}}(o,n))}updateOptions(t){this.list.updateOptions(t)}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 ce.map(this.list.onMouseDblClick,(({element:t,index:i,browserEvent:e})=>({element:void 0===t?void 0:this._model.get(t),index:i,browserEvent:e})))}get onPointer(){return ce.map(this.list.onPointer,(({element:t,index:i,browserEvent:e})=>({element:void 0===t?void 0:this._model.get(t),index:i,browserEvent:e})))}get onDidChangeSelection(){return ce.map(this.list.onDidChangeSelection,(({elements:t,indexes:i,browserEvent:e})=>({elements:t.map((t=>this._model.get(t))),indexes:i,browserEvent:e})))}get model(){return this._model}set model(t){this._model=t,this.list.splice(0,this.list.length,C(t.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map((t=>this.model.get(t)))}style(t){this.list.style(t)}dispose(){this.list.dispose()}}var BP,PP=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r};!function(t){t.North="north",t.South="south",t.East="east",t.West="west"}(BP||(BP={}));const $P=new fe,WP=new fe;class jP{constructor(t){this.el=t,this.disposables=new te}get onPointerMove(){return this.disposables.add(new Pk(Ba(this.el),"mousemove")).event}get onPointerUp(){return this.disposables.add(new Pk(Ba(this.el),"mouseup")).event}dispose(){this.disposables.dispose()}}PP([ow],jP.prototype,"onPointerMove",null),PP([ow],jP.prototype,"onPointerUp",null);class zP{get onPointerMove(){return this.disposables.add(new Pk(this.el,rw.Change)).event}get onPointerUp(){return this.disposables.add(new Pk(this.el,rw.End)).event}constructor(t){this.el=t,this.disposables=new te}dispose(){this.disposables.dispose()}}PP([ow],zP.prototype,"onPointerMove",null),PP([ow],zP.prototype,"onPointerUp",null);class HP{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(t){this.factory=t}dispose(){}}PP([ow],HP.prototype,"onPointerMove",null),PP([ow],HP.prototype,"onPointerUp",null);const VP="pointer-events-disabled";class UP extends ie{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(t){this._state!==t&&(this.el.classList.toggle("disabled",0===t),this.el.classList.toggle("minimum",1===t),this.el.classList.toggle("maximum",2===t),this._state=t,this.onDidEnablementChange.fire(t))}set orthogonalStartSash(t){if(this._orthogonalStartSash!==t){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),t){const i=i=>{this.orthogonalStartDragHandleDisposables.clear(),0!==i&&(this._orthogonalStartDragHandle=Il(this.el,Wl(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add(Xi((()=>this._orthogonalStartDragHandle.remove()))),this.orthogonalStartDragHandleDisposables.add(new Pk(this._orthogonalStartDragHandle,"mouseenter")).event((()=>UP.onMouseEnter(t)),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new Pk(this._orthogonalStartDragHandle,"mouseleave")).event((()=>UP.onMouseLeave(t)),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(t.onDidEnablementChange.event(i,this)),i(t.state)}this._orthogonalStartSash=t}}set orthogonalEndSash(t){if(this._orthogonalEndSash!==t){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),t){const i=i=>{this.orthogonalEndDragHandleDisposables.clear(),0!==i&&(this._orthogonalEndDragHandle=Il(this.el,Wl(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add(Xi((()=>this._orthogonalEndDragHandle.remove()))),this.orthogonalEndDragHandleDisposables.add(new Pk(this._orthogonalEndDragHandle,"mouseenter")).event((()=>UP.onMouseEnter(t)),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new Pk(this._orthogonalEndDragHandle,"mouseleave")).event((()=>UP.onMouseLeave(t)),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(t.onDidEnablementChange.event(i,this)),i(t.state)}this._orthogonalEndSash=t}}constructor(t,i,e){super(),this.hoverDelay=300,this.hoverDelayer=this._register(new cc(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new fe),this._onDidStart=this._register(new fe),this._onDidChange=this._register(new fe),this._onDidReset=this._register(new fe),this._onDidEnd=this._register(new fe),this.orthogonalStartSashDisposables=this._register(new te),this.orthogonalStartDragHandleDisposables=this._register(new te),this.orthogonalEndSashDisposables=this._register(new te),this.orthogonalEndDragHandleDisposables=this._register(new te),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=Il(t,Wl(".monaco-sash")),e.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${e.orthogonalEdge}`),St&&this.el.classList.add("mac");const s=this._register(new Pk(this.el,"mousedown")).event;this._register(s((i=>this.onPointerStart(i,new jP(t))),this));const n=this._register(new Pk(this.el,"dblclick")).event;this._register(n(this.onPointerDoublePress,this));const o=this._register(new Pk(this.el,"mouseenter")).event;this._register(o((()=>UP.onMouseEnter(this))));const r=this._register(new Pk(this.el,"mouseleave")).event;this._register(r((()=>UP.onMouseLeave(this)))),this._register(hw.addTarget(this.el));const h=this._register(new Pk(this.el,rw.Start)).event;this._register(h((t=>this.onPointerStart(t,new zP(this.el))),this));const c=this._register(new Pk(this.el,rw.Tap)).event;let a;this._register(c((t=>{if(a)return clearTimeout(a),a=void 0,void this.onPointerDoublePress(t);clearTimeout(a),a=setTimeout((()=>a=void 0),250)}),this)),"number"==typeof e.size?(this.size=e.size,0===e.orientation?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=4,this._register($P.event((t=>{this.size=t,this.layout()})))),this._register(WP.event((t=>this.hoverDelay=t))),this.layoutProvider=i,this.orthogonalStartSash=e.orthogonalStartSash,this.orthogonalEndSash=e.orthogonalEndSash,this.orientation=e.orientation||0,1===this.orientation?(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",!1),this.layout()}onPointerStart(t,i){Tl(t);let e=!1;if(!t.__orthogonalSashEvent){const s=this.getOrthogonalSash(t);s&&(e=!0,t.__orthogonalSashEvent=!0,s.onPointerStart(t,new HP(i)))}if(this.linkedSash&&!t.__linkedSashEvent&&(t.__linkedSashEvent=!0,this.linkedSash.onPointerStart(t,new HP(i))),!this.state)return;const s=this.el.ownerDocument.getElementsByTagName("iframe");for(const t of s)t.classList.add(VP);const n=t.pageX,o=t.pageY,r=t.altKey,h={startX:n,currentX:n,startY:o,currentY:o,altKey:r};this.el.classList.add("active"),this._onDidStart.fire(h);const c=bl(this.el),a=()=>{let t="";t=e?"all-scroll":1===this.orientation?1===this.state?"s-resize":2===this.state?"n-resize":St?"row-resize":"ns-resize":1===this.state?"e-resize":2===this.state?"w-resize":St?"col-resize":"ew-resize",c.textContent=`* { cursor: ${t} !important; }`},l=new te;a(),e||this.onDidEnablementChange.event(a,null,l),i.onPointerMove((t=>{Tl(t,!1),this._onDidChange.fire({startX:n,currentX:t.pageX,startY:o,currentY:t.pageY,altKey:r})}),null,l),i.onPointerUp((t=>{Tl(t,!1),this.el.removeChild(c),this.el.classList.remove("active"),this._onDidEnd.fire(),l.dispose();for(const t of s)t.classList.remove(VP)}),null,l),l.add(i)}onPointerDoublePress(t){const i=this.getOrthogonalSash(t);i&&i._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(t,i=!1){t.el.classList.contains("active")?(t.hoverDelayer.cancel(),t.el.classList.add("hover")):t.hoverDelayer.trigger((()=>t.el.classList.add("hover")),t.hoverDelay).then(void 0,(()=>{})),!i&&t.linkedSash&&UP.onMouseEnter(t.linkedSash,!0)}static onMouseLeave(t,i=!1){t.hoverDelayer.cancel(),t.el.classList.remove("hover"),!i&&t.linkedSash&&UP.onMouseLeave(t.linkedSash,!0)}clearSashHoverState(){UP.onMouseLeave(this)}layout(){if(0===this.orientation){const t=this.layoutProvider;this.el.style.left=t.getVerticalSashLeft(this)-this.size/2+"px",t.getVerticalSashTop&&(this.el.style.top=t.getVerticalSashTop(this)+"px"),t.getVerticalSashHeight&&(this.el.style.height=t.getVerticalSashHeight(this)+"px")}else{const t=this.layoutProvider;this.el.style.top=t.getHorizontalSashTop(this)-this.size/2+"px",t.getHorizontalSashLeft&&(this.el.style.left=t.getHorizontalSashLeft(this)+"px"),t.getHorizontalSashWidth&&(this.el.style.width=t.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(t){var i;const e=null!==(i=t.initialTarget)&&void 0!==i?i:t.target;if(e&&e instanceof HTMLElement)return e.classList.contains("orthogonal-drag-handle")?e.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash:void 0}dispose(){super.dispose(),this.el.remove()}}const qP={separatorBorder:ug.transparent};class KP{set size(t){this._size=t}get size(){return this._size}get visible(){return void 0===this._cachedVisibleSize}setVisible(t,i){var e,s;if(t!==this.visible){t?(this.size=uR(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize="number"==typeof i?i:this.size,this.size=0),this.container.classList.toggle("visible",t);try{null===(s=(e=this.view).setVisible)||void 0===s||s.call(e,t)}catch(t){console.error("Splitview: Failed to set visible view"),console.error(t)}}}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 t;return null===(t=this.view.proportionalLayout)||void 0===t||t}get snap(){return!!this.view.snap}set enabled(t){this.container.style.pointerEvents=t?"":"none"}constructor(t,i,e,s){this.container=t,this.view=i,this.disposable=s,this._cachedVisibleSize=void 0,"number"==typeof e?(this._size=e,this._cachedVisibleSize=void 0,t.classList.add("visible")):(this._size=0,this._cachedVisibleSize=e.cachedVisibleSize)}layout(t,i){this.layoutContainer(t);try{this.view.layout(this.size,t,i)}catch(t){console.error("Splitview: Failed to layout view"),console.error(t)}}dispose(){this.disposable.dispose()}}class GP extends KP{layoutContainer(t){this.container.style.top=`${t}px`,this.container.style.height=`${this.size}px`}}class ZP extends KP{layoutContainer(t){this.container.style.left=`${t}px`,this.container.style.width=`${this.size}px`}}var QP,JP;!function(t){t[t.Idle=0]="Idle",t[t.Busy=1]="Busy"}(QP||(QP={})),function(t){t.Distribute={type:"distribute"},t.Split=function(t){return{type:"split",index:t}},t.Auto=function(t){return{type:"auto",index:t}},t.Invisible=function(t){return{type:"invisible",cachedVisibleSize:t}}}(JP||(JP={}));class YP extends ie{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(t){for(const i of this.sashItems)i.sash.orthogonalStartSash=t;this._orthogonalStartSash=t}set orthogonalEndSash(t){for(const i of this.sashItems)i.sash.orthogonalEndSash=t;this._orthogonalEndSash=t}set startSnappingEnabled(t){this._startSnappingEnabled!==t&&(this._startSnappingEnabled=t,this.updateSashEnablement())}set endSnappingEnabled(t){this._endSnappingEnabled!==t&&(this._endSnappingEnabled=t,this.updateSashEnablement())}constructor(t,i={}){var e,s,n,o,r;super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=QP.Idle,this._onDidSashChange=this._register(new fe),this._onDidSashReset=this._register(new fe),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=null!==(e=i.orientation)&&void 0!==e?e:0,this.inverseAltBehavior=null!==(s=i.inverseAltBehavior)&&void 0!==s&&s,this.proportionalLayout=null===(n=i.proportionalLayout)||void 0===n||n,this.getSashOrthogonalSize=i.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(0===this.orientation?"vertical":"horizontal"),t.appendChild(this.el),this.sashContainer=Il(this.el,Wl(".sash-container")),this.viewContainer=Wl(".split-view-container"),this.scrollable=this._register(new Ck({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:t=>Ja(Ba(this.el),t)})),this.scrollableElement=this._register(new Tk(this.viewContainer,{vertical:0===this.orientation?null!==(o=i.scrollbarVisibility)&&void 0!==o?o:1:2,horizontal:1===this.orientation?null!==(r=i.scrollbarVisibility)&&void 0!==r?r:1:2},this.scrollable));const h=this._register(new Pk(this.viewContainer,"scroll")).event;this._register(h((()=>{const t=this.scrollableElement.getScrollPosition(),i=Math.abs(this.viewContainer.scrollLeft-t.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,e=Math.abs(this.viewContainer.scrollTop-t.scrollTop)<=1?void 0:this.viewContainer.scrollTop;void 0===i&&void 0===e||this.scrollableElement.setScrollPosition({scrollLeft:i,scrollTop:e})}))),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll((t=>{t.scrollTopChanged&&(this.viewContainer.scrollTop=t.scrollTop),t.scrollLeftChanged&&(this.viewContainer.scrollLeft=t.scrollLeft)}))),Il(this.el,this.scrollableElement.getDomNode()),this.style(i.styles||qP),i.descriptor&&(this.size=i.descriptor.size,i.descriptor.views.forEach(((t,i)=>{const e=V(t.visible)||t.visible?t.size:{type:"invisible",cachedVisibleSize:t.size};this.doAddView(t.view,e,i,!0)})),this._contentSize=this.viewItems.reduce(((t,i)=>t+i.size),0),this.saveProportions())}style(t){t.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",t.separatorBorder.toString()))}addView(t,i,e=this.viewItems.length,s){this.doAddView(t,i,e,s)}layout(t,i){const e=Math.max(this.size,this._contentSize);if(this.size=t,this.layoutContext=i,this.proportions){let i=0;for(let e=0;e0&&(s.size=uR(Math.round(n*t/i),s.minimumSize,s.maximumSize))}}else{const i=C(this.viewItems.length),s=i.filter((t=>1===this.viewItems[t].priority)),n=i.filter((t=>2===this.viewItems[t].priority));this.resize(this.viewItems.length-1,t-e,void 0,s,n)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map((t=>t.proportionalLayout&&t.visible?t.size/this._contentSize:void 0)))}onSashStart({sash:t,start:i,alt:e}){for(const t of this.viewItems)t.enabled=!1;const s=this.sashItems.findIndex((i=>i.sash===t)),n=Yi(Ua(this.el.ownerDocument.body,"keydown",(t=>o(this.sashDragState.current,t.altKey))),Ua(this.el.ownerDocument.body,"keyup",(()=>o(this.sashDragState.current,!1)))),o=(t,i)=>{const e=this.viewItems.map((t=>t.size));let o,r,h=Number.NEGATIVE_INFINITY,c=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(i=!i),i)if(s===this.sashItems.length-1){const t=this.viewItems[s];h=(t.minimumSize-t.size)/2,c=(t.maximumSize-t.size)/2}else{const t=this.viewItems[s+1];h=(t.size-t.maximumSize)/2,c=(t.size-t.minimumSize)/2}if(!i){const t=C(s,-1),i=C(s+1,this.viewItems.length),n=t.reduce(((t,i)=>t+(this.viewItems[i].minimumSize-e[i])),0),h=t.reduce(((t,i)=>t+(this.viewItems[i].viewMaximumSize-e[i])),0),c=0===i.length?Number.POSITIVE_INFINITY:i.reduce(((t,i)=>t+(e[i]-this.viewItems[i].minimumSize)),0),a=0===i.length?Number.NEGATIVE_INFINITY:i.reduce(((t,i)=>t+(e[i]-this.viewItems[i].viewMaximumSize)),0),l=Math.max(n,a),u=Math.min(c,h),d=this.findFirstSnapIndex(t),f=this.findFirstSnapIndex(i);if("number"==typeof d){const t=this.viewItems[d],i=Math.floor(t.viewMinimumSize/2);o={index:d,limitDelta:t.visible?l-i:l+i,size:t.size}}if("number"==typeof f){const t=this.viewItems[f],i=Math.floor(t.viewMinimumSize/2);r={index:f,limitDelta:t.visible?u+i:u-i,size:t.size}}}this.sashDragState={start:t,current:t,index:s,sizes:e,minDelta:h,maxDelta:c,alt:i,snapBefore:o,snapAfter:r,disposable:n}};o(i,e)}onSashChange({current:t}){const{index:i,start:e,sizes:s,alt:n,minDelta:o,maxDelta:r,snapBefore:h,snapAfter:c}=this.sashDragState;this.sashDragState.current=t;const a=this.resize(i,t-e,s,void 0,void 0,o,r,h,c);if(n){const t=i===this.sashItems.length-1,e=this.viewItems.map((t=>t.size)),s=this.viewItems[t?i:i+1];this.resize(t?i-1:i+1,-a,e,void 0,void 0,s.size-s.maximumSize,s.size-s.minimumSize)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(t){this._onDidSashChange.fire(t),this.sashDragState.disposable.dispose(),this.saveProportions();for(const t of this.viewItems)t.enabled=!0}onViewChange(t,i){const e=this.viewItems.indexOf(t);e<0||e>=this.viewItems.length||(i=uR(i="number"==typeof i?i:t.size,t.minimumSize,t.maximumSize),this.inverseAltBehavior&&e>0?(this.resize(e-1,Math.floor((t.size-i)/2)),this.distributeEmptySpace(),this.layoutViews()):(t.size=i,this.relayout([e],void 0)))}resizeView(t,i){if(!(t<0||t>=this.viewItems.length)){if(this.state!==QP.Idle)throw new Error("Cant modify splitview");this.state=QP.Busy;try{const e=C(this.viewItems.length).filter((i=>i!==t)),s=[...e.filter((t=>1===this.viewItems[t].priority)),t],n=e.filter((t=>2===this.viewItems[t].priority)),o=this.viewItems[t];i=uR(i=Math.round(i),o.minimumSize,Math.min(o.maximumSize,this.size)),o.size=i,this.relayout(s,n)}finally{this.state=QP.Idle}}}distributeViewSizes(){const t=[];let i=0;for(const e of this.viewItems)e.maximumSize-e.minimumSize>0&&(t.push(e),i+=e.size);const e=Math.floor(i/t.length);for(const i of t)i.size=uR(e,i.minimumSize,i.maximumSize);const s=C(this.viewItems.length),n=s.filter((t=>1===this.viewItems[t].priority)),o=s.filter((t=>2===this.viewItems[t].priority));this.relayout(n,o)}getViewSize(t){return t<0||t>=this.viewItems.length?-1:this.viewItems[t].size}doAddView(t,i,e=this.viewItems.length,s){if(this.state!==QP.Idle)throw new Error("Cant modify splitview");this.state=QP.Busy;try{const n=Wl(".split-view-view");e===this.viewItems.length?this.viewContainer.appendChild(n):this.viewContainer.insertBefore(n,this.viewContainer.children.item(e));const o=t.onDidChange((t=>this.onViewChange(c,t))),r=Yi(o,Xi((()=>this.viewContainer.removeChild(n))));let h;"number"==typeof i?h=i:("auto"===i.type&&(i=this.areViewsDistributed()?{type:"distribute"}:{type:"split",index:i.index}),h="split"===i.type?this.getViewSize(i.index)/2:"invisible"===i.type?{cachedVisibleSize:i.cachedVisibleSize}:t.minimumSize);const c=0===this.orientation?new GP(n,t,h,r):new ZP(n,t,h,r);if(this.viewItems.splice(e,0,c),this.viewItems.length>1){const t={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},i=0===this.orientation?new UP(this.sashContainer,{getHorizontalSashTop:t=>this.getSashPosition(t),getHorizontalSashWidth:this.getSashOrthogonalSize},{...t,orientation:1}):new UP(this.sashContainer,{getVerticalSashLeft:t=>this.getSashPosition(t),getVerticalSashHeight:this.getSashOrthogonalSize},{...t,orientation:0}),s=0===this.orientation?t=>({sash:i,start:t.startY,current:t.currentY,alt:t.altKey}):t=>({sash:i,start:t.startX,current:t.currentX,alt:t.altKey}),n=ce.map(i.onDidStart,s)(this.onSashStart,this),o=ce.map(i.onDidChange,s)(this.onSashChange,this),r=ce.map(i.onDidEnd,(()=>this.sashItems.findIndex((t=>t.sash===i)))),h=r(this.onSashEnd,this),c=i.onDidReset((()=>{const t=this.sashItems.findIndex((t=>t.sash===i)),e=C(t,-1),s=C(t+1,this.viewItems.length),n=this.findFirstSnapIndex(e),o=this.findFirstSnapIndex(s);("number"!=typeof n||this.viewItems[n].visible)&&("number"!=typeof o||this.viewItems[o].visible)&&this._onDidSashReset.fire(t)})),a=Yi(n,o,h,c,i);this.sashItems.splice(e-1,0,{sash:i,disposable:a})}let a;n.appendChild(t.element),"number"!=typeof i&&"split"===i.type&&(a=[i.index]),s||this.relayout([e],a),s||"number"==typeof i||"distribute"!==i.type||this.distributeViewSizes()}finally{this.state=QP.Idle}}relayout(t,i){const e=this.viewItems.reduce(((t,i)=>t+i.size),0);this.resize(this.viewItems.length-1,this.size-e,void 0,t,i),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(t,i,e=this.viewItems.map((t=>t.size)),s,n,o=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY,h,c){if(t<0||t>=this.viewItems.length)return 0;const a=C(t,-1),l=C(t+1,this.viewItems.length);if(n)for(const t of n)D(a,t),D(l,t);if(s)for(const t of s)E(a,t),E(l,t);const u=a.map((t=>this.viewItems[t])),d=a.map((t=>e[t])),f=l.map((t=>this.viewItems[t])),p=l.map((t=>e[t])),g=a.reduce(((t,i)=>t+(this.viewItems[i].minimumSize-e[i])),0),m=a.reduce(((t,i)=>t+(this.viewItems[i].maximumSize-e[i])),0),w=0===l.length?Number.POSITIVE_INFINITY:l.reduce(((t,i)=>t+(e[i]-this.viewItems[i].minimumSize)),0),v=0===l.length?Number.NEGATIVE_INFINITY:l.reduce(((t,i)=>t+(e[i]-this.viewItems[i].maximumSize)),0),b=Math.max(g,v,o),y=Math.min(w,m,r);let k=!1;if(h){const t=this.viewItems[h.index],e=i>=h.limitDelta;k=e!==t.visible,t.setVisible(e,h.size)}if(!k&&c){const t=this.viewItems[c.index],e=it+i.size),0);let e=this.size-i;const s=C(this.viewItems.length-1,-1),n=s.filter((t=>1===this.viewItems[t].priority)),o=s.filter((t=>2===this.viewItems[t].priority));for(const t of o)D(s,t);for(const t of n)E(s,t);"number"==typeof t&&E(s,t);for(let t=0;0!==e&&tt+i.size),0);let t=0;for(const i of this.viewItems)i.layout(t,this.layoutContext),t+=i.size;this.sashItems.forEach((t=>t.sash.layout())),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){this.scrollableElement.setScrollDimensions(0===this.orientation?{height:this.size,scrollHeight:this._contentSize}:{width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let t=!1;const i=this.viewItems.map((i=>t=i.size-i.minimumSize>0||t));t=!1;const e=this.viewItems.map((i=>t=i.maximumSize-i.size>0||t)),s=[...this.viewItems].reverse();t=!1;const n=s.map((i=>t=i.size-i.minimumSize>0||t)).reverse();t=!1;const o=s.map((i=>t=i.maximumSize-i.size>0||t)).reverse();let r=0;for(let t=0;t0||this.startSnappingEnabled)?1:"number"==typeof c&&!this.viewItems[c].visible&&i[t]&&(r0)return;if(!t.visible&&t.snap)return i}}areViewsDistributed(){let t,i;for(const e of this.viewItems)if(t=void 0===t?e.size:Math.min(t,e.size),i=void 0===i?e.size:Math.max(i,e.size),i-t>2)return!1;return!0}dispose(){var t;null===(t=this.sashDragState)||void 0===t||t.disposable.dispose(),Ji(this.viewItems),this.viewItems=[],this.sashItems.forEach((t=>t.disposable.dispose())),this.sashItems=[],super.dispose()}}class XP{constructor(t,i,e){this.columns=t,this.getColumnSize=e,this.templateId=XP.TemplateId,this.renderedTemplates=new Set;const s=new Map(i.map((t=>[t.templateId,t])));this.renderers=[];for(const i of t){const t=s.get(i.templateId);if(!t)throw new Error(`Table cell renderer for template id ${i.templateId} not found.`);this.renderers.push(t)}}renderTemplate(t){const i=Il(t,Wl(".monaco-table-tr")),e=[],s=[];for(let t=0;tnew t$(t,i))),h={size:r.reduce(((t,i)=>t+i.column.weight),0),views:r.map((t=>({size:t.column.weight,view:t})))};this.splitview=this.disposables.add(new YP(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:h})),this.splitview.el.style.height=`${e.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${e.headerRowHeight}px`;const c=new XP(s,n,(t=>this.splitview.getViewSize(t)));var a;this.list=this.disposables.add(new lB(t,this.domNode,(a=e,{getHeight:t=>a.getHeight(t),getTemplateId:()=>XP.TemplateId}),[c],o)),ce.any(...r.map((t=>t.onDidLayout)))((([t,i])=>c.layoutColumn(t,i)),null,this.disposables),this.splitview.onDidSashReset((t=>{const i=s.reduce(((t,i)=>t+i.weight),0);this.splitview.resizeView(t,s[t].weight/i*this.cachedWidth)}),null,this.disposables),this.styleElement=bl(this.domNode),this.style(sB)}updateOptions(t){this.list.updateOptions(t)}splice(t,i,e=[]){this.list.splice(t,i,e)}getHTMLElement(){return this.domNode}style(t){const i=[];i.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\ttop: ${this.virtualDelegate.headerRowHeight+1}px;\n\t\t\theight: calc(100% - ${this.virtualDelegate.headerRowHeight}px);\n\t\t}`),this.styleElement.textContent=i.join("\n"),this.list.style(t)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}}i$.InstanceCount=0;class e$ extends gk{constructor(t){super(),this._onChange=this._register(new fe),this.onChange=this._onChange.event,this._onKeyDown=this._register(new fe),this.onKeyDown=this._onKeyDown.event,this._opts=t,this._checked=this._opts.isChecked;const i=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,i.push(...Sr.asClassNameArray(this._icon))),this._opts.actionClassName&&i.push(...this._opts.actionClassName.split(" ")),this._checked&&i.push("checked"),this.domNode=document.createElement("div"),this.domNode.title=this._opts.title,this.domNode.classList.add(...i),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,(t=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),t.preventDefault())})),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,(t=>{if(10===t.keyCode||3===t.keyCode)return this.checked=!this._checked,this._onChange.fire(!0),t.preventDefault(),void t.stopPropagation();this._onKeyDown.fire(t)}))}get enabled(){return"true"!==this.domNode.getAttribute("aria-disabled")}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(t){this._checked=t,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))}}const s$=rt(0,"Match Case"),n$=rt(0,"Match Whole Word"),o$=rt(0,"Use Regular Expression");class r$ extends e${constructor(t){super({icon:Is.caseSensitive,title:s$+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}class h$ extends e${constructor(t){super({icon:Is.wholeWord,title:n$+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}class c$ extends e${constructor(t){super({icon:Is.regex,title:o$+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}class a${constructor(t,i=0,e=t.length,s=i-1){this.items=t,this.start=i,this.end=e,this.index=s}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 l${constructor(t=[],i=10){this._initialize(t),this._limit=i,this._onChange()}getHistory(){return this._elements}add(t){this._history.delete(t),this._history.add(t),this._onChange()}next(){return this._navigator.next()}previous(){return 0!==this._currentPosition()?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 null===this._navigator.current()}has(t){return this._history.has(t)}_onChange(){this._reduceToLimit();const t=this._elements;this._navigator=new a$(t,0,t.length,t.length)}_reduceToLimit(){const t=this._elements;t.length>this._limit&&this._initialize(t.slice(t.length-this._limit))}_currentPosition(){const t=this._navigator.current();return t?this._elements.indexOf(t):-1}_initialize(t){this._history=new Set;for(const i of t)this._history.add(i)}get _elements(){const t=[];return this._history.forEach((i=>t.push(i))),t}}const u$=Wl;class d$ extends gk{constructor(t,i,e){var s;super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new fe),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=i,this.options=e,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=null!==(s=this.options.tooltip)&&void 0!==s?s:this.placeholder||"",this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=Il(t,u$(".monaco-inputbox.idle"));const n=this.options.flexibleHeight?"textarea":"input",o=Il(this.element,u$(".ibwrapper"));if(this.input=Il(o,u$(n+".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="number"==typeof this.options.flexibleMaxHeight?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=Il(o,u$("div.mirror")),this.mirror.innerText=" ",this.scrollableElement=new Fk(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),Il(t,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll((t=>this.input.scrollTop=t.scrollTop)));const i=this._register(new Pk(t.ownerDocument,"selectionchange")),e=ce.filter(i.event,(()=>{const i=t.ownerDocument.getSelection();return(null==i?void 0:i.anchorNode)===o}));this._register(e(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 XB(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(t){this.placeholder=t,this.input.setAttribute("placeholder",t)}setTooltip(t){this.tooltip=t,this.input.title=t}get inputElement(){return this.input}get value(){return this.input.value}set value(t){this.input.value!==t&&(this.input.value=t,this.onValueChange())}get height(){return"number"==typeof this.cachedHeight?this.cachedHeight:al(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return ml(this.input)}select(t=null){this.input.select(),t&&(this.input.setSelectionRange(t.start,t.end),t.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}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(t){this.input.style.width=`calc(100% - ${t}px)`,this.mirror&&(this.mirror.style.paddingRight=t+"px")}updateScrollDimensions(){if("number"!=typeof this.cachedContentHeight||"number"!=typeof this.cachedHeight||!this.scrollableElement)return;const t=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:this.cachedContentHeight,height:this.cachedHeight}),this.scrollableElement.setScrollPosition({scrollTop:t})}showMessage(t,i){if("open"===this.state&&et(this.message,t))return;this.message=t,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(t.type));const e=this.stylesForType(this.message.type);this.element.style.border=`1px solid ${Kl(e.border,"transparent")}`,this.message.content&&(this.hasFocus()||i)&&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 t=null;return this.validation&&(t=this.validation(this.value),t?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(t)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),null==t?void 0:t.type}stylesForType(t){const i=this.options.inputBoxStyles;switch(t){case 1:return{border:i.inputValidationInfoBorder,background:i.inputValidationInfoBackground,foreground:i.inputValidationInfoForeground};case 2:return{border:i.inputValidationWarningBorder,background:i.inputValidationWarningBackground,foreground:i.inputValidationWarningForeground};default:return{border:i.inputValidationErrorBorder,background:i.inputValidationErrorBackground,foreground:i.inputValidationErrorForeground}}}classForType(t){switch(t){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let t;const i=()=>t.style.width=rl(this.element)+"px";let e;this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:e=>{var s,n;if(!this.message)return null;t=Il(e,u$(".monaco-inputbox-container")),i();const o={inline:!0,className:"monaco-inputbox-message"},r=this.message.formatContent?V_(this.message.content,o):function(t,i={}){const e=U_(i);return e.textContent=t,e}(this.message.content,o);r.classList.add(this.classForType(this.message.type));const h=this.stylesForType(this.message.type);return r.style.backgroundColor=null!==(s=h.background)&&void 0!==s?s:"",r.style.color=null!==(n=h.foreground)&&void 0!==n?n:"",r.style.border=h.border?`1px solid ${h.border}`:"",Il(t,r),null},onHide:()=>{this.state="closed"},layout:i}),e=rt(0,3===this.message.type?"Error: {0}":2===this.message.type?"Warning: {0}":"Info: {0}",this.message.content),$m(e),this.state="open"}_hideMessage(){this.contextViewProvider&&("open"===this.state&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),"open"===this.state&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const t=this.value,i=10===t.charCodeAt(t.length-1)?" ":"";(t+i).replace(/\u000c/g,"")?this.mirror.textContent=t+i:this.mirror.innerText=" ",this.layout()}applyStyles(){var t,i,e;const s=this.options.inputBoxStyles,n=null!==(t=s.inputBackground)&&void 0!==t?t:"",o=null!==(i=s.inputForeground)&&void 0!==i?i:"",r=null!==(e=s.inputBorder)&&void 0!==e?e:"";this.element.style.backgroundColor=n,this.element.style.color=o,this.input.style.backgroundColor="inherit",this.input.style.color=o,this.element.style.border=`1px solid ${Kl(r,"transparent")}`}layout(){if(!this.mirror)return;const t=this.cachedContentHeight;this.cachedContentHeight=al(this.mirror),t!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(t){const i=this.inputElement,e=i.selectionStart,s=i.selectionEnd,n=i.value;null!==e&&null!==s&&(this.value=n.substr(0,e)+t+n.substr(s),i.setSelectionRange(e+1,e+1),this.layout())}dispose(){var t;this._hideMessage(),this.message=null,null===(t=this.actionbar)||void 0===t||t.dispose(),super.dispose()}}class f$ extends d${constructor(t,i,e){const s=rt(0," or {0} for history","⇅"),n=rt(0," ({0} for history)","⇅");super(t,i,e),this._onDidFocus=this._register(new fe),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new fe),this.onDidBlur=this._onDidBlur.event,this.history=new l$(e.history,100);const o=()=>{if(e.showHistoryHint&&e.showHistoryHint()&&!this.placeholder.endsWith(s)&&!this.placeholder.endsWith(n)&&this.history.getHistory().length){const t=this.placeholder.endsWith(")")?s:n,i=this.placeholder+t;e.showPlaceholderOnFocus&&!ml(this.input)?this.placeholder=i:this.setPlaceHolder(i)}};this.observer=new MutationObserver((t=>{t.forEach((t=>{t.target.textContent||o()}))})),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,(()=>o())),this.onblur(this.input,(()=>{const t=t=>{if(this.placeholder.endsWith(t)){const i=this.placeholder.slice(0,this.placeholder.length-t.length);return e.showPlaceholderOnFocus?this.placeholder=i:this.setPlaceHolder(i),!0}return!1};t(n)||t(s)}))}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(t){this.value&&(t||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 t=this.getNextValue();t&&(t=t===this.value?this.getNextValue():t),this.value=null!=t?t:"",Wm(this.value?this.value:rt(0,"Cleared Input"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let t=this.getPreviousValue();t&&(t=t===this.value?this.getPreviousValue():t),t&&(this.value=t,Wm(this.value))}setPlaceHolder(t){super.setPlaceHolder(t),this.setTooltip(t)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let t=this.history.current();return t||(t=this.history.last(),this.history.next()),t}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}const p$=rt(0,"input");class g$ extends gk{constructor(t,i,e){super(),this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new ee),this.additionalToggles=[],this._onDidOptionChange=this._register(new fe),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new fe),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new fe),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new fe),this._onKeyUp=this._register(new fe),this._onCaseSensitiveKeyDown=this._register(new fe),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new fe),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.placeholder=e.placeholder||"",this.validation=e.validation,this.label=e.label||p$,this.showCommonFindToggles=!!e.showCommonFindToggles;const s=e.appendCaseSensitiveLabel||"",n=e.appendWholeWordsLabel||"",o=e.appendRegexLabel||"",r=e.history||[],h=!!e.flexibleHeight,c=!!e.flexibleWidth,a=e.flexibleMaxHeight;if(this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new f$(this.domNode,i,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:e.showHistoryHint,flexibleHeight:h,flexibleWidth:c,flexibleMaxHeight:a,inputBoxStyles:e.inputBoxStyles})),this.showCommonFindToggles){this.regex=this._register(new c$({appendTitle:o,isChecked:!1,...e.toggleStyles})),this._register(this.regex.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.regex.onKeyDown((t=>{this._onRegexKeyDown.fire(t)}))),this.wholeWords=this._register(new h$({appendTitle:n,isChecked:!1,...e.toggleStyles})),this._register(this.wholeWords.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this.caseSensitive=this._register(new r$({appendTitle:s,isChecked:!1,...e.toggleStyles})),this._register(this.caseSensitive.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.caseSensitive.onKeyDown((t=>{this._onCaseSensitiveKeyDown.fire(t)})));const t=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,(i=>{if(i.equals(15)||i.equals(17)||i.equals(9)){const e=t.indexOf(this.domNode.ownerDocument.activeElement);if(e>=0){let s=-1;i.equals(17)?s=(e+1)%t.length:i.equals(15)&&(s=0===e?t.length-1:e-1),i.equals(9)?(t[e].blur(),this.inputBox.focus()):s>=0&&t[s].focus(),Tl(i,!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(null==e?void 0:e.additionalToggles),this.controls&&this.domNode.appendChild(this.controls),null==t||t.appendChild(this.domNode),this._register(Ua(this.inputBox.inputElement,"compositionstart",(()=>{this.imeSessionInProgress=!0}))),this._register(Ua(this.inputBox.inputElement,"compositionend",(()=>{this.imeSessionInProgress=!1,this._onInput.fire()}))),this.onkeydown(this.inputBox.inputElement,(t=>this._onKeyDown.fire(t))),this.onkeyup(this.inputBox.inputElement,(t=>this._onKeyUp.fire(t))),this.oninput(this.inputBox.inputElement,(()=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(t=>this._onMouseDown.fire(t)))}get onDidChange(){return this.inputBox.onDidChange}layout(t){this.inputBox.layout(),this.updateInputBoxPadding(t.collapsedFindWidget)}enable(){var t,i,e;this.domNode.classList.remove("disabled"),this.inputBox.enable(),null===(t=this.regex)||void 0===t||t.enable(),null===(i=this.wholeWords)||void 0===i||i.enable(),null===(e=this.caseSensitive)||void 0===e||e.enable();for(const t of this.additionalToggles)t.enable()}disable(){var t,i,e;this.domNode.classList.add("disabled"),this.inputBox.disable(),null===(t=this.regex)||void 0===t||t.disable(),null===(i=this.wholeWords)||void 0===i||i.disable(),null===(e=this.caseSensitive)||void 0===e||e.disable();for(const t of this.additionalToggles)t.disable()}setFocusInputOnOptionClick(t){this.fixFocusOnOptionClickEnabled=t}setEnabled(t){t?this.enable():this.disable()}setAdditionalToggles(t){for(const t of this.additionalToggles)t.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new te;for(const i of null!=t?t:[])this.additionalTogglesDisposables.value.add(i),this.controls.appendChild(i.domNode),this.additionalTogglesDisposables.value.add(i.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()}))),this.additionalToggles.push(i);this.additionalToggles.length>0&&(this.controls.style.display=""),this.updateInputBoxPadding()}updateInputBoxPadding(t=!1){var i,e,s,n,o,r;this.inputBox.paddingRight=t?0:(null!==(e=null===(i=this.caseSensitive)||void 0===i?void 0:i.width())&&void 0!==e?e:0)+(null!==(n=null===(s=this.wholeWords)||void 0===s?void 0:s.width())&&void 0!==n?n:0)+(null!==(r=null===(o=this.regex)||void 0===o?void 0:o.width())&&void 0!==r?r:0)+this.additionalToggles.reduce(((t,i)=>t+i.width()),0)}getValue(){return this.inputBox.value}setValue(t){this.inputBox.value!==t&&(this.inputBox.value=t)}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){var t,i;return null!==(i=null===(t=this.caseSensitive)||void 0===t?void 0:t.checked)&&void 0!==i&&i}setCaseSensitive(t){this.caseSensitive&&(this.caseSensitive.checked=t)}getWholeWords(){var t,i;return null!==(i=null===(t=this.wholeWords)||void 0===t?void 0:t.checked)&&void 0!==i&&i}setWholeWords(t){this.wholeWords&&(this.wholeWords.checked=t)}getRegex(){var t,i;return null!==(i=null===(t=this.regex)||void 0===t?void 0:t.checked)&&void 0!==i&&i}setRegex(t){this.regex&&(this.regex.checked=t,this.validate())}focusOnCaseSensitive(){var t;null===(t=this.caseSensitive)||void 0===t||t.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(t){this.inputBox.showMessage(t)}clearMessage(){this.inputBox.hideMessage()}}var m$,w$,v$,b$,y$;!function(t){t[t.Expanded=0]="Expanded",t[t.Collapsed=1]="Collapsed",t[t.PreserveOrExpanded=2]="PreserveOrExpanded",t[t.PreserveOrCollapsed=3]="PreserveOrCollapsed"}(m$||(m$={})),function(t){t[t.Unknown=0]="Unknown",t[t.Twistie=1]="Twistie",t[t.Element=2]="Element",t[t.Filter=3]="Filter"}(w$||(w$={}));class k$ extends Error{constructor(t,i){super(`TreeError [${t}] ${i}`)}}class x${constructor(t){this.fn=t,this._map=new WeakMap}map(t){let i=this._map.get(t);return i||(i=this.fn(t),this._map.set(t,i)),i}}function C$(t){return"object"==typeof t&&"visibility"in t&&"data"in t}function S$(t){switch(t){case!0:return 1;case!1:return 0;default:return t}}function D$(t){return"boolean"==typeof t.collapsible}class E${constructor(t,i,e,s={}){this.user=t,this.list=i,this.rootRef=[],this.eventBufferer=new be,this._onDidChangeCollapseState=new fe,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new fe,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new fe,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new cc(sc),this.collapseByDefault=void 0!==s.collapseByDefault&&s.collapseByDefault,this.filter=s.filter,this.autoExpandSingleChildren=void 0!==s.autoExpandSingleChildren&&s.autoExpandSingleChildren,this.root={parent:void 0,element:e,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(t,i,e=Vt.empty(),s={}){if(0===t.length)throw new k$(this.user,"Invalid tree location");s.diffIdentityProvider?this.spliceSmart(s.diffIdentityProvider,t,i,e,s):this.spliceSimple(t,i,e,s)}spliceSmart(t,i,e,s,n,o){var r;void 0===s&&(s=Vt.empty()),void 0===o&&(o=null!==(r=n.diffDepth)&&void 0!==r?r:0);const{parentNode:h}=this.getParentNodeWithListIndex(i);if(!h.lastDiffIds)return this.spliceSimple(i,e,s,n);const c=[...s],a=i[i.length-1],l=new bf({getElements:()=>h.lastDiffIds},{getElements:()=>[...h.children.slice(0,a),...c,...h.children.slice(a+e)].map((i=>t.getId(i.element).toString()))}).ComputeDiff(!1);if(l.quitEarly)return h.lastDiffIds=void 0,this.spliceSimple(i,e,c,n);const u=i.slice(0,-1),d=(i,e,s)=>{if(o>0)for(let r=0;ri.originalStart-t.originalStart)))d(f,p,f-(t.originalStart+t.originalLength)),f=t.originalStart,p=t.modifiedStart-a,this.spliceSimple([...u,f],t.originalLength,Vt.slice(c,p,p+t.modifiedLength),n);d(f,p,f)}spliceSimple(t,i,e=Vt.empty(),{onDidCreateNode:s,onDidDeleteNode:n,diffIdentityProvider:o}){const{parentNode:r,listIndex:h,revealed:c,visible:a}=this.getParentNodeWithListIndex(t),l=[],u=Vt.map(e,(t=>this.createTreeNode(t,r,r.visible?1:0,c,l,s))),d=t[t.length-1],f=r.children.length>0;let p=0;for(let t=d;t>=0&&to.getId(t.element).toString()))):r.lastDiffIds=r.children.map((t=>o.getId(t.element).toString())):r.lastDiffIds=void 0;let b=0;for(const t of v)t.visible&&b++;if(0!==b)for(let t=d+g.length;tt+(i.visible?i.renderNodeCount:0)),0);this._updateAncestorsRenderNodeCount(r,w-t),this.list.splice(h,t,l)}if(v.length>0&&n){const t=i=>{n(i),i.children.forEach(t)};v.forEach(t)}this._onDidSplice.fire({insertedNodes:g,deletedNodes:v});const y=r.children.length>0;f!==y&&this.setCollapsible(t.slice(0,-1),y);let k=r;for(;k;){if(2===k.visibility){this.refilterDelayer.trigger((()=>this.refilter()));break}k=k.parent}}rerender(t){if(0===t.length)throw new k$(this.user,"Invalid tree location");const{node:i,listIndex:e,revealed:s}=this.getTreeNodeWithListIndex(t);i.visible&&s&&this.list.splice(e,1,[i])}has(t){return this.hasTreeNode(t)}getListIndex(t){const{listIndex:i,visible:e,revealed:s}=this.getTreeNodeWithListIndex(t);return e&&s?i:-1}getListRenderCount(t){return this.getTreeNode(t).renderNodeCount}isCollapsible(t){return this.getTreeNode(t).collapsible}setCollapsible(t,i){const e=this.getTreeNode(t);void 0===i&&(i=!e.collapsible);const s={collapsible:i};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(t,s)))}isCollapsed(t){return this.getTreeNode(t).collapsed}setCollapsed(t,i,e){const s=this.getTreeNode(t);void 0===i&&(i=!s.collapsed);const n={collapsed:i,recursive:e||!1};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(t,n)))}_setCollapseState(t,i){const{node:e,listIndex:s,revealed:n}=this.getTreeNodeWithListIndex(t),o=this._setListNodeCollapseState(e,s,n,i);if(e!==this.root&&this.autoExpandSingleChildren&&o&&!D$(i)&&e.collapsible&&!e.collapsed&&!i.recursive){let s=-1;for(let t=0;t-1){s=-1;break}s=t}s>-1&&this._setCollapseState([...t,s],i)}return o}_setListNodeCollapseState(t,i,e,s){const n=this._setNodeCollapseState(t,s,!1);if(!e||!t.visible||!n)return n;const o=t.renderNodeCount,r=this.updateNodeAfterCollapseChange(t);return this.list.splice(i+1,o-(-1===i?0:1),r.slice(1)),n}_setNodeCollapseState(t,i,e){let s;if(t===this.root?s=!1:(D$(i)?(s=t.collapsible!==i.collapsible,t.collapsible=i.collapsible):t.collapsible?(s=t.collapsed!==i.collapsed,t.collapsed=i.collapsed):s=!1,s&&this._onDidChangeCollapseState.fire({node:t,deep:e})),!D$(i)&&i.recursive)for(const e of t.children)s=this._setNodeCollapseState(e,i,!0)||s;return s}expandTo(t){this.eventBufferer.bufferEvents((()=>{let i=this.getTreeNode(t);for(;i.parent;)i=i.parent,t=t.slice(0,t.length-1),i.collapsed&&this._setCollapseState(t,{collapsed:!1,recursive:!1})}))}refilter(){const t=this.root.renderNodeCount,i=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,t,i),this.refilterDelayer.cancel()}createTreeNode(t,i,e,s,n,o){const r={parent:i,element:t.element,children:[],depth:i.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:"boolean"==typeof t.collapsible?t.collapsible:void 0!==t.collapsed,collapsed:void 0===t.collapsed?this.collapseByDefault:t.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},h=this._filterNode(r,e);r.visibility=h,s&&n.push(r);const c=t.children||Vt.empty(),a=s&&0!==h&&!r.collapsed;let l=0,u=1;for(const t of c){const i=this.createTreeNode(t,r,h,a,n,o);r.children.push(i),u+=i.renderNodeCount,i.visible&&(i.visibleChildIndex=l++)}return r.collapsible=r.collapsible||r.children.length>0,r.visibleChildrenCount=l,r.visible=2===h?l>0:1===h,r.visible?r.collapsed||(r.renderNodeCount=u):(r.renderNodeCount=0,s&&n.pop()),null==o||o(r),r}updateNodeAfterCollapseChange(t){const i=t.renderNodeCount,e=[];return this._updateNodeAfterCollapseChange(t,e),this._updateAncestorsRenderNodeCount(t.parent,e.length-i),e}_updateNodeAfterCollapseChange(t,i){if(!1===t.visible)return 0;if(i.push(t),t.renderNodeCount=1,!t.collapsed)for(const e of t.children)t.renderNodeCount+=this._updateNodeAfterCollapseChange(e,i);return this._onDidChangeRenderNodeCount.fire(t),t.renderNodeCount}updateNodeAfterFilterChange(t){const i=t.renderNodeCount,e=[];return this._updateNodeAfterFilterChange(t,t.visible?1:0,e),this._updateAncestorsRenderNodeCount(t.parent,e.length-i),e}_updateNodeAfterFilterChange(t,i,e,s=!0){let n;if(t!==this.root){if(n=this._filterNode(t,i),0===n)return t.visible=!1,t.renderNodeCount=0,!1;s&&e.push(t)}const o=e.length;t.renderNodeCount=t===this.root?0:1;let r=!1;if(t.collapsed&&0===n)t.visibleChildrenCount=0;else{let i=0;for(const o of t.children)r=this._updateNodeAfterFilterChange(o,n,e,s&&!t.collapsed)||r,o.visible&&(o.visibleChildIndex=i++);t.visibleChildrenCount=i}return t!==this.root&&(t.visible=2===n?r:1===n,t.visibility=n),t.visible?t.collapsed||(t.renderNodeCount+=e.length-o):(t.renderNodeCount=0,s&&e.pop()),this._onDidChangeRenderNodeCount.fire(t),t.visible}_updateAncestorsRenderNodeCount(t,i){if(0!==i)for(;t;)t.renderNodeCount+=i,this._onDidChangeRenderNodeCount.fire(t),t=t.parent}_filterNode(t,i){const e=this.filter?this.filter.filter(t.element,i):1;return"boolean"==typeof e?(t.filterData=void 0,e?1:0):C$(e)?(t.filterData=e.data,S$(e.visibility)):(t.filterData=void 0,S$(e))}hasTreeNode(t,i=this.root){if(!t||0===t.length)return!0;const[e,...s]=t;return!(e<0||e>i.children.length)&&this.hasTreeNode(s,i.children[e])}getTreeNode(t,i=this.root){if(!t||0===t.length)return i;const[e,...s]=t;if(e<0||e>i.children.length)throw new k$(this.user,"Invalid tree location");return this.getTreeNode(s,i.children[e])}getTreeNodeWithListIndex(t){if(0===t.length)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:i,listIndex:e,revealed:s,visible:n}=this.getParentNodeWithListIndex(t),o=t[t.length-1];if(o<0||o>i.children.length)throw new k$(this.user,"Invalid tree location");const r=i.children[o];return{node:r,listIndex:e,revealed:s,visible:n&&r.visible}}getParentNodeWithListIndex(t,i=this.root,e=0,s=!0,n=!0){const[o,...r]=t;if(o<0||o>i.children.length)throw new k$(this.user,"Invalid tree location");for(let t=0;tt.element))),this.data=t}}function M$(t){return t instanceof RN?new A$(t):t}class L${constructor(t,i){this.modelProvider=t,this.dnd=i,this.autoExpandDisposable=ie.None,this.disposables=new te}getDragURI(t){return this.dnd.getDragURI(t.element)}getDragLabel(t,i){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(t.map((t=>t.element)),i)}onDragStart(t,i){var e,s;null===(s=(e=this.dnd).onDragStart)||void 0===s||s.call(e,M$(t),i)}onDragOver(t,i,e,s,n=!0){const o=this.dnd.onDragOver(M$(t),i&&i.element,e,s),r=this.autoExpandNode!==i;if(r&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=i),void 0===i)return o;if(r&&"boolean"!=typeof o&&o.autoExpand&&(this.autoExpandDisposable=uc((()=>{const t=this.modelProvider(),e=t.getNodeLocation(i);t.isCollapsed(e)&&t.setCollapsed(e,!1),this.autoExpandNode=void 0}),500,this.disposables)),"boolean"==typeof o||!o.accept||void 0===o.bubble||o.feedback)return n?o:{accept:"boolean"==typeof o?o:o.accept,effect:"boolean"==typeof o?void 0:o.effect,feedback:[e]};if(1===o.bubble){const e=this.modelProvider(),n=e.getNodeLocation(i),o=e.getParentNodeLocation(n),r=e.getNode(o),h=o&&e.getListIndex(o);return this.onDragOver(t,r,h,s,!1)}const h=this.modelProvider(),c=h.getNodeLocation(i),a=h.getListIndex(c),l=h.getListRenderCount(c);return{...o,feedback:C(a,a+l)}}drop(t,i,e,s){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(M$(t),i&&i.element,e,s)}onDragEnd(t){var i,e;null===(e=(i=this.dnd).onDragEnd)||void 0===e||e.call(i,t)}dispose(){this.disposables.dispose(),this.dnd.dispose()}}class F${constructor(t){this.delegate=t}getHeight(t){return this.delegate.getHeight(t.element)}getTemplateId(t){return this.delegate.getTemplateId(t.element)}hasDynamicHeight(t){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(t.element)}setDynamicHeight(t,i){var e,s;null===(s=(e=this.delegate).setDynamicHeight)||void 0===s||s.call(e,t.element,i)}}!function(t){t.None="none",t.OnHover="onHover",t.Always="always"}(v$||(v$={}));class T${get elements(){return this._elements}constructor(t,i=[]){this._elements=i,this.disposables=new te,this.onDidChange=ce.forEach(t,(t=>this._elements=t),this.disposables)}dispose(){this.disposables.dispose()}}class R${constructor(t,i,e,s,n,o={}){var r;this.renderer=t,this.modelProvider=i,this.activeNodes=s,this.renderedIndentGuides=n,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=R$.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=ie.None,this.disposables=new te,this.templateId=t.templateId,this.updateOptions(o),ce.map(e,(t=>t.node))(this.onDidChangeNodeTwistieState,this,this.disposables),null===(r=t.onDidChangeTwistieState)||void 0===r||r.call(t,this.onDidChangeTwistieState,this,this.disposables)}updateOptions(t={}){if(void 0!==t.indent){const i=uR(t.indent,0,40);if(i!==this.indent){this.indent=i;for(const[t,i]of this.renderedNodes)this.renderTreeElement(t,i)}}if(void 0!==t.renderIndentGuides){const i=t.renderIndentGuides!==v$.None;if(i!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=i;for(const[t,i]of this.renderedNodes)this._renderIndentGuides(t,i);if(this.indentGuidesDisposable.dispose(),i){const t=new te;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,t),this.indentGuidesDisposable=t,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}void 0!==t.hideTwistiesOfChildlessElements&&(this.hideTwistiesOfChildlessElements=t.hideTwistiesOfChildlessElements)}renderTemplate(t){const i=Il(t,Wl(".monaco-tl-row")),e=Il(i,Wl(".monaco-tl-indent")),s=Il(i,Wl(".monaco-tl-twistie")),n=Il(i,Wl(".monaco-tl-contents")),o=this.renderer.renderTemplate(n);return{container:t,indent:e,twistie:s,indentGuidesDisposable:ie.None,templateData:o}}renderElement(t,i,e,s){this.renderedNodes.set(t,e),this.renderedElements.set(t.element,t),this.renderTreeElement(t,e),this.renderer.renderElement(t,i,e.templateData,s)}disposeElement(t,i,e,s){var n,o;e.indentGuidesDisposable.dispose(),null===(o=(n=this.renderer).disposeElement)||void 0===o||o.call(n,t,i,e.templateData,s),"number"==typeof s&&(this.renderedNodes.delete(t),this.renderedElements.delete(t.element))}disposeTemplate(t){this.renderer.disposeTemplate(t.templateData)}onDidChangeTwistieState(t){const i=this.renderedElements.get(t);i&&this.onDidChangeNodeTwistieState(i)}onDidChangeNodeTwistieState(t){const i=this.renderedNodes.get(t);i&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(t,i))}renderTreeElement(t,i){const e=R$.DefaultIndent+(t.depth-1)*this.indent;i.twistie.style.paddingLeft=`${e}px`,i.indent.style.width=e+this.indent-16+"px",t.collapsible?i.container.setAttribute("aria-expanded",String(!t.collapsed)):i.container.removeAttribute("aria-expanded"),i.twistie.classList.remove(...Sr.asClassNameArray(Is.treeItemExpanded));let s=!1;this.renderer.renderTwistie&&(s=this.renderer.renderTwistie(t.element,i.twistie)),t.collapsible&&(!this.hideTwistiesOfChildlessElements||t.visibleChildrenCount>0)?(s||i.twistie.classList.add(...Sr.asClassNameArray(Is.treeItemExpanded)),i.twistie.classList.add("collapsible"),i.twistie.classList.toggle("collapsed",t.collapsed)):i.twistie.classList.remove("collapsible","collapsed"),this._renderIndentGuides(t,i)}_renderIndentGuides(t,i){if(Ha(i.indent),i.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const e=new te,s=this.modelProvider();for(;;){const n=s.getNodeLocation(t),o=s.getParentNodeLocation(n);if(!o)break;const r=s.getNode(o),h=Wl(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(r)&&h.classList.add("active"),0===i.indent.childElementCount?i.indent.appendChild(h):i.indent.insertBefore(h,i.indent.firstElementChild),this.renderedIndentGuides.add(r,h),e.add(Xi((()=>this.renderedIndentGuides.delete(r,h)))),t=r}i.indentGuidesDisposable=e}_onDidChangeActiveNodes(t){if(!this.shouldRenderIndentGuides)return;const i=new Set,e=this.modelProvider();t.forEach((t=>{const s=e.getNodeLocation(t);try{const n=e.getParentNodeLocation(s);t.collapsible&&t.children.length>0&&!t.collapsed?i.add(t):n&&i.add(e.getNode(n))}catch(t){}})),this.activeIndentNodes.forEach((t=>{i.has(t)||this.renderedIndentGuides.forEach(t,(t=>t.classList.remove("active")))})),i.forEach((t=>{this.activeIndentNodes.has(t)||this.renderedIndentGuides.forEach(t,(t=>t.classList.add("active")))})),this.activeIndentNodes=i}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),Ji(this.disposables)}}R$.DefaultIndent=8;class O${get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}constructor(t,i,e){this.tree=t,this.keyboardNavigationLabelProvider=i,this._filter=e,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new te,t.onWillRefilter(this.reset,this,this.disposables)}filter(t,i){let e=1;if(this._filter){const s=this._filter.filter(t,i);if(e="boolean"==typeof s?s?1:0:C$(s)?S$(s.visibility):s,0===e)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:C_.Default,visibility:e};const s=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t),n=Array.isArray(s)?s:[s];for(const t of n){const i=t&&t.toString();if(void 0===i)return{data:C_.Default,visibility:e};let s;if(this.tree.findMatchType===y$.Contiguous){const t=i.toLowerCase().indexOf(this._lowercasePattern);if(t>-1){s=[Number.MAX_SAFE_INTEGER,0];for(let i=this._lowercasePattern.length;i>0;i--)s.push(t+i-1)}}else s=D_(this._pattern,this._lowercasePattern,0,i,i.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(s)return this._matchCount++,1===n.length?{data:s,visibility:e}:{data:{label:i,score:s},visibility:e}}return this.tree.findMode===b$.Filter?"number"==typeof this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility:this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility(t):2:{data:C_.Default,visibility:e}}reset(){this._totalCount=0,this._matchCount=0}dispose(){Ji(this.disposables)}}!function(t){t[t.Highlight=0]="Highlight",t[t.Filter=1]="Filter"}(b$||(b$={})),function(t){t[t.Fuzzy=0]="Fuzzy",t[t.Contiguous=1]="Contiguous"}(y$||(y$={}));class I${get pattern(){return this._pattern}get mode(){return this._mode}set mode(t){t!==this._mode&&(this._mode=t,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(t))}get matchType(){return this._matchType}set matchType(t){t!==this._matchType&&(this._matchType=t,this.widget&&(this.widget.matchType=this._matchType),this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(t))}constructor(t,i,e,s,n,o={}){var r,h;this.tree=t,this.view=e,this.filter=s,this.contextViewProvider=n,this.options=o,this._pattern="",this.width=0,this._onDidChangeMode=new fe,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new fe,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this._onDidChangePattern=new fe,this._onDidChangeOpenState=new fe,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new te,this.disposables=new te,this._mode=null!==(r=t.options.defaultFindMode)&&void 0!==r?r:b$.Highlight,this._matchType=null!==(h=t.options.defaultFindMatchType)&&void 0!==h?h:y$.Fuzzy,i.onDidSplice(this.onDidSpliceModel,this,this.disposables)}updateOptions(t={}){void 0!==t.defaultFindMode&&(this.mode=t.defaultFindMode),void 0!==t.defaultFindMatchType&&(this.matchType=t.defaultFindMatchType)}onDidSpliceModel(){this.widget&&0!==this.pattern.length&&(this.tree.refilter(),this.render())}render(){var t,i,e,s;this.pattern&&this.filter.totalCount>0&&0===this.filter.matchCount?null===(t=this.tree.options.showNotFoundMessage)||void 0===t||t?null===(i=this.widget)||void 0===i||i.showMessage({type:2,content:rt(0,"No elements found.")}):null===(e=this.widget)||void 0===e||e.showMessage({type:2}):null===(s=this.widget)||void 0===s||s.clearMessage()}shouldAllowFocus(t){return!this.widget||!this.pattern||this._mode===b$.Filter||this.filter.totalCount>0&&this.filter.matchCount<=1||!C_.isDefault(t.filterData)}layout(t){var i;this.width=t,null===(i=this.widget)||void 0===i||i.layout(t)}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}}function _$(t,i){return t.position===i.position&&t.node.element===i.node.element&&t.startIndex===i.startIndex&&t.height===i.height&&t.endIndex===i.endIndex}class N$ extends ie{constructor(t=[]){super(),this.stickyNodes=t}get count(){return this.stickyNodes.length}equal(t){return u(this.stickyNodes,t.stickyNodes,_$)}addDisposable(t){this._register(t)}}class B$ extends ie{get firstVisibleNode(){const t=this.view.firstVisibleIndex;if(!(t<0||t>=this.view.length))return this.view.element(t)}constructor(t,i,e,s,n,o={}){super(),this.tree=t,this.model=i,this.view=e,this.treeDelegate=n,this.maxWidgetViewRatio=.4;const r=this.validateStickySettings(o);this.stickyScrollMaxItemCount=r.stickyScrollMaxItemCount,this._widget=this._register(new P$(e.getScrollableElement(),e,i,s,n)),this._register(e.onDidScroll((()=>this.update()))),this._register(e.onDidChangeContentHeight((()=>this.update()))),this._register(t.onDidChangeCollapseState((()=>this.update()))),this.update()}update(){const t=this.firstVisibleNode;if(!t||0===this.tree.scrollTop)return void this._widget.setState(void 0);const i=this.findStickyState(t);this._widget.setState(i)}findStickyState(t){const i=[],e=this.view.renderHeight*this.maxWidgetViewRatio;let s=t,n=0,o=this.getNextStickyNode(s,void 0,n);for(;o&&n+o.height=this.stickyScrollMaxItemCount))&&(s=this.getNextVisibleNode(s),s);)o=this.getNextStickyNode(s,o.node,n);return i.length?new N$(i):void 0}getNextVisibleNode(t){const i=this.getNodeIndex(t);if(-1!==i&&i!==this.view.length-1)return this.view.element(i+1)}getNextStickyNode(t,i,e){const s=this.getAncestorUnderPrevious(t,i);if(s){if(s===t){if(!this.nodeIsUncollapsedParent(t))return;if(this.nodeTopAlignsWithStickyNodesBottom(t,e))return}return this.createStickyScrollNode(s,e)}}nodeTopAlignsWithStickyNodesBottom(t,i){const e=this.getNodeIndex(t),s=this.view.getElementTop(e);return this.view.scrollTop===s-i}createStickyScrollNode(t,i){const e=this.treeDelegate.getHeight(t),{startIndex:s,endIndex:n}=this.getNodeRange(t);return{node:t,position:this.calculateStickyNodePosition(n,i),height:e,startIndex:s,endIndex:n}}getAncestorUnderPrevious(t,i){let e=t,s=this.getParentNode(e);for(;s;){if(s===i)return e;e=s,s=this.getParentNode(e)}if(void 0===i)return e}calculateStickyNodePosition(t,i){let e=this.view.getRelativeTop(t);if(null===e&&this.view.firstVisibleIndex===t&&t+1o&&i<=o+n?o:i}getParentNode(t){const i=this.model.getNodeLocation(t),e=this.model.getParentNodeLocation(i);return e?this.model.getNode(e):void 0}nodeIsUncollapsedParent(t){const i=this.model.getNodeLocation(t);return this.model.getListRenderCount(i)>1}getNodeIndex(t,i){return void 0===i&&(i=this.model.getNodeLocation(t)),this.model.getListIndex(i)}getNodeRange(t){const i=this.model.getNodeLocation(t),e=this.model.getListIndex(i);if(e<0)throw new Error("Node not found in tree");return{startIndex:e,endIndex:e+this.model.getListRenderCount(i)-1}}nodePositionTopBelowWidget(t){const i=[];let e=this.getParentNode(t);for(;e;)i.push(e),e=this.getParentNode(e);let s=0;for(let t=0;t0,s=!!t&&t.count>0;if(!e&&!s||e&&s&&this._previousState.equal(t))return;if(e!==s&&this.setVisible(s),null===(i=this._previousState)||void 0===i||i.dispose(),this._previousState=t,!s)return;for(let i=t.count-1;i>=0;i--){const e=t.stickyNodes[i],s=i?t.stickyNodes[i-1]:void 0,n=s?s.position+s.height:0,{element:o,disposable:r}=this.createElement(e,n);this._rootDomNode.appendChild(o),t.addDisposable(r)}const n=Wl(".monaco-tree-sticky-container-shadow");this._rootDomNode.appendChild(n),t.addDisposable(Xi((()=>n.remove())));const o=t.stickyNodes[t.count-1];this._rootDomNode.style.height=`${o.position+o.height}px`}createElement(t,i){const e=this.model.getNodeLocation(t.node),s=this.model.getListIndex(e),n=document.createElement("div");n.style.top=`${t.position}px`,n.style.height=`${t.height}px`,n.style.lineHeight=`${t.height}px`,n.classList.add("monaco-tree-sticky-row"),n.classList.add("monaco-list-row"),n.setAttribute("data-index",`${s}`),n.setAttribute("data-parity",s%2==0?"even":"odd"),n.setAttribute("id",this.view.getElementID(s));const o=this.treeDelegate.getTemplateId(t.node),r=this.treeRenderers.find((t=>t.templateId===o));if(!r)throw new Error(`No renderer found for template id ${o}`);const h=new Proxy(t.node,{}),c=r.renderTemplate(n);r.renderElement(h,t.startIndex,c,t.height);const a=Xi((()=>{r.disposeElement(h,t.startIndex,c,t.height),r.disposeTemplate(c),n.remove()}));return{element:n,disposable:a}}setVisible(t){this._rootDomNode.style.display=t?"block":"none"}dispose(){var t;null===(t=this._previousState)||void 0===t||t.dispose(),this._rootDomNode.remove()}}function $$(t){let i=w$.Unknown;return ul(t.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?i=w$.Twistie:ul(t.browserEvent.target,"monaco-tl-contents","monaco-tl-row")?i=w$.Element:ul(t.browserEvent.target,"monaco-tree-type-filter","monaco-list")&&(i=w$.Filter),{browserEvent:t.browserEvent,element:t.element?t.element.element:null,target:i}}function W$(t,i){i(t),t.children.forEach((t=>W$(t,i)))}class j${get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}constructor(t,i){this.getFirstViewElementWithTrait=t,this.identityProvider=i,this.nodes=[],this._onDidChange=new fe,this.onDidChange=this._onDidChange.event}set(t,i){!(null==i?void 0:i.__forceEvent)&&u(this.nodes,t)||this._set(t,!1,i)}_set(t,i,e){if(this.nodes=[...t],this.elements=void 0,this._nodeSet=void 0,!i){const t=this;this._onDidChange.fire({get elements(){return t.get()},browserEvent:e})}}get(){return this.elements||(this.elements=this.nodes.map((t=>t.element))),[...this.elements]}getNodes(){return this.nodes}has(t){return this.nodeSet.has(t)}onDidModelSplice({insertedNodes:t,deletedNodes:i}){if(!this.identityProvider){const t=this.createNodeSet(),e=i=>t.delete(i);return i.forEach((t=>W$(t,e))),void this.set([...t.values()])}const e=new Set,s=t=>e.add(this.identityProvider.getId(t.element).toString());i.forEach((t=>W$(t,s)));const n=new Map,o=t=>n.set(this.identityProvider.getId(t.element).toString(),t);t.forEach((t=>W$(t,o)));const r=[];for(const t of this.nodes){const i=this.identityProvider.getId(t.element).toString();if(e.has(i)){const t=n.get(i);t&&t.visible&&r.push(t)}else r.push(t)}if(this.nodes.length>0&&0===r.length){const t=this.getFirstViewElementWithTrait();t&&r.push(t)}this._set(r,!0)}createNodeSet(){const t=new Set;for(const i of this.nodes)t.add(i);return t}}class z$ extends iB{constructor(t,i,e){super(t),this.tree=i,this.stickyScrollProvider=e}onViewPointer(t){if(KN(t.browserEvent.target)||VN(t.browserEvent.target)||qN(t.browserEvent.target))return;if(t.browserEvent.isHandledByList)return;const i=t.element;if(!i)return super.onViewPointer(t);if(this.isSelectionRangeChangeEvent(t)||this.isSelectionSingleChangeEvent(t))return super.onViewPointer(t);const e=t.browserEvent.target,s=e.classList.contains("monaco-tl-twistie")||e.classList.contains("monaco-icon-label")&&e.classList.contains("folder-icon")&&t.browserEvent.offsetX<16,n=function(t){return UN(t,"monaco-tree-sticky-row")}(t.browserEvent.target);let o=!1;if(o=!!n||("function"==typeof this.tree.expandOnlyOnTwistieClick?this.tree.expandOnlyOnTwistieClick(i.element):!!this.tree.expandOnlyOnTwistieClick),n)this.handleStickyScrollMouseEvent(t,i);else{if(o&&!s&&2!==t.browserEvent.detail)return super.onViewPointer(t);if(!this.tree.expandOnDoubleClick&&2===t.browserEvent.detail)return super.onViewPointer(t)}if(i.collapsible&&(!n||s)){const e=this.tree.getNodeLocation(i),n=t.browserEvent.altKey;if(this.tree.setFocus([e]),this.tree.toggleCollapsed(e,n),o&&s)return void(t.browserEvent.isHandledByList=!0)}n||super.onViewPointer(t)}handleStickyScrollMouseEvent(t,i){if(function(t){return UN(t,"monaco-custom-toggle")}(t.browserEvent.target)||function(t){return UN(t,"action-item")}(t.browserEvent.target))return;const e=this.stickyScrollProvider();if(!e)throw new Error("Sticky scroll controller not found");const s=this.list.indexOf(i),n=this.list.getElementTop(s),o=e.nodePositionTopBelowWidget(i);this.tree.scrollTop=n-o,this.list.setFocus([s]),this.list.setSelection([s])}onDoubleClick(t){!t.browserEvent.target.classList.contains("monaco-tl-twistie")&&this.tree.expandOnDoubleClick&&(t.browserEvent.isHandledByList||super.onDoubleClick(t))}}class H$ extends lB{constructor(t,i,e,s,n,o,r,h){super(t,i,e,s,h),this.focusTrait=n,this.selectionTrait=o,this.anchorTrait=r}createMouseController(t){return new z$(this,t.tree,t.stickyScrollProvider)}splice(t,i,e=[]){if(super.splice(t,i,e),0===e.length)return;const s=[],n=[];let o;e.forEach(((i,e)=>{this.focusTrait.has(i)&&s.push(t+e),this.selectionTrait.has(i)&&n.push(t+e),this.anchorTrait.has(i)&&(o=t+e)})),s.length>0&&super.setFocus(k([...super.getFocus(),...s])),n.length>0&&super.setSelection(k([...super.getSelection(),...n])),"number"==typeof o&&super.setAnchor(o)}setFocus(t,i,e=!1){super.setFocus(t,i),e||this.focusTrait.set(t.map((t=>this.element(t))),i)}setSelection(t,i,e=!1){super.setSelection(t,i),e||this.selectionTrait.set(t.map((t=>this.element(t))),i)}setAnchor(t,i=!1){super.setAnchor(t),i||this.anchorTrait.set(void 0===t?[]:[this.element(t)])}}class V${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 ce.filter(ce.map(this.view.onMouseDblClick,$$),(t=>t.target!==w$.Filter))}get onPointer(){return ce.map(this.view.onPointer,$$)}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return ce.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){var t,i;return null!==(i=null===(t=this.findController)||void 0===t?void 0:t.mode)&&void 0!==i?i:b$.Highlight}set findMode(t){this.findController&&(this.findController.mode=t)}get findMatchType(){var t,i;return null!==(i=null===(t=this.findController)||void 0===t?void 0:t.matchType)&&void 0!==i?i:y$.Fuzzy}set findMatchType(t){this.findController&&(this.findController.matchType=t)}get expandOnDoubleClick(){return void 0===this._options.expandOnDoubleClick||this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return void 0===this._options.expandOnlyOnTwistieClick||this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(t,i,e,s,n={}){var o;this._user=t,this._options=n,this.eventBufferer=new be,this.onDidChangeFindOpenState=ce.None,this.disposables=new te,this._onWillRefilter=new fe,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new fe,this.treeDelegate=new F$(e);const r=new ye,h=new ye,c=this.disposables.add(new T$(h.event)),a=new Kp;this.renderers=s.map((t=>new R$(t,(()=>this.model),r.event,c,a,n)));for(const t of this.renderers)this.disposables.add(t);let l;var u,d;n.keyboardNavigationLabelProvider&&(l=new O$(this,n.keyboardNavigationLabelProvider,n.filter),n={...n,filter:l},this.disposables.add(l)),this.focus=new j$((()=>this.view.getFocusedElements()[0]),n.identityProvider),this.selection=new j$((()=>this.view.getSelectedElements()[0]),n.identityProvider),this.anchor=new j$((()=>this.view.getAnchorElement()),n.identityProvider),this.view=new H$(t,i,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...(u=()=>this.model,d=n,d&&{...d,identityProvider:d.identityProvider&&{getId:t=>d.identityProvider.getId(t.element)},dnd:d.dnd&&new L$(u,d.dnd),multipleSelectionController:d.multipleSelectionController&&{isSelectionSingleChangeEvent:t=>d.multipleSelectionController.isSelectionSingleChangeEvent({...t,element:t.element}),isSelectionRangeChangeEvent:t=>d.multipleSelectionController.isSelectionRangeChangeEvent({...t,element:t.element})},accessibilityProvider:d.accessibilityProvider&&{...d.accessibilityProvider,getSetSize(t){const i=u(),e=i.getNodeLocation(t),s=i.getParentNodeLocation(e);return i.getNode(s).visibleChildrenCount},getPosInSet:t=>t.visibleChildIndex+1,isChecked:d.accessibilityProvider&&d.accessibilityProvider.isChecked?t=>d.accessibilityProvider.isChecked(t.element):void 0,getRole:d.accessibilityProvider&&d.accessibilityProvider.getRole?t=>d.accessibilityProvider.getRole(t.element):()=>"treeitem",getAriaLabel:t=>d.accessibilityProvider.getAriaLabel(t.element),getWidgetAriaLabel:()=>d.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:d.accessibilityProvider&&d.accessibilityProvider.getWidgetRole?()=>d.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:d.accessibilityProvider&&d.accessibilityProvider.getAriaLevel?t=>d.accessibilityProvider.getAriaLevel(t.element):t=>t.depth,getActiveDescendantId:d.accessibilityProvider.getActiveDescendantId&&(t=>d.accessibilityProvider.getActiveDescendantId(t.element))},keyboardNavigationLabelProvider:d.keyboardNavigationLabelProvider&&{...d.keyboardNavigationLabelProvider,getKeyboardNavigationLabel:t=>d.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t.element)}}),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.model=this.createModel(t,this.view,n),r.input=this.model.onDidChangeCollapseState;const f=ce.forEach(this.model.onDidSplice,(t=>{this.eventBufferer.bufferEvents((()=>{this.focus.onDidModelSplice(t),this.selection.onDidModelSplice(t)}))}),this.disposables);f((()=>null),null,this.disposables);const p=this.disposables.add(new fe),g=this.disposables.add(new cc(0));if(this.disposables.add(ce.any(f,this.focus.onDidChange,this.selection.onDidChange)((()=>{g.trigger((()=>{const t=new Set;for(const i of this.focus.getNodes())t.add(i);for(const i of this.selection.getNodes())t.add(i);p.fire([...t.values()])}))}))),h.input=p.event,!1!==n.keyboardSupport){const t=ce.chain(this.view.onKeyDown,(t=>t.filter((t=>!VN(t.target))).map((t=>new Jh(t)))));ce.chain(t,(t=>t.filter((t=>15===t.keyCode))))(this.onLeftArrow,this,this.disposables),ce.chain(t,(t=>t.filter((t=>17===t.keyCode))))(this.onRightArrow,this,this.disposables),ce.chain(t,(t=>t.filter((t=>10===t.keyCode))))(this.onSpace,this,this.disposables)}(null===(o=n.findWidgetEnabled)||void 0===o||o)&&n.keyboardNavigationLabelProvider&&n.contextViewProvider?(this.findController=new I$(this,this.model,this.view,l,n.contextViewProvider,this.options.findWidgetStyles?{styles:this.options.findWidgetStyles}:void 0),this.focusNavigationFilter=t=>this.findController.shouldAllowFocus(t),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType):(this.onDidChangeFindMode=ce.None,this.onDidChangeFindMatchType=ce.None),n.enableStickyScroll&&(this.stickyScrollController=new B$(this,this.model,this.view,this.renderers,this.treeDelegate,n)),this.styleElement=bl(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===v$.Always)}updateOptions(t={}){var i;this._options={...this._options,...t};for(const i of this.renderers)i.updateOptions(t);this.view.updateOptions(this._options),null===(i=this.findController)||void 0===i||i.updateOptions(t),this.updateStickyScroll(t),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===v$.Always)}get options(){return this._options}updateStickyScroll(t){var i;!this.stickyScrollController&&this._options.enableStickyScroll?this.stickyScrollController=new B$(this,this.model,this.view,this.renderers,this.treeDelegate,this._options):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.stickyScrollController.dispose(),this.stickyScrollController=void 0),null===(i=this.stickyScrollController)||void 0===i||i.updateOptions(t)}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(t){this.view.scrollTop=t}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}domFocus(){this.view.domFocus()}layout(t,i){var e;this.view.layout(t,i),j(i)&&(null===(e=this.findController)||void 0===e||e.layout(i))}style(t){const i=`.${this.view.domId}`,e=[];t.treeIndentGuidesStroke&&(e.push(`.monaco-list${i}:hover .monaco-tl-indent > .indent-guide, .monaco-list${i}.always .monaco-tl-indent > .indent-guide { border-color: ${t.treeInactiveIndentGuidesStroke}; }`),e.push(`.monaco-list${i} .monaco-tl-indent > .indent-guide.active { border-color: ${t.treeIndentGuidesStroke}; }`)),t.listBackground&&(e.push(`.monaco-list${i} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${t.listBackground}; }`),e.push(`.monaco-list${i} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${t.listBackground}; }`)),this.styleElement.textContent=e.join("\n"),this.view.style(t)}getParentElement(t){const i=this.model.getParentNodeLocation(t);return this.model.getNode(i).element}getFirstElementChild(t){return this.model.getFirstElementChild(t)}getNode(t){return this.model.getNode(t)}getNodeLocation(t){return this.model.getNodeLocation(t)}collapse(t,i=!1){return this.model.setCollapsed(t,!0,i)}expand(t,i=!1){return this.model.setCollapsed(t,!1,i)}toggleCollapsed(t,i=!1){return this.model.setCollapsed(t,void 0,i)}isCollapsible(t){return this.model.isCollapsible(t)}setCollapsible(t,i){return this.model.setCollapsible(t,i)}isCollapsed(t){return this.model.isCollapsed(t)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(t,i){const e=t.map((t=>this.model.getNode(t)));this.selection.set(e,i);const s=t.map((t=>this.model.getListIndex(t))).filter((t=>t>-1));this.view.setSelection(s,i,!0)}getSelection(){return this.selection.get()}setFocus(t,i){const e=t.map((t=>this.model.getNode(t)));this.focus.set(e,i);const s=t.map((t=>this.model.getListIndex(t))).filter((t=>t>-1));this.view.setFocus(s,i,!0)}getFocus(){return this.focus.get()}reveal(t,i){this.model.expandTo(t);const e=this.model.getListIndex(t);if(-1!==e)if(this.stickyScrollController){const s=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(t));this.view.reveal(e,i,s)}else this.view.reveal(e,i)}onLeftArrow(t){t.preventDefault(),t.stopPropagation();const i=this.view.getFocusedElements();if(0===i.length)return;const e=this.model.getNodeLocation(i[0]);if(!this.model.setCollapsed(e,!0)){const t=this.model.getParentNodeLocation(e);if(!t)return;const i=this.model.getListIndex(t);this.view.reveal(i),this.view.setFocus([i])}}onRightArrow(t){t.preventDefault(),t.stopPropagation();const i=this.view.getFocusedElements();if(0===i.length)return;const e=i[0],s=this.model.getNodeLocation(e);if(!this.model.setCollapsed(s,!1)){if(!e.children.some((t=>t.visible)))return;const[t]=this.view.getFocus(),i=t+1;this.view.reveal(i),this.view.setFocus([i])}}onSpace(t){t.preventDefault(),t.stopPropagation();const i=this.view.getFocusedElements();if(0===i.length)return;const e=this.model.getNodeLocation(i[0]);this.model.setCollapsed(e,void 0,t.browserEvent.altKey)}dispose(){var t;Ji(this.disposables),null===(t=this.stickyScrollController)||void 0===t||t.dispose(),this.view.dispose()}}class U${constructor(t,i,e={}){this.user=t,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new E$(t,i,null,e),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,e.sorter&&(this.sorter={compare:(t,i)=>e.sorter.compare(t.element,i.element)}),this.identityProvider=e.identityProvider}setChildren(t,i=Vt.empty(),e={}){const s=this.getElementLocation(t);this._setChildren(s,this.preserveCollapseState(i),e)}_setChildren(t,i=Vt.empty(),e){const s=new Set,n=new Set;this.model.splice([...t,0],Number.MAX_VALUE,i,{...e,onDidCreateNode:t=>{var i;if(null===t.element)return;const o=t;if(s.add(o.element),this.nodes.set(o.element,o),this.identityProvider){const t=this.identityProvider.getId(o.element).toString();n.add(t),this.nodesByIdentity.set(t,o)}null===(i=e.onDidCreateNode)||void 0===i||i.call(e,o)},onDidDeleteNode:t=>{var i;if(null===t.element)return;const o=t;if(s.has(o.element)||this.nodes.delete(o.element),this.identityProvider){const t=this.identityProvider.getId(o.element).toString();n.has(t)||this.nodesByIdentity.delete(t)}null===(i=e.onDidDeleteNode)||void 0===i||i.call(e,o)}})}preserveCollapseState(t=Vt.empty()){return this.sorter&&(t=[...t].sort(this.sorter.compare.bind(this.sorter))),Vt.map(t,(t=>{let i=this.nodes.get(t.element);if(!i&&this.identityProvider){const e=this.identityProvider.getId(t.element).toString();i=this.nodesByIdentity.get(e)}if(!i){let i;return i=void 0===t.collapsed?void 0:t.collapsed===m$.Collapsed||t.collapsed===m$.PreserveOrCollapsed||t.collapsed!==m$.Expanded&&t.collapsed!==m$.PreserveOrExpanded&&Boolean(t.collapsed),{...t,children:this.preserveCollapseState(t.children),collapsed:i}}const e="boolean"==typeof t.collapsible?t.collapsible:i.collapsible;let s;return s=void 0===t.collapsed||t.collapsed===m$.PreserveOrCollapsed||t.collapsed===m$.PreserveOrExpanded?i.collapsed:t.collapsed===m$.Collapsed||t.collapsed!==m$.Expanded&&Boolean(t.collapsed),{...t,collapsible:e,collapsed:s,children:this.preserveCollapseState(t.children)}}))}rerender(t){const i=this.getElementLocation(t);this.model.rerender(i)}getFirstElementChild(t=null){const i=this.getElementLocation(t);return this.model.getFirstElementChild(i)}has(t){return this.nodes.has(t)}getListIndex(t){const i=this.getElementLocation(t);return this.model.getListIndex(i)}getListRenderCount(t){const i=this.getElementLocation(t);return this.model.getListRenderCount(i)}isCollapsible(t){const i=this.getElementLocation(t);return this.model.isCollapsible(i)}setCollapsible(t,i){const e=this.getElementLocation(t);return this.model.setCollapsible(e,i)}isCollapsed(t){const i=this.getElementLocation(t);return this.model.isCollapsed(i)}setCollapsed(t,i,e){const s=this.getElementLocation(t);return this.model.setCollapsed(s,i,e)}expandTo(t){const i=this.getElementLocation(t);this.model.expandTo(i)}refilter(){this.model.refilter()}getNode(t=null){if(null===t)return this.model.getNode(this.model.rootRef);const i=this.nodes.get(t);if(!i)throw new k$(this.user,`Tree element not found: ${t}`);return i}getNodeLocation(t){return t.element}getParentNodeLocation(t){if(null===t)throw new k$(this.user,"Invalid getParentNodeLocation call");const i=this.nodes.get(t);if(!i)throw new k$(this.user,`Tree element not found: ${t}`);const e=this.model.getNodeLocation(i),s=this.model.getParentNodeLocation(e);return this.model.getNode(s).element}getElementLocation(t){if(null===t)return[];const i=this.nodes.get(t);if(!i)throw new k$(this.user,`Tree element not found: ${t}`);return this.model.getNodeLocation(i)}}function q$(t){return{element:{elements:[t.element],incompressible:t.incompressible||!1},children:Vt.map(Vt.from(t.children),q$),collapsible:t.collapsible,collapsed:t.collapsed}}function K$(t){const i=[t.element],e=t.incompressible||!1;let s,n;for(;[n,s]=Vt.consume(Vt.from(t.children),2),1===n.length&&!n[0].incompressible;)i.push((t=n[0]).element);return{element:{elements:i,incompressible:e},children:Vt.map(Vt.concat(n,s),K$),collapsible:t.collapsible,collapsed:t.collapsed}}function G$(t,i=0){let e;return e=iG$(t,0))),0===i&&t.element.incompressible?{element:t.element.elements[i],children:e,incompressible:!0,collapsible:t.collapsible,collapsed:t.collapsed}:{element:t.element.elements[i],children:e,collapsible:t.collapsible,collapsed:t.collapsed}}function Z$(t){return G$(t,0)}function Q$(t,i,e){return t.element===i?{...t,children:e}:{...t,children:Vt.map(Vt.from(t.children),(t=>Q$(t,i,e)))}}class J${get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(t,i,e={}){this.user=t,this.rootRef=null,this.nodes=new Map,this.model=new U$(t,i,e),this.enabled=void 0===e.compressionEnabled||e.compressionEnabled,this.identityProvider=e.identityProvider}setChildren(t,i=Vt.empty(),e){const s=e.diffIdentityProvider&&(n=e.diffIdentityProvider,{getId:t=>t.elements.map((t=>n.getId(t).toString())).join("\0")});var n;if(null===t){const t=Vt.map(i,this.enabled?K$:q$);return void this._setChildren(null,t,{diffIdentityProvider:s,diffDepth:1/0})}const o=this.nodes.get(t);if(!o)throw new k$(this.user,"Unknown compressed tree node");const r=this.model.getNode(o),h=this.model.getParentNodeLocation(o),c=this.model.getNode(h),a=Q$(Z$(r),t,i),l=(this.enabled?K$:q$)(a);if(u(l.element.elements,r.element.elements,e.diffIdentityProvider?(t,i)=>e.diffIdentityProvider.getId(t)===e.diffIdentityProvider.getId(i):void 0))return void this._setChildren(o,l.children||Vt.empty(),{diffIdentityProvider:s,diffDepth:1});const d=c.children.map((t=>t===r?l:t));this._setChildren(c.element,d,{diffIdentityProvider:s,diffDepth:r.depth-c.depth})}setCompressionEnabled(t){if(t===this.enabled)return;this.enabled=t;const i=this.model.getNode(),e=Vt.map(i.children,Z$),s=Vt.map(e,t?K$:q$);this._setChildren(null,s,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(t,i,e){const s=new Set;this.model.setChildren(t,i,{...e,onDidCreateNode:t=>{for(const i of t.element.elements)s.add(i),this.nodes.set(i,t.element)},onDidDeleteNode:t=>{for(const i of t.element.elements)s.has(i)||this.nodes.delete(i)}})}has(t){return this.nodes.has(t)}getListIndex(t){const i=this.getCompressedNode(t);return this.model.getListIndex(i)}getListRenderCount(t){const i=this.getCompressedNode(t);return this.model.getListRenderCount(i)}getNode(t){if(void 0===t)return this.model.getNode();const i=this.getCompressedNode(t);return this.model.getNode(i)}getNodeLocation(t){const i=this.model.getNodeLocation(t);return null===i?null:i.elements[i.elements.length-1]}getParentNodeLocation(t){const i=this.getCompressedNode(t),e=this.model.getParentNodeLocation(i);return null===e?null:e.elements[e.elements.length-1]}getFirstElementChild(t){const i=this.getCompressedNode(t);return this.model.getFirstElementChild(i)}isCollapsible(t){const i=this.getCompressedNode(t);return this.model.isCollapsible(i)}setCollapsible(t,i){const e=this.getCompressedNode(t);return this.model.setCollapsible(e,i)}isCollapsed(t){const i=this.getCompressedNode(t);return this.model.isCollapsed(i)}setCollapsed(t,i,e){const s=this.getCompressedNode(t);return this.model.setCollapsed(s,i,e)}expandTo(t){const i=this.getCompressedNode(t);this.model.expandTo(i)}rerender(t){const i=this.getCompressedNode(t);this.model.rerender(i)}refilter(){this.model.refilter()}getCompressedNode(t){if(null===t)return null;const i=this.nodes.get(t);if(!i)throw new k$(this.user,`Tree element not found: ${t}`);return i}}const Y$=t=>t[t.length-1];class X${get element(){return null===this.node.element?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map((t=>new X$(this.unwrapper,t)))}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(t,i){this.unwrapper=t,this.node=i}}class tW{get onDidSplice(){return ce.map(this.model.onDidSplice,(({insertedNodes:t,deletedNodes:i})=>({insertedNodes:t.map((t=>this.nodeMapper.map(t))),deletedNodes:i.map((t=>this.nodeMapper.map(t)))})))}get onDidChangeCollapseState(){return ce.map(this.model.onDidChangeCollapseState,(({node:t,deep:i})=>({node:this.nodeMapper.map(t),deep:i})))}get onDidChangeRenderNodeCount(){return ce.map(this.model.onDidChangeRenderNodeCount,(t=>this.nodeMapper.map(t)))}constructor(t,i,e={}){this.rootRef=null,this.elementMapper=e.elementMapper||Y$;const s=t=>this.elementMapper(t.elements);this.nodeMapper=new x$((t=>new X$(s,t))),this.model=new J$(t,function(t,i){return{splice(e,s,n){i.splice(e,s,n.map((i=>t.map(i))))},updateElementHeight(t,e){i.updateElementHeight(t,e)}}}(this.nodeMapper,i),function(t,i){return{...i,identityProvider:i.identityProvider&&{getId:e=>i.identityProvider.getId(t(e))},sorter:i.sorter&&{compare:(t,e)=>i.sorter.compare(t.elements[0],e.elements[0])},filter:i.filter&&{filter:(e,s)=>i.filter.filter(t(e),s)}}}(s,e))}setChildren(t,i=Vt.empty(),e={}){this.model.setChildren(t,i,e)}setCompressionEnabled(t){this.model.setCompressionEnabled(t)}has(t){return this.model.has(t)}getListIndex(t){return this.model.getListIndex(t)}getListRenderCount(t){return this.model.getListRenderCount(t)}getNode(t){return this.nodeMapper.map(this.model.getNode(t))}getNodeLocation(t){return t.element}getParentNodeLocation(t){return this.model.getParentNodeLocation(t)}getFirstElementChild(t){const i=this.model.getFirstElementChild(t);return null==i?i:this.elementMapper(i.elements)}isCollapsible(t){return this.model.isCollapsible(t)}setCollapsible(t,i){return this.model.setCollapsible(t,i)}isCollapsed(t){return this.model.isCollapsed(t)}setCollapsed(t,i,e){return this.model.setCollapsed(t,i,e)}expandTo(t){return this.model.expandTo(t)}rerender(t){return this.model.rerender(t)}refilter(){return this.model.refilter()}getCompressedTreeNode(t=null){return this.model.getNode(t)}}class iW extends V${get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(t,i,e,s,n={}){super(t,i,e,s,n),this.user=t}setChildren(t,i=Vt.empty(),e){this.model.setChildren(t,i,e)}rerender(t){void 0!==t?this.model.rerender(t):this.view.rerender()}hasElement(t){return this.model.has(t)}createModel(t,i,e){return new U$(t,i,e)}}class eW{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(t,i){this._compressedTreeNodeProvider=t,this.renderer=i,this.templateId=i.templateId,i.onDidChangeTwistieState&&(this.onDidChangeTwistieState=i.onDidChangeTwistieState)}renderTemplate(t){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(t)}}renderElement(t,i,e,s){const n=this.compressedTreeNodeProvider.getCompressedTreeNode(t.element);1===n.element.elements.length?(e.compressedTreeNode=void 0,this.renderer.renderElement(t,i,e.data,s)):(e.compressedTreeNode=n,this.renderer.renderCompressedElements(n,i,e.data,s))}disposeElement(t,i,e,s){var n,o,r,h;e.compressedTreeNode?null===(o=(n=this.renderer).disposeCompressedElements)||void 0===o||o.call(n,e.compressedTreeNode,i,e.data,s):null===(h=(r=this.renderer).disposeElement)||void 0===h||h.call(r,t,i,e.data,s)}disposeTemplate(t){this.renderer.disposeTemplate(t.data)}renderTwistie(t,i){return!!this.renderer.renderTwistie&&this.renderer.renderTwistie(t,i)}}!function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);o>3&&r&&Object.defineProperty(i,e,r)}([ow],eW.prototype,"compressedTreeNodeProvider",null);class sW extends iW{constructor(t,i,e,s,n={}){const o=()=>this;super(t,i,e,s.map((t=>new eW(o,t))),function(t,i){return i&&{...i,keyboardNavigationLabelProvider:i.keyboardNavigationLabelProvider&&{getKeyboardNavigationLabel(e){let s;try{s=t().getCompressedTreeNode(e)}catch(t){return i.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e)}return 1===s.element.elements.length?i.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e):i.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(s.element.elements)}}}}(o,n))}setChildren(t,i=Vt.empty(),e){this.model.setChildren(t,i,e)}createModel(t,i,e){return new tW(t,i,e)}updateOptions(t={}){super.updateOptions(t),void 0!==t.compressionEnabled&&this.model.setCompressionEnabled(t.compressionEnabled)}getCompressedTreeNode(t=null){return this.model.getCompressedTreeNode(t)}}function nW(t){return{...t,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function oW(t,i){return!!i.parent&&(i.parent===t||oW(t,i.parent))}class rW{get element(){return this.node.element.element}get children(){return this.node.children.map((t=>new rW(t)))}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(t){this.node=t}}class hW{constructor(t,i,e){this.renderer=t,this.nodeMapper=i,this.onDidChangeTwistieState=e,this.renderedNodes=new Map,this.templateId=t.templateId}renderTemplate(t){return{templateData:this.renderer.renderTemplate(t)}}renderElement(t,i,e,s){this.renderer.renderElement(this.nodeMapper.map(t),i,e.templateData,s)}renderTwistie(t,i){return t.slow?(i.classList.add(...Sr.asClassNameArray(Is.treeItemLoading)),!0):(i.classList.remove(...Sr.asClassNameArray(Is.treeItemLoading)),!1)}disposeElement(t,i,e,s){var n,o;null===(o=(n=this.renderer).disposeElement)||void 0===o||o.call(n,this.nodeMapper.map(t),i,e.templateData,s)}disposeTemplate(t){this.renderer.disposeTemplate(t.templateData)}dispose(){this.renderedNodes.clear()}}function cW(t){return{browserEvent:t.browserEvent,elements:t.elements.map((t=>t.element))}}function aW(t){return{browserEvent:t.browserEvent,element:t.element&&t.element.element,target:t.target}}class lW extends RN{constructor(t){super(t.elements.map((t=>t.element))),this.data=t}}function uW(t){return t instanceof RN?new lW(t):t}class dW{constructor(t){this.dnd=t}getDragURI(t){return this.dnd.getDragURI(t.element)}getDragLabel(t,i){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(t.map((t=>t.element)),i)}onDragStart(t,i){var e,s;null===(s=(e=this.dnd).onDragStart)||void 0===s||s.call(e,uW(t),i)}onDragOver(t,i,e,s,n=!0){return this.dnd.onDragOver(uW(t),i&&i.element,e,s)}drop(t,i,e,s){this.dnd.drop(uW(t),i&&i.element,e,s)}onDragEnd(t){var i,e;null===(e=(i=this.dnd).onDragEnd)||void 0===e||e.call(i,t)}dispose(){this.dnd.dispose()}}function fW(t){return t&&{...t,collapseByDefault:!0,identityProvider:t.identityProvider&&{getId:i=>t.identityProvider.getId(i.element)},dnd:t.dnd&&new dW(t.dnd),multipleSelectionController:t.multipleSelectionController&&{isSelectionSingleChangeEvent:i=>t.multipleSelectionController.isSelectionSingleChangeEvent({...i,element:i.element}),isSelectionRangeChangeEvent:i=>t.multipleSelectionController.isSelectionRangeChangeEvent({...i,element:i.element})},accessibilityProvider:t.accessibilityProvider&&{...t.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:t.accessibilityProvider.getRole?i=>t.accessibilityProvider.getRole(i.element):()=>"treeitem",isChecked:t.accessibilityProvider.isChecked?i=>{var e;return!!(null===(e=t.accessibilityProvider)||void 0===e?void 0:e.isChecked(i.element))}:void 0,getAriaLabel:i=>t.accessibilityProvider.getAriaLabel(i.element),getWidgetAriaLabel:()=>t.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:t.accessibilityProvider.getWidgetRole?()=>t.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:t.accessibilityProvider.getAriaLevel&&(i=>t.accessibilityProvider.getAriaLevel(i.element)),getActiveDescendantId:t.accessibilityProvider.getActiveDescendantId&&(i=>t.accessibilityProvider.getActiveDescendantId(i.element))},filter:t.filter&&{filter:(i,e)=>t.filter.filter(i.element,e)},keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{...t.keyboardNavigationLabelProvider,getKeyboardNavigationLabel:i=>t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(i.element)},sorter:void 0,expandOnlyOnTwistieClick:void 0===t.expandOnlyOnTwistieClick?void 0:"function"!=typeof t.expandOnlyOnTwistieClick?t.expandOnlyOnTwistieClick:i=>t.expandOnlyOnTwistieClick(i.element),defaultFindVisibility:i=>i.hasChildren&&i.stale?1:"number"==typeof t.defaultFindVisibility?t.defaultFindVisibility:void 0===t.defaultFindVisibility?2:t.defaultFindVisibility(i.element)}}function pW(t,i){i(t),t.children.forEach((t=>pW(t,i)))}class gW{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return ce.map(this.tree.onDidChangeFocus,cW)}get onDidChangeSelection(){return ce.map(this.tree.onDidChangeSelection,cW)}get onMouseDblClick(){return ce.map(this.tree.onMouseDblClick,aW)}get onPointer(){return ce.map(this.tree.onPointer,aW)}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 onDidDispose(){return this.tree.onDidDispose}constructor(t,i,e,s,n,o={}){this.user=t,this.dataSource=n,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new fe,this._onDidChangeNodeSlowState=new fe,this.nodeMapper=new x$((t=>new rW(t))),this.disposables=new te,this.identityProvider=o.identityProvider,this.autoExpandSingleChildren=void 0!==o.autoExpandSingleChildren&&o.autoExpandSingleChildren,this.sorter=o.sorter,this.getDefaultCollapseState=t=>o.collapseByDefault?o.collapseByDefault(t)?m$.PreserveOrCollapsed:m$.PreserveOrExpanded:void 0,this.tree=this.createTree(t,i,e,s,o),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.root=nW({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(t,i,e,s,n){const o=new F$(e),r=s.map((t=>new hW(t,this.nodeMapper,this._onDidChangeNodeSlowState.event))),h=fW(n)||{};return new iW(t,i,o,r,h)}updateOptions(t={}){this.tree.updateOptions(t)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(t){this.tree.scrollTop=t}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(t,i){this.tree.layout(t,i)}style(t){this.tree.style(t)}getInput(){return this.root.element}async setInput(t,i){this.refreshPromises.forEach((t=>t.cancel())),this.refreshPromises.clear(),this.root.element=t;const e=i&&{viewState:i,focus:[],selection:[]};await this._updateChildren(t,!0,!1,e),e&&(this.tree.setFocus(e.focus),this.tree.setSelection(e.selection)),i&&"number"==typeof i.scrollTop&&(this.scrollTop=i.scrollTop)}async _updateChildren(t=this.root.element,i=!0,e=!1,s,n){if(void 0===this.root.element)throw new k$(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await ce.toPromise(this._onDidRender.event));const o=this.getDataNode(t);if(await this.refreshAndRenderNode(o,i,s,n),e)try{this.tree.rerender(o)}catch(t){}}rerender(t){if(void 0===t||t===this.root.element)return void this.tree.rerender();const i=this.getDataNode(t);this.tree.rerender(i)}getNode(t=this.root.element){const i=this.getDataNode(t),e=this.tree.getNode(i===this.root?null:i);return this.nodeMapper.map(e)}collapse(t,i=!1){const e=this.getDataNode(t);return this.tree.collapse(e===this.root?null:e,i)}async expand(t,i=!1){if(void 0===this.root.element)throw new k$(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await ce.toPromise(this._onDidRender.event));const e=this.getDataNode(t);if(this.tree.hasElement(e)&&!this.tree.isCollapsible(e))return!1;if(e.refreshPromise&&(await this.root.refreshPromise,await ce.toPromise(this._onDidRender.event)),e!==this.root&&!e.refreshPromise&&!this.tree.isCollapsed(e))return!1;const s=this.tree.expand(e===this.root?null:e,i);return e.refreshPromise&&(await this.root.refreshPromise,await ce.toPromise(this._onDidRender.event)),s}setSelection(t,i){const e=t.map((t=>this.getDataNode(t)));this.tree.setSelection(e,i)}getSelection(){return this.tree.getSelection().map((t=>t.element))}setFocus(t,i){const e=t.map((t=>this.getDataNode(t)));this.tree.setFocus(e,i)}getFocus(){return this.tree.getFocus().map((t=>t.element))}reveal(t,i){this.tree.reveal(this.getDataNode(t),i)}getParentElement(t){const i=this.tree.getParentElement(this.getDataNode(t));return i&&i.element}getFirstElementChild(t=this.root.element){const i=this.getDataNode(t),e=this.tree.getFirstElementChild(i===this.root?null:i);return e&&e.element}getDataNode(t){const i=this.nodes.get(t===this.root.element?null:t);if(!i)throw new k$(this.user,`Data tree node not found: ${t}`);return i}async refreshAndRenderNode(t,i,e,s){await this.refreshNode(t,i,e),this.render(t,e,s)}async refreshNode(t,i,e){let s;return this.subTreeRefreshPromises.forEach(((n,o)=>{!s&&function(t,i){return t===i||oW(t,i)||oW(i,t)}(o,t)&&(s=n.then((()=>this.refreshNode(t,i,e))))})),s||(t!==this.root&&this.tree.getNode(t).collapsed?(t.hasChildren=!!this.dataSource.hasChildren(t.element),void(t.stale=!0)):this.doRefreshSubTree(t,i,e))}async doRefreshSubTree(t,i,e){let s;t.refreshPromise=new Promise((t=>s=t)),this.subTreeRefreshPromises.set(t,t.refreshPromise),t.refreshPromise.finally((()=>{t.refreshPromise=void 0,this.subTreeRefreshPromises.delete(t)}));try{const s=await this.doRefreshNode(t,i,e);t.stale=!1,await kc.settled(s.map((t=>this.doRefreshSubTree(t,i,e))))}finally{s()}}async doRefreshNode(t,i,e){let s;if(t.hasChildren=!!this.dataSource.hasChildren(t.element),t.hasChildren){const i=this.doGetChildren(t);if(z(i))s=Promise.resolve(i);else{const e=lc(800);e.then((()=>{t.slow=!0,this._onDidChangeNodeSlowState.fire(t)}),(()=>null)),s=i.finally((()=>e.cancel()))}}else s=Promise.resolve(Vt.empty());try{const n=await s;return this.setChildren(t,n,i,e)}catch(i){if(t!==this.root&&this.tree.hasElement(t)&&this.tree.collapse(t),zi(i))return[];throw i}finally{t.slow&&(t.slow=!1,this._onDidChangeNodeSlowState.fire(t))}}doGetChildren(t){let i=this.refreshPromises.get(t);if(i)return i;const e=this.dataSource.getChildren(t.element);return z(e)?this.processChildren(e):(i=oc((async()=>this.processChildren(await e))),this.refreshPromises.set(t,i),i.finally((()=>{this.refreshPromises.delete(t)})))}_onDidChangeCollapseState({node:t,deep:i}){null!==t.element&&!t.collapsed&&t.element.stale&&(i?this.collapse(t.element.element):this.refreshAndRenderNode(t.element,!1).catch(Pi))}setChildren(t,i,e,s){const n=[...i];if(0===t.children.length&&0===n.length)return[];const o=new Map,r=new Map;for(const i of t.children)o.set(i.element,i),this.identityProvider&&r.set(i.id,{node:i,collapsed:this.tree.hasElement(i)&&this.tree.isCollapsed(i)});const h=[],c=n.map((i=>{const n=!!this.dataSource.hasChildren(i);if(!this.identityProvider){const e=nW({element:i,parent:t,hasChildren:n,defaultCollapseState:this.getDefaultCollapseState(i)});return n&&e.defaultCollapseState===m$.PreserveOrExpanded&&h.push(e),e}const c=this.identityProvider.getId(i).toString(),a=r.get(c);if(a){const t=a.node;return o.delete(t.element),this.nodes.delete(t.element),this.nodes.set(i,t),t.element=i,t.hasChildren=n,e?a.collapsed?(t.children.forEach((t=>pW(t,(t=>this.nodes.delete(t.element))))),t.children.splice(0,t.children.length),t.stale=!0):h.push(t):n&&!a.collapsed&&h.push(t),t}const l=nW({element:i,parent:t,id:c,hasChildren:n,defaultCollapseState:this.getDefaultCollapseState(i)});return s&&s.viewState.focus&&s.viewState.focus.indexOf(c)>-1&&s.focus.push(l),s&&s.viewState.selection&&s.viewState.selection.indexOf(c)>-1&&s.selection.push(l),(s&&s.viewState.expanded&&s.viewState.expanded.indexOf(c)>-1||n&&l.defaultCollapseState===m$.PreserveOrExpanded)&&h.push(l),l}));for(const t of o.values())pW(t,(t=>this.nodes.delete(t.element)));for(const t of c)this.nodes.set(t.element,t);return t.children.splice(0,t.children.length,...c),t!==this.root&&this.autoExpandSingleChildren&&1===c.length&&0===h.length&&(c[0].forceExpanded=!0,h.push(c[0])),h}render(t,i,e){const s=t.children.map((t=>this.asTreeElement(t,i))),n=e&&{...e,diffIdentityProvider:e.diffIdentityProvider&&{getId:t=>e.diffIdentityProvider.getId(t.element)}};this.tree.setChildren(t===this.root?null:t,s,n),t!==this.root&&this.tree.setCollapsible(t,t.hasChildren),this._onDidRender.fire()}asTreeElement(t,i){if(t.stale)return{element:t,collapsible:t.hasChildren,collapsed:!0};let e;return i&&i.viewState.expanded&&t.id&&i.viewState.expanded.indexOf(t.id)>-1?e=!1:t.forceExpanded?(e=!1,t.forceExpanded=!1):e=t.defaultCollapseState,{element:t,children:t.hasChildren?Vt.map(t.children,(t=>this.asTreeElement(t,i))):[],collapsible:t.hasChildren,collapsed:e}}processChildren(t){return this.sorter&&(t=[...t].sort(this.sorter.compare.bind(this.sorter))),t}dispose(){this.disposables.dispose(),this.tree.dispose()}}class mW{get element(){return{elements:this.node.element.elements.map((t=>t.element)),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map((t=>new mW(t)))}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(t){this.node=t}}class wW{constructor(t,i,e,s){this.renderer=t,this.nodeMapper=i,this.compressibleNodeMapperProvider=e,this.onDidChangeTwistieState=s,this.renderedNodes=new Map,this.disposables=[],this.templateId=t.templateId}renderTemplate(t){return{templateData:this.renderer.renderTemplate(t)}}renderElement(t,i,e,s){this.renderer.renderElement(this.nodeMapper.map(t),i,e.templateData,s)}renderCompressedElements(t,i,e,s){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(t),i,e.templateData,s)}renderTwistie(t,i){return t.slow?(i.classList.add(...Sr.asClassNameArray(Is.treeItemLoading)),!0):(i.classList.remove(...Sr.asClassNameArray(Is.treeItemLoading)),!1)}disposeElement(t,i,e,s){var n,o;null===(o=(n=this.renderer).disposeElement)||void 0===o||o.call(n,this.nodeMapper.map(t),i,e.templateData,s)}disposeCompressedElements(t,i,e,s){var n,o;null===(o=(n=this.renderer).disposeCompressedElements)||void 0===o||o.call(n,this.compressibleNodeMapperProvider().map(t),i,e.templateData,s)}disposeTemplate(t){this.renderer.disposeTemplate(t.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=Ji(this.disposables)}}class vW extends gW{constructor(t,i,e,s,n,o,r={}){super(t,i,e,n,o,r),this.compressionDelegate=s,this.compressibleNodeMapper=new x$((t=>new mW(t))),this.filter=r.filter}createTree(t,i,e,s,n){const o=new F$(e),r=s.map((t=>new wW(t,this.nodeMapper,(()=>this.compressibleNodeMapper),this._onDidChangeNodeSlowState.event))),h=function(t){const i=t&&fW(t);return i&&{...i,keyboardNavigationLabelProvider:i.keyboardNavigationLabelProvider&&{...i.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel:i=>t.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(i.map((t=>t.element)))}}}(n)||{};return new sW(t,i,o,r,h)}asTreeElement(t,i){return{incompressible:this.compressionDelegate.isIncompressible(t.element),...super.asTreeElement(t,i)}}updateOptions(t={}){this.tree.updateOptions(t)}render(t,i){if(!this.identityProvider)return super.render(t,i);const e=t=>this.identityProvider.getId(t).toString(),s=t=>{const i=new Set;for(const s of t){const t=this.tree.getCompressedTreeNode(s===this.root?null:s);if(t.element)for(const s of t.element.elements)i.add(e(s.element))}return i},n=s(this.tree.getSelection()),o=s(this.tree.getFocus());super.render(t,i);const r=this.getSelection();let h=!1;const c=this.getFocus();let a=!1;const l=t=>{const i=t.element;if(i)for(let t=0;t{const i="boolean"==typeof(e=this.filter.filter(t,1))?e?1:0:C$(e)?S$(e.visibility):S$(e);var e;if(2===i)throw new Error("Recursive tree visibility not supported in async data compressed trees");return 1===i}))),super.processChildren(t)}}class bW extends V${constructor(t,i,e,s,n,o={}){super(t,i,e,s,o),this.user=t,this.dataSource=n,this.identityProvider=o.identityProvider}createModel(t,i,e){return new U$(t,i,e)}}new ah("isMac",St,rt(0,"Whether the operating system is macOS")),new ah("isLinux",Dt,rt(0,"Whether the operating system is Linux"));const yW=new ah("isWindows",Ct,rt(0,"Whether the operating system is Windows")),kW=new ah("isWeb",At,rt(0,"Whether the platform is a web browser"));new ah("isMacNative",St&&!At,rt(0,"Whether the operating system is macOS on a non-browser platform")),new ah("isIOS",Lt,rt(0,"Whether the operating system is iOS")),new ah("isMobile",Ft,rt(0,"Whether the platform is a mobile web browser")),new ah("isDevelopment",!1,!0),new ah("productQualityType","",rt(0,"Quality type of VS Code"));const xW="inputFocus";let CW;new ah(xW,!1,rt(0,"Whether keyboard focus is inside an input box"));const SW=globalThis.vscode;if(void 0!==SW&&void 0!==SW.context){const t=SW.context.configuration();if(!t)throw new Error("Sandbox: unable to resolve product configuration from preload script.");CW=t.product}else if(globalThis._VSCODE_PRODUCT_JSON&&globalThis._VSCODE_PACKAGE_JSON){if(CW=globalThis._VSCODE_PRODUCT_JSON,je.VSCODE_DEV&&Object.assign(CW,{nameShort:`${CW.nameShort} Dev`,nameLong:`${CW.nameLong} Dev`,dataFolderName:`${CW.dataFolderName}-dev`,serverDataFolderName:CW.serverDataFolderName?`${CW.serverDataFolderName}-dev`:void 0}),!CW.version){const t=globalThis._VSCODE_PACKAGE_JSON;Object.assign(CW,{version:t.version})}}else CW={},0===Object.keys(CW).length&&Object.assign(CW,{version:"1.82.0-dev",nameShort:"Code - OSS Dev",nameLong:"Code - OSS Dev",applicationName:"code-oss",dataFolderName:".vscode-oss",urlProtocol:"code-oss",reportIssueUrl:"https://github.com/microsoft/vscode/issues/new",licenseName:"MIT",licenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt",serverLicenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt"});const DW=CW;var EW=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},AW=function(t,i){return function(e,s){i(e,s,t)}};const MW=fr("listService"),LW=new ah("listScrollAtBoundary","none");Hr.or(LW.isEqualTo("top"),LW.isEqualTo("both")),Hr.or(LW.isEqualTo("bottom"),LW.isEqualTo("both"));const FW=new ah("listFocus",!0),TW=new ah("listSupportsMultiselect",!0),RW=Hr.and(FW,Hr.not(xW)),OW=new ah("listHasSelectionOrFocus",!1),IW=new ah("listDoubleSelection",!1),_W=new ah("listMultiSelection",!1),NW=new ah("listSelectionNavigation",!1),BW=new ah("listSupportsFind",!0),PW=new ah("treeElementCanCollapse",!1),$W=new ah("treeElementHasParent",!1),WW=new ah("treeElementCanExpand",!1),jW=new ah("treeElementHasChild",!1),zW=new ah("treeFindOpen",!1),HW="listTypeNavigationMode",VW="listAutomaticKeyboardNavigation";function UW(t,i){const e=t.createScoped(i.getHTMLElement());return FW.bindTo(e),e}function qW(t,i){const e=LW.bindTo(t),s=()=>{const t=0===i.scrollTop,s=i.scrollHeight-i.renderHeight-i.scrollTop<1;e.set(t&&s?"both":t?"top":s?"bottom":"none")};return s(),i.onDidScroll(s)}const KW="workbench.list.multiSelectModifier",GW="workbench.list.openMode",ZW="workbench.list.horizontalScrolling",QW="workbench.list.defaultFindMode",JW="workbench.list.typeNavigationMode",YW="workbench.list.keyboardNavigation",XW="workbench.list.scrollByPage",tj="workbench.list.defaultFindMatchType",ij="workbench.tree.indent",ej="workbench.tree.renderIndentGuides",sj="workbench.list.smoothScrolling",nj="workbench.list.mouseWheelScrollSensitivity",oj="workbench.list.fastScrollSensitivity",rj="workbench.tree.expandMode",hj="workbench.tree.enableStickyScroll",cj="workbench.tree.stickyScrollMaxItemCount";function aj(t){return"alt"===t.getValue(KW)}class lj extends ie{constructor(t){super(),this.configurationService=t,this.useAltAsMultipleSelectionModifier=aj(t),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration(KW)&&(this.useAltAsMultipleSelectionModifier=aj(this.configurationService))})))}isSelectionSingleChangeEvent(t){return this.useAltAsMultipleSelectionModifier?t.browserEvent.altKey:YN(t)}isSelectionRangeChangeEvent(t){return XN(t)}}function uj(t,i){var e;const s=t.get(gd),n=t.get(rC),o=new te;return[{...i,keyboardNavigationDelegate:{mightProducePrintableCharacter:t=>n.mightProducePrintableCharacter(t)},smoothScrolling:Boolean(s.getValue(sj)),mouseWheelScrollSensitivity:s.getValue(nj),fastScrollSensitivity:s.getValue(oj),multipleSelectionController:null!==(e=i.multipleSelectionController)&&void 0!==e?e:o.add(new lj(s)),keyboardNavigationEventFilter:bj(n),scrollByPage:Boolean(s.getValue(XW))},o]}let dj=class extends lB{constructor(t,i,e,s,n,o,r,h,c){const a=void 0!==n.horizontalScrolling?n.horizontalScrolling:Boolean(h.getValue(ZW)),[l,u]=c.invokeFunction(uj,n);super(t,i,e,s,{keyboardSupport:!1,...l,horizontalScrolling:a}),this.disposables.add(u),this.contextKeyService=UW(o,this),this.disposables.add(qW(this.contextKeyService,this)),this.listSupportsMultiSelect=TW.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==n.multipleSelectionSupport),NW.bindTo(this.contextKeyService).set(Boolean(n.selectionNavigation)),this.listHasSelectionOrFocus=OW.bindTo(this.contextKeyService),this.listDoubleSelection=IW.bindTo(this.contextKeyService),this.listMultiSelection=_W.bindTo(this.contextKeyService),this.horizontalScrolling=n.horizontalScrolling,this._useAltAsMultipleSelectionModifier=aj(h),this.disposables.add(this.contextKeyService),this.disposables.add(r.register(this)),this.updateStyles(n.overrideStyles),this.disposables.add(this.onDidChangeSelection((()=>{const t=this.getSelection(),i=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(t.length>0||i.length>0),this.listMultiSelection.set(t.length>1),this.listDoubleSelection.set(2===t.length)}))}))),this.disposables.add(this.onDidChangeFocus((()=>{const t=this.getSelection(),i=this.getFocus();this.listHasSelectionOrFocus.set(t.length>0||i.length>0)}))),this.disposables.add(h.onDidChangeConfiguration((t=>{t.affectsConfiguration(KW)&&(this._useAltAsMultipleSelectionModifier=aj(h));let i={};if(t.affectsConfiguration(ZW)&&void 0===this.horizontalScrolling){const t=Boolean(h.getValue(ZW));i={...i,horizontalScrolling:t}}if(t.affectsConfiguration(XW)){const t=Boolean(h.getValue(XW));i={...i,scrollByPage:t}}if(t.affectsConfiguration(sj)){const t=Boolean(h.getValue(sj));i={...i,smoothScrolling:t}}if(t.affectsConfiguration(nj)){const t=h.getValue(nj);i={...i,mouseWheelScrollSensitivity:t}}if(t.affectsConfiguration(oj)){const t=h.getValue(oj);i={...i,fastScrollSensitivity:t}}Object.keys(i).length>0&&this.updateOptions(i)}))),this.navigator=new mj(this,{configurationService:h,...n}),this.disposables.add(this.navigator)}updateOptions(t){super.updateOptions(t),void 0!==t.overrideStyles&&this.updateStyles(t.overrideStyles),void 0!==t.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!t.multipleSelectionSupport)}updateStyles(t){this.style(t?$B(t):PB)}};dj=EW([AW(5,lh),AW(6,MW),AW(7,gd),AW(8,dr)],dj);let fj=class extends NP{constructor(t,i,e,s,n,o,r,h,c){const a=void 0!==n.horizontalScrolling?n.horizontalScrolling:Boolean(h.getValue(ZW)),[l,u]=c.invokeFunction(uj,n);super(t,i,e,s,{keyboardSupport:!1,...l,horizontalScrolling:a}),this.disposables=new te,this.disposables.add(u),this.contextKeyService=UW(o,this),this.disposables.add(qW(this.contextKeyService,this.widget)),this.horizontalScrolling=n.horizontalScrolling,this.listSupportsMultiSelect=TW.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==n.multipleSelectionSupport),NW.bindTo(this.contextKeyService).set(Boolean(n.selectionNavigation)),this._useAltAsMultipleSelectionModifier=aj(h),this.disposables.add(this.contextKeyService),this.disposables.add(r.register(this)),this.updateStyles(n.overrideStyles),this.disposables.add(h.onDidChangeConfiguration((t=>{t.affectsConfiguration(KW)&&(this._useAltAsMultipleSelectionModifier=aj(h));let i={};if(t.affectsConfiguration(ZW)&&void 0===this.horizontalScrolling){const t=Boolean(h.getValue(ZW));i={...i,horizontalScrolling:t}}if(t.affectsConfiguration(XW)){const t=Boolean(h.getValue(XW));i={...i,scrollByPage:t}}if(t.affectsConfiguration(sj)){const t=Boolean(h.getValue(sj));i={...i,smoothScrolling:t}}if(t.affectsConfiguration(nj)){const t=h.getValue(nj);i={...i,mouseWheelScrollSensitivity:t}}if(t.affectsConfiguration(oj)){const t=h.getValue(oj);i={...i,fastScrollSensitivity:t}}Object.keys(i).length>0&&this.updateOptions(i)}))),this.navigator=new mj(this,{configurationService:h,...n}),this.disposables.add(this.navigator)}updateOptions(t){super.updateOptions(t),void 0!==t.overrideStyles&&this.updateStyles(t.overrideStyles),void 0!==t.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!t.multipleSelectionSupport)}updateStyles(t){this.style(t?$B(t):PB)}dispose(){this.disposables.dispose(),super.dispose()}};fj=EW([AW(5,lh),AW(6,MW),AW(7,gd),AW(8,dr)],fj);let pj=class extends i${constructor(t,i,e,s,n,o,r,h,c,a){const l=void 0!==o.horizontalScrolling?o.horizontalScrolling:Boolean(c.getValue(ZW)),[u,d]=a.invokeFunction(uj,o);super(t,i,e,s,n,{keyboardSupport:!1,...u,horizontalScrolling:l}),this.disposables.add(d),this.contextKeyService=UW(r,this),this.disposables.add(qW(this.contextKeyService,this)),this.listSupportsMultiSelect=TW.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==o.multipleSelectionSupport),NW.bindTo(this.contextKeyService).set(Boolean(o.selectionNavigation)),this.listHasSelectionOrFocus=OW.bindTo(this.contextKeyService),this.listDoubleSelection=IW.bindTo(this.contextKeyService),this.listMultiSelection=_W.bindTo(this.contextKeyService),this.horizontalScrolling=o.horizontalScrolling,this._useAltAsMultipleSelectionModifier=aj(c),this.disposables.add(this.contextKeyService),this.disposables.add(h.register(this)),this.updateStyles(o.overrideStyles),this.disposables.add(this.onDidChangeSelection((()=>{const t=this.getSelection(),i=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(t.length>0||i.length>0),this.listMultiSelection.set(t.length>1),this.listDoubleSelection.set(2===t.length)}))}))),this.disposables.add(this.onDidChangeFocus((()=>{const t=this.getSelection(),i=this.getFocus();this.listHasSelectionOrFocus.set(t.length>0||i.length>0)}))),this.disposables.add(c.onDidChangeConfiguration((t=>{t.affectsConfiguration(KW)&&(this._useAltAsMultipleSelectionModifier=aj(c));let i={};if(t.affectsConfiguration(ZW)&&void 0===this.horizontalScrolling){const t=Boolean(c.getValue(ZW));i={...i,horizontalScrolling:t}}if(t.affectsConfiguration(XW)){const t=Boolean(c.getValue(XW));i={...i,scrollByPage:t}}if(t.affectsConfiguration(sj)){const t=Boolean(c.getValue(sj));i={...i,smoothScrolling:t}}if(t.affectsConfiguration(nj)){const t=c.getValue(nj);i={...i,mouseWheelScrollSensitivity:t}}if(t.affectsConfiguration(oj)){const t=c.getValue(oj);i={...i,fastScrollSensitivity:t}}Object.keys(i).length>0&&this.updateOptions(i)}))),this.navigator=new wj(this,{configurationService:c,...o}),this.disposables.add(this.navigator)}updateOptions(t){super.updateOptions(t),void 0!==t.overrideStyles&&this.updateStyles(t.overrideStyles),void 0!==t.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!t.multipleSelectionSupport)}updateStyles(t){this.style(t?$B(t):PB)}dispose(){this.disposables.dispose(),super.dispose()}};pj=EW([AW(6,lh),AW(7,MW),AW(8,gd),AW(9,dr)],pj);class gj extends ie{constructor(t,i){var e;super(),this.widget=t,this._onDidOpen=this._register(new fe),this.onDidOpen=this._onDidOpen.event,this._register(ce.filter(this.widget.onDidChangeSelection,(t=>Ll(t.browserEvent)))((t=>this.onSelectionFromKeyboard(t)))),this._register(this.widget.onPointer((t=>this.onPointer(t.element,t.browserEvent)))),this._register(this.widget.onMouseDblClick((t=>this.onMouseDblClick(t.element,t.browserEvent)))),"boolean"!=typeof(null==i?void 0:i.openOnSingleClick)&&(null==i?void 0:i.configurationService)?(this.openOnSingleClick="doubleClick"!==(null==i?void 0:i.configurationService.getValue(GW)),this._register(null==i?void 0:i.configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration(GW)&&(this.openOnSingleClick="doubleClick"!==(null==i?void 0:i.configurationService.getValue(GW)))})))):this.openOnSingleClick=null===(e=null==i?void 0:i.openOnSingleClick)||void 0===e||e}onSelectionFromKeyboard(t){if(1!==t.elements.length)return;const i=t.browserEvent,e="boolean"!=typeof i.preserveFocus||i.preserveFocus,s="boolean"==typeof i.pinned?i.pinned:!e;this._open(this.getSelectedElement(),e,s,!1,t.browserEvent)}onPointer(t,i){this.openOnSingleClick&&2!==i.detail&&this._open(t,!0,1===i.button,i.ctrlKey||i.metaKey||i.altKey,i)}onMouseDblClick(t,i){if(!i)return;const e=i.target;e.classList.contains("monaco-tl-twistie")||e.classList.contains("monaco-icon-label")&&e.classList.contains("folder-icon")&&i.offsetX<16||this._open(t,!1,!0,i.ctrlKey||i.metaKey||i.altKey,i)}_open(t,i,e,s,n){t&&this._onDidOpen.fire({editorOptions:{preserveFocus:i,pinned:e,revealIfVisible:!0},sideBySide:s,element:t,browserEvent:n})}}class mj extends gj{constructor(t,i){super(t,i),this.widget=t}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class wj extends gj{constructor(t,i){super(t,i)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class vj extends gj{constructor(t,i){super(t,i)}getSelectedElement(){var t;return null!==(t=this.widget.getSelection()[0])&&void 0!==t?t:void 0}}function bj(t){let i=!1;return e=>{if(e.toKeyCodeChord().isModifierKey())return!1;if(i)return i=!1,!1;const s=t.softDispatch(e,e.target);return 1===s.kind?(i=!0,!1):(i=!1,0===s.kind)}}let yj=class extends iW{constructor(t,i,e,s,n,o,r,h,c){const{options:a,getTypeNavigationMode:l,disposable:u}=o.invokeFunction(Aj,n);super(t,i,e,s,a),this.disposables.add(u),this.internals=new Mj(this,n,l,n.overrideStyles,r,h,c),this.disposables.add(this.internals)}updateOptions(t){super.updateOptions(t),this.internals.updateOptions(t)}};yj=EW([AW(5,dr),AW(6,lh),AW(7,MW),AW(8,gd)],yj);let kj=class extends sW{constructor(t,i,e,s,n,o,r,h,c){const{options:a,getTypeNavigationMode:l,disposable:u}=o.invokeFunction(Aj,n);super(t,i,e,s,a),this.disposables.add(u),this.internals=new Mj(this,n,l,n.overrideStyles,r,h,c),this.disposables.add(this.internals)}updateOptions(t={}){super.updateOptions(t),t.overrideStyles&&this.internals.updateStyleOverrides(t.overrideStyles),this.internals.updateOptions(t)}};kj=EW([AW(5,dr),AW(6,lh),AW(7,MW),AW(8,gd)],kj);let xj=class extends bW{constructor(t,i,e,s,n,o,r,h,c,a){const{options:l,getTypeNavigationMode:u,disposable:d}=r.invokeFunction(Aj,o);super(t,i,e,s,n,l),this.disposables.add(d),this.internals=new Mj(this,o,u,o.overrideStyles,h,c,a),this.disposables.add(this.internals)}updateOptions(t={}){super.updateOptions(t),void 0!==t.overrideStyles&&this.internals.updateStyleOverrides(t.overrideStyles),this.internals.updateOptions(t)}};xj=EW([AW(6,dr),AW(7,lh),AW(8,MW),AW(9,gd)],xj);let Cj=class extends gW{get onDidOpen(){return this.internals.onDidOpen}constructor(t,i,e,s,n,o,r,h,c,a){const{options:l,getTypeNavigationMode:u,disposable:d}=r.invokeFunction(Aj,o);super(t,i,e,s,n,l),this.disposables.add(d),this.internals=new Mj(this,o,u,o.overrideStyles,h,c,a),this.disposables.add(this.internals)}updateOptions(t={}){super.updateOptions(t),t.overrideStyles&&this.internals.updateStyleOverrides(t.overrideStyles),this.internals.updateOptions(t)}};Cj=EW([AW(6,dr),AW(7,lh),AW(8,MW),AW(9,gd)],Cj);let Sj=class extends vW{constructor(t,i,e,s,n,o,r,h,c,a,l){const{options:u,getTypeNavigationMode:d,disposable:f}=h.invokeFunction(Aj,r);super(t,i,e,s,n,o,u),this.disposables.add(f),this.internals=new Mj(this,r,d,r.overrideStyles,c,a,l),this.disposables.add(this.internals)}updateOptions(t){super.updateOptions(t),this.internals.updateOptions(t)}};function Dj(t){const i=t.getValue(QW);if("highlight"===i)return b$.Highlight;if("filter"===i)return b$.Filter;const e=t.getValue(YW);return"simple"===e||"highlight"===e?b$.Highlight:"filter"===e?b$.Filter:void 0}function Ej(t){const i=t.getValue(tj);return"fuzzy"===i?y$.Fuzzy:"contiguous"===i?y$.Contiguous:void 0}function Aj(t,i){var e;const s=t.get(gd),n=t.get(lI),o=t.get(lh),r=t.get(dr),h=void 0!==i.horizontalScrolling?i.horizontalScrolling:Boolean(s.getValue(ZW)),[c,a]=r.invokeFunction(uj,i),l=i.paddingBottom,u=void 0!==i.renderIndentGuides?i.renderIndentGuides:s.getValue(ej);return{getTypeNavigationMode:()=>{const t=o.getContextKeyValue(HW);if("automatic"===t)return BN.Automatic;if("trigger"===t)return BN.Trigger;if(!1===o.getContextKeyValue(VW))return BN.Trigger;const i=s.getValue(JW);return"automatic"===i?BN.Automatic:"trigger"===i?BN.Trigger:void 0},disposable:a,options:{keyboardSupport:!1,...c,indent:"number"==typeof s.getValue(ij)?s.getValue(ij):void 0,renderIndentGuides:u,smoothScrolling:Boolean(s.getValue(sj)),defaultFindMode:Dj(s),defaultFindMatchType:Ej(s),horizontalScrolling:h,scrollByPage:Boolean(s.getValue(XW)),paddingBottom:l,hideTwistiesOfChildlessElements:i.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:null!==(e=i.expandOnlyOnTwistieClick)&&void 0!==e?e:"doubleClick"===s.getValue(rj),contextViewProvider:n,findWidgetStyles:NB,enableStickyScroll:Boolean(s.getValue(hj)),stickyScrollMaxItemCount:Number(s.getValue(cj))}}}Sj=EW([AW(7,dr),AW(8,lh),AW(9,MW),AW(10,gd)],Sj);let Mj=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(t,i,e,s,n,o,r){var h;this.tree=t,this.disposables=[],this.contextKeyService=UW(n,t),this.disposables.push(qW(this.contextKeyService,t)),this.listSupportsMultiSelect=TW.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==i.multipleSelectionSupport),NW.bindTo(this.contextKeyService).set(Boolean(i.selectionNavigation)),this.listSupportFindWidget=BW.bindTo(this.contextKeyService),this.listSupportFindWidget.set(null===(h=i.findWidgetEnabled)||void 0===h||h),this.hasSelectionOrFocus=OW.bindTo(this.contextKeyService),this.hasDoubleSelection=IW.bindTo(this.contextKeyService),this.hasMultiSelection=_W.bindTo(this.contextKeyService),this.treeElementCanCollapse=PW.bindTo(this.contextKeyService),this.treeElementHasParent=$W.bindTo(this.contextKeyService),this.treeElementCanExpand=WW.bindTo(this.contextKeyService),this.treeElementHasChild=jW.bindTo(this.contextKeyService),this.treeFindOpen=zW.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=aj(r),this.updateStyleOverrides(s);const c=()=>{const i=t.getFocus()[0];if(!i)return;const e=t.getNode(i);this.treeElementCanCollapse.set(e.collapsible&&!e.collapsed),this.treeElementHasParent.set(!!t.getParentElement(i)),this.treeElementCanExpand.set(e.collapsible&&e.collapsed),this.treeElementHasChild.set(!!t.getFirstElementChild(i))},a=new Set;a.add(HW),a.add(VW),this.disposables.push(this.contextKeyService,o.register(t),t.onDidChangeSelection((()=>{const i=t.getSelection(),e=t.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.hasSelectionOrFocus.set(i.length>0||e.length>0),this.hasMultiSelection.set(i.length>1),this.hasDoubleSelection.set(2===i.length)}))})),t.onDidChangeFocus((()=>{const i=t.getSelection(),e=t.getFocus();this.hasSelectionOrFocus.set(i.length>0||e.length>0),c()})),t.onDidChangeCollapseState(c),t.onDidChangeModel(c),t.onDidChangeFindOpenState((t=>this.treeFindOpen.set(t))),r.onDidChangeConfiguration((s=>{let n={};if(s.affectsConfiguration(KW)&&(this._useAltAsMultipleSelectionModifier=aj(r)),s.affectsConfiguration(ij)){const t=r.getValue(ij);n={...n,indent:t}}if(s.affectsConfiguration(ej)&&void 0===i.renderIndentGuides){const t=r.getValue(ej);n={...n,renderIndentGuides:t}}if(s.affectsConfiguration(sj)){const t=Boolean(r.getValue(sj));n={...n,smoothScrolling:t}}if(s.affectsConfiguration(QW)||s.affectsConfiguration(YW)){const t=Dj(r);n={...n,defaultFindMode:t}}if(s.affectsConfiguration(JW)||s.affectsConfiguration(YW)){const t=e();n={...n,typeNavigationMode:t}}if(s.affectsConfiguration(tj)){const t=Ej(r);n={...n,defaultFindMatchType:t}}if(s.affectsConfiguration(ZW)&&void 0===i.horizontalScrolling){const t=Boolean(r.getValue(ZW));n={...n,horizontalScrolling:t}}if(s.affectsConfiguration(XW)){const t=Boolean(r.getValue(XW));n={...n,scrollByPage:t}}if(s.affectsConfiguration(rj)&&void 0===i.expandOnlyOnTwistieClick&&(n={...n,expandOnlyOnTwistieClick:"doubleClick"===r.getValue(rj)}),s.affectsConfiguration(hj)){const t=r.getValue(hj);n={...n,enableStickyScroll:t}}if(s.affectsConfiguration(cj)){const t=Math.max(1,r.getValue(cj));n={...n,stickyScrollMaxItemCount:t}}if(s.affectsConfiguration(nj)){const t=r.getValue(nj);n={...n,mouseWheelScrollSensitivity:t}}if(s.affectsConfiguration(oj)){const t=r.getValue(oj);n={...n,fastScrollSensitivity:t}}Object.keys(n).length>0&&t.updateOptions(n)})),this.contextKeyService.onDidChangeContext((i=>{i.affectsSome(a)&&t.updateOptions({typeNavigationMode:e()})}))),this.navigator=new vj(t,{configurationService:r,...i}),this.disposables.push(this.navigator)}updateOptions(t){void 0!==t.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!t.multipleSelectionSupport)}updateStyleOverrides(t){this.tree.style(t?$B(t):PB)}dispose(){this.disposables=Ji(this.disposables)}};var Lj;Mj=EW([AW(4,lh),AW(5,MW),AW(6,gd)],Mj),Eh.as(Ld).registerConfiguration({id:"workbench",order:7,title:rt(0,"Workbench"),type:"object",properties:{[KW]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[rt(0,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),rt(0,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:rt(0,"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.")},[GW]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:rt(0,"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.")},[ZW]:{type:"boolean",default:!1,description:rt(0,"Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[XW]:{type:"boolean",default:!1,description:rt(0,"Controls whether clicks in the scrollbar scroll page by page.")},[ij]:{type:"number",default:8,minimum:4,maximum:40,description:rt(0,"Controls tree indentation in pixels.")},[ej]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:rt(0,"Controls whether the tree should render indent guides.")},[sj]:{type:"boolean",default:!1,description:rt(0,"Controls whether lists and trees have smooth scrolling.")},[nj]:{type:"number",default:1,markdownDescription:rt(0,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[oj]:{type:"number",default:5,markdownDescription:rt(0,"Scrolling speed multiplier when pressing `Alt`.")},[QW]:{type:"string",enum:["highlight","filter"],enumDescriptions:[rt(0,"Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),rt(0,"Filter elements when searching.")],default:"highlight",description:rt(0,"Controls the default find mode for lists and trees in the workbench.")},[YW]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[rt(0,"Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),rt(0,"Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),rt(0,"Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:rt(0,"Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:!0,deprecationMessage:rt(0,"Please use 'workbench.list.defaultFindMode' and\t'workbench.list.typeNavigationMode' instead.")},[tj]:{type:"string",enum:["fuzzy","contiguous"],enumDescriptions:[rt(0,"Use fuzzy matching when searching."),rt(0,"Use contiguous matching when searching.")],default:"fuzzy",description:rt(0,"Controls the type of matching used when searching lists and trees in the workbench.")},[rj]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:rt(0,"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.")},[hj]:{type:"boolean",default:"string"==typeof DW.quality&&"stable"!==DW.quality,description:rt(0,"Controls whether sticky scrolling is enabled in trees.")},[cj]:{type:"number",minimum:1,default:7,markdownDescription:rt(0,"Controls the number of sticky elements displayed in the tree when `#workbench.tree.enableStickyScroll#` is enabled.")},[JW]:{type:"string",enum:["automatic","trigger"],default:"automatic",markdownDescription:rt(0,"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.")}}}),function(t){t[t.PRESERVE=0]="PRESERVE",t[t.LAST=1]="LAST"}(Lj||(Lj={}));const Fj="workbench.contributions.quickaccess";Eh.add(Fj,new class{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(t){return 0===t.prefix.length?this.defaultProvider=t:this.providers.push(t),this.providers.sort(((t,i)=>i.prefix.length-t.prefix.length)),Xi((()=>{this.providers.splice(this.providers.indexOf(t),1),this.defaultProvider===t&&(this.defaultProvider=void 0)}))}getQuickAccessProviders(){return w([this.defaultProvider,...this.providers])}getQuickAccessProvider(t){return t&&this.providers.find((i=>t.startsWith(i.prefix)))||this.defaultProvider}});const Tj={ctrlCmd:!1,alt:!1};var Rj,Oj;!function(t){t[t.Blur=1]="Blur",t[t.Gesture=2]="Gesture",t[t.Other=3]="Other"}(Rj||(Rj={})),function(t){t[t.NONE=0]="NONE",t[t.FIRST=1]="FIRST",t[t.SECOND=2]="SECOND",t[t.LAST=3]="LAST"}(Oj||(Oj={}));const Ij=fr("quickInputService");var _j=function(t,i){return function(e,s){i(e,s,t)}};let Nj=class extends ie{constructor(t,i){super(),this.quickInputService=t,this.instantiationService=i,this.registry=Eh.as(Fj),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(t="",i){this.doShowOrPick(t,!1,i)}doShowOrPick(t,i,e){var s;const[n,o]=this.getOrInstantiateProvider(t),r=this.visibleQuickAccess,h=null==r?void 0:r.descriptor;if(r&&o&&h===o)return t===o.prefix||(null==e?void 0:e.preserveValue)||(r.picker.value=t),void this.adjustValueSelection(r.picker,o,e);if(o&&!(null==e?void 0:e.preserveValue)){let i;if(r&&h&&h!==o){const t=r.value.substr(h.prefix.length);t&&(i=`${o.prefix}${t}`)}if(!i){const t=null==n?void 0:n.defaultFilterValue;t===Lj.LAST?i=this.lastAcceptedPickerValues.get(o):"string"==typeof t&&(i=`${o.prefix}${t}`)}"string"==typeof i&&(t=i)}const c=new te,a=c.add(this.quickInputService.createQuickPick());let l;a.value=t,this.adjustValueSelection(a,o,e),a.placeholder=null==o?void 0:o.placeholder,a.quickNavigate=null==e?void 0:e.quickNavigateConfiguration,a.hideInput=!!a.quickNavigate&&!r,("number"==typeof(null==e?void 0:e.itemActivation)||(null==e?void 0:e.quickNavigateConfiguration))&&(a.itemActivation=null!==(s=null==e?void 0:e.itemActivation)&&void 0!==s?s:Oj.SECOND),a.contextKey=null==o?void 0:o.contextKey,a.filterValue=t=>t.substring(o?o.prefix.length:0),i&&(l=new yc,c.add(ce.once(a.onWillAccept)((t=>{t.veto(),a.hide()})))),c.add(this.registerPickerListeners(a,n,o,t,null==e?void 0:e.providerOptions));const u=c.add(new Se);return n&&c.add(n.provide(a,u.token,null==e?void 0:e.providerOptions)),ce.once(a.onDidHide)((()=>{0===a.selectedItems.length&&u.cancel(),c.dispose(),null==l||l.complete(a.selectedItems.slice(0))})),a.show(),i?null==l?void 0:l.p:void 0}adjustValueSelection(t,i,e){var s;let n;n=(null==e?void 0:e.preserveValue)?[t.value.length,t.value.length]:[null!==(s=null==i?void 0:i.prefix.length)&&void 0!==s?s:0,t.value.length],t.valueSelection=n}registerPickerListeners(t,i,e,s,n){const o=new te,r=this.visibleQuickAccess={picker:t,descriptor:e,value:s};return o.add(Xi((()=>{r===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)}))),o.add(t.onDidChangeValue((t=>{const[e]=this.getOrInstantiateProvider(t);e!==i?this.show(t,{preserveValue:!0,providerOptions:n}):r.value=t}))),e&&o.add(t.onDidAccept((()=>{this.lastAcceptedPickerValues.set(e,t.value)}))),o}getOrInstantiateProvider(t){const i=this.registry.getQuickAccessProvider(t);if(!i)return[void 0,void 0];let e=this.mapProviderToDescriptor.get(i);return e||(e=this.instantiationService.createInstance(i.ctor),this.mapProviderToDescriptor.set(i,e)),[e,i]}};Nj=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([_j(0,Ij),_j(1,dr)],Nj),ug.white.toString(),ug.white.toString();class Bj extends ie{get onDidClick(){return this._onDidClick.event}constructor(t,i){super(),this._label="",this._onDidClick=this._register(new fe),this.options=i,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",!!i.secondary);const e=i.secondary?i.buttonSecondaryBackground:i.buttonBackground;this._element.style.color=(i.secondary?i.buttonSecondaryForeground:i.buttonForeground)||"",this._element.style.backgroundColor=e||"",i.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")),t.appendChild(this._element),this._register(hw.addTarget(this._element)),[Fl.CLICK,rw.Tap].forEach((t=>{this._register(Ua(this._element,t,(t=>{this.enabled?this._onDidClick.fire(t):Tl(t)})))})),this._register(Ua(this._element,Fl.KEY_DOWN,(t=>{const i=new Jh(t);let e=!1;this.enabled&&(i.equals(3)||i.equals(10))?(this._onDidClick.fire(t),e=!0):i.equals(9)&&(this._element.blur(),e=!0),e&&Tl(i,!0)}))),this._register(Ua(this._element,Fl.MOUSE_OVER,(()=>{this._element.classList.contains("disabled")||this.updateBackground(!0)}))),this._register(Ua(this._element,Fl.MOUSE_OUT,(()=>{this.updateBackground(!1)}))),this.focusTracker=this._register(Ol(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(t){const i=[];for(let e of Q_(t))if("string"==typeof e){if(e=e.trim(),""===e)continue;const t=document.createElement("span");t.textContent=e,i.push(t)}else i.push(e);return i}updateBackground(t){let i;i=this.options.secondary?t?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground:t?this.options.buttonHoverBackground:this.options.buttonBackground,i&&(this._element.style.backgroundColor=i)}get element(){return this._element}set label(t){var i,e,s;if(this._label===t)return;if($_(this._label)&&$_(t)&&((e=this._label)===(s=t)||e&&s&&e.value===s.value&&e.isTrusted===s.isTrusted&&e.supportThemeIcons===s.supportThemeIcons&&e.supportHtml===s.supportHtml&&(e.baseUri===s.baseUri||e.baseUri&&s.baseUri&&vA(ws.from(e.baseUri),ws.from(s.baseUri)))))return;this._element.classList.add("monaco-text-button");const n=this.options.supportShortLabel?this._labelElement:this._element;if($_(t)){const e=rN(t,{inline:!0});e.dispose();const s=null===(i=e.element.querySelector("p"))||void 0===i?void 0:i.innerHTML;if(s){const t=ba(s,{ADD_TAGS:["b","i","u","code","span"],ALLOWED_ATTR:["class"],RETURN_TRUSTED_TYPE:!0});n.innerHTML=t}else Nl(n)}else this.options.supportIcons?Nl(n,...this.getContentElements(t)):n.textContent=t;"string"==typeof this.options.title?this._element.title=this.options.title:this.options.title&&(this._element.title=function(t){return"string"==typeof t?t:function(t){var i;let e=null!==(i=t.value)&&void 0!==i?i:"";e.length>1e5&&(e=`${e.substr(0,1e5)}…`);const s=iN.parse(e,{renderer:dN.value}).replace(/&(#\d+|[a-zA-Z]+);/g,(t=>{var i;return null!==(i=uN.get(t))&&void 0!==i?i:t}));return aN({isTrusted:!1},s).toString()}(t)}(t)),this._label=t}get label(){return this._label}set icon(t){this._element.classList.add(...Sr.asClassNameArray(t))}set enabled(t){t?(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")}}class Pj{constructor(t,i,e){this.options=i,this.styles=e,this.count=0,this.element=Il(t,Wl(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(t){this.count=t,this.render()}setTitleFormat(t){this.titleFormat=t,this.render()}render(){var t,i;this.element.textContent=Kn(this.countFormat,this.count),this.element.title=Kn(this.titleFormat,this.count),this.element.style.backgroundColor=null!==(t=this.styles.badgeBackground)&&void 0!==t?t:"",this.element.style.color=null!==(i=this.styles.badgeForeground)&&void 0!==i?i:"",this.styles.badgeBorder&&(this.element.style.border=`1px solid ${this.styles.badgeBorder}`)}}const $j="done",Wj="active",jj="infinite",zj="infinite-long-running",Hj="discrete";class Vj extends ie{constructor(t,i){super(),this.workedVal=0,this.showDelayedScheduler=this._register(new gc((()=>jl(this.element)),0)),this.longRunningScheduler=this._register(new gc((()=>this.infiniteLongRunning()),Vj.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(t,i)}create(t,i){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),t.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=(null==i?void 0:i.progressBarBackground)||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(Wj,jj,zj,Hj),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel()}stop(){return this.doDone(!1)}doDone(t){return this.element.classList.add($j),this.element.classList.contains(jj)?(this.bit.style.opacity="0",t?setTimeout((()=>this.off()),200):this.off()):(this.bit.style.width="inherit",t?setTimeout((()=>this.off()),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(Hj,$j,zj),this.element.classList.add(Wj,jj),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(zj)}getContainer(){return this.element}}Vj.LONG_RUNNING_INFINITE_THRESHOLD=1e4;const Uj=Wl;class qj extends ie{constructor(t,i,e){super(),this.parent=t,this.onKeyDown=t=>Ka(this.findInput.inputBox.inputElement,Fl.KEY_DOWN,t),this.onMouseDown=t=>Ka(this.findInput.inputBox.inputElement,Fl.MOUSE_DOWN,t),this.onDidChange=t=>this.findInput.onDidChange(t),this.container=Il(this.parent,Uj(".quick-input-box")),this.findInput=this._register(new g$(this.container,void 0,{label:"",inputBoxStyles:i,toggleStyles:e}));const s=this.findInput.inputBox.inputElement;s.role="combobox",s.ariaHasPopup="menu",s.ariaAutoComplete="list",s.ariaExpanded="true"}get value(){return this.findInput.getValue()}set value(t){this.findInput.setValue(t)}select(t=null){this.findInput.inputBox.select(t)}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(t){this.findInput.inputBox.setPlaceHolder(t)}get password(){return"password"===this.findInput.inputBox.inputElement.type}set password(t){this.findInput.inputBox.inputElement.type=t?"password":"text"}set enabled(t){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!t)}set toggles(t){this.findInput.setAdditionalToggles(t)}setAttribute(t,i){this.findInput.inputBox.inputElement.setAttribute(t,i)}showDecoration(t){t===nT.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:t===nT.Info?1:t===nT.Warning?2:3,content:""})}stylesForType(t){return this.findInput.inputBox.stylesForType(t===nT.Info?1:t===nT.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}class Kj{constructor(t,i){var e;this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.supportIcons=null!==(e=null==i?void 0:i.supportIcons)&&void 0!==e&&e,this.domNode=Il(t,Wl("span.monaco-highlighted-label"))}get element(){return this.domNode}set(t,i=[],e="",s){t||(t=""),s&&(t=Kj.escapeNewLines(t,i)),this.didEverRender&&this.text===t&&this.title===e&&et(this.highlights,i)||(this.text=t,this.title=e,this.highlights=i,this.render())}render(){const t=[];let i=0;for(const e of this.highlights){if(e.end===e.start)continue;if(i{s="\r\n"===t?-1:0,n+=e;for(const t of i)t.end<=n||(t.start>=n&&(t.start+=s),t.end>=n&&(t.end+=s));return e+=s,"⏎"}))}}class Gj{constructor(t){this._element=t}get element(){return this._element}set textContent(t){this.disposed||t===this._textContent||(this._textContent=t,this._element.textContent=t)}set className(t){this.disposed||t===this._className||(this._className=t,this._element.className=t)}set empty(t){this.disposed||t===this._empty||(this._empty=t,this._element.style.marginLeft=t?"0":"")}dispose(){this.disposed=!0}}class Zj extends ie{constructor(t,i){super(),this.customHovers=new Map,this.creationOptions=i,this.domNode=this._register(new Gj(Il(t,Wl(".monaco-icon-label")))),this.labelContainer=Il(this.domNode.element,Wl(".monaco-icon-label-container")),this.nameContainer=Il(this.labelContainer,Wl("span.monaco-icon-name-container")),this.nameNode=(null==i?void 0:i.supportHighlights)||(null==i?void 0:i.supportIcons)?new Jj(this.nameContainer,!!i.supportIcons):new Qj(this.nameContainer),this.hoverDelegate=null==i?void 0:i.hoverDelegate}get element(){return this.domNode.element}setLabel(t,i,e){var s;const n=["monaco-icon-label"],o=["monaco-icon-label-container"];let r="";if(e&&(e.extraClasses&&n.push(...e.extraClasses),e.italic&&n.push("italic"),e.strikethrough&&n.push("strikethrough"),e.disabledCommand&&o.push("disabled"),e.title&&(r+="string"==typeof e.title?e.title:t)),this.domNode.className=n.join(" "),this.domNode.element.setAttribute("aria-label",r),this.labelContainer.className=o.join(" "),this.setupHover((null==e?void 0:e.descriptionTitle)?this.labelContainer:this.element,null==e?void 0:e.title),this.nameNode.setLabel(t,e),i||this.descriptionNode){const t=this.getOrCreateDescriptionNode();t instanceof Kj?(t.set(i||"",e?e.descriptionMatches:void 0,void 0,null==e?void 0:e.labelEscapeNewLines),this.setupHover(t.element,null==e?void 0:e.descriptionTitle)):(t.textContent=i&&(null==e?void 0:e.labelEscapeNewLines)?Kj.escapeNewLines(i,[]):i||"",this.setupHover(t.element,(null==e?void 0:e.descriptionTitle)||""),t.empty=!i)}((null==e?void 0:e.suffix)||this.suffixNode)&&(this.getOrCreateSuffixNode().textContent=null!==(s=null==e?void 0:e.suffix)&&void 0!==s?s:"")}setupHover(t,i){const e=this.customHovers.get(t);if(e&&(e.dispose(),this.customHovers.delete(t)),i)if(this.hoverDelegate){const e=H_(this.hoverDelegate,t,i);e&&this.customHovers.set(t,e)}else!function(t,i){P(i)?t.title=O_(i):(null==i?void 0:i.markdownNotSupportedFallback)?t.title=i.markdownNotSupportedFallback:t.removeAttribute("title")}(t,i);else t.removeAttribute("title")}dispose(){super.dispose();for(const t of this.customHovers.values())t.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const e=this._register(new Gj((t=this.nameContainer,i=Wl("span.monaco-icon-suffix-container"),t.after(i),i)));this.suffixNode=this._register(new Gj(Il(e.element,Wl("span.label-suffix"))))}var t,i;return this.suffixNode}getOrCreateDescriptionNode(){var t;if(!this.descriptionNode){const i=this._register(new Gj(Il(this.labelContainer,Wl("span.monaco-icon-description-container"))));this.descriptionNode=(null===(t=this.creationOptions)||void 0===t?void 0:t.supportDescriptionHighlights)?new Kj(Il(i.element,Wl("span.label-description")),{supportIcons:!!this.creationOptions.supportIcons}):this._register(new Gj(Il(i.element,Wl("span.label-description"))))}return this.descriptionNode}}class Qj{constructor(t){this.container=t,this.label=void 0,this.singleLabel=void 0}setLabel(t,i){if(this.label!==t||!et(this.options,i))if(this.label=t,this.options=i,"string"==typeof t)this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=Il(this.container,Wl("a.label-name",{id:null==i?void 0:i.domId}))),this.singleLabel.textContent=t;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let e=0;e{const n={start:s,end:s+t.length},o=e.map((t=>dI.intersect(n,t))).filter((t=>!dI.isEmpty(t))).map((({start:t,end:i})=>({start:t-s,end:i-s})));return s=n.end+i.length,o}))}(t,e,null==i?void 0:i.matches);for(let n=0;n{const t=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:t,collatorIsNumeric:t.resolvedOptions().numeric}}));new Hn((()=>({collator:new Intl.Collator(void 0,{numeric:!0})}))),new Hn((()=>({collator:new Intl.Collator(void 0,{numeric:!0,sensitivity:"accent"})})));class ez{constructor(t){this.nodes=t}toString(){return this.nodes.map((t=>"string"==typeof t?t:t.label)).join("")}}!function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);o>3&&r&&Object.defineProperty(i,e,r)}([ow],ez.prototype,"toString",null);const sz=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi,nz={},oz=new Y_("quick-input-button-icon-");function rz(t){if(!t)return;let i;const e=t.dark.toString();return nz[e]?i=nz[e]:(i=oz.nextId(),Dl(`.${i}, .hc-light .${i}`,`background-image: ${Ul(t.light||t.dark)}`),Dl(`.vs-dark .${i}, .hc-black .${i}`,`background-image: ${Ul(t.dark)}`),nz[e]=i),i}var hz=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r};const cz=Wl;class az{constructor(t,i,e,s,n,o,r){var h,c,a;this._checked=!1,this._hidden=!1,this.hasCheckbox=s,this.index=e,this.fireButtonTriggered=n,this.fireSeparatorButtonTriggered=o,this._onChecked=r,this.onChecked=s?ce.map(ce.filter(this._onChecked.event,(t=>t.listElement===this)),(t=>t.checked)):ce.None,"separator"===t.type?this._separator=t:(this.item=t,i&&"separator"===i.type&&!i.buttons&&(this._separator=i),this.saneDescription=this.item.description,this.saneDetail=this.item.detail,this._labelHighlights=null===(h=this.item.highlights)||void 0===h?void 0:h.label,this._descriptionHighlights=null===(c=this.item.highlights)||void 0===c?void 0:c.description,this._detailHighlights=null===(a=this.item.highlights)||void 0===a?void 0:a.detail,this.saneTooltip=this.item.tooltip),this._init=new Hn((()=>{var i;const e=null!==(i=t.label)&&void 0!==i?i:"",s=__(e).text.trim(),n=t.ariaLabel||[e,this.saneDescription,this.saneDetail].map((t=>function(t){return t?t.replace(/\$\((.*?)\)/g,((t,i)=>` ${i} `)).trim():""}(t))).filter((t=>!!t)).join(", ");return{saneLabel:e,saneSortLabel:s,saneAriaLabel:n}}))}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(t){this._element=t}get hidden(){return this._hidden}set hidden(t){this._hidden=t}get checked(){return this._checked}set checked(t){t!==this._checked&&(this._checked=t,this._onChecked.fire({listElement:this,checked:t}))}get separator(){return this._separator}set separator(t){this._separator=t}get labelHighlights(){return this._labelHighlights}set labelHighlights(t){this._labelHighlights=t}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(t){this._descriptionHighlights=t}get detailHighlights(){return this._detailHighlights}set detailHighlights(t){this._detailHighlights=t}}class lz{constructor(t){this.themeService=t}get templateId(){return lz.ID}renderTemplate(t){const i=Object.create(null);i.toDisposeElement=[],i.toDisposeTemplate=[],i.entry=Il(t,cz(".quick-input-list-entry"));const e=Il(i.entry,cz("label.quick-input-list-label"));i.toDisposeTemplate.push(Ka(e,Fl.CLICK,(t=>{i.checkbox.offsetParent||t.preventDefault()}))),i.checkbox=Il(e,cz("input.quick-input-list-checkbox")),i.checkbox.type="checkbox",i.toDisposeTemplate.push(Ka(i.checkbox,Fl.CHANGE,(()=>{i.element.checked=i.checkbox.checked})));const s=Il(e,cz(".quick-input-list-rows")),n=Il(s,cz(".quick-input-list-row")),o=Il(s,cz(".quick-input-list-row"));i.label=new Zj(n,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0}),i.toDisposeTemplate.push(i.label),i.icon=_l(i.label.element,cz(".quick-input-list-icon"));const r=Il(n,cz(".quick-input-list-entry-keybinding"));i.keybinding=new tz(r,_t);const h=Il(o,cz(".quick-input-list-label-meta"));return i.detail=new Zj(h,{supportHighlights:!0,supportIcons:!0}),i.toDisposeTemplate.push(i.detail),i.separator=Il(i.entry,cz(".quick-input-list-separator")),i.actionBar=new XB(i.entry),i.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),i.toDisposeTemplate.push(i.actionBar),i}renderElement(t,i,e){var s,n,o,r;e.element=t,t.element=null!==(s=e.entry)&&void 0!==s?s:void 0;const h=t.item?t.item:t.separator;e.checkbox.checked=t.checked,e.toDisposeElement.push(t.onChecked((t=>e.checkbox.checked=t)));const{labelHighlights:c,descriptionHighlights:a,detailHighlights:l}=t;if(null===(n=t.item)||void 0===n?void 0:n.iconPath){const i=Vy(this.themeService.getColorTheme().type)?t.item.iconPath.dark:null!==(o=t.item.iconPath.light)&&void 0!==o?o:t.item.iconPath.dark,s=ws.revive(i);e.icon.className="quick-input-list-icon",e.icon.style.backgroundImage=Ul(s)}else e.icon.style.backgroundImage="",e.icon.className=(null===(r=t.item)||void 0===r?void 0:r.iconClass)?`quick-input-list-icon ${t.item.iconClass}`:"";const u={matches:c||[],descriptionTitle:t.saneDescription,descriptionMatches:a||[],labelEscapeNewLines:!0};"separator"!==h.type?(u.extraClasses=h.iconClasses,u.italic=h.italic,u.strikethrough=h.strikethrough,e.entry.classList.remove("quick-input-list-separator-as-item")):e.entry.classList.add("quick-input-list-separator-as-item"),e.label.setLabel(t.saneLabel,t.saneDescription,u),e.keybinding.set("separator"===h.type?void 0:h.keybinding),t.saneDetail?(e.detail.element.style.display="",e.detail.setLabel(t.saneDetail,void 0,{matches:l,title:t.saneDetail,labelEscapeNewLines:!0})):e.detail.element.style.display="none",t.item&&t.separator&&t.separator.label?(e.separator.textContent=t.separator.label,e.separator.style.display=""):e.separator.style.display="none",e.entry.classList.toggle("quick-input-list-separator-border",!!t.separator);const d=h.buttons;d&&d.length?(e.actionBar.push(d.map(((i,e)=>{let s=i.iconClass||(i.iconPath?rz(i.iconPath):void 0);return i.alwaysVisible&&(s=s?`${s} always-visible`:"always-visible"),{id:`id-${e}`,class:s,enabled:!0,label:"",tooltip:i.tooltip||"",run:()=>{"separator"!==h.type?t.fireButtonTriggered({button:i,item:h}):t.fireSeparatorButtonTriggered({button:i,separator:h})}}})),{icon:!0,label:!1}),e.entry.classList.add("has-actions")):e.entry.classList.remove("has-actions")}disposeElement(t,i,e){e.toDisposeElement=Ji(e.toDisposeElement),e.actionBar.clear()}disposeTemplate(t){t.toDisposeElement=Ji(t.toDisposeElement),t.toDisposeTemplate=Ji(t.toDisposeTemplate)}}lz.ID="listelement";class uz{getHeight(t){return t.item?t.saneDetail?44:22:24}getTemplateId(t){return lz.ID}}var dz;!function(t){t[t.First=1]="First",t[t.Second=2]="Second",t[t.Last=3]="Last",t[t.Next=4]="Next",t[t.Previous=5]="Previous",t[t.NextPage=6]="NextPage",t[t.PreviousPage=7]="PreviousPage"}(dz||(dz={}));class fz{constructor(t,i,e,s){this.parent=t,this.options=e,this.inputElements=[],this.elements=[],this.elementsToIndexes=new Map,this.matchOnDescription=!1,this.matchOnDetail=!1,this.matchOnLabel=!0,this.matchOnLabelMode="fuzzy",this.sortByLabel=!0,this._onChangedAllVisibleChecked=new fe,this.onChangedAllVisibleChecked=this._onChangedAllVisibleChecked.event,this._onChangedCheckedCount=new fe,this.onChangedCheckedCount=this._onChangedCheckedCount.event,this._onChangedVisibleCount=new fe,this.onChangedVisibleCount=this._onChangedVisibleCount.event,this._onChangedCheckedElements=new fe,this.onChangedCheckedElements=this._onChangedCheckedElements.event,this._onButtonTriggered=new fe,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new fe,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._onKeyDown=new fe,this.onKeyDown=this._onKeyDown.event,this._onLeave=new fe,this.onLeave=this._onLeave.event,this._listElementChecked=new fe,this._fireCheckedEvents=!0,this.elementDisposables=[],this.disposables=[],this.id=i,this.container=Il(this.parent,cz(".quick-input-list"));const n=new uz,o=new gz;if(this.list=e.createList("QuickInput",this.container,n,[new lz(s)],{identityProvider:{getId:t=>{var i,e,s,n,o,r,h,c;return null!==(c=null!==(r=null!==(n=null!==(e=null===(i=t.item)||void 0===i?void 0:i.id)&&void 0!==e?e:null===(s=t.item)||void 0===s?void 0:s.label)&&void 0!==n?n:null===(o=t.separator)||void 0===o?void 0:o.id)&&void 0!==r?r:null===(h=t.separator)||void 0===h?void 0:h.label)&&void 0!==c?c:""}},setRowLineHeight:!1,multipleSelectionSupport:!1,horizontalScrolling:!1,accessibilityProvider:o}),this.list.getHTMLElement().id=i,this.disposables.push(this.list),this.disposables.push(this.list.onKeyDown((t=>{const i=new Jh(t);switch(i.keyCode){case 10:this.toggleCheckbox();break;case 31:(St?t.metaKey:t.ctrlKey)&&this.list.setFocus(C(this.list.length));break;case 16:{const t=this.list.getFocus();1===t.length&&0===t[0]&&this._onLeave.fire();break}case 18:{const t=this.list.getFocus();1===t.length&&t[0]===this.list.length-1&&this._onLeave.fire();break}}this._onKeyDown.fire(i)}))),this.disposables.push(this.list.onMouseDown((t=>{2!==t.browserEvent.button&&t.browserEvent.preventDefault()}))),this.disposables.push(Ua(this.container,Fl.CLICK,(t=>{(t.x||t.y)&&this._onLeave.fire()}))),this.disposables.push(this.list.onMouseMiddleClick((()=>{this._onLeave.fire()}))),this.disposables.push(this.list.onContextMenu((t=>{"number"==typeof t.index&&(t.browserEvent.preventDefault(),this.list.setSelection([t.index]))}))),e.hoverDelegate){const t=new ac(e.hoverDelegate.delay);this.disposables.push(this.list.onMouseOver((async i=>{var e;if(i.browserEvent.target instanceof HTMLAnchorElement)t.cancel();else if(i.browserEvent.relatedTarget instanceof HTMLAnchorElement||!ll(i.browserEvent.relatedTarget,null===(e=i.element)||void 0===e?void 0:e.element))try{await t.trigger((async()=>{i.element&&this.showHover(i.element)}))}catch(i){if(!zi(i))throw i}}))),this.disposables.push(this.list.onMouseOut((i=>{var e;ll(i.browserEvent.relatedTarget,null===(e=i.element)||void 0===e?void 0:e.element)||t.cancel()}))),this.disposables.push(t)}this.disposables.push(this._listElementChecked.event((()=>this.fireCheckedEvents()))),this.disposables.push(this._onChangedAllVisibleChecked,this._onChangedCheckedCount,this._onChangedVisibleCount,this._onChangedCheckedElements,this._onButtonTriggered,this._onSeparatorButtonTriggered,this._onLeave,this._onKeyDown)}get onDidChangeFocus(){return ce.map(this.list.onDidChangeFocus,(t=>t.elements.map((t=>t.item))))}get onDidChangeSelection(){return ce.map(this.list.onDidChangeSelection,(t=>({items:t.elements.map((t=>t.item)),event:t.browserEvent})))}get scrollTop(){return this.list.scrollTop}set scrollTop(t){this.list.scrollTop=t}get ariaLabel(){return this.list.getHTMLElement().ariaLabel}set ariaLabel(t){this.list.getHTMLElement().ariaLabel=t}getAllVisibleChecked(){return this.allVisibleChecked(this.elements,!1)}allVisibleChecked(t,i=!0){for(let e=0,s=t.length;e{i.hidden||(i.checked=t)}))}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}setElements(t){this.elementDisposables=Ji(this.elementDisposables);const i=t=>this.fireButtonTriggered(t),e=t=>this.fireSeparatorButtonTriggered(t);this.inputElements=t;const s=new Map,n=this.parent.classList.contains("show-checkboxes");this.elements=t.reduce(((o,r,h)=>{var c;if("separator"===r.type&&!r.buttons)return o;const a=new az(r,h>0?t[h-1]:void 0,h,n,i,e,this._listElementChecked),l=o.length;return o.push(a),s.set(null!==(c=a.item)&&void 0!==c?c:a.separator,l),o}),[]),this.elementsToIndexes=s,this.list.splice(0,this.list.length),this.list.splice(0,this.list.length,this.elements),this._onChangedVisibleCount.fire(this.elements.length)}getFocusedElements(){return this.list.getFocusedElements().map((t=>t.item))}setFocusedElements(t){if(this.list.setFocus(t.filter((t=>this.elementsToIndexes.has(t))).map((t=>this.elementsToIndexes.get(t)))),t.length>0){const t=this.list.getFocus()[0];"number"==typeof t&&this.list.reveal(t)}}getActiveDescendant(){return this.list.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(t){this.list.setSelection(t.filter((t=>this.elementsToIndexes.has(t))).map((t=>this.elementsToIndexes.get(t))))}getCheckedElements(){return this.elements.filter((t=>t.checked)).map((t=>t.item)).filter((t=>!!t))}setCheckedElements(t){try{this._fireCheckedEvents=!1;const i=new Set;for(const e of t)i.add(e);for(const t of this.elements)t.checked=i.has(t.item)}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}set enabled(t){this.list.getHTMLElement().style.pointerEvents=t?"":"none"}focus(t){if(!this.list.length)return;switch(t===dz.Second&&this.list.length<2&&(t=dz.First),t){case dz.First:this.list.scrollTop=0,this.list.focusFirst(void 0,(t=>!!t.item));break;case dz.Second:this.list.scrollTop=0,this.list.focusNth(1,void 0,(t=>!!t.item));break;case dz.Last:this.list.scrollTop=this.list.scrollHeight,this.list.focusLast(void 0,(t=>!!t.item));break;case dz.Next:{this.list.focusNext(void 0,!0,void 0,(t=>!!t.item));const t=this.list.getFocus()[0];0!==t&&!this.elements[t-1].item&&this.list.firstVisibleIndex>t-1&&this.list.reveal(t-1);break}case dz.Previous:{this.list.focusPrevious(void 0,!0,void 0,(t=>!!t.item));const t=this.list.getFocus()[0];0!==t&&!this.elements[t-1].item&&this.list.firstVisibleIndex>t-1&&this.list.reveal(t-1);break}case dz.NextPage:this.list.focusNextPage(void 0,(t=>!!t.item));break;case dz.PreviousPage:this.list.focusPreviousPage(void 0,(t=>!!t.item))}const i=this.list.getFocus()[0];"number"==typeof i&&this.list.reveal(i)}clearFocus(){this.list.setFocus([])}domFocus(){this.list.domFocus()}showHover(t){var i,e,s;void 0!==this.options.hoverDelegate&&(this._lastHover&&!this._lastHover.isDisposed&&(null===(e=(i=this.options.hoverDelegate).onDidHideHover)||void 0===e||e.call(i),null===(s=this._lastHover)||void 0===s||s.dispose()),t.element&&t.saneTooltip&&(this._lastHover=this.options.hoverDelegate.showHover({content:t.saneTooltip,target:t.element,linkHandler:t=>{this.options.linkOpenerDelegate(t)},appearance:{showPointer:!0},container:this.container,position:{hoverPosition:1}},!1)))}layout(t){this.list.getHTMLElement().style.maxHeight=t?44*Math.floor(t/44)+6+"px":"",this.list.layout()}filter(t){if(!(this.sortByLabel||this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))return this.list.layout(),!1;const i=t;if((t=t.trim())&&(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail)){let e;this.elements.forEach((s=>{var n,o,r,h;let c;c="fuzzy"===this.matchOnLabelMode?this.matchOnLabel&&null!==(n=N_(t,__(s.saneLabel)))&&void 0!==n?n:void 0:this.matchOnLabel&&null!==(o=function(t,i){const{text:e,iconOffsets:s}=i;if(!s||0===s.length)return pz(t,e);const n=Jn(e," "),o=e.length-n.length,r=pz(t,n);if(r)for(const t of r){const i=s[t.start+o]+o;t.start+=i,t.end+=i}return r}(i,__(s.saneLabel)))&&void 0!==o?o:void 0;const a=this.matchOnDescription&&null!==(r=N_(t,__(s.saneDescription||"")))&&void 0!==r?r:void 0,l=this.matchOnDetail&&null!==(h=N_(t,__(s.saneDetail||"")))&&void 0!==h?h:void 0;if(c||a||l?(s.labelHighlights=c,s.descriptionHighlights=a,s.detailHighlights=l,s.hidden=!1):(s.labelHighlights=void 0,s.descriptionHighlights=void 0,s.detailHighlights=void 0,s.hidden=!s.item||!s.item.alwaysShow),s.item?s.separator=void 0:s.separator&&(s.hidden=!0),!this.sortByLabel){const t=s.index&&this.inputElements[s.index-1];e=t&&"separator"===t.type?t:e,e&&!s.hidden&&(s.separator=e,e=void 0)}}))}else this.elements.forEach((t=>{t.labelHighlights=void 0,t.descriptionHighlights=void 0,t.detailHighlights=void 0,t.hidden=!1;const i=t.index&&this.inputElements[t.index-1];t.item&&(t.separator=i&&"separator"===i.type&&!i.buttons?i:void 0)}));const e=this.elements.filter((t=>!t.hidden));if(this.sortByLabel&&t){const i=t.toLowerCase();e.sort(((t,e)=>function(t,i,e){const s=t.labelHighlights||[],n=i.labelHighlights||[];return s.length&&!n.length?-1:!s.length&&n.length?1:0===s.length&&0===n.length?0:function(t,i,e){const s=t.toLowerCase(),n=i.toLowerCase(),o=function(t,i,e){const s=t.toLowerCase(),n=i.toLowerCase(),o=s.startsWith(e),r=n.startsWith(e);if(o!==r)return o?-1:1;if(o&&r){if(s.lengthn.length)return 1}return 0}(t,i,e);if(o)return o;const r=s.endsWith(e);if(r!==n.endsWith(e))return r?-1:1;const h=function(t,i){const e=t||"",s=i||"",n=iz.value.collator.compare(e,s);return iz.value.collatorIsNumeric&&0===n&&e!==s?e{var s;return t.set(null!==(s=i.item)&&void 0!==s?s:i.separator,e),t}),new Map),this.list.splice(0,this.list.length,e),this.list.setFocus([]),this.list.layout(),this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedVisibleCount.fire(e.length),!0}toggleCheckbox(){try{this._fireCheckedEvents=!1;const t=this.list.getFocusedElements(),i=this.allVisibleChecked(t);for(const e of t)e.checked=!i}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}display(t){this.container.style.display=t?"":"none"}isDisplayed(){return"none"!==this.container.style.display}dispose(){this.elementDisposables=Ji(this.elementDisposables),this.disposables=Ji(this.disposables)}fireCheckedEvents(){this._fireCheckedEvents&&(this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedCheckedCount.fire(this.getCheckedCount()),this._onChangedCheckedElements.fire(this.getCheckedElements()))}fireButtonTriggered(t){this._onButtonTriggered.fire(t)}fireSeparatorButtonTriggered(t){this._onSeparatorButtonTriggered.fire(t)}style(t){this.list.style(t)}toggleHover(){const t=this.list.getFocusedElements()[0];if(!(null==t?void 0:t.saneTooltip))return;if(this._lastHover&&!this._lastHover.isDisposed)return void this._lastHover.dispose();const i=this.list.getFocusedElements()[0];if(!i)return;this.showHover(i);const e=new te;e.add(this.list.onDidChangeFocus((t=>{t.indexes.length&&this.showHover(t.elements[0])}))),this._lastHover&&e.add(this._lastHover),this._toggleHover=e,this.elementDisposables.push(this._toggleHover)}}function pz(t,i){const e=i.toLowerCase().indexOf(t.toLowerCase());return-1!==e?[{start:e,end:e+t.length}]:null}hz([ow],fz.prototype,"onDidChangeFocus",null),hz([ow],fz.prototype,"onDidChangeSelection",null);class gz{getWidgetAriaLabel(){return rt(0,"Quick Input")}getAriaLabel(t){var i;return(null===(i=t.separator)||void 0===i?void 0:i.label)?`${t.saneAriaLabel}, ${t.separator.label}`:t.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(t){return t.hasCheckbox?"checkbox":"option"}isChecked(t){if(t.hasCheckbox)return{value:t.checked,onDidChange:t.onChecked}}}const mz={iconClass:Sr.asClassName(Is.quickInputBack),tooltip:rt(0,"Back"),handle:-1};class wz extends ie{constructor(t){super(),this.ui=t,this._widgetUpdated=!1,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._buttons=[],this.buttonsUpdated=!1,this._toggles=[],this.togglesUpdated=!1,this.noValidationMessage=wz.noPromptMessage,this._severity=nT.Ignore,this.onDidTriggerButtonEmitter=this._register(new fe),this.onDidHideEmitter=this._register(new fe),this.onDisposeEmitter=this._register(new fe),this.visibleDisposables=this._register(new te),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(t){this._title=t,this.update()}get description(){return this._description}set description(t){this._description=t,this.update()}get step(){return this._steps}set step(t){this._steps=t,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(t){this._totalSteps=t,this.update()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this.update()}get contextKey(){return this._contextKey}set contextKey(t){this._contextKey=t,this.update()}get busy(){return this._busy}set busy(t){this._busy=t,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(t){const i=this._ignoreFocusOut!==t&&!Lt;this._ignoreFocusOut=t&&!Lt,i&&this.update()}get buttons(){return this._buttons}set buttons(t){this._buttons=t,this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(t){this._toggles=null!=t?t:[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(t){this._validationMessage=t,this.update()}get severity(){return this._severity}set severity(t){this._severity=t,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton((t=>{-1!==this.buttons.indexOf(t)&&this.onDidTriggerButtonEmitter.fire(t)}))),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(t=Rj.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:t})}update(){var t,i;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 s=this.getDescription();if(this.ui.description1.textContent!==s&&(this.ui.description1.textContent=s),this.ui.description2.textContent!==s&&(this.ui.description2.textContent=s),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?Nl(this.ui.widget,this._widget):Nl(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new fc,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 t=this.buttons.filter((t=>t===mz));this.ui.leftActionBar.push(t.map(((t,i)=>{const e=new wr(`id-${i}`,"",t.iconClass||rz(t.iconPath),!0,(async()=>{this.onDidTriggerButtonEmitter.fire(t)}));return e.tooltip=t.tooltip||"",e})),{icon:!0,label:!1}),this.ui.rightActionBar.clear();const i=this.buttons.filter((t=>t!==mz));this.ui.rightActionBar.push(i.map(((t,i)=>{const e=new wr(`id-${i}`,"",t.iconClass||rz(t.iconPath),!0,(async()=>{this.onDidTriggerButtonEmitter.fire(t)}));return e.tooltip=t.tooltip||"",e})),{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;const e=null!==(i=null===(t=this.toggles)||void 0===t?void 0:t.filter((t=>t instanceof e$)))&&void 0!==i?i:[];this.ui.inputBox.toggles=e}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const n=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==n&&(this._lastValidationMessage=n,Nl(this.ui.message),function(t,i,e){Nl(i);const s=function(t){const i=[];let e,s=0;for(;e=sz.exec(t);){e.index-s>0&&i.push(t.substring(s,e.index));const[,n,o,,r]=e;i.push(r?{label:n,href:o,title:r}:{label:n,href:o}),s=e.index+e[0].length}return s{var s;(s=i)&&"function"==typeof s.preventDefault&&"function"==typeof s.stopPropagation&&Tl(i,!0),e.callback(t.href)},h=e.disposables.add(new Pk(o,Fl.CLICK)).event,c=e.disposables.add(new Pk(o,Fl.KEY_DOWN)).event,a=ce.chain(c,(t=>t.filter((t=>{const i=new Jh(t);return i.equals(10)||i.equals(3)}))));e.disposables.add(hw.addTarget(o));const l=e.disposables.add(new Pk(o,rw.Tap)).event;ce.any(h,l,a)(r,null,e.disposables),i.appendChild(o)}}(n,this.ui.message,{callback:t=>{this.ui.linkOpenerDelegate(t)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?rt(0,"{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(t){if(this.ui.inputBox.showDecoration(t),t!==nT.Ignore){const i=this.ui.inputBox.stylesForType(t);this.ui.message.style.color=i.foreground?`${i.foreground}`:"",this.ui.message.style.backgroundColor=i.background?`${i.background}`:"",this.ui.message.style.border=i.border?`1px solid ${i.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()}}wz.noPromptMessage=rt(0,"Press 'Enter' to confirm your input or 'Escape' to cancel");class vz extends wz{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new fe),this.onWillAcceptEmitter=this._register(new fe),this.onDidAcceptEmitter=this._register(new fe),this.onDidCustomEmitter=this._register(new fe),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._autoFocusOnList=!0,this._keepScrollPosition=!1,this._itemActivation=Oj.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new fe),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new fe),this.onDidTriggerItemButtonEmitter=this._register(new fe),this.onDidTriggerSeparatorButtonEmitter=this._register(new fe),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this.filterValue=t=>t,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(t){this._quickNavigate=t,this.update()}get value(){return this._value}set value(t){this.doSetValue(t)}doSetValue(t,i){this._value!==t&&(this._value=t,i||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(t){this._ariaLabel=t,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(t){this.ui.list.scrollTop=t}set items(t){this._items=t,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(t){this._canSelectMany=t,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(t){this._canAcceptInBackground=t}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(t){this._matchOnDescription=t,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(t){this._matchOnDetail=t,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(t){this._matchOnLabel=t,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(t){this._matchOnLabelMode=t,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(t){this._sortByLabel=t,this.update()}get autoFocusOnList(){return this._autoFocusOnList}set autoFocusOnList(t){this._autoFocusOnList=t,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(t){this._keepScrollPosition=t}get itemActivation(){return this._itemActivation}set itemActivation(t){this._itemActivation=t}get activeItems(){return this._activeItems}set activeItems(t){this._activeItems=t,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(t){this._selectedItems=t,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?Tj:this.ui.keyMods}set valueSelection(t){this._valueSelection=t,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(t){this._customButton=t,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(t){this._customButtonLabel=t,this.update()}get customHover(){return this._customButtonHover}set customHover(t){this._customButtonHover=t,this.update()}get ok(){return this._ok}set ok(t){this._ok=t,this.update()}get hideInput(){return!!this._hideInput}set hideInput(t){this._hideInput=t,this.update()}trySelectFirst(){this.autoFocusOnList&&(this.canSelectMany||this.ui.list.focus(dz.First))}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange((t=>{this.doSetValue(t,!0)}))),this.visibleDisposables.add(this.ui.inputBox.onMouseDown((()=>{this.autoFocusOnList||this.ui.list.clearFocus()}))),this.visibleDisposables.add((this._hideInput?this.ui.list:this.ui.inputBox).onKeyDown((t=>{switch(t.keyCode){case 18:this.ui.list.focus(dz.Next),this.canSelectMany&&this.ui.list.domFocus(),Tl(t,!0);break;case 16:this.ui.list.getFocusedElements().length?this.ui.list.focus(dz.Previous):this.ui.list.focus(dz.Last),this.canSelectMany&&this.ui.list.domFocus(),Tl(t,!0);break;case 12:this.ui.list.focus(dz.NextPage),this.canSelectMany&&this.ui.list.domFocus(),Tl(t,!0);break;case 11:this.ui.list.focus(dz.PreviousPage),this.canSelectMany&&this.ui.list.domFocus(),Tl(t,!0);break;case 17:if(!this._canAcceptInBackground)return;if(!this.ui.inputBox.isSelectionAtEnd())return;this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!0));break;case 14:!t.ctrlKey&&!t.metaKey||t.shiftKey||t.altKey||(this.ui.list.focus(dz.First),Tl(t,!0));break;case 13:!t.ctrlKey&&!t.metaKey||t.shiftKey||t.altKey||(this.ui.list.focus(dz.Last),Tl(t,!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.ui.list.onDidChangeFocus((t=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&u(t,this._activeItems,((t,i)=>t===i))||(this._activeItems=t,this.onDidChangeActiveEmitter.fire(t))}))),this.visibleDisposables.add(this.ui.list.onDidChangeSelection((({items:t,event:i})=>{this.canSelectMany?t.length&&this.ui.list.setSelectedElements([]):this.selectedItemsToConfirm!==this._selectedItems&&u(t,this._selectedItems,((t,i)=>t===i))||(this._selectedItems=t,this.onDidChangeSelectionEmitter.fire(t),t.length&&this.handleAccept(Ml(i)&&1===i.button))}))),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements((t=>{this.canSelectMany&&(this.selectedItemsToConfirm!==this._selectedItems&&u(t,this._selectedItems,((t,i)=>t===i))||(this._selectedItems=t,this.onDidChangeSelectionEmitter.fire(t)))}))),this.visibleDisposables.add(this.ui.list.onButtonTriggered((t=>this.onDidTriggerItemButtonEmitter.fire(t)))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered((t=>this.onDidTriggerSeparatorButtonEmitter.fire(t)))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(t){let i=!1;this.onWillAcceptEmitter.fire({veto:()=>i=!0}),i||this.onDidAcceptEmitter.fire({inBackground:t})}registerQuickNavigation(){return Ua(this.ui.container,Fl.KEY_UP,(t=>{if(this.canSelectMany||!this._quickNavigate)return;const i=new Jh(t),e=i.keyCode;this._quickNavigate.keybindings.some((t=>{const s=t.getChords();return!(s.length>1||(s[0].shiftKey&&4===e?i.ctrlKey||i.altKey||i.metaKey:!(s[0].altKey&&6===e||s[0].ctrlKey&&5===e||s[0].metaKey&&57===e)))}))&&(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 t=this.keepScrollPosition?this.scrollTop:0,i=!!this.description,e={title:!!this.title||!!this.step||!!this.buttons.length,description:i,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||i,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:"default"===this.ok?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};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||"");let s=this.ariaLabel;if(!s&&e.inputBox&&(s=this.placeholder||vz.DEFAULT_ARIA_LABEL,this.title&&(s+=` - ${this.title}`)),this.ui.list.ariaLabel!==s&&(this.ui.list.ariaLabel=null!=s?s: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)switch(this.itemsUpdated=!1,this.ui.list.setElements(this.items),this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this.ui.checkAll.checked=this.ui.list.getAllVisibleChecked(),this.ui.visibleCount.setCount(this.ui.list.getVisibleCount()),this.ui.count.setCount(this.ui.list.getCheckedCount()),this._itemActivation){case Oj.NONE:this._itemActivation=Oj.FIRST;break;case Oj.SECOND:this.ui.list.focus(dz.Second),this._itemActivation=Oj.FIRST;break;case Oj.LAST:this.ui.list.focus(dz.Last),this._itemActivation=Oj.FIRST;break;default:this.trySelectFirst()}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||"",e.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(dz.First)),this.keepScrollPosition&&(this.scrollTop=t)}}vz.DEFAULT_ARIA_LABEL=rt(0,"Type to narrow down results.");class bz extends wz{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new fe),this.onDidAcceptEmitter=this._register(new fe),this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(t){this._value=t||"",this.update()}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.update()}get password(){return this._password}set password(t){this._password=t,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange((t=>{t!==this.value&&(this._value=t,this.onDidValueChangeEmitter.fire(t))}))),this.visibleDisposables.add(this.ui.onDidAccept((()=>this.onDidAcceptEmitter.fire()))),this.valueSelectionUpdated=!0),super.show()}update(){this.visible&&(this.ui.container.classList.remove("hidden-input"),this.ui.setVisibilities({title:!!this.title||!!this.step||!!this.buttons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0}),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))}}const yz=Wl;class kz extends ie{constructor(t,i,e){super(),this.options=t,this.themeService=i,this.layoutService=e,this.enabled=!0,this.onDidAcceptEmitter=this._register(new fe),this.onDidCustomEmitter=this._register(new fe),this.onDidTriggerButtonEmitter=this._register(new fe),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new fe),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new fe),this.onHide=this.onHideEmitter.event,this.idPrefix=t.idPrefix,this.parentElement=t.container,this.styles=t.styles,this._register(ce.runAndSubscribe(ja,(({window:t,disposables:i})=>this.registerKeyModsListeners(t,i)),{window:Wn,disposables:this._store})),this._register(za((t=>{this.ui&&Ba(this.ui.container)===t&&this.reparentUI(this.layoutService.mainContainer)})))}registerKeyModsListeners(t,i){const e=t=>{this.keyMods.ctrlCmd=t.ctrlKey||t.metaKey,this.keyMods.alt=t.altKey};for(const s of[Fl.KEY_DOWN,Fl.KEY_UP,Fl.MOUSE_DOWN])i.add(Ua(t,s,e,!0))}getUI(t){if(this.ui)return t&&this.parentElement.ownerDocument!==this.layoutService.activeContainer.ownerDocument&&this.reparentUI(this.layoutService.activeContainer),this.ui;const i=Il(this.parentElement,yz(".quick-input-widget.show-file-icons"));i.tabIndex=-1,i.style.display="none";const e=bl(i),s=Il(i,yz(".quick-input-titlebar")),n=this.options.hoverDelegate?{hoverDelegate:this.options.hoverDelegate}:void 0,o=this._register(new XB(s,n));o.domNode.classList.add("quick-input-left-action-bar");const r=Il(s,yz(".quick-input-title")),h=this._register(new XB(s,n));h.domNode.classList.add("quick-input-right-action-bar");const c=Il(i,yz(".quick-input-header")),a=Il(c,yz("input.quick-input-check-all"));a.type="checkbox",a.setAttribute("aria-label",rt(0,"Toggle all checkboxes")),this._register(Ka(a,Fl.CHANGE,(()=>{A.setAllVisibleChecked(a.checked)}))),this._register(Ua(a,Fl.CLICK,(t=>{(t.x||t.y)&&f.setFocus()})));const l=Il(c,yz(".quick-input-description")),u=Il(c,yz(".quick-input-and-message")),d=Il(u,yz(".quick-input-filter")),f=this._register(new qj(d,this.styles.inputBox,this.styles.toggle));f.setAttribute("aria-describedby",`${this.idPrefix}message`);const p=Il(d,yz(".quick-input-visible-count"));p.setAttribute("aria-live","polite"),p.setAttribute("aria-atomic","true");const g=new Pj(p,{countFormat:rt(0,"{0} Results")},this.styles.countBadge),m=Il(d,yz(".quick-input-count"));m.setAttribute("aria-live","polite");const w=new Pj(m,{countFormat:rt(0,"{0} Selected")},this.styles.countBadge),v=Il(c,yz(".quick-input-action")),b=this._register(new Bj(v,this.styles.button));b.label=rt(0,"OK"),this._register(b.onDidClick((()=>{this.onDidAcceptEmitter.fire()})));const y=Il(c,yz(".quick-input-action")),k=this._register(new Bj(y,this.styles.button));k.label=rt(0,"Custom"),this._register(k.onDidClick((()=>{this.onDidCustomEmitter.fire()})));const x=Il(u,yz(`#${this.idPrefix}message.quick-input-message`)),C=this._register(new Vj(i,this.styles.progressBar));C.getContainer().classList.add("quick-input-progress");const S=Il(i,yz(".quick-input-html-widget"));S.tabIndex=-1;const D=Il(i,yz(".quick-input-description")),E=this.idPrefix+"list",A=this._register(new fz(i,E,this.options,this.themeService));f.setAttribute("aria-controls",E),this._register(A.onDidChangeFocus((()=>{var t;f.setAttribute("aria-activedescendant",null!==(t=A.getActiveDescendant())&&void 0!==t?t:"")}))),this._register(A.onChangedAllVisibleChecked((t=>{a.checked=t}))),this._register(A.onChangedVisibleCount((t=>{g.setCount(t)}))),this._register(A.onChangedCheckedCount((t=>{w.setCount(t)}))),this._register(A.onLeave((()=>{setTimeout((()=>{f.setFocus(),this.controller instanceof vz&&this.controller.canSelectMany&&A.clearFocus()}),0)})));const M=Ol(i);return this._register(M),this._register(Ua(i,Fl.FOCUS,(t=>{ll(t.relatedTarget,i)||(this.previousFocusElement=t.relatedTarget instanceof HTMLElement?t.relatedTarget:void 0)}),!0)),this._register(M.onDidBlur((()=>{this.getUI().ignoreFocusOut||this.options.ignoreFocusOut()||this.hide(Rj.Blur),this.previousFocusElement=void 0}))),this._register(Ua(i,Fl.FOCUS,(()=>{f.setFocus()}))),this._register(Ka(i,Fl.KEY_DOWN,(t=>{if(!ll(t.target,S))switch(t.keyCode){case 3:Tl(t,!0),this.enabled&&this.onDidAcceptEmitter.fire();break;case 9:Tl(t,!0),this.hide(Rj.Gesture);break;case 2:if(!t.altKey&&!t.ctrlKey&&!t.metaKey){const e=[".quick-input-list .monaco-action-bar .always-visible",".quick-input-list-entry:hover .monaco-action-bar",".monaco-list-row.focused .monaco-action-bar"];if(i.classList.contains("show-checkboxes")?e.push("input"):e.push("input[type=text]"),this.getUI().list.isDisplayed()&&e.push(".monaco-list"),this.getUI().message&&e.push(".quick-input-message a"),this.getUI().widget){if(ll(t.target,this.getUI().widget))break;e.push(".quick-input-html-widget")}const s=i.querySelectorAll(e.join(", "));t.shiftKey&&t.target===s[0]?(Tl(t,!0),A.clearFocus()):!t.shiftKey&&ll(t.target,s[s.length-1])&&(Tl(t,!0),s[0].focus())}break;case 10:t.ctrlKey&&(Tl(t,!0),this.getUI().list.toggleHover())}}))),this.ui={container:i,styleSheet:e,leftActionBar:o,titleBar:s,title:r,description1:D,description2:l,widget:S,rightActionBar:h,checkAll:a,inputContainer:u,filterContainer:d,inputBox:f,visibleCountContainer:p,visibleCount:g,countContainer:m,count:w,okContainer:v,ok:b,message:x,customButtonContainer:y,customButton:k,list:A,progressBar:C,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:t=>this.show(t),hide:()=>this.hide(),setVisibilities:t=>this.setVisibilities(t),setEnabled:t=>this.setEnabled(t),setContextKey:t=>this.options.setContextKey(t),linkOpenerDelegate:t=>this.options.linkOpenerDelegate(t)},this.updateStyles(),this.ui}reparentUI(t){this.ui&&(this.parentElement=t,Il(this.parentElement,this.ui.container))}pick(t,i={},e=xe.None){return new Promise(((s,n)=>{let o=t=>{var e;o=s,null===(e=i.onKeyMods)||void 0===e||e.call(i,r.keyMods),s(t)};if(e.isCancellationRequested)return void o(void 0);const r=this.createQuickPick();let h;const c=[r,r.onDidAccept((()=>{if(r.canSelectMany)o(r.selectedItems.slice()),r.hide();else{const t=r.activeItems[0];t&&(o(t),r.hide())}})),r.onDidChangeActive((t=>{const e=t[0];e&&i.onDidFocus&&i.onDidFocus(e)})),r.onDidChangeSelection((t=>{if(!r.canSelectMany){const i=t[0];i&&(o(i),r.hide())}})),r.onDidTriggerItemButton((t=>i.onDidTriggerItemButton&&i.onDidTriggerItemButton({...t,removeItem:()=>{const i=r.items.indexOf(t.item);if(-1!==i){const t=r.items.slice(),e=t.splice(i,1),s=r.activeItems.filter((t=>t!==e[0])),n=r.keepScrollPosition;r.keepScrollPosition=!0,r.items=t,s&&(r.activeItems=s),r.keepScrollPosition=n}}}))),r.onDidTriggerSeparatorButton((t=>{var e;return null===(e=i.onDidTriggerSeparatorButton)||void 0===e?void 0:e.call(i,t)})),r.onDidChangeValue((t=>{!h||t||1===r.activeItems.length&&r.activeItems[0]===h||(r.activeItems=[h])})),e.onCancellationRequested((()=>{r.hide()})),r.onDidHide((()=>{Ji(c),o(void 0)}))];r.title=i.title,r.canSelectMany=!!i.canPickMany,r.placeholder=i.placeHolder,r.ignoreFocusOut=!!i.ignoreFocusLost,r.matchOnDescription=!!i.matchOnDescription,r.matchOnDetail=!!i.matchOnDetail,r.matchOnLabel=void 0===i.matchOnLabel||i.matchOnLabel,r.autoFocusOnList=void 0===i.autoFocusOnList||i.autoFocusOnList,r.quickNavigate=i.quickNavigate,r.hideInput=!!i.hideInput,r.contextKey=i.contextKey,r.busy=!0,Promise.all([t,i.activeItem]).then((([t,i])=>{h=i,r.busy=!1,r.items=t,r.canSelectMany&&(r.selectedItems=t.filter((t=>"separator"!==t.type&&t.picked))),h&&(r.activeItems=[h])})),r.show(),Promise.resolve(t).then(void 0,(t=>{n(t),r.hide()}))}))}createQuickPick(){const t=this.getUI(!0);return new vz(t)}createInputBox(){const t=this.getUI(!0);return new bz(t)}show(t){const i=this.getUI(!0);this.onShowEmitter.fire();const e=this.controller;this.controller=t,null==e||e.didHide(),this.setEnabled(!0),i.leftActionBar.clear(),i.title.textContent="",i.description1.textContent="",i.description2.textContent="",Nl(i.widget),i.rightActionBar.clear(),i.checkAll.checked=!1,i.inputBox.placeholder="",i.inputBox.password=!1,i.inputBox.showDecoration(nT.Ignore),i.visibleCount.setCount(0),i.count.setCount(0),Nl(i.message),i.progressBar.stop(),i.list.setElements([]),i.list.matchOnDescription=!1,i.list.matchOnDetail=!1,i.list.matchOnLabel=!0,i.list.sortByLabel=!0,i.ignoreFocusOut=!1,i.inputBox.toggles=void 0;const s=this.options.backKeybindingLabel();mz.tooltip=s?rt(0,"Back ({0})",s):rt(0,"Back"),i.container.style.display="",this.updateLayout(),i.inputBox.setFocus()}isVisible(){return!!this.ui&&"none"!==this.ui.container.style.display}setVisibilities(t){const i=this.getUI();i.title.style.display=t.title?"":"none",i.description1.style.display=t.description&&(t.inputBox||t.checkAll)?"":"none",i.description2.style.display=!t.description||t.inputBox||t.checkAll?"none":"",i.checkAll.style.display=t.checkAll?"":"none",i.inputContainer.style.display=t.inputBox?"":"none",i.filterContainer.style.display=t.inputBox?"":"none",i.visibleCountContainer.style.display=t.visibleCount?"":"none",i.countContainer.style.display=t.count?"":"none",i.okContainer.style.display=t.ok?"":"none",i.customButtonContainer.style.display=t.customButton?"":"none",i.message.style.display=t.message?"":"none",i.progressBar.getContainer().style.display=t.progressBar?"":"none",i.list.display(!!t.list),i.container.classList.toggle("show-checkboxes",!!t.checkBox),i.container.classList.toggle("hidden-input",!t.inputBox&&!t.description),this.updateLayout()}setEnabled(t){if(t!==this.enabled){this.enabled=t;for(const i of this.getUI().leftActionBar.viewItems)i.action.enabled=t;for(const i of this.getUI().rightActionBar.viewItems)i.action.enabled=t;this.getUI().checkAll.disabled=!t,this.getUI().inputBox.enabled=t,this.getUI().ok.enabled=t,this.getUI().list.enabled=t}}hide(t){var i,e;const s=this.controller;if(!s)return;const n=null===(i=this.ui)||void 0===i?void 0:i.container,o=n&&!ll((r=n).ownerDocument.activeElement,r);var r;if(this.controller=null,this.onHideEmitter.fire(),n&&(n.style.display="none"),!o){let t=this.previousFocusElement;for(;t&&!t.offsetParent;)t=null!==(e=t.parentElement)&&void 0!==e?e:void 0;(null==t?void 0:t.offsetParent)?(t.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}s.didHide(t)}layout(t,i){this.dimension=t,this.titleBarOffset=i,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){this.ui.container.style.top=`${this.titleBarOffset}px`;const t=this.ui.container.style,i=Math.min(.62*this.dimension.width,kz.MAX_WIDTH);t.width=i+"px",t.marginLeft="-"+i/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&.4*this.dimension.height)}}applyStyles(t){this.styles=t,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:t,quickInputBackground:i,quickInputForeground:e,widgetBorder:s,widgetShadow:n}=this.styles.widget;this.ui.titleBar.style.backgroundColor=null!=t?t:"",this.ui.container.style.backgroundColor=null!=i?i:"",this.ui.container.style.color=null!=e?e:"",this.ui.container.style.border=s?`1px solid ${s}`:"",this.ui.container.style.boxShadow=n?`0 0 8px 2px ${n}`:"",this.ui.list.style(this.styles.list);const o=[];this.styles.pickerGroup.pickerGroupBorder&&o.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&o.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&o.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)&&(o.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&o.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&o.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&o.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&o.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&o.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),o.push("}"));const r=o.join("\n");r!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=r)}}}kz.MAX_WIDTH=600;var xz=function(t,i){return function(e,s){i(e,s,t)}};let Cz=class extends rx{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(Nj))),this._quickAccess}constructor(t,i,e,s){super(e),this.instantiationService=t,this.contextKeyService=i,this.layoutService=s,this._onShow=this._register(new fe),this._onHide=this._register(new fe),this.contexts=new Map}createController(t=this.layoutService,i){const e={idPrefix:"quickInput_",container:t.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:t=>this.setContextKey(t),linkOpenerDelegate:t=>{this.instantiationService.invokeFunction((i=>{i.get(fP).open(t,{allowCommands:!0,fromUserGesture:!0})}))},returnFocus:()=>t.focus(),createList:(t,i,e,s,n)=>this.instantiationService.createInstance(dj,t,i,e,s,n),styles:this.computeStyles()},s=this._register(new kz({...e,...i},this.themeService,this.layoutService));return s.layout(t.activeContainerDimension,t.activeContainerOffset.quickPickTop),this._register(t.onDidLayoutActiveContainer((i=>s.layout(i,t.activeContainerOffset.quickPickTop)))),this._register(t.onDidChangeActiveContainer((()=>{s.isVisible()||s.layout(t.activeContainerDimension,t.activeContainerOffset.quickPickTop)}))),this._register(s.onShow((()=>{this.resetContextKeys(),this._onShow.fire()}))),this._register(s.onHide((()=>{this.resetContextKeys(),this._onHide.fire()}))),s}setContextKey(t){let i;t&&(i=this.contexts.get(t),i||(i=new ah(t,!1).bindTo(this.contextKeyService),this.contexts.set(t,i))),i&&i.get()||(this.resetContextKeys(),null==i||i.set(!0))}resetContextKeys(){this.contexts.forEach((t=>{t.get()&&t.reset()}))}pick(t,i={},e=xe.None){return this.controller.pick(t,i,e)}createQuickPick(){return this.controller.createQuickPick()}createInputBox(){return this.controller.createInputBox()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:lw(mv),quickInputForeground:lw(wv),quickInputTitleBackground:lw(vv),widgetBorder:lw(xw),widgetShadow:lw(kw)},inputBox:_B,toggle:IB,countBadge:BB,button:RB,progressBar:OB,keybindingLabel:TB,list:$B({listBackground:mv,listFocusBackground:Lb,listFocusForeground:Ab,listInactiveFocusForeground:Ab,listInactiveSelectionIconForeground:Mb,listInactiveFocusBackground:Lb,listFocusOutline:bw,listInactiveFocusOutline:bw}),pickerGroup:{pickerGroupBorder:lw(yv),pickerGroupForeground:lw(bv)}}}};Cz=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([xz(0,dr),xz(1,lh),xz(2,tx),xz(3,KT)],Cz);var Sz=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Dz=function(t,i){return function(e,s){i(e,s,t)}};let Ez=class extends Cz{constructor(t,i,e,s,n){super(i,e,s,new JT(t.getContainerDomNode(),n)),this.host=void 0;const o=Mz.get(t);if(o){const i=o.widget;this.host={_serviceBrand:void 0,get mainContainer(){return i.getDomNode()},getContainer:()=>i.getDomNode(),get containers(){return[i.getDomNode()]},get activeContainer(){return i.getDomNode()},get mainContainerDimension(){return t.getLayoutInfo()},get activeContainerDimension(){return t.getLayoutInfo()},get onDidLayoutMainContainer(){return t.onDidLayoutChange},get onDidLayoutActiveContainer(){return t.onDidLayoutChange},get onDidLayoutContainer(){return ce.map(t.onDidLayoutChange,(t=>({container:i.getDomNode(),dimension:t})))},get onDidChangeActiveContainer(){return ce.None},get onDidAddContainer(){return ce.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>t.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};Ez=Sz([Dz(1,dr),Dz(2,lh),Dz(3,tx),Dz(4,pr)],Ez);let Az=class{get activeService(){const t=this.codeEditorService.getFocusedCodeEditor();if(!t)throw new Error("Quick input service needs a focused editor to work.");let i=this.mapEditorToService.get(t);if(!i){const e=i=this.instantiationService.createInstance(Ez,t);this.mapEditorToService.set(t,i),Zi(t.onDidDispose)((()=>{e.dispose(),this.mapEditorToService.delete(t)}))}return i}get quickAccess(){return this.activeService.quickAccess}constructor(t,i){this.instantiationService=t,this.codeEditorService=i,this.mapEditorToService=new Map}pick(t,i={},e=xe.None){return this.activeService.pick(t,i,e)}createQuickPick(){return this.activeService.createQuickPick()}createInputBox(){return this.activeService.createInputBox()}};Az=Sz([Dz(0,dr),Dz(1,pr)],Az);class Mz{static get(t){return t.getContribution(Mz.ID)}constructor(t){this.editor=t,this.widget=new Lz(this.editor)}dispose(){this.widget.dispose()}}Mz.ID="editor.controller.quickInput";class Lz{constructor(t){this.codeEditor=t,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return Lz.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}Lz.ID="editor.contrib.quickInputWidget",uu(Mz.ID,Mz,4);class Fz{constructor(t,i,e,s,n){this._parsedThemeRuleBrand=void 0,this.token=t,this.index=i,this.fontStyle=e,this.foreground=s,this.background=n}}const Tz=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;class Rz{constructor(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}getId(t){if(null===t)return 0;const i=t.match(Tz);if(!i)throw new Error("Illegal value for token color: "+t);t=i[1].toUpperCase();let e=this._color2id.get(t);return e||(e=++this._lastColorId,this._color2id.set(t,e),this._id2color[e]=ug.fromHex("#"+t),e)}getColorMap(){return this._id2color.slice(0)}}class Oz{static createFromRawTokenTheme(t,i){return this.createFromParsedTokenTheme(function(t){if(!t||!Array.isArray(t))return[];const i=[];let e=0;for(let s=0,n=t.length;s{const e=function(t,i){return ti?1:0}(t.token,i.token);return 0!==e?e:t.index-i.index}));let e=0,s="000000",n="ffffff";for(;t.length>=1&&""===t[0].token;){const i=t.shift();-1!==i.fontStyle&&(e=i.fontStyle),null!==i.foreground&&(s=i.foreground),null!==i.background&&(n=i.background)}const o=new Rz;for(const t of i)o.getId(t);const r=o.getId(s),h=o.getId(n),c=new _z(e,r,h),a=new Nz(c);for(let i=0,e=t.length;i>>0,this._cache.set(i,e)}return(e|t)>>>0}}const Iz=/\b(comment|string|regex|regexp)\b/;class _z{constructor(t,i,e){this._themeTrieElementRuleBrand=void 0,this._fontStyle=t,this._foreground=i,this._background=e,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new _z(this._fontStyle,this._foreground,this._background)}acceptOverwrite(t,i,e){-1!==t&&(this._fontStyle=t),0!==i&&(this._foreground=i),0!==e&&(this._background=e),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}class Nz{constructor(t){this._themeTrieElementBrand=void 0,this._mainRule=t,this._children=new Map}match(t){if(""===t)return this._mainRule;const i=t.indexOf(".");let e,s;-1===i?(e=t,s=""):(e=t.substring(0,i),s=t.substring(i+1));const n=this._children.get(e);return void 0!==n?n.match(s):this._mainRule}insert(t,i,e,s){if(""===t)return void this._mainRule.acceptOverwrite(i,e,s);const n=t.indexOf(".");let o,r;-1===n?(o=t,r=""):(o=t.substring(0,n),r=t.substring(n+1));let h=this._children.get(o);void 0===h&&(h=new Nz(this._mainRule.clone()),this._children.set(o,h)),h.insert(r,i,e,s)}}const Bz={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"098658"},{token:"attribute.value.unit",foreground:"098658"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[lv]:"#FFFFFE",[uv]:"#000000",[Av]:"#E5EBF1",[gx]:"#D3D3D3",[kx]:"#939393",[Mv]:"#ADD6FF4D"}},Pz={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[lv]:"#1E1E1E",[uv]:"#D4D4D4",[Av]:"#3A3D41",[gx]:"#404040",[kx]:"#707070",[Mv]:"#ADD6FF26"}},$z={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[lv]:"#000000",[uv]:"#FFFFFF",[gx]:"#FFFFFF",[kx]:"#FFFFFF"}},Wz={base:"hc-light",inherit:!1,rules:[{token:"",foreground:"292929",background:"FFFFFF"},{token:"invalid",foreground:"B5200D"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"264F70"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"B5200D"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"264F78"},{token:"attribute.value",foreground:"0451A5"},{token:"string",foreground:"A31515"},{token:"string.sql",foreground:"B5200D"},{token:"keyword",foreground:"0000FF"},{token:"keyword.flow",foreground:"AF00DB"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[lv]:"#FFFFFF",[uv]:"#292929",[gx]:"#292929",[kx]:"#292929"}};var jz,zz;!function(t){t.getDefinition=function(t){let i=t.defaults;for(;Sr.isThemeIcon(i);){const t=Hz.getIcon(i.id);if(!t)return;i=t.defaults}return i}}(jz||(jz={})),function(t){t.toJSONObject=function(t){return{weight:t.weight,style:t.style,src:t.src.map((t=>({format:t.format,location:t.location.toString()})))}},t.fromJSONObject=function(t){const i=t=>P(t)?t:void 0;if(t&&Array.isArray(t.src)&&t.src.every((t=>P(t.format)&&P(t.location))))return{weight:i(t.weight),style:i(t.style),src:t.src.map((t=>({format:t.format,location:ws.parse(t.location)})))}}}(zz||(zz={}));const Hz=new class{constructor(){this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:rt(0,"The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:rt(0,"The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${Sr.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(t,i,e,s){const n=this.iconsById[t];if(n){if(e&&!n.description){n.description=e,this.iconSchema.properties[t].markdownDescription=`${e} $(${t})`;const i=this.iconReferenceSchema.enum.indexOf(t);-1!==i&&(this.iconReferenceSchema.enumDescriptions[i]=e),this._onDidChange.fire()}return n}this.iconsById[t]={id:t,description:e,defaults:i,deprecationMessage:s};const o={$ref:"#/definitions/icons"};return s&&(o.deprecationMessage=s),e&&(o.markdownDescription=`${e}: $(${t})`),this.iconSchema.properties[t]=o,this.iconReferenceSchema.enum.push(t),this.iconReferenceSchema.enumDescriptions.push(e||""),this._onDidChange.fire(),{id:t}}getIcons(){return Object.keys(this.iconsById).map((t=>this.iconsById[t]))}getIcon(t){return this.iconsById[t]}getIconSchema(){return this.iconSchema}toString(){const t=(t,i)=>t.id.localeCompare(i.id),i=t=>{for(;Sr.isThemeIcon(t.defaults);)t=this.iconsById[t.defaults.id];return`codicon codicon-${t?t.id:""}`},e=[];e.push("| preview | identifier | default codicon ID | description"),e.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const s=Object.keys(this.iconsById).map((t=>this.iconsById[t]));for(const n of s.filter((t=>!!t.description)).sort(t))e.push(`||${n.id}|${Sr.isThemeIcon(n.defaults)?n.defaults.id:n.id}|${n.description||""}|`);e.push("| preview | identifier "),e.push("| ----------- | --------------------------------- |");for(const n of s.filter((t=>!Sr.isThemeIcon(t.defaults))).sort(t))e.push(`||${n.id}|`);return e.join("\n")}};function Vz(t,i,e,s){return Hz.registerIcon(t,i,e,s)}function Uz(){return Hz}Eh.add("base.contributions.icons",Hz),function(){const t=Os();for(const i in t){const e="\\"+t[i].toString(16);Hz.registerIcon(i,{fontCharacter:e})}}();const qz="vscode://schemas/icons",Kz=Eh.as(Ad);Kz.registerSchema(qz,Hz.getIconSchema());const Gz=new gc((()=>Kz.notifySchemaChanged(qz)),200);Hz.onDidChange((()=>{Gz.isScheduled()||Gz.schedule()}));const Zz=Vz("widget-close",Is.close,rt(0,"Icon for the close action in widgets."));Vz("goto-previous-location",Is.arrowUp,rt(0,"Icon for goto previous editor location.")),Vz("goto-next-location",Is.arrowDown,rt(0,"Icon for goto next editor location.")),Sr.modify(Is.sync,"spin"),Sr.modify(Is.loading,"spin");class Qz{getIcon(t){const i=Uz();let e=t.defaults;for(;Sr.isThemeIcon(e);){const t=i.getIcon(e.id);if(!t)return;e=t.defaults}return e}}const Jz="vs",Yz="vs-dark",Xz="hc-black",tH="hc-light",iH=Eh.as(uw),eH=Eh.as(sx);class sH{constructor(t,i){this.semanticHighlighting=!1,this.themeData=i;const e=i.base;t.length>0?(this.id=nH(t)?t:e+" "+t,this.themeName=t):(this.id=e,this.themeName=e),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 t=new Map;for(const i in this.themeData.colors)t.set(i,ug.fromHex(this.themeData.colors[i]));if(this.themeData.inherit){const i=oH(this.themeData.base);for(const e in i.colors)t.has(e)||t.set(e,ug.fromHex(i.colors[e]))}this.colors=t}return this.colors}getColor(t,i){return this.getColors().get(t)||(!1!==i?this.getDefault(t):void 0)}getDefault(t){let i=this.defaultColors[t];return i||(i=iH.resolveDefaultColor(t,this),this.defaultColors[t]=i,i)}defines(t){return this.getColors().has(t)}get type(){switch(this.base){case Jz:return zy.LIGHT;case Xz:return zy.HIGH_CONTRAST_DARK;case tH:return zy.HIGH_CONTRAST_LIGHT;default:return zy.DARK}}get tokenTheme(){if(!this._tokenTheme){let t=[],i=[];if(this.themeData.inherit){const e=oH(this.themeData.base);t=e.rules,e.encodedTokensColors&&(i=e.encodedTokensColors)}const e=this.themeData.colors["editor.foreground"],s=this.themeData.colors["editor.background"];if(e||s){const i={token:""};e&&(i.foreground=e),s&&(i.background=s),t.push(i)}t=t.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(i=this.themeData.encodedTokensColors),this._tokenTheme=Oz.createFromRawTokenTheme(t,i)}return this._tokenTheme}getTokenStyleMetadata(t,i,e){const s=this.tokenTheme._match([t].concat(i).join(".")).metadata,n=Pg.getForeground(s),o=Pg.getFontStyle(s);return{foreground:n,italic:Boolean(1&o),bold:Boolean(2&o),underline:Boolean(4&o),strikethrough:Boolean(8&o)}}}function nH(t){return t===Jz||t===Yz||t===Xz||t===tH}function oH(t){switch(t){case Jz:return Bz;case Yz:return Pz;case Xz:return $z;case tH:return Wz}}function rH(t){const i=oH(t);return new sH(t,i)}const hH=fr("themeService");var cH=function(t,i){return function(e,s){i(e,s,t)}};let aH=class extends ie{constructor(t,i,e){super(),this._contextKeyService=t,this._layoutService=i,this._configurationService=e,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new fe,this._onDidChangeReducedMotion=new fe,this._accessibilityModeEnabledContext=Jm.bindTo(this._contextKeyService);const s=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration("editor.accessibilitySupport")&&(s(),this._onDidChangeScreenReaderOptimized.fire()),t.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())}))),s(),this._register(this.onDidChangeScreenReaderOptimized((()=>s())));const n=Wn.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=n.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this.initReducedMotionListeners(n)}initReducedMotionListeners(t){this._register(Ua(t,"change",(()=>{this._systemMotionReduced=t.matches,"auto"===this._configMotionReduced&&this._onDidChangeReducedMotion.fire()})));const i=()=>{const t=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("reduce-motion",t),this._layoutService.mainContainer.classList.toggle("enable-motion",!t)};i(),this._register(this.onDidChangeReducedMotion((()=>i())))}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const t=this._configurationService.getValue("editor.accessibilitySupport");return"on"===t||"auto"===t&&2===this._accessibilitySupport}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const t=this._configMotionReduced;return"on"===t||"auto"===t&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};aH=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([cH(0,lh),cH(1,KT),cH(2,gd)],aH);var lH,uH,dH=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},fH=function(t,i){return function(e,s){i(e,s,t)}};let pH=class{constructor(t,i){this._commandService=t,this._hiddenStates=new gH(i)}createMenu(t,i,e){return new wH(t,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...e},this._commandService,i)}resetHiddenStates(t){this._hiddenStates.reset(t)}};pH=dH([fH(0,Dr),fH(1,MB)],pH);let gH=lH=class{constructor(t){this._storageService=t,this._disposables=new te,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{const i=t.get(lH._key,0,"{}");this._data=JSON.parse(i)}catch(t){this._data=Object.create(null)}this._disposables.add(t.onDidChangeValue(0,lH._key,this._disposables)((()=>{if(!this._ignoreChangeEvent)try{const i=t.get(lH._key,0,"{}");this._data=JSON.parse(i)}catch(t){console.log("FAILED to read storage after UPDATE",t)}this._onDidChange.fire()})))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(t,i){var e;return null!==(e=this._hiddenByDefaultCache.get(`${t.id}/${i}`))&&void 0!==e&&e}setDefaultState(t,i,e){this._hiddenByDefaultCache.set(`${t.id}/${i}`,e)}isHidden(t,i){var e,s;const n=this._isHiddenByDefault(t,i),o=null!==(s=null===(e=this._data[t.id])||void 0===e?void 0:e.includes(i))&&void 0!==s&&s;return n?!o:o}updateHidden(t,i,e){this._isHiddenByDefault(t,i)&&(e=!e);const s=this._data[t.id];if(e)s?s.indexOf(i)<0&&s.push(i):this._data[t.id]=[i];else if(s){const e=s.indexOf(i);e>=0&&function(t,i){const e=t.length-1;it[1])));n.length>0&&o.push(new Bh(i,s,n))}}o.length>0&&i.push([s,o])}return i}static _fillInKbExprKeys(t,i){if(t)for(const e of t.keys())i.add(e)}static _compareMenuItems(t,i){const e=t.group,s=i.group;if(e!==s){if(!e)return 1;if(!s)return-1;if("navigation"===e)return-1;if("navigation"===s)return 1;const t=e.localeCompare(s);if(0!==t)return t}const n=t.order||0,o=i.order||0;return no?1:uH._compareTitles(Rh(t)?t.command.title:t.title,Rh(i)?i.command.title:i.title)}static _compareTitles(t,i){return("string"==typeof t?t:t.original).localeCompare("string"==typeof i?i:i.original)}};mH=uH=dH([fH(3,Dr),fH(4,lh)],mH);let wH=class{constructor(t,i,e,s,n){this._disposables=new te,this._menuInfo=new mH(t,i,e.emitEventsForSubmenuChanges,s,n);const o=new gc((()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})}),e.eventDebounceDelay);this._disposables.add(o),this._disposables.add(Nh.onDidChangeMenu((i=>{i.has(t)&&o.schedule()})));const r=this._disposables.add(new te);this._onDidChange=new me({onWillAddFirstListener:()=>{r.add(n.onDidChangeContext((t=>{const i=t.affectsSome(this._menuInfo.structureContextKeys),e=t.affectsSome(this._menuInfo.preconditionContextKeys),s=t.affectsSome(this._menuInfo.toggledContextKeys);(i||e||s)&&this._onDidChange.fire({menu:this,isStructuralChange:i,isEnablementChange:e,isToggleChange:s})}))),r.add(i.onDidChange((()=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})})))},onDidRemoveLastListener:r.clear.bind(r),delay:e.eventDebounceDelay,merge:t=>{let i=!1,e=!1,s=!1;for(const n of t)if(i=i||n.isStructuralChange,e=e||n.isEnablementChange,s=s||n.isToggleChange,i&&e&&s)break;return{menu:this,isStructuralChange:i,isEnablementChange:e,isToggleChange:s}}}),this.onDidChange=this._onDidChange.event}getActions(t){return this._menuInfo.createActionGroups(t)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};function vH(t,i,e){const s=void 0!==i.submenu?i.submenu.id:i.id,n="string"==typeof i.title?i.title:i.title.value,o=xr({id:`hide/${t.id}/${s}`,label:rt(0,"Hide '{0}'",n),run(){e.updateHidden(t,s,!0)}}),r=xr({id:`toggle/${t.id}/${s}`,label:n,get checked(){return!e.isHidden(t,s)},run(){e.updateHidden(t,s,!!this.checked)}});return{hide:o,toggle:r,get isHidden(){return!r.checked}}}wH=dH([fH(3,Dr),fH(4,lh)],wH);var bH=function(t,i){return function(e,s){i(e,s,t)}};let yH=class extends ie{constructor(t,i){super(),this.layoutService=t,this.logService=i,this.mapTextToType=new Map,this.findText="",this.resources=[],(Zo||Qo)&&this.installWebKitWriteTextWorkaround()}installWebKitWriteTextWorkaround(){const t=()=>{const t=new yc;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=t,navigator.clipboard.write([new ClipboardItem({"text/plain":t.p})]).catch((async i=>{i instanceof Error&&"NotAllowedError"===i.name&&t.isRejected||this.logService.error(i)}))};this._register(ce.runAndSubscribe(this.layoutService.onDidAddContainer,(({container:i,disposables:e})=>{e.add(Ua(i,"click",t)),e.add(Ua(i,"keydown",t))}),{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(t,i){if(i)return void this.mapTextToType.set(i,t);if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(t);try{return await navigator.clipboard.writeText(t)}catch(t){console.error(t)}const e=wl(),s=e.activeElement,n=e.body.appendChild(Wl("textarea",{"aria-hidden":!0}));n.style.height="1px",n.style.width="1px",n.style.position="absolute",n.value=t,n.focus(),n.select(),e.execCommand("copy"),s instanceof HTMLElement&&s.focus(),e.body.removeChild(n)}async readText(t){if(t)return this.mapTextToType.get(t)||"";try{return await navigator.clipboard.readText()}catch(t){return console.error(t),""}}async readFindText(){return this.findText}async writeFindText(t){this.findText=t}async writeResources(t){this.resources=t}async readResources(){return this.resources}};yH=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([bH(0,KT),bH(1,zh)],yH);const kH=fr("clipboardService");const xH="data-keybinding-context";class CH{constructor(t,i){this._id=t,this._parent=i,this._value=Object.create(null),this._value._contextId=t}get value(){return{...this._value}}setValue(t,i){return this._value[t]!==i&&(this._value[t]=i,!0)}removeValue(t){return t in this._value&&(delete this._value[t],!0)}getValue(t){const i=this._value[t];return void 0===i&&this._parent?this._parent.getValue(t):i}}class SH extends CH{constructor(){super(-1,null)}setValue(t,i){return!1}removeValue(t){return!1}getValue(t){}}SH.INSTANCE=new SH;class DH extends CH{constructor(t,i,e){super(t,null),this._configurationService=i,this._values=ZO.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration((t=>{if(7===t.source){const t=Array.from(this._values,(([t])=>t));this._values.clear(),e.fire(new MH(t))}else{const i=[];for(const e of t.affectedKeys){const t=`config.${e}`,s=this._values.findSuperstr(t);void 0!==s&&(i.push(...Vt.map(s,(([t])=>t))),this._values.deleteSuperstr(t)),this._values.has(t)&&(i.push(t),this._values.delete(t))}e.fire(new MH(i))}}))}dispose(){this._listener.dispose()}getValue(t){if(0!==t.indexOf(DH._keyPrefix))return super.getValue(t);if(this._values.has(t))return this._values.get(t);const i=t.substr(DH._keyPrefix.length),e=this._configurationService.getValue(i);let s;switch(typeof e){case"number":case"boolean":case"string":s=e;break;default:s=Array.isArray(e)?JSON.stringify(e):e}return this._values.set(t,s),s}setValue(t,i){return super.setValue(t,i)}removeValue(t){return super.removeValue(t)}}DH._keyPrefix="config.";class EH{constructor(t,i,e){this._service=t,this._key=i,this._defaultValue=e,this.reset()}set(t){this._service.setContext(this._key,t)}reset(){void 0===this._defaultValue?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class AH{constructor(t){this.key=t}affectsSome(t){return t.has(this.key)}allKeysContainedIn(t){return this.affectsSome(t)}}class MH{constructor(t){this.keys=t}affectsSome(t){for(const i of this.keys)if(t.has(i))return!0;return!1}allKeysContainedIn(t){return this.keys.every((i=>t.has(i)))}}class LH{constructor(t){this.events=t}affectsSome(t){for(const i of this.events)if(i.affectsSome(t))return!0;return!1}allKeysContainedIn(t){return this.events.every((i=>i.allKeysContainedIn(t)))}}class FH extends ie{constructor(t){super(),this._onDidChangeContext=this._register(new ge({merge:t=>new LH(t)})),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=t}createKey(t,i){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new EH(this,t,i)}bufferChangeEvents(t){this._onDidChangeContext.pause();try{t()}finally{this._onDidChangeContext.resume()}}createScoped(t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new RH(this,t)}contextMatchesRules(t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const i=this.getContextValuesContainer(this._myContextId);return!t||t.evaluate(i)}getContextKeyValue(t){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(t)}setContext(t,i){if(this._isDisposed)return;const e=this.getContextValuesContainer(this._myContextId);e&&e.setValue(t,i)&&this._onDidChangeContext.fire(new AH(t))}removeContext(t){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(t)&&this._onDidChangeContext.fire(new AH(t))}getContext(t){return this._isDisposed?SH.INSTANCE:this.getContextValuesContainer(function(t){for(;t;){if(t.hasAttribute(xH)){const i=t.getAttribute(xH);return i?parseInt(i,10):NaN}t=t.parentElement}return 0}(t))}dispose(){super.dispose(),this._isDisposed=!0}}let TH=class extends FH{constructor(t){super(0),this._contexts=new Map,this._lastContextId=0;const i=this._register(new DH(this._myContextId,t,this._onDidChangeContext));this._contexts.set(this._myContextId,i)}getContextValuesContainer(t){return this._isDisposed?SH.INSTANCE:this._contexts.get(t)||SH.INSTANCE}createChildContext(t=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");const i=++this._lastContextId;return this._contexts.set(i,new CH(i,this.getContextValuesContainer(t))),i}disposeContext(t){this._isDisposed||this._contexts.delete(t)}};TH=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,gd)],TH);class RH extends FH{constructor(t,i){if(super(t.createChildContext()),this._parentChangeListener=this._register(new ee),this._parent=t,this._updateParentChangeListener(),this._domNode=i,this._domNode.hasAttribute(xH)){let t="";this._domNode.classList&&(t=Array.from(this._domNode.classList.values()).join(", ")),console.error("Element already has context attribute"+(t?": "+t:""))}this._domNode.setAttribute(xH,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext((t=>{const i=this._parent.getContextValuesContainer(this._myContextId);t.allKeysContainedIn(new Set(Object.keys(i.value)))||this._onDidChangeContext.fire(t)}))}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(xH),super.dispose())}getContextValuesContainer(t){return this._isDisposed?SH.INSTANCE:this._parent.getContextValuesContainer(t)}createChildContext(t=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(t)}disposeContext(t){this._isDisposed||this._parent.disposeContext(t)}}Er.registerCommand("_setContext",(function(t,i,e){t.get(lh).createKey(String(i),function(t){return X(t,(t=>"object"==typeof t&&1===t.$mid?ws.revive(t).toString():t instanceof ws?t.toString():void 0))}(e))})),Er.registerCommand({id:"getContextKeyInfo",handler:()=>[...ah.all()].sort(((t,i)=>t.key.localeCompare(i.key))),metadata:{description:rt(0,"A command that returns information about context keys"),args:[]}}),Er.registerCommand("_generateContextKeyInfo",(function(){const t=[],i=new Set;for(const e of ah.all())i.has(e.key)||(i.add(e.key),t.push(e));t.sort(((t,i)=>t.key.localeCompare(i.key))),console.log(JSON.stringify(t,void 0,2))}));class OH{constructor(t,i){this.key=t,this.data=i,this.incoming=new Map,this.outgoing=new Map}}class IH{constructor(t){this._hashFn=t,this._nodes=new Map}roots(){const t=[];for(const i of this._nodes.values())0===i.outgoing.size&&t.push(i);return t}insertEdge(t,i){const e=this.lookupOrInsertNode(t),s=this.lookupOrInsertNode(i);e.outgoing.set(s.key,s),s.incoming.set(e.key,e)}removeNode(t){const i=this._hashFn(t);this._nodes.delete(i);for(const t of this._nodes.values())t.outgoing.delete(i),t.incoming.delete(i)}lookupOrInsertNode(t){const i=this._hashFn(t);let e=this._nodes.get(i);return e||(e=new OH(i,t),this._nodes.set(i,e)),e}isEmpty(){return 0===this._nodes.size}toString(){const t=[];for(const[i,e]of this._nodes)t.push(`${i}\n\t(-> incoming)[${[...e.incoming.keys()].join(", ")}]\n\t(outgoing ->)[${[...e.outgoing.keys()].join(",")}]\n`);return t.join("\n")}findCycleSlow(){for(const[t,i]of this._nodes){const e=new Set([t]),s=this._findCycle(i,e);if(s)return s}}_findCycle(t,i){for(const[e,s]of t.outgoing){if(i.has(e))return[...i,e].join(" -> ");i.add(e);const t=this._findCycle(s,i);if(t)return t;i.delete(e)}}}class _H extends Error{constructor(t){var i;super("cyclic dependency between services"),this.message=null!==(i=t.findCycleSlow())&&void 0!==i?i:`UNABLE to detect cycle, dumping graph: \n${t.toString()}`}}class NH{constructor(t=new eT,i=!1,e,s=!1){var n;this._services=t,this._strict=i,this._parent=e,this._enableTracing=s,this._activeInstantiations=new Set,this._services.set(dr,this),this._globalGraph=s?null!==(n=null==e?void 0:e._globalGraph)&&void 0!==n?n:new IH((t=>t)):void 0}createChild(t){return new NH(t,this._strict,this,this._enableTracing)}invokeFunction(t,...i){const e=BH.traceInvocation(this._enableTracing,t);let s=!1;try{return t({get:t=>{if(s)throw Ui("service accessor is only valid during the invocation of its target method");const i=this._getOrCreateServiceInstance(t,e);if(!i)throw new Error(`[invokeFunction] unknown service '${t}'`);return i}},...i)}finally{s=!0,e.stop()}}createInstance(t,...i){let e,s;return t instanceof xd?(e=BH.traceCreation(this._enableTracing,t.ctor),s=this._createInstance(t.ctor,t.staticArguments.concat(i),e)):(e=BH.traceCreation(this._enableTracing,t),s=this._createInstance(t,i,e)),e.stop(),s}_createInstance(t,i=[],e){const s=ur.getServiceDependencies(t).sort(((t,i)=>t.index-i.index)),n=[];for(const i of s){const s=this._getOrCreateServiceInstance(i.id,e);s||this._throwIfStrict(`[createInstance] ${t.name} depends on UNKNOWN service ${i.id}.`,!1),n.push(s)}const o=s.length>0?s[0].index:i.length;if(i.length!==o){console.trace(`[createInstance] First service dependency of ${t.name} at position ${o+1} conflicts with ${i.length} static arguments`);const e=o-i.length;i=e>0?i.concat(new Array(e)):i.slice(0,o)}return Reflect.construct(t,i.concat(n))}_setServiceInstance(t,i){if(this._services.get(t)instanceof xd)this._services.set(t,i);else{if(!this._parent)throw new Error("illegalState - setting UNKNOWN service instance");this._parent._setServiceInstance(t,i)}}_getServiceInstanceOrDescriptor(t){const i=this._services.get(t);return!i&&this._parent?this._parent._getServiceInstanceOrDescriptor(t):i}_getOrCreateServiceInstance(t,i){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(t));const e=this._getServiceInstanceOrDescriptor(t);return e instanceof xd?this._safeCreateAndCacheServiceInstance(t,e,i.branch(t,!0)):(i.branch(t,!1),e)}_safeCreateAndCacheServiceInstance(t,i,e){if(this._activeInstantiations.has(t))throw new Error(`illegal state - RECURSIVELY instantiating service '${t}'`);this._activeInstantiations.add(t);try{return this._createAndCacheServiceInstance(t,i,e)}finally{this._activeInstantiations.delete(t)}}_createAndCacheServiceInstance(t,i,e){var s;const n=new IH((t=>t.id.toString()));let o=0;const r=[{id:t,desc:i,_trace:e}];for(;r.length;){const i=r.pop();if(n.lookupOrInsertNode(i),o++>1e3)throw new _H(n);for(const e of ur.getServiceDependencies(i.desc.ctor)){const o=this._getServiceInstanceOrDescriptor(e.id);if(o||this._throwIfStrict(`[createInstance] ${t} depends on ${e.id} which is NOT registered.`,!0),null===(s=this._globalGraph)||void 0===s||s.insertEdge(String(i.id),String(e.id)),o instanceof xd){const t={id:e.id,desc:o,_trace:i._trace.branch(e.id,!0)};n.insertEdge(i,t),r.push(t)}}}for(;;){const t=n.roots();if(0===t.length){if(!n.isEmpty())throw new _H(n);break}for(const{data:i}of t){if(this._getServiceInstanceOrDescriptor(i.id)instanceof xd){const t=this._createServiceInstanceWithOwner(i.id,i.desc.ctor,i.desc.staticArguments,i.desc.supportsDelayedInstantiation,i._trace);this._setServiceInstance(i.id,t)}n.removeNode(i)}}return this._getServiceInstanceOrDescriptor(t)}_createServiceInstanceWithOwner(t,i,e=[],s,n){if(this._services.get(t)instanceof xd)return this._createServiceInstance(t,i,e,s,n);if(this._parent)return this._parent._createServiceInstanceWithOwner(t,i,e,s,n);throw new Error(`illegalState - creating UNKNOWN service instance ${i.name}`)}_createServiceInstance(t,i,e=[],s,n){if(s){const s=new NH(void 0,this._strict,this,this._enableTracing);s._globalGraphImplicitDependency=String(t);const o=new Map,r=new bc((()=>{const t=s._createInstance(i,e,n);for(const[i,e]of o){const s=t[i];if("function"==typeof s)for(const i of e)s.apply(t,i)}return o.clear(),t}));return new Proxy(Object.create(null),{get(t,i){if(!r.isInitialized&&"string"==typeof i&&(i.startsWith("onDid")||i.startsWith("onWill"))){let t=o.get(i);return t||(t=new qt,o.set(i,t)),(i,e,s)=>Xi(t.push([i,e,s]))}if(i in t)return t[i];const e=r.value;let s=e[i];return"function"!=typeof s||(s=s.bind(e),t[i]=s),s},set:(t,i,e)=>(r.value[i]=e,!0),getPrototypeOf:()=>i.prototype})}return this._createInstance(i,e,n)}_throwIfStrict(t,i){if(i&&console.warn(t),this._strict)throw new Error(t)}}class BH{static traceInvocation(t,i){return t?new BH(2,i.name||(new Error).stack.split("\n").slice(3,4).join("\n")):BH._None}static traceCreation(t,i){return t?new BH(1,i.name):BH._None}constructor(t,i){this.type=t,this.name=i,this._start=Date.now(),this._dep=[]}branch(t,i){const e=new BH(3,t.toString());return this._dep.push([t,i,e]),e}stop(){const t=Date.now()-this._start;BH._totals+=t;let i=!1;const e=[`${1===this.type?"CREATE":"CALL"} ${this.name}`,`${function t(e,s){const n=[],o=new Array(e+1).join("\t");for(const[r,h,c]of s._dep)if(h&&c){i=!0,n.push(`${o}CREATES -> ${r}`);const s=t(e+1,c);s&&n.push(s)}else n.push(`${o}uses -> ${r}`);return n.join("\n")}(1,this)}`,`DONE, took ${t.toFixed(2)}ms (grand total ${BH._totals.toFixed(2)}ms)`];(t>2||i)&&BH.all.add(e.join("\n"))}}BH.all=new Set,BH._None=new class extends BH{constructor(){super(0,null)}stop(){}branch(){return this}},BH._totals=0;const PH=new Set([xa.inMemory,xa.vscodeSourceControl,xa.walkThrough,xa.walkThroughSnippet]);class $H{constructor(){this._byResource=new Hp,this._byOwner=new Map}set(t,i,e){let s=this._byResource.get(t);s||(s=new Map,this._byResource.set(t,s)),s.set(i,e);let n=this._byOwner.get(i);n||(n=new Hp,this._byOwner.set(i,n)),n.set(t,e)}get(t,i){const e=this._byResource.get(t);return null==e?void 0:e.get(i)}delete(t,i){let e=!1,s=!1;const n=this._byResource.get(t);n&&(e=n.delete(i));const o=this._byOwner.get(i);if(o&&(s=o.delete(t)),e!==s)throw new Error("illegal state");return e&&s}values(t){var i,e,s,n;return"string"==typeof t?null!==(e=null===(i=this._byOwner.get(t))||void 0===i?void 0:i.values())&&void 0!==e?e:Vt.empty():ws.isUri(t)?null!==(n=null===(s=this._byResource.get(t))||void 0===s?void 0:s.values())&&void 0!==n?n:Vt.empty():Vt.map(Vt.concat(...this._byOwner.values()),(t=>t[1]))}}class WH{constructor(t){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new Hp,this._service=t,this._subscription=t.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(t){for(const i of t){const t=this._data.get(i);t&&this._substract(t);const e=this._resourceStats(i);this._add(e),this._data.set(i,e)}}_resourceStats(t){const i={errors:0,warnings:0,infos:0,unknowns:0};if(PH.has(t.scheme))return i;for(const{severity:e}of this._service.read({resource:t}))e===yP.Error?i.errors+=1:e===yP.Warning?i.warnings+=1:e===yP.Info?i.infos+=1:i.unknowns+=1;return i}_substract(t){this.errors-=t.errors,this.warnings-=t.warnings,this.infos-=t.infos,this.unknowns-=t.unknowns}_add(t){this.errors+=t.errors,this.warnings+=t.warnings,this.infos+=t.infos,this.unknowns+=t.unknowns}}class jH{constructor(){this._onMarkerChanged=new me({delay:0,merge:jH._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new $H,this._stats=new WH(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(t,i){for(const e of i||[])this.changeOne(t,e,[])}changeOne(t,i,e){if(b(e))this._data.delete(i,t)&&this._onMarkerChanged.fire([i]);else{const s=[];for(const n of e){const e=jH._toMarker(t,i,n);e&&s.push(e)}this._data.set(i,t,s),this._onMarkerChanged.fire([i])}}static _toMarker(t,i,e){let{code:s,severity:n,message:o,source:r,startLineNumber:h,startColumn:c,endLineNumber:a,endColumn:l,relatedInformation:u,tags:d}=e;if(o)return h=h>0?h:1,c=c>0?c:1,a=a>=h?a:h,l=l>0?l:c,{resource:i,owner:t,code:s,severity:n,message:o,source:r,startLineNumber:h,startColumn:c,endLineNumber:a,endColumn:l,relatedInformation:u,tags:d}}changeAll(t,i){const e=[],s=this._data.values(t);if(s)for(const i of s){const s=Vt.first(i);s&&(e.push(s.resource),this._data.delete(s.resource,t))}if(y(i)){const s=new Hp;for(const{resource:n,marker:o}of i){const i=jH._toMarker(t,n,o);if(!i)continue;const r=s.get(n);r?r.push(i):(s.set(n,[i]),e.push(n))}for(const[i,e]of s)this._data.set(i,t,e)}e.length>0&&this._onMarkerChanged.fire(e)}read(t=Object.create(null)){let{owner:i,resource:e,severities:s,take:n}=t;if((!n||n<0)&&(n=-1),i&&e){const t=this._data.get(e,i);if(t){const i=[];for(const e of t)if(jH._accept(e,s)){const t=i.push(e);if(n>0&&t===n)break}return i}return[]}if(i||e){const t=this._data.values(null!=e?e:i),o=[];for(const i of t)for(const t of i)if(jH._accept(t,s)){const i=o.push(t);if(n>0&&i===n)return o}return o}{const t=[];for(const i of this._data.values())for(const e of i)if(jH._accept(e,s)){const i=t.push(e);if(n>0&&i===n)return t}return t}}static _accept(t,i){return void 0===i||(i&t.severity)===t.severity}static _merge(t){const i=new Hp;for(const e of t)for(const t of e)i.set(t,!0);return Array.from(i.keys())}}class zH extends ie{constructor(){super(...arguments),this._configurationModel=new wO}get configurationModel(){return this._configurationModel}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=new wO;const t=Eh.as(Ld).getConfigurationProperties();this.updateConfigurationModel(Object.keys(t),t)}updateConfigurationModel(t,i){const e=this.getConfigurationDefaultOverrides();for(const s of t){const t=e[s],n=i[s];void 0!==t?this._configurationModel.addValue(s,t):n?this._configurationModel.addValue(s,n.default):this._configurationModel.removeValue(s)}}}const HH=fr("audioCue");class VH{static register(t){return new VH(t.fileName)}constructor(t){this.fileName=t}}VH.error=VH.register({fileName:"error.mp3"}),VH.warning=VH.register({fileName:"warning.mp3"}),VH.foldedArea=VH.register({fileName:"foldedAreas.mp3"}),VH.break=VH.register({fileName:"break.mp3"}),VH.quickFixes=VH.register({fileName:"quickFixes.mp3"}),VH.taskCompleted=VH.register({fileName:"taskCompleted.mp3"}),VH.taskFailed=VH.register({fileName:"taskFailed.mp3"}),VH.terminalBell=VH.register({fileName:"terminalBell.mp3"}),VH.diffLineInserted=VH.register({fileName:"diffLineInserted.mp3"}),VH.diffLineDeleted=VH.register({fileName:"diffLineDeleted.mp3"}),VH.diffLineModified=VH.register({fileName:"diffLineModified.mp3"}),VH.chatRequestSent=VH.register({fileName:"chatRequestSent.mp3"}),VH.chatResponsePending=VH.register({fileName:"chatResponsePending.mp3"}),VH.chatResponseReceived1=VH.register({fileName:"chatResponseReceived1.mp3"}),VH.chatResponseReceived2=VH.register({fileName:"chatResponseReceived2.mp3"}),VH.chatResponseReceived3=VH.register({fileName:"chatResponseReceived3.mp3"}),VH.chatResponseReceived4=VH.register({fileName:"chatResponseReceived4.mp3"}),VH.clear=VH.register({fileName:"clear.mp3"}),VH.save=VH.register({fileName:"save.mp3"}),VH.format=VH.register({fileName:"format.mp3"});class UH{constructor(t){this.randomOneOf=t}}class qH{static register(t){const i=new UH("randomOneOf"in t.sound?t.sound.randomOneOf:[t.sound]),e=new qH(i,t.name,t.settingsKey);return qH._audioCues.add(e),e}constructor(t,i,e){this.sound=t,this.name=i,this.settingsKey=e}}qH._audioCues=new Set,qH.error=qH.register({name:rt(0,"Error on Line"),sound:VH.error,settingsKey:"audioCues.lineHasError"}),qH.warning=qH.register({name:rt(0,"Warning on Line"),sound:VH.warning,settingsKey:"audioCues.lineHasWarning"}),qH.foldedArea=qH.register({name:rt(0,"Folded Area on Line"),sound:VH.foldedArea,settingsKey:"audioCues.lineHasFoldedArea"}),qH.break=qH.register({name:rt(0,"Breakpoint on Line"),sound:VH.break,settingsKey:"audioCues.lineHasBreakpoint"}),qH.inlineSuggestion=qH.register({name:rt(0,"Inline Suggestion on Line"),sound:VH.quickFixes,settingsKey:"audioCues.lineHasInlineSuggestion"}),qH.terminalQuickFix=qH.register({name:rt(0,"Terminal Quick Fix"),sound:VH.quickFixes,settingsKey:"audioCues.terminalQuickFix"}),qH.onDebugBreak=qH.register({name:rt(0,"Debugger Stopped on Breakpoint"),sound:VH.break,settingsKey:"audioCues.onDebugBreak"}),qH.noInlayHints=qH.register({name:rt(0,"No Inlay Hints on Line"),sound:VH.error,settingsKey:"audioCues.noInlayHints"}),qH.taskCompleted=qH.register({name:rt(0,"Task Completed"),sound:VH.taskCompleted,settingsKey:"audioCues.taskCompleted"}),qH.taskFailed=qH.register({name:rt(0,"Task Failed"),sound:VH.taskFailed,settingsKey:"audioCues.taskFailed"}),qH.terminalCommandFailed=qH.register({name:rt(0,"Terminal Command Failed"),sound:VH.error,settingsKey:"audioCues.terminalCommandFailed"}),qH.terminalBell=qH.register({name:rt(0,"Terminal Bell"),sound:VH.terminalBell,settingsKey:"audioCues.terminalBell"}),qH.notebookCellCompleted=qH.register({name:rt(0,"Notebook Cell Completed"),sound:VH.taskCompleted,settingsKey:"audioCues.notebookCellCompleted"}),qH.notebookCellFailed=qH.register({name:rt(0,"Notebook Cell Failed"),sound:VH.taskFailed,settingsKey:"audioCues.notebookCellFailed"}),qH.diffLineInserted=qH.register({name:rt(0,"Diff Line Inserted"),sound:VH.diffLineInserted,settingsKey:"audioCues.diffLineInserted"}),qH.diffLineDeleted=qH.register({name:rt(0,"Diff Line Deleted"),sound:VH.diffLineDeleted,settingsKey:"audioCues.diffLineDeleted"}),qH.diffLineModified=qH.register({name:rt(0,"Diff Line Modified"),sound:VH.diffLineModified,settingsKey:"audioCues.diffLineModified"}),qH.chatRequestSent=qH.register({name:rt(0,"Chat Request Sent"),sound:VH.chatRequestSent,settingsKey:"audioCues.chatRequestSent"}),qH.chatResponseReceived=qH.register({name:rt(0,"Chat Response Received"),settingsKey:"audioCues.chatResponseReceived",sound:{randomOneOf:[VH.chatResponseReceived1,VH.chatResponseReceived2,VH.chatResponseReceived3,VH.chatResponseReceived4]}}),qH.chatResponsePending=qH.register({name:rt(0,"Chat Response Pending"),sound:VH.chatResponsePending,settingsKey:"audioCues.chatResponsePending"}),qH.clear=qH.register({name:rt(0,"Clear"),sound:VH.clear,settingsKey:"audioCues.clear"}),qH.save=qH.register({name:rt(0,"Save"),sound:VH.save,settingsKey:"audioCues.save"}),qH.format=qH.register({name:rt(0,"Format"),sound:VH.format,settingsKey:"audioCues.format"});class KH extends ie{constructor(t,i=[]){super(),this.logger=new Kh([t,...i]),this._register(t.onDidChangeLogLevel((t=>this.setLevel(t))))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(t){this.logger.setLevel(t)}getLevel(){return this.logger.getLevel()}trace(t,...i){this.logger.trace(t,...i)}debug(t,...i){this.logger.debug(t,...i)}info(t,...i){this.logger.info(t,...i)}warn(t,...i){this.logger.warn(t,...i)}error(t,...i){this.logger.error(t,...i)}}const GH=[];function ZH(t){GH.push(t)}function QH(){return GH.slice(0)}var JH=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},YH=function(t,i){return function(e,s){i(e,s,t)}};class XH{constructor(t){this.disposed=!1,this.model=t,this._onWillDispose=new fe}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let tV=class{constructor(t){this.modelService=t}createModelReference(t){const i=this.modelService.getModel(t);return i?Promise.resolve(new ne(new XH(i))):Promise.reject(new Error("Model not found"))}};tV=JH([YH(0,gr)],tV);class iV{show(){return iV.NULL_PROGRESS_RUNNER}async showWhile(t,i){await t}}iV.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};class eV{info(t){return this.notify({severity:nT.Info,message:t})}warn(t){return this.notify({severity:nT.Warning,message:t})}error(t){return this.notify({severity:nT.Error,message:t})}notify(t){switch(t.severity){case nT.Error:console.error(t.message);break;case nT.Warning:console.warn(t.message);break;default:console.log(t.message)}return eV.NO_OP}prompt(t,i,e,s){return eV.NO_OP}status(t,i){return ie.None}}eV.NO_OP=new class{};let sV=class{constructor(t){this._onWillExecuteCommand=new fe,this._onDidExecuteCommand=new fe,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=t}executeCommand(t,...i){const e=Er.getCommand(t);if(!e)return Promise.reject(new Error(`command '${t}' not found`));try{this._onWillExecuteCommand.fire({commandId:t,args:i});const s=this._instantiationService.invokeFunction.apply(this._instantiationService,[e.handler,...i]);return this._onDidExecuteCommand.fire({commandId:t,args:i}),Promise.resolve(s)}catch(t){return Promise.reject(t)}}};sV=JH([YH(0,dr)],sV);let nV=class extends MO{constructor(t,i,e,s,n,o){super(t,i,e,s,n),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const r=t=>{const i=new te;i.add(Ua(t,Fl.KEY_DOWN,(t=>{const i=new Jh(t);this._dispatch(i,i.target)&&(i.preventDefault(),i.stopPropagation())}))),i.add(Ua(t,Fl.KEY_UP,(t=>{const i=new Jh(t);this._singleModifierDispatch(i,i.target)&&i.preventDefault()}))),this._domNodeListeners.push(new oV(t,i))},h=t=>{for(let i=0;i{t.getOption(61)||r(t.getContainerDomNode())};this._register(o.onCodeEditorAdd(c)),this._register(o.onCodeEditorRemove((t=>{t.getOption(61)||h(t.getContainerDomNode())}))),o.listCodeEditors().forEach(c);const a=t=>{r(t.getContainerDomNode())};this._register(o.onDiffEditorAdd(a)),this._register(o.onDiffEditorRemove((t=>{h(t.getContainerDomNode())}))),o.listDiffEditors().forEach(a)}addDynamicKeybinding(t,i,e,s){return Yi(Er.registerCommand(t,e),this.addDynamicKeybindings([{keybinding:i,command:t,when:s}]))}addDynamicKeybindings(t){const i=t.map((t=>{var i;return{keybinding:mh(t.keybinding,_t),command:null!==(i=t.command)&&void 0!==i?i:null,commandArgs:t.commandArgs,when:t.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}}));return this._dynamicKeybindings=this._dynamicKeybindings.concat(i),this.updateResolver(),Xi((()=>{for(let t=0;tthis._log(t)))}return this._cachedResolver}_documentHasFocus(){return Wn.document.hasFocus()}_toNormalizedKeybindingItems(t,i){const e=[];let s=0;for(const n of t){const t=n.when||void 0,o=n.keybinding;if(o){const r=$O.resolveKeybinding(o,_t);for(const o of r)e[s++]=new FO(o,n.command,n.commandArgs,t,i,null,!1)}else e[s++]=new FO(void 0,n.command,n.commandArgs,t,i,null,!1)}return e}resolveKeyboardEvent(t){const i=new vh(t.ctrlKey,t.shiftKey,t.altKey,t.metaKey,t.keyCode);return new $O([i],_t)}};nV=JH([YH(0,lh),YH(1,Dr),YH(2,jh),YH(3,rT),YH(4,zh),YH(5,pr)],nV);class oV extends ie{constructor(t,i){super(),this.domNode=t,this._register(i)}}function rV(t){return t&&"object"==typeof t&&(!t.overrideIdentifier||"string"==typeof t.overrideIdentifier)&&(!t.resource||t.resource instanceof ws)}class hV{constructor(){this._onDidChangeConfiguration=new fe,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const t=new zH;this._configuration=new yO(t.reload(),new wO,new wO,new wO),t.dispose()}getValue(t,i){const e="string"==typeof t?t:void 0,s=rV(t)?t:rV(i)?i:{};return this._configuration.getValue(e,s,void 0)}updateValues(t){const i={data:this._configuration.toData()},e=[];for(const i of t){const[t,s]=i;this.getValue(t)!==s&&(this._configuration.updateValue(t,s),e.push(t))}if(e.length>0){const t=new kO({keys:e,overrides:[]},i,this._configuration);t.source=8,t.sourceConfig=null,this._onDidChangeConfiguration.fire(t)}return Promise.resolve()}updateValue(t,i,e,s){return this.updateValues([[t,i]])}inspect(t,i={}){return this._configuration.inspect(t,i,void 0)}}let cV=class{constructor(t,i,e){this.configurationService=t,this.modelService=i,this.languageService=e,this._onDidChangeConfiguration=new fe,this.configurationService.onDidChangeConfiguration((t=>{this._onDidChangeConfiguration.fire({affectedKeys:t.affectedKeys,affectsConfiguration:(i,e)=>t.affectsConfiguration(e)})}))}getValue(t,i,e){const s=Ms.isIPosition(i)?i:null,n=s?"string"==typeof e?e:void 0:"string"==typeof i?i:void 0,o=t?this.getLanguage(t,s):void 0;return void 0===n?this.configurationService.getValue({resource:t,overrideIdentifier:o}):this.configurationService.getValue(n,{resource:t,overrideIdentifier:o})}getLanguage(t,i){const e=this.modelService.getModel(t);return e?i?e.getLanguageIdAtPosition(i.lineNumber,i.column):e.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(t)}};cV=JH([YH(0,gd),YH(1,gr),YH(2,kd)],cV);let aV=class{constructor(t){this.configurationService=t}getEOL(t,i){const e=this.configurationService.getValue("files.eol",{overrideIdentifier:i,resource:t});return e&&"string"==typeof e&&"auto"!==e?e:Dt||St?"\n":"\r\n"}};aV=JH([YH(0,gd)],aV);class lV{constructor(){const t=ws.from({scheme:lV.SCHEME,authority:"model",path:"/"});this.workspace={id:tI,folders:[new XO({uri:t,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(t){return t&&t.scheme===lV.SCHEME?this.workspace.folders[0]:null}}function uV(t,i,e){if(!i)return;if(!(t instanceof hV))return;const s=[];Object.keys(i).forEach((t=>{(function(t){return pO()[`editor.${t}`]||!1})(t)&&s.push([`editor.${t}`,i[t]]),e&&function(t){return pO()[`diffEditor.${t}`]||!1}(t)&&s.push([`diffEditor.${t}`,i[t]])})),s.length>0&&t.updateValues(s)}lV.SCHEME="inmemory";let dV=class{constructor(t){this._modelService=t}hasPreviewHandler(){return!1}async apply(t,i){const e=Array.isArray(t)?t:rO.convert(t),s=new Map;for(const t of e){if(!(t instanceof hO))throw new Error("bad edit - only text edits are supported");const i=this._modelService.getModel(t.resource);if(!i)throw new Error("bad edit - model not found");if("number"==typeof t.versionId&&i.getVersionId()!==t.versionId)throw new Error("bad state - model changed in the meantime");let e=s.get(i);e||(e=[],s.set(i,e)),e.push(gO.replaceMove(Ls.lift(t.textEdit.range),t.textEdit.text))}let n=0,o=0;for(const[t,i]of s)t.pushStackElement(),t.pushEditOperations([],i,(()=>[])),t.pushStackElement(),o+=1,n+=i.length;return{ariaSummary:Kn(cI.bulkEditServiceSummary,n,o),isApplied:n>0}}};dV=JH([YH(0,gr)],dV);let fV=class extends wI{constructor(t,i){super(t),this._codeEditorService=i}showContextView(t,i,e){if(!i){const t=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();t&&(i=t.getContainerDomNode())}return super.showContextView(t,i,e)}};fV=JH([YH(0,KT),YH(1,pr)],fV);let pV=class extends lP{constructor(t,i,e,s,n,o){super(t,i,e,s,n,o),this.configure({blockMouse:!1})}};var gV;let mV,wV,vV;pV=JH([YH(0,jh),YH(1,rT),YH(2,lI),YH(3,rC),YH(4,Ih),YH(5,lh)],pV),Sd(gd,hV,0),Sd(kg,cV,0),Sd(xg,aV,0),Sd(QO,lV,0),Sd(WO,class{getUriLabel(t,i){return"file"===t.scheme?t.fsPath:t.path}getUriBasenameLabel(t){return yA(t)}},0),Sd(jh,class{publicLog2(){}},0),Sd(YT,class{async confirm(t){return{confirmed:this.doConfirm(t.message,t.detail),checkboxChecked:!1}}doConfirm(t,i){let e=t;return i&&(e=e+"\n\n"+i),Wn.confirm(e)}async prompt(t){var i,e;let s;if(this.doConfirm(t.message,t.detail)){const n=[...null!==(i=t.buttons)&&void 0!==i?i:[]];t.cancelButton&&"string"!=typeof t.cancelButton&&"boolean"!=typeof t.cancelButton&&n.push(t.cancelButton),s=await(null===(e=n[0])||void 0===e?void 0:e.run({checkboxChecked:!1}))}return{result:s}}async error(t,i){await this.prompt({type:nT.Error,message:t,detail:i})}},0),Sd(pR,class{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}},0),Sd(rT,eV,0),Sd(xP,jH,0),Sd(kd,class extends AI{constructor(){super()}},0),Sd(hH,class extends ie{constructor(){super(),this._onColorThemeChange=this._register(new fe),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new fe),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new Qz,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(Jz,rH(Jz)),this._knownThemes.set(Yz,rH(Yz)),this._knownThemes.set(Xz,rH(Xz)),this._knownThemes.set(tH,rH(tH));const t=this._register(function(t){const i=new te,e=i.add(new fe),s=Uz();return i.add(s.onDidChange((()=>e.fire()))),t&&i.add(t.onDidProductIconThemeChange((()=>e.fire()))),{dispose:()=>i.dispose(),onDidChange:e.event,getCSS(){const i=t?t.getProductIconTheme():new Qz,e={},n=t=>{const s=i.getIcon(t);if(!s)return;const n=s.font;return n?(e[n.id]=n.definition,`.codicon-${t.id}:before { content: '${s.fontCharacter}'; font-family: ${ql(n.id)}; }`):`.codicon-${t.id}:before { content: '${s.fontCharacter}'; }`},o=[];for(const t of s.getIcons()){const i=n(t);i&&o.push(i)}for(const t in e){const i=e[t],s=i.weight?`font-weight: ${i.weight};`:"",n=i.style?`font-style: ${i.style};`:"",r=i.src.map((t=>`${Ul(t.location)} format('${t.format}')`)).join(", ");o.push(`@font-face { src: ${r}; font-family: ${ql(t)};${s}${n} font-display: block; }`)}return o.join("\n")}}}(this));this._codiconCSS=t.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(Jz),this._onOSSchemeChanged(),this._register(t.onDidChange((()=>{this._codiconCSS=t.getCSS(),this._updateCSS()}))),Ho("(forced-colors: active)",(()=>{this._onOSSchemeChanged()}))}registerEditorContainer(t){return fl(t)?this._registerShadowDomContainer(t):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=bl(void 0,(t=>{t.className="monaco-colors",t.textContent=this._allCSS})),this._styleElements.push(this._globalStyleElement)),ie.None}_registerShadowDomContainer(t){const i=bl(t,(t=>{t.className="monaco-colors",t.textContent=this._allCSS}));return this._styleElements.push(i),{dispose:()=>{for(let t=0;t{i.base===t&&i.notifyBaseUpdated()})),this._theme.themeName===t&&this.setTheme(t)}getColorTheme(){return this._theme}setColorMapOverride(t){this._colorMapOverride=t,this._updateThemeOrColorMap()}setTheme(t){let i;i=this._knownThemes.has(t)?this._knownThemes.get(t):this._knownThemes.get(Jz),this._updateActualTheme(i)}_updateActualTheme(t){t&&this._theme!==t&&(this._theme=t,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const t=Wn.matchMedia("(forced-colors: active)").matches;if(t!==Hy(this._theme.type)){let i;i=Vy(this._theme.type)?t?Xz:Yz:t?tH:Jz,this._updateActualTheme(this._knownThemes.get(i))}}}setAutoDetectHighContrast(t){this._autoDetectHighContrast=t,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const t=[],i={},e={addRule:e=>{i[e]||(t.push(e),i[e]=!0)}};eH.getThemingParticipants().forEach((t=>t(this._theme,e,this._environment)));const s=[];for(const t of iH.getColors()){const i=this._theme.getColor(t.id,!0);i&&s.push(`${aw(t.id)}: ${i.toString()};`)}e.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${s.join("\n")} }`);const n=this._colorMapOverride||this._theme.tokenTheme.getColorMap();e.addRule(function(t){const i=[];for(let e=1,s=t.length;et.textContent=this._allCSS))}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}},0),Sd(zh,class extends KH{constructor(){super(new qh)}},0),Sd(gr,RP,0),Sd(zm,SP,0),Sd(lh,TH,0),Sd(jO,class{withProgress(t,i,e){return i({report:()=>{}})}},0),Sd(HO,iV,0),Sd(MB,class extends FB{constructor(){super(),this.applicationStorage=this._register(new DB(new EB,{hint:CB.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new DB(new EB,{hint:CB.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new DB(new EB,{hint:CB.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage((t=>this.emitDidChangeValue(1,t)))),this._register(this.profileStorage.onDidChangeStorage((t=>this.emitDidChangeValue(0,t)))),this._register(this.applicationStorage.onDidChangeStorage((t=>this.emitDidChangeValue(-1,t))))}getStorage(t){switch(t){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}},0),Sd(bP,Eg,0),Sd(oO,dV,0),Sd(aI,class{constructor(){this._neverEmitter=new fe,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}},0),Sd(mr,tV,0),Sd(Qm,aH,0),Sd(MW,class{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new te,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}setLastFocusedList(t){var i,e;t!==this._lastFocusedWidget&&(null===(i=this._lastFocusedWidget)||void 0===i||i.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=t,null===(e=this._lastFocusedWidget)||void 0===e||e.getHTMLElement().classList.add("last-focused"))}register(t,i){if(this._hasCreatedStyleController||(this._hasCreatedStyleController=!0,new eB(bl(),"").style(PB)),this.lists.some((i=>i.widget===t)))throw new Error("Cannot register the same widget multiple times");const e={widget:t,extraContextKeys:i};return this.lists.push(e),ml(t.getHTMLElement())&&this.setLastFocusedList(t),Yi(t.onDidFocus((()=>this.setLastFocusedList(t))),Xi((()=>this.lists.splice(this.lists.indexOf(e),1))),t.onDidDispose((()=>{this.lists=this.lists.filter((t=>t!==e)),this._lastFocusedWidget===t&&this.setLastFocusedList(void 0)})))}dispose(){this.disposables.dispose()}},0),Sd(Dr,sV,0),Sd(rC,nV,0),Sd(Ij,Az,0),Sd(lI,fV,0),Sd(fP,vP,0),Sd(kH,yH,0),Sd(uI,pV,0),Sd(Ih,pH,0),Sd(HH,class{async playAudioCue(t,i){}},0),Sd(Ym,class{notify(t,i){}},0),function(t){const i=new eT;for(const[t,e]of Dd())i.set(t,e);const e=new NH(i,!0);i.set(dr,e),t.get=function(t){s||o({});const n=i.get(t);if(!n)throw new Error("Missing service "+t);return n instanceof xd?e.invokeFunction((i=>i.get(t))):n};let s=!1;const n=new fe;function o(t){if(s)return e;s=!0;for(const[t,e]of Dd())i.get(t)||i.set(t,e);for(const e in t)if(t.hasOwnProperty(e)){const s=fr(e);i.get(s)instanceof xd&&i.set(s,t[e])}const o=QH();for(const t of o)try{e.createInstance(t)}catch(t){Pi(t)}return n.fire(),e}t.initialize=o,t.withServices=function(t){if(s)return t();const i=new te,e=i.add(n.event((()=>{e.dispose(),i.add(t())})));return i}}(gV||(gV={}));class bV{get TChange(){return null}reportChanges(){this.get()}read(t){return t?t.readObservable(this):this.get()}map(t,i){const e=void 0===i?void 0:t,s=void 0===i?t:i;return wV({owner:e,debugName:()=>{const t=FV(s);if(void 0!==t)return t;const i=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(s.toString());return i?`${this.debugName}.${i[2]}`:e?void 0:`${this.debugName} (mapped)`}},(t=>s(this.read(t),t)))}recomputeInitiallyAndOnChange(t,i){return t.add(mV(this,i)),this}}class yV extends bV{constructor(){super(...arguments),this.observers=new Set}addObserver(t){const i=this.observers.size;this.observers.add(t),0===i&&this.onFirstObserverAdded()}removeObserver(t){this.observers.delete(t)&&0===this.observers.size&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}function kV(t,i){const e=new SV(t,i);try{t(e)}finally{e.finish()}}function xV(t){if(vV)t(vV);else{const i=new SV(t,void 0);vV=i;try{t(i)}finally{i.finish(),vV=void 0}}}function CV(t,i,e){t?i(t):kV(i,e)}class SV{constructor(t,i){this._fn=t,this._getDebugName=i,this.updatingObservers=[]}getDebugName(){return this._getDebugName?this._getDebugName():FV(this._fn)}updateObserver(t,i){this.updatingObservers.push({observer:t,observable:i}),t.beginUpdate(i)}finish(){const t=this.updatingObservers;for(let i=0;i{}),(()=>`Setting ${this.debugName}`)));try{this._setValue(t),void 0;for(const t of this.observers)i.updateObserver(t,this),t.handleChange(this,e)}finally{s&&s.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(t){this._value=t}}function OV(t,i){return"string"==typeof t?new IV(void 0,t,i):new IV(t,void 0,i)}class IV extends RV{_setValue(t){this._value!==t&&(this._value&&this._value.dispose(),this._value=t)}dispose(){var t;null===(t=this._value)||void 0===t||t.dispose()}}const _V=(t,i)=>t===i;function NV(t,i){return void 0!==i?new WV(t,void 0,i,void 0,void 0,void 0,_V):new WV(void 0,void 0,t,void 0,void 0,void 0,_V)}function BV(t,i){var e;return new WV(t.owner,t.debugName,i,void 0,void 0,void 0,null!==(e=t.equalityComparer)&&void 0!==e?e:_V)}function PV(t,i){let e,s;void 0===i?(e=t,s=void 0):(s=t,e=i);const n=new te;return new WV(s,(()=>{var t;return null!==(t=FV(e))&&void 0!==t?t:"(anonymous)"}),(t=>(n.clear(),e(t,n))),void 0,void 0,(()=>n.dispose()),_V)}function $V(t,i){let e,s;void 0===i?(e=t,s=void 0):(s=t,e=i);const n=new te;return new WV(s,(()=>{var t;return null!==(t=FV(e))&&void 0!==t?t:"(anonymous)"}),(t=>{n.clear();const i=e(t);return i&&n.add(i),i}),void 0,void 0,(()=>n.dispose()),_V)}wV=BV;class WV extends yV{get debugName(){var t;return null!==(t=AV(this,this._debugName,this._computeFn,this._owner,this))&&void 0!==t?t:"(anonymous)"}constructor(t,i,e,s,n,o,r){var h;super(),this._owner=t,this._debugName=i,this._computeFn=e,this.createChangeSummary=s,this._handleChange=n,this._handleLastObserverRemoved=o,this._equalityComparator=r,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=null===(h=this.createChangeSummary)||void 0===h?void 0:h.call(this)}onLastObserverRemoved(){var t;this.state=0,this.value=void 0;for(const t of this.dependencies)t.removeObserver(this);this.dependencies.clear(),null===(t=this._handleLastObserverRemoved)||void 0===t||t.call(this)}get(){var t;if(0===this.observers.size){const i=this._computeFn(this,null===(t=this.createChangeSummary)||void 0===t?void 0:t.call(this));return this.onLastObserverRemoved(),i}do{if(1===this.state)for(const t of this.dependencies)if(t.reportChanges(),2===this.state)break;1===this.state&&(this.state=3),this._recomputeIfNeeded()}while(3!==this.state);return this.value}_recomputeIfNeeded(){var t;if(3===this.state)return;const i=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=i;const e=0!==this.state,s=this.value;this.state=3;const n=this.changeSummary;this.changeSummary=null===(t=this.createChangeSummary)||void 0===t?void 0:t.call(this);try{this.value=this._computeFn(this,n)}finally{for(const t of this.dependenciesToBeRemoved)t.removeObserver(this);this.dependenciesToBeRemoved.clear()}const o=e&&!this._equalityComparator(s,this.value);if(void 0,o)for(const t of this.observers)t.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(t){this.updateCount++;const i=1===this.updateCount;if(3===this.state&&(this.state=1,!i))for(const t of this.observers)t.handlePossibleChange(this);if(i)for(const t of this.observers)t.beginUpdate(this)}endUpdate(t){if(this.updateCount--,0===this.updateCount){const t=[...this.observers];for(const i of t)i.endUpdate(this)}if(this.updateCount<0)throw new Gi}handlePossibleChange(t){if(3===this.state&&this.dependencies.has(t)&&!this.dependenciesToBeRemoved.has(t)){this.state=1;for(const t of this.observers)t.handlePossibleChange(this)}}handleChange(t,i){if(this.dependencies.has(t)&&!this.dependenciesToBeRemoved.has(t)){const e=!this._handleChange||this._handleChange({changedObservable:t,change:i,didChange:i=>i===t},this.changeSummary),s=3===this.state;if(e&&(1===this.state||s)&&(this.state=2,s))for(const t of this.observers)t.handlePossibleChange(this)}}readObservable(t){t.addObserver(this);const i=t.get();return this.dependencies.add(t),this.dependenciesToBeRemoved.delete(t),i}addObserver(t){const i=!this.observers.has(t)&&this.updateCount>0;super.addObserver(t),i&&t.beginUpdate(this)}removeObserver(t){const i=this.observers.has(t)&&this.updateCount>0;super.removeObserver(t),i&&t.endUpdate(this)}}function jV(t){return new UV(void 0,t,void 0,void 0)}function zV(t,i){return new UV(t.debugName,i,void 0,void 0)}function HV(t,i){return new UV(t.debugName,i,t.createEmptyChangeSummary,t.handleChange)}function VV(t){const i=new te,e=zV({debugName:()=>FV(t)||"(anonymous)"},(e=>{i.clear(),t(e,i)}));return Xi((()=>{e.dispose(),i.dispose()}))}class UV{get debugName(){if("string"==typeof this._debugName)return this._debugName;if("function"==typeof this._debugName){const t=this._debugName();if(void 0!==t)return t}const t=FV(this._runFn);return void 0!==t?t:"(anonymous)"}constructor(t,i,e,s){var n;this._debugName=t,this._runFn=i,this.createChangeSummary=e,this._handleChange=s,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=null===(n=this.createChangeSummary)||void 0===n?void 0:n.call(this),this._runIfNeeded()}dispose(){this.disposed=!0;for(const t of this.dependencies)t.removeObserver(this);this.dependencies.clear()}_runIfNeeded(){var t,i;if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e,this.state=3;const s=this.disposed;try{if(!s){void 0;const i=this.changeSummary;this.changeSummary=null===(t=this.createChangeSummary)||void 0===t?void 0:t.call(this),this._runFn(this,i)}}finally{s||null===(i=void 0)||void 0===i||i.handleAutorunFinished(this);for(const t of this.dependenciesToBeRemoved)t.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){3===this.state&&(this.state=1),this.updateCount++}endUpdate(){if(1===this.updateCount)do{if(1===this.state){this.state=3;for(const t of this.dependencies)if(t.reportChanges(),2===this.state)break}this._runIfNeeded()}while(3!==this.state);this.updateCount--,Sh((()=>this.updateCount>=0))}handlePossibleChange(t){3===this.state&&this.dependencies.has(t)&&!this.dependenciesToBeRemoved.has(t)&&(this.state=1)}handleChange(t,i){this.dependencies.has(t)&&!this.dependenciesToBeRemoved.has(t)&&(!this._handleChange||this._handleChange({changedObservable:t,change:i,didChange:i=>i===t},this.changeSummary))&&(this.state=2)}readObservable(t){if(this.disposed)return t.get();t.addObserver(this);const i=t.get();return this.dependencies.add(t),this.dependenciesToBeRemoved.delete(t),i}}function qV(t){return new KV(t)}!function(t){t.Observer=UV}(jV||(jV={}));class KV extends bV{constructor(t){super(),this.value=t}get debugName(){return this.toString()}get(){return this.value}addObserver(t){}removeObserver(t){}toString(){return`Const: ${this.value}`}}function GV(t,i){return new ZV(t,i)}class ZV extends yV{constructor(t,i){super(),this.event=t,this._getValue=i,this.hasValue=!1,this.handleEvent=t=>{var i;const e=this._getValue(t),s=this.value,n=!this.hasValue||s!==e;let o=!1;n&&(this.value=e,this.hasValue&&(o=!0,CV(ZV.globalTransaction,(t=>{for(const i of this.observers)t.updateObserver(i,this),i.handleChange(this,void 0)}),(()=>{const t=this.getDebugName();return"Event fired"+(t?`: ${t}`:"")}))),this.hasValue=!0),o||null===(i=void 0)||void 0===i||i.handleFromEventObservableTriggered(this,{oldValue:s,newValue:e,change:void 0,didChange:n,hadValue:this.hasValue})}}getDebugName(){return FV(this._getValue)}get debugName(){const t=this.getDebugName();return"From Event"+(t?`: ${t}`:"")}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 QV(t,i){return new JV(t,i)}!function(t){t.Observer=ZV,t.batchEventsGlobally=function(t,i){let e=!1;void 0===ZV.globalTransaction&&(ZV.globalTransaction=t,e=!0);try{i()}finally{e&&(ZV.globalTransaction=void 0)}}}(GV||(GV={}));class JV extends yV{constructor(t,i){super(),this.debugName=t,this.event=i,this.handleEvent=()=>{kV((t=>{for(const i of this.observers)t.updateObserver(i,this),i.handleChange(this,void 0)}),(()=>this.debugName))}}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}function YV(t){return"string"==typeof t?new XV(t):new XV(void 0,t)}class XV extends yV{get debugName(){var t;return null!==(t=AV(this,this._debugName,void 0,this._owner,this))&&void 0!==t?t:"Observable Signal"}constructor(t,i){super(),this._debugName=t,this._owner=i}trigger(t,i){if(t)for(const e of this.observers)t.updateObserver(e,this),e.handleChange(this,i);else kV((t=>{this.trigger(t,i)}),(()=>`Trigger signal ${this.debugName}`))}get(){}}function tU(t,i){const e=new iU(!0,i);return t.addObserver(e),i?i(t.get()):t.reportChanges(),Xi((()=>{t.removeObserver(e)}))}!function(t){mV=t}(tU);class iU{constructor(t,i){this._forceRecompute=t,this._handleValue=i,this._counter=0}beginUpdate(t){this._counter++}endUpdate(t){this._counter--,0===this._counter&&this._forceRecompute&&(this._handleValue?this._handleValue(t.get()):t.reportChanges())}handlePossibleChange(t){}handleChange(t,i){}}class eU{static capture(t){if(0===t.getScrollTop()||t.hasPendingScrollAnimation())return new eU(t.getScrollTop(),t.getContentHeight(),null,0,null);let i=null,e=0;const s=t.getVisibleRanges();if(s.length>0){i=s[0].getStartPosition();const n=t.getTopForPosition(i.lineNumber,i.column);e=t.getScrollTop()-n}return new eU(t.getScrollTop(),t.getContentHeight(),i,e,t.getPosition())}constructor(t,i,e,s,n){this._initialScrollTop=t,this._initialContentHeight=i,this._visiblePosition=e,this._visiblePositionScrollDelta=s,this._cursorPosition=n}restore(t){if((this._initialContentHeight!==t.getContentHeight()||this._initialScrollTop!==t.getScrollTop())&&this._visiblePosition){const i=t.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);t.setScrollTop(i+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(t){if(this._initialContentHeight===t.getContentHeight()&&this._initialScrollTop===t.getScrollTop())return;const i=t.getPosition();if(!this._cursorPosition||!i)return;const e=t.getTopForLineNumber(i.lineNumber)-t.getTopForLineNumber(this._cursorPosition.lineNumber);t.setScrollTop(t.getScrollTop()+e)}}function sU(){return je&&!!je.VSCODE_DEV}function nU(t){if(sU()){const i=function(){oU||(oU=new Set);const t=globalThis;return t.$hotReload_applyNewExports||(t.$hotReload_applyNewExports=t=>{for(const i of oU){const e=i(t);if(e)return e}}),oU}();return i.add(t),{dispose(){i.delete(t)}}}return{dispose(){}}}let oU;function rU(t,i){const e=new te,s=t.createDecorationsCollection();return e.add(zV({debugName:()=>`Apply decorations from ${i.debugName}`},(t=>{const e=i.read(t);s.set(e)}))),e.add({dispose:()=>{s.clear()}}),e}function hU(t,i){return t.appendChild(i),Xi((()=>{t.removeChild(i)}))}sU()&&nU((({oldExports:t,newSrc:i})=>{if(-1!==i.indexOf("/* hot-reload:patch-prototype-methods */"))return i=>{var e,s;for(const n in i){const o=i[n];if(console.log(`[hot-reload] Patching prototype methods of '${n}'`,{exportedItem:o}),"function"==typeof o&&o.prototype){const r=t[n];if(r){for(const t of Object.getOwnPropertyNames(o.prototype)){const i=Object.getOwnPropertyDescriptor(o.prototype,t),h=Object.getOwnPropertyDescriptor(r.prototype,t);(null===(e=null==i?void 0:i.value)||void 0===e?void 0:e.toString())!==(null===(s=null==h?void 0:h.value)||void 0===s?void 0:s.toString())&&console.log(`[hot-reload] Patching prototype method '${n}.${t}'`),Object.defineProperty(r.prototype,t,i)}i[n]=r}}}return!0}}));class cU extends ie{get width(){return this._width}get height(){return this._height}constructor(t,i){super(),this.elementSizeObserver=this._register(new Vm(t,i)),this._width=TV(this,this.elementSizeObserver.getWidth()),this._height=TV(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange((()=>kV((t=>{this._width.set(this.elementSizeObserver.getWidth(),t),this._height.set(this.elementSizeObserver.getHeight(),t)})))))}observe(t){this.elementSizeObserver.observe(t)}setAutomaticLayout(t){t?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}function aU(t,i,e){let s=i.get(),n=s,o=s;const r=TV("animatedValue",s);let h,c=-1;function a(){const i=Date.now()-c;var e,l,u;o=Math.floor((l=n,u=s-n,(e=i)===300?l+u:u*(1-Math.pow(2,-10*e/300))+l)),i<300?h=t.requestAnimationFrame(a):o=s,r.set(o,void 0)}return e.add(HV({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(t,e)=>(t.didChange(i)&&(e.animate=e.animate||t.change),!0)},((e,r)=>{void 0!==h&&(t.cancelAnimationFrame(h),h=void 0),n=o,s=i.read(e),c=Date.now()-(r.animate?0:300),a()}))),r}class lU extends ie{constructor(t,i,e){super(),this._register(new dU(t,e)),this._register(fU(e,{height:i.actualHeight,top:i.actualTop}))}}class uU{get afterLineNumber(){return this._afterLineNumber.get()}constructor(t,i){this._afterLineNumber=t,this.heightInPx=i,this.domNode=document.createElement("div"),this._actualTop=TV(this,void 0),this._actualHeight=TV(this,void 0),this.actualTop=this._actualTop,this.actualHeight=this._actualHeight,this.showInHiddenAreas=!0,this.onChange=this._afterLineNumber,this.onDomNodeTop=t=>{this._actualTop.set(t,void 0)},this.onComputedHeight=t=>{this._actualHeight.set(t,void 0)}}}class dU{constructor(t,i){this._editor=t,this._domElement=i,this._overlayWidgetId="managedOverlayWidget-"+dU._counter++,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}function fU(t,i){return jV((e=>{for(let[s,n]of Object.entries(i))n&&"object"==typeof n&&"read"in n&&(n=n.read(e)),"number"==typeof n&&(n=`${n}px`),s=s.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase())),t.style[s]=n}))}function pU(t,i){return function(t,i){sU()&&QV("reload",(i=>nU((({oldExports:e})=>{if([...Object.values(e)].some((i=>t.includes(i))))return()=>(i(void 0),!0)})))).read(i)}([t],i),t}function gU(t,i,e,s){const n=new te,o=[];return n.add(VV(((n,r)=>{const h=i.read(n),c=new Map,a=new Map;e&&e(!0),t.changeViewZones((t=>{for(const i of o)t.removeZone(i),null==s||s.delete(i);o.length=0;for(const i of h){const e=t.addZone(i);i.setZoneId&&i.setZoneId(e),o.push(e),null==s||s.add(e),c.set(i,e)}})),e&&e(!1),r.add(HV({createEmptyChangeSummary:()=>({zoneIds:[]}),handleChange(t,i){const e=a.get(t.changedObservable);return void 0!==e&&i.zoneIds.push(e),!0}},((i,s)=>{for(const t of h)t.onChange&&(a.set(t.onChange,c.get(t)),t.onChange.read(i));e&&e(!0),t.changeViewZones((t=>{for(const i of s.zoneIds)t.layoutZone(i)})),e&&e(!1)})))}))),n.add({dispose(){e&&e(!0),t.changeViewZones((t=>{for(const i of o)t.removeZone(i)})),null==s||s.clear(),e&&e(!1)}}),n}dU._counter=0;class mU extends Se{dispose(){super.dispose(!0)}}function wU(t,i){const e=hp(i,(i=>i.original.startLineNumber<=t.lineNumber));if(!e)return Ls.fromPositions(t);if(e.original.endLineNumberExclusive<=t.lineNumber)return Ls.fromPositions(new Ms(t.lineNumber-e.original.endLineNumberExclusive+e.modified.endLineNumberExclusive,t.column));if(!e.innerChanges)return Ls.fromPositions(new Ms(e.modified.startLineNumber,1));const s=hp(e.innerChanges,(i=>i.originalRange.getStartPosition().isBeforeOrEqual(t)));if(!s)return Ls.fromPositions(new Ms(t.lineNumber-e.original.startLineNumber+e.modified.startLineNumber,t.column));if(s.originalRange.containsPosition(t))return s.modifiedRange;{const i=(n=s.originalRange.getEndPosition()).lineNumber===(o=t).lineNumber?new YD(0,o.column-n.column):new YD(o.lineNumber-n.lineNumber,o.column-1);return Ls.fromPositions(function(t,i){return 0===i.lineCount?new Ms(t.lineNumber,t.column+i.columnCount):new Ms(t.lineNumber+i.lineCount,i.columnCount+1)}(s.modifiedRange.getEndPosition(),i))}var n,o}function vU(t,i,e){const s=t.bindTo(i);return zV({debugName:()=>`Update ${t.key}`},(t=>{s.set(e(t))}))}var bU=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},yU=function(t,i){return function(e,s){i(e,s,t)}};const kU=Vz("diff-review-insert",Is.add,rt(0,"Icon for 'Insert' in accessible diff viewer.")),xU=Vz("diff-review-remove",Is.remove,rt(0,"Icon for 'Remove' in accessible diff viewer.")),CU=Vz("diff-review-close",Is.close,rt(0,"Icon for 'Close' in accessible diff viewer."));let SU=class extends ie{constructor(t,i,e,s,n,o,r,h,c){super(),this._parentNode=t,this._visible=i,this._setVisible=e,this._canClose=s,this._width=n,this._height=o,this._diffs=r,this._editors=h,this._instantiationService=c,this._state=PV(this,((t,i)=>{const e=this._visible.read(t);if(this._parentNode.style.visibility=e?"visible":"hidden",!e)return null;const s=i.add(this._instantiationService.createInstance(DU,this._diffs,this._editors,this._setVisible,this._canClose));return{model:s,view:i.add(this._instantiationService.createInstance(OU,this._parentNode,s,this._width,this._height,this._editors))}})).recomputeInitiallyAndOnChange(this._store)}next(){kV((t=>{const i=this._visible.get();this._setVisible(!0,t),i&&this._state.get().model.nextGroup(t)}))}prev(){kV((t=>{this._setVisible(!0,t),this._state.get().model.previousGroup(t)}))}close(){kV((t=>{this._setVisible(!1,t)}))}};SU._ttPolicy=Lu("diffReview",{createHTML:t=>t}),SU=bU([yU(8,dr)],SU);let DU=class extends ie{constructor(t,i,e,s,n){super(),this._diffs=t,this._editors=i,this._setVisible=e,this.canClose=s,this._audioCueService=n,this._groups=TV(this,[]),this._currentGroupIdx=TV(this,0),this._currentElementIdx=TV(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map(((t,i)=>this._groups.read(i)[t])),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map(((t,i)=>{var e;return null===(e=this.currentGroup.read(i))||void 0===e?void 0:e.lines[t]})),this._register(jV((t=>{const i=this._diffs.read(t);if(!i)return void this._groups.set([],void 0);const e=function(t,i,e){const s=[];for(const n of g(t,((t,i)=>i.modified.startLineNumber-t.modified.endLineNumberExclusive<2*EU))){const t=[];t.push(new LU);const o=new pp(Math.max(1,n[0].original.startLineNumber-EU),Math.min(n[n.length-1].original.endLineNumberExclusive+EU,i+1)),r=new pp(Math.max(1,n[0].modified.startLineNumber-EU),Math.min(n[n.length-1].modified.endLineNumberExclusive+EU,e+1));m(n,((i,e)=>{const s=new pp(i?i.original.endLineNumberExclusive:o.startLineNumber,e?e.original.startLineNumber:o.endLineNumberExclusive),n=new pp(i?i.modified.endLineNumberExclusive:r.startLineNumber,e?e.modified.startLineNumber:r.endLineNumberExclusive);s.forEach((i=>{t.push(new RU(i,n.startLineNumber+(i-s.startLineNumber)))})),e&&(e.original.forEach((i=>{t.push(new FU(e,i))})),e.modified.forEach((i=>{t.push(new TU(e,i))})))}));const h=n[0].modified.join(n[n.length-1].modified),c=n[0].original.join(n[n.length-1].original);s.push(new MU(new mp(h,c),t))}return s}(i,this._editors.original.getModel().getLineCount(),this._editors.modified.getModel().getLineCount());kV((t=>{const i=this._editors.modified.getPosition();if(i){const s=e.findIndex((t=>(null==i?void 0:i.lineNumber){const i=this.currentElement.read(t);(null==i?void 0:i.type)===AU.Deleted?this._audioCueService.playAudioCue(qH.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):(null==i?void 0:i.type)===AU.Added&&this._audioCueService.playAudioCue(qH.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})}))),this._register(jV((t=>{var i;const e=this.currentElement.read(t);if(e&&e.type!==AU.Header){const t=null!==(i=e.modifiedLineNumber)&&void 0!==i?i:e.diff.modified.startLineNumber;this._editors.modified.setSelection(Ls.fromPositions(new Ms(t,1)))}})))}_goToGroupDelta(t,i){const e=this.groups.get();!e||e.length<=1||CV(i,(i=>{this._currentGroupIdx.set(op.ofLength(e.length).clipCyclic(this._currentGroupIdx.get()+t),i),this._currentElementIdx.set(0,i)}))}nextGroup(t){this._goToGroupDelta(1,t)}previousGroup(t){this._goToGroupDelta(-1,t)}_goToLineDelta(t){const i=this.currentGroup.get();!i||i.lines.length<=1||kV((e=>{this._currentElementIdx.set(op.ofLength(i.lines.length).clip(this._currentElementIdx.get()+t),e)}))}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(t){const i=this.currentGroup.get();if(!i)return;const e=i.lines.indexOf(t);-1!==e&&kV((t=>{this._currentElementIdx.set(e,t)}))}revealCurrentElementInEditor(){this._setVisible(!1,void 0);const t=this.currentElement.get();t&&(t.type===AU.Deleted?(this._editors.original.setSelection(Ls.fromPositions(new Ms(t.originalLineNumber,1))),this._editors.original.revealLine(t.originalLineNumber),this._editors.original.focus()):(t.type!==AU.Header&&(this._editors.modified.setSelection(Ls.fromPositions(new Ms(t.modifiedLineNumber,1))),this._editors.modified.revealLine(t.modifiedLineNumber)),this._editors.modified.focus()))}close(){this._setVisible(!1,void 0),this._editors.modified.focus()}};DU=bU([yU(4,HH)],DU);const EU=3;var AU;!function(t){t[t.Header=0]="Header",t[t.Unchanged=1]="Unchanged",t[t.Deleted=2]="Deleted",t[t.Added=3]="Added"}(AU||(AU={}));class MU{constructor(t,i){this.range=t,this.lines=i}}class LU{constructor(){this.type=AU.Header}}class FU{constructor(t,i){this.diff=t,this.originalLineNumber=i,this.type=AU.Deleted,this.modifiedLineNumber=void 0}}class TU{constructor(t,i){this.diff=t,this.modifiedLineNumber=i,this.type=AU.Added,this.originalLineNumber=void 0}}class RU{constructor(t,i){this.originalLineNumber=t,this.modifiedLineNumber=i,this.type=AU.Unchanged}}let OU=class extends ie{constructor(t,i,e,s,n,o){super(),this._element=t,this._model=i,this._width=e,this._height=s,this._editors=n,this._languageService=o,this.domNode=this._element,this.domNode.className="diff-review monaco-editor-background";const r=document.createElement("div");r.className="diff-review-actions",this._actionBar=this._register(new XB(r)),this._register(jV((t=>{this._actionBar.clear(),this._model.canClose.read(t)&&this._actionBar.push(new wr("diffreview.close",rt(0,"Close"),"close-diff-review "+Sr.asClassName(CU),!0,(async()=>i.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 Rk(this._content,{})),Nl(this.domNode,this._scrollbar.getDomNode(),r),this._register(Xi((()=>{Nl(this.domNode)}))),this._register(fU(this.domNode,{width:this._width,height:this._height})),this._register(fU(this._content,{width:this._width,height:this._height})),this._register(VV(((t,i)=>{this._model.currentGroup.read(t),this._render(i)}))),this._register(Ka(this.domNode,"keydown",(t=>{(t.equals(18)||t.equals(2066)||t.equals(530))&&(t.preventDefault(),this._model.goToNextLine()),(t.equals(16)||t.equals(2064)||t.equals(528))&&(t.preventDefault(),this._model.goToPreviousLine()),(t.equals(9)||t.equals(2057)||t.equals(521)||t.equals(1033))&&(t.preventDefault(),this._model.close()),(t.equals(10)||t.equals(3))&&(t.preventDefault(),this._model.revealCurrentElementInEditor())})))}_render(t){const i=this._editors.original.getOptions(),e=this._editors.modified.getOptions(),s=document.createElement("div");s.className="diff-review-table",s.setAttribute("role","list"),s.setAttribute("aria-label",rt(0,"Accessible Diff Viewer. Use arrow up and down to navigate.")),er(s,e.get(50)),Nl(this._content,s);const n=this._editors.original.getModel(),o=this._editors.modified.getModel();if(!n||!o)return;const r=n.getOptions(),h=o.getOptions(),c=e.get(66),a=this._model.currentGroup.get();for(const l of(null==a?void 0:a.lines)||[]){if(!a)break;let u;if(l.type===AU.Header){const t=document.createElement("div");t.className="diff-review-row",t.setAttribute("role","listitem");const i=a.range,e=this._model.currentGroupIndex.get(),s=this._model.groups.get().length,n=t=>0===t?rt(0,"no lines changed"):1===t?rt(0,"1 line changed"):rt(0,"{0} lines changed",t),o=n(i.original.length),r=n(i.modified.length);t.setAttribute("aria-label",rt(0,"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",e+1,s,i.original.startLineNumber,o,i.modified.startLineNumber,r));const h=document.createElement("div");h.className="diff-review-cell diff-review-summary",h.appendChild(document.createTextNode(`${e+1}/${s}: @@ -${i.original.startLineNumber},${i.original.length} +${i.modified.startLineNumber},${i.modified.length} @@`)),t.appendChild(h),u=t}else u=this._createRow(l,c,this._width.get(),i,n,r,e,o,h);s.appendChild(u);const d=NV((t=>this._model.currentElement.read(t)===l));t.add(jV((t=>{const i=d.read(t);u.tabIndex=i?0:-1,i&&u.focus()}))),t.add(Ua(u,"focus",(()=>{this._model.goToLine(l)})))}this._scrollbar.scanDomNode()}_createRow(t,i,e,s,n,o,r,h,c){const a=s.get(143),l=a.glyphMarginWidth+a.lineNumbersWidth,u=r.get(143),d=10+u.glyphMarginWidth+u.lineNumbersWidth;let f="diff-review-row",p="",g=null;switch(t.type){case AU.Added:f="diff-review-row line-insert",p=" char-insert",g=kU;break;case AU.Deleted:f="diff-review-row line-delete",p=" char-delete",g=xU}const m=document.createElement("div");m.style.minWidth=e+"px",m.className=f,m.setAttribute("role","listitem"),m.ariaLevel="";const w=document.createElement("div");w.className="diff-review-cell",w.style.height=`${i}px`,m.appendChild(w);const v=document.createElement("span");v.style.width=l+"px",v.style.minWidth=l+"px",v.className="diff-review-line-number"+p,void 0!==t.originalLineNumber?v.appendChild(document.createTextNode(String(t.originalLineNumber))):v.innerText=" ",w.appendChild(v);const b=document.createElement("span");b.style.width=d+"px",b.style.minWidth=d+"px",b.style.paddingRight="10px",b.className="diff-review-line-number"+p,void 0!==t.modifiedLineNumber?b.appendChild(document.createTextNode(String(t.modifiedLineNumber))):b.innerText=" ",w.appendChild(b);const y=document.createElement("span");if(y.className="diff-review-spacer",g){const t=document.createElement("span");t.className=Sr.asClassName(g),t.innerText="  ",y.appendChild(t)}else y.innerText="  ";let k;if(w.appendChild(y),void 0!==t.modifiedLineNumber){let i=this._getLineHtml(h,r,c.tabSize,t.modifiedLineNumber,this._languageService.languageIdCodec);SU._ttPolicy&&(i=SU._ttPolicy.createHTML(i)),w.insertAdjacentHTML("beforeend",i),k=h.getLineContent(t.modifiedLineNumber)}else{let i=this._getLineHtml(n,s,o.tabSize,t.originalLineNumber,this._languageService.languageIdCodec);SU._ttPolicy&&(i=SU._ttPolicy.createHTML(i)),w.insertAdjacentHTML("beforeend",i),k=n.getLineContent(t.originalLineNumber)}0===k.length&&(k=rt(0,"blank"));let x="";switch(t.type){case AU.Unchanged:x=t.originalLineNumber===t.modifiedLineNumber?rt(0,"{0} unchanged line {1}",k,t.originalLineNumber):rt(0,"{0} original line {1} modified line {2}",k,t.originalLineNumber,t.modifiedLineNumber);break;case AU.Added:x=rt(0,"+ {0} modified line {1}",k,t.modifiedLineNumber);break;case AU.Deleted:x=rt(0,"- {0} original line {1}",k,t.originalLineNumber)}return m.setAttribute("aria-label",x),m}_getLineHtml(t,i,e,s,n){const o=t.getLineContent(s),r=i.get(50),h=$g.createEmpty(o,n),c=om.isBasicASCII(o,t.mightContainNonBasicASCII()),a=om.containsRTL(o,c,t.mightContainRTL());return Xg(new Kg(r.isMonospace&&!i.get(33),r.canUseHalfwidthRightwardsArrow,o,!1,c,a,0,h,[],e,0,r.spaceWidth,r.middotWidth,r.wsmiddotWidth,i.get(116),i.get(98),i.get(93),i.get(51)!==vi.OFF,null)).html}};OU=bU([yU(5,kd)],OU);const IU=Vz("diff-insert",Is.add,rt(0,"Line decoration for inserts in the diff editor.")),_U=Vz("diff-remove",Is.remove,rt(0,"Line decoration for removals in the diff editor.")),NU=ML.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+Sr.asClassName(IU),marginClassName:"gutter-insert"}),BU=ML.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+Sr.asClassName(_U),marginClassName:"gutter-delete"}),PU=ML.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),$U=ML.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),WU=ML.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),jU=ML.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),zU=ML.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),HU=ML.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),VU=ML.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),UU=ML.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"});class qU extends ie{constructor(t,i,e,s,n){super(),this._rootElement=t,this._diffModel=i,this._originalEditorLayoutInfo=e,this._modifiedEditorLayoutInfo=s,this._editors=n,this._originalScrollTop=GV(this._editors.original.onDidScrollChange,(()=>this._editors.original.getScrollTop())),this._modifiedScrollTop=GV(this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop())),this._viewZonesChanged=QV("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=TV(this,0),this._modifiedViewZonesChangedSignal=QV("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=QV("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=PV(this,((t,i)=>{var e;this._element.replaceChildren();const s=this._diffModel.read(t),n=null===(e=null==s?void 0:s.diff.read(t))||void 0===e?void 0:e.movedTexts;if(!n||0===n.length)return void this.width.set(0,void 0);this._viewZonesChanged.read(t);const o=this._originalEditorLayoutInfo.read(t),r=this._modifiedEditorLayoutInfo.read(t);if(!o||!r)return void this.width.set(0,void 0);this._modifiedViewZonesChangedSignal.read(t),this._originalViewZonesChangedSignal.read(t);const h=n.map((i=>{function e(t,i){return(i.getTopForLineNumber(t.startLineNumber,!0)+i.getTopForLineNumber(t.endLineNumberExclusive,!0))/2}const s=e(i.lineRangeMapping.original,this._editors.original),n=this._originalScrollTop.read(t),o=e(i.lineRangeMapping.modified,this._editors.modified),r=s-n,h=o-this._modifiedScrollTop.read(t),c=Math.min(s,o),a=Math.max(s,o);return{range:new op(c,a),from:r,to:h,fromWithoutScroll:s,toWithoutScroll:o,move:i}}));h.sort(function(...t){return(i,e)=>{for(const s of t){const t=s(i,e);if(!T.isNeitherLessOrGreaterThan(t))return t}return T.neitherLessOrGreaterThan}}(R((t=>t.fromWithoutScroll>t.toWithoutScroll),I),R((t=>t.fromWithoutScroll>t.toWithoutScroll?t.fromWithoutScroll:-t.toWithoutScroll),O)));const c=KU.compute(h.map((t=>t.range))),a=o.verticalScrollbarWidth,l=10*(c.getTrackCount()-1)+20,u=a+l+(r.contentLeft-qU.movedCodeBlockPadding);let d=0;for(const t of h){const e=a+10+10*c.getTrack(d),n=15,o=15,h=u,l=r.glyphMarginWidth+r.lineNumbersWidth,f=18,p=document.createElementNS("http://www.w3.org/2000/svg","rect");p.classList.add("arrow-rectangle"),p.setAttribute("x",""+(h-l)),p.setAttribute("y",""+(t.to-f/2)),p.setAttribute("width",`${l}`),p.setAttribute("height",`${f}`),this._element.appendChild(p);const g=document.createElementNS("http://www.w3.org/2000/svg","g"),m=document.createElementNS("http://www.w3.org/2000/svg","path");m.setAttribute("d",`M 0 ${t.from} L ${e} ${t.from} L ${e} ${t.to} L ${h-o} ${t.to}`),m.setAttribute("fill","none"),g.appendChild(m);const w=document.createElementNS("http://www.w3.org/2000/svg","polygon");w.classList.add("arrow"),i.add(jV((i=>{m.classList.toggle("currentMove",t.move===s.activeMovedText.read(i)),w.classList.toggle("currentMove",t.move===s.activeMovedText.read(i))}))),w.setAttribute("points",`${h-o},${t.to-n/2} ${h},${t.to} ${h-o},${t.to+n/2}`),g.appendChild(w),this._element.appendChild(g),d++}this.width.set(l,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(Xi((()=>this._element.remove()))),this._register(jV((t=>{const i=this._originalEditorLayoutInfo.read(t),e=this._modifiedEditorLayoutInfo.read(t);i&&e&&(this._element.style.left=i.width-i.verticalScrollbarWidth+"px",this._element.style.height=`${i.height}px`,this._element.style.width=`${i.verticalScrollbarWidth+i.contentLeft-qU.movedCodeBlockPadding+this.width.read(t)}px`)}))),this._register(tU(this._state));const o=NV((t=>{const i=this._diffModel.read(t),e=null==i?void 0:i.diff.read(t);return e?e.movedTexts.map((t=>({move:t,original:new uU(qV(t.lineRangeMapping.original.startLineNumber-1),18),modified:new uU(qV(t.lineRangeMapping.modified.startLineNumber-1),18)}))):[]}));this._register(gU(this._editors.original,o.map((t=>t.map((t=>t.original)))))),this._register(gU(this._editors.modified,o.map((t=>t.map((t=>t.modified)))))),this._register(VV(((t,i)=>{const e=o.read(t);for(const t of e)i.add(new GU(this._editors.original,t.original,t.move,"original",this._diffModel.get())),i.add(new GU(this._editors.modified,t.modified,t.move,"modified",this._diffModel.get()))})));const r=GV(this._editors.original.onDidChangeCursorPosition,(()=>this._editors.original.getPosition())),h=GV(this._editors.modified.onDidChangeCursorPosition,(()=>this._editors.modified.getPosition())),c=QV("original.onDidFocusEditorWidget",(t=>this._editors.original.onDidFocusEditorWidget((()=>setTimeout((()=>t(void 0)),0))))),a=QV("modified.onDidFocusEditorWidget",(t=>this._editors.modified.onDidFocusEditorWidget((()=>setTimeout((()=>t(void 0)),0)))));let l="modified";this._register(HV({createEmptyChangeSummary:()=>{},handleChange:t=>(t.didChange(c)&&(l="original"),t.didChange(a)&&(l="modified"),!0)},(t=>{c.read(t),a.read(t);const i=this._diffModel.read(t);if(!i)return;const e=i.diff.read(t);let s;if(e&&"original"===l){const i=r.read(t);i&&(s=e.movedTexts.find((t=>t.lineRangeMapping.original.contains(i.lineNumber))))}if(e&&"modified"===l){const i=h.read(t);i&&(s=e.movedTexts.find((t=>t.lineRangeMapping.modified.contains(i.lineNumber))))}s!==i.movedTextToCompare.get()&&i.movedTextToCompare.set(void 0,void 0),i.setActiveMovedText(s)})))}}qU.movedCodeBlockPadding=4;class KU{static compute(t){const i=[],e=[];for(const s of t){let t=i.findIndex((t=>!t.intersectsStrict(s)));-1===t&&(i.length>=6?t=fp(i,R((t=>t.intersectWithRangeLength(s)),O)):(t=i.length,i.push(new rp))),i[t].addRange(s),e.push(t)}return new KU(i.length,e)}constructor(t,i){this._trackCount=t,this.trackPerLineIdx=i}getTrack(t){return this.trackPerLineIdx[t]}getTrackCount(){return this._trackCount}}class GU extends lU{constructor(t,i,e,s,n){const o=Yl("div.diff-hidden-lines-widget");super(t,i,o.root),this._editor=t,this._move=e,this._kind=s,this._diffModel=n,this._nodes=Yl("div.diff-moved-code-block",{style:{marginRight:"4px"}},[Yl("div.text-content@textContent"),Yl("div.action-bar@actionBar")]),o.root.appendChild(this._nodes.root);const r=GV(this._editor.onDidLayoutChange,(()=>this._editor.getLayoutInfo()));let h;this._register(fU(this._nodes.root,{paddingRight:r.map((t=>t.verticalScrollbarWidth))})),h=e.changes.length>0?"original"===this._kind?rt(0,"Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):rt(0,"Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):"original"===this._kind?rt(0,"Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):rt(0,"Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const c=this._register(new XB(this._nodes.actionBar,{highlightToggledItems:!0})),a=new wr("",h,"",!1);c.push(a,{icon:!1,label:!0});const l=new wr("","Compare",Sr.asClassName(Is.compareChanges),!0,(()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===e?void 0:this._move,void 0)}));this._register(jV((t=>{const i=this._diffModel.movedTextToCompare.read(t)===e;l.checked=i}))),c.push(l,{icon:!1,label:!0})}}class ZU extends ie{constructor(t,i,e,s){super(),this._editors=t,this._diffModel=i,this._options=e,this._decorations=NV(this,(t=>{var i;const e=null===(i=this._diffModel.read(t))||void 0===i?void 0:i.diff.read(t);if(!e)return null;const s=this._diffModel.read(t).movedTextToCompare.read(t),n=this._options.renderIndicators.read(t),o=this._options.showEmptyDecorations.read(t),r=[],h=[];if(!s)for(const t of e.mappings)if(t.lineRangeMapping.original.isEmpty||r.push({range:t.lineRangeMapping.original.toInclusiveRange(),options:n?BU:$U}),t.lineRangeMapping.modified.isEmpty||h.push({range:t.lineRangeMapping.modified.toInclusiveRange(),options:n?NU:PU}),t.lineRangeMapping.modified.isEmpty||t.lineRangeMapping.original.isEmpty)t.lineRangeMapping.original.isEmpty||r.push({range:t.lineRangeMapping.original.toInclusiveRange(),options:VU}),t.lineRangeMapping.modified.isEmpty||h.push({range:t.lineRangeMapping.modified.toInclusiveRange(),options:jU});else for(const i of t.lineRangeMapping.innerChanges||[])t.lineRangeMapping.original.contains(i.originalRange.startLineNumber)&&r.push({range:i.originalRange,options:i.originalRange.isEmpty()&&o?UU:HU}),t.lineRangeMapping.modified.contains(i.modifiedRange.startLineNumber)&&h.push({range:i.modifiedRange,options:i.modifiedRange.isEmpty()&&o?zU:WU});if(s)for(const t of s.changes){const i=t.original.toInclusiveRange();i&&r.push({range:i,options:n?BU:$U});const e=t.modified.toInclusiveRange();e&&h.push({range:e,options:n?NU:PU});for(const i of t.innerChanges||[])r.push({range:i.originalRange,options:HU}),h.push({range:i.modifiedRange,options:WU})}const c=this._diffModel.read(t).activeMovedText.read(t);for(const t of e.movedTexts)r.push({range:t.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(t===c?" currentMove":""),blockPadding:[qU.movedCodeBlockPadding,0,qU.movedCodeBlockPadding,qU.movedCodeBlockPadding]}}),h.push({range:t.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(t===c?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:r,modifiedDecorations:h}})),this._register(new QU(t,i,e,s)),this._register(rU(this._editors.original,this._decorations.map((t=>(null==t?void 0:t.originalDecorations)||[])))),this._register(rU(this._editors.modified,this._decorations.map((t=>(null==t?void 0:t.modifiedDecorations)||[]))))}}class QU extends ie{constructor(t,i,e,s){super(),this._editors=t,this._diffModel=i,this._options=e,this._widget=s;const n=[],o=NV(this,(t=>{const i=this._diffModel.read(t),e=null==i?void 0:i.diff.read(t);if(!e)return n;const s=this._editors.modifiedSelections.read(t);if(s.every((t=>t.isEmpty())))return n;const o=new gp(s.map((t=>pp.fromRangeInclusive(t)))),r=e.mappings.filter((t=>t.lineRangeMapping.innerChanges&&o.intersects(t.lineRangeMapping.modified))).map((t=>({mapping:t,rangeMappings:t.lineRangeMapping.innerChanges.filter((t=>s.some((i=>Ls.areIntersecting(t.modifiedRange,i)))))})));return 0===r.length||r.every((t=>0===t.rangeMappings.length))?n:r}));this._register(VV(((t,i)=>{const e=this._diffModel.read(t),s=null==e?void 0:e.diff.read(t);if(!e||!s)return;if(this._diffModel.read(t).movedTextToCompare.read(t))return;if(!this._options.shouldRenderRevertArrows.read(t))return;const n=[],r=o.read(t),h=new Set(r.map((t=>t.mapping)));if(r.length>0){const i=this._editors.modifiedSelections.read(t),e=new JU(i[i.length-1].positionLineNumber,this._widget,r.flatMap((t=>t.rangeMappings)),!0);this._editors.modified.addGlyphMarginWidget(e),n.push(e)}for(const t of s.mappings)if(!h.has(t)&&!t.lineRangeMapping.modified.isEmpty&&t.lineRangeMapping.innerChanges){const i=new JU(t.lineRangeMapping.modified.startLineNumber,this._widget,t.lineRangeMapping.innerChanges,!1);this._editors.modified.addGlyphMarginWidget(i),n.push(i)}i.add(Xi((()=>{for(const t of n)this._editors.modified.removeGlyphMarginWidget(t)})))})))}}class JU{getId(){return this._id}constructor(t,i,e,s){this._lineNumber=t,this._widget=i,this._diffs=e,this._selection=s,this._id="revertButton"+JU.counter++,this._domNode=Yl("div.revertButton",{title:rt(0,this._selection?"Revert Selected Changes":"Revert Change")},[J_(Is.arrowRight)]).root,this._domNode.onmousedown=t=>{2!==t.button&&(t.stopPropagation(),t.preventDefault())},this._domNode.onmouseup=t=>{t.stopPropagation(),t.preventDefault()},this._domNode.onclick=t=>{this._widget.revertRangeMappings(this._diffs),t.stopPropagation(),t.preventDefault()}}getDomNode(){return this._domNode}getPosition(){return{lane:Bf.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}JU.counter=0;class YU extends ie{constructor(t,i,e,s){super(),this._options=t,this._domNode=i,this._dimensions=e,this._sashes=s,this._sashRatio=TV(this,void 0),this.sashLeft=NV(this,(t=>{var i;const e=null!==(i=this._sashRatio.read(t))&&void 0!==i?i:this._options.splitViewDefaultRatio.read(t);return this._computeSashLeft(e,t)})),this._sash=this._register(new UP(this._domNode,{getVerticalSashTop:()=>0,getVerticalSashLeft:()=>this.sashLeft.get(),getVerticalSashHeight:()=>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((t=>{const i=this._dimensions.width.get(),e=this._computeSashLeft((this._startSashPosition+(t.currentX-t.startX))/i,void 0);this._sashRatio.set(e/i,void 0)}))),this._register(this._sash.onDidEnd((()=>this._sash.layout()))),this._register(this._sash.onDidReset((()=>this._sashRatio.set(void 0,void 0)))),this._register(jV((t=>{const i=this._sashes.read(t);i&&(this._sash.orthogonalEndSash=i.bottom)}))),this._register(jV((t=>{const i=this._options.enableSplitViewResizing.read(t);this._sash.state=i?3:0,this.sashLeft.read(t),this._dimensions.height.read(t),this._sash.layout()})))}_computeSashLeft(t,i){const e=this._dimensions.width.read(i),s=Math.floor(this._options.splitViewDefaultRatio.read(i)*e),n=this._options.enableSplitViewResizing.read(i)?Math.floor(t*e):s,o=100;return e<=200?s:ne-o?e-o:n}}class XU{remove(){var t;null===(t=this.parent)||void 0===t||t.children.delete(this.id)}static findId(t,i){let e;"string"==typeof t?e=`${i.id}/${t}`:(e=`${i.id}/${t.name}`,void 0!==i.children.get(e)&&(e=`${i.id}/${t.name}_${t.range.startLineNumber}_${t.range.startColumn}`));let s=e;for(let t=0;void 0!==i.children.get(s);t++)s=`${e}_${t}`;return s}static empty(t){return 0===t.children.size}}class tq extends XU{constructor(t,i,e){super(),this.id=t,this.parent=i,this.symbol=e,this.children=new Map}}class iq extends XU{constructor(t,i,e,s){super(),this.id=t,this.parent=i,this.label=e,this.order=s,this.children=new Map}}class eq extends XU{static create(t,i,e){const s=new Se(e),n=new eq(i.uri),o=t.ordered(i),r=o.map(((t,e)=>{var o;const r=XU.findId(`provider_${e}`,n),h=new iq(r,n,null!==(o=t.displayName)&&void 0!==o?o:"Unknown Outline Provider",e);return Promise.resolve(t.provideDocumentSymbols(i,s.token)).then((t=>{for(const i of t||[])eq._makeOutlineElement(i,h);return h}),(t=>($i(t),h))).then((t=>{XU.empty(t)?t.remove():n._groups.set(r,t)}))})),h=t.onDidChange((()=>{u(t.ordered(i),o)||s.cancel()}));return Promise.all(r).then((()=>s.token.isCancellationRequested&&!e.isCancellationRequested?eq.create(t,i,e):n._compact())).finally((()=>{s.dispose(),h.dispose()}))}static _makeOutlineElement(t,i){const e=XU.findId(t,i),s=new tq(e,i,t);if(t.children)for(const i of t.children)eq._makeOutlineElement(i,s);i.children.set(s.id,s)}constructor(t){super(),this.uri=t,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let t=0;for(const[i,e]of this._groups)0===e.children.size?this._groups.delete(i):t+=1;if(1!==t)this.children=this._groups;else{const t=Vt.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const t=[];for(const i of this.children.values())i instanceof tq?t.push(i.symbol):t.push(...Vt.map(i.children.values(),(t=>t.symbol)));return t.sort(((t,i)=>Ls.compareRangesUsingStarts(t.range,i.range)))}asListOfDocumentSymbols(){const t=this.getTopLevelSymbols(),i=[];return eq._flattenDocumentSymbols(i,t,""),i.sort(((t,i)=>Ms.compare(Ls.getStartPosition(t.range),Ls.getStartPosition(i.range))||Ms.compare(Ls.getEndPosition(i.range),Ls.getEndPosition(t.range))))}static _flattenDocumentSymbols(t,i,e){for(const s of i)t.push({kind:s.kind,tags:s.tags,name:s.name,detail:s.detail,containerName:s.containerName||e,range:s.range,selectionRange:s.selectionRange,children:void 0}),s.children&&eq._flattenDocumentSymbols(t,s.children,s.name)}}var sq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},nq=function(t,i){return function(e,s){i(e,s,t)}};let oq=class extends ie{get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(t,i,e,s){super(),this._editors=t,this._diffModel=i,this._options=e,this._languageFeaturesService=s,this._modifiedOutlineSource=$V(this,(t=>{const i=this._editors.modifiedModel.read(t);return i?new hq(this._languageFeaturesService,i):void 0})),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition((t=>{if(3===t.reason){const t=this._diffModel.get();kV((i=>{for(const e of this._editors.original.getSelections()||[])null==t||t.ensureOriginalLineIsVisible(e.getStartPosition().lineNumber,i),null==t||t.ensureOriginalLineIsVisible(e.getEndPosition().lineNumber,i)}))}}))),this._register(this._editors.modified.onDidChangeCursorPosition((t=>{if(3===t.reason){const t=this._diffModel.get();kV((i=>{for(const e of this._editors.modified.getSelections()||[])null==t||t.ensureModifiedLineIsVisible(e.getStartPosition().lineNumber,i),null==t||t.ensureModifiedLineIsVisible(e.getEndPosition().lineNumber,i)}))}})));const n=this._diffModel.map(((t,i)=>{var e,s;return 0===(null===(e=null==t?void 0:t.diff.read(i))||void 0===e?void 0:e.mappings.length)?[]:null!==(s=null==t?void 0:t.unchangedRegions.read(i))&&void 0!==s?s:[]}));this.viewZones=PV(this,((t,i)=>{const e=this._modifiedOutlineSource.read(t);if(!e)return{origViewZones:[],modViewZones:[]};const s=[],o=[],r=this._options.renderSideBySide.read(t),h=n.read(t);for(const n of h)if(!n.shouldHideControls(t)){{const t=NV(this,(t=>n.getHiddenOriginalRange(t).startLineNumber-1)),o=new uU(t,24);s.push(o),i.add(new rq(this._editors.original,o,n,n.originalUnchangedRange,!r,e,(t=>this._diffModel.get().ensureModifiedLineIsVisible(t,void 0)),this._options))}{const t=NV(this,(t=>n.getHiddenModifiedRange(t).startLineNumber-1)),s=new uU(t,24);o.push(s),i.add(new rq(this._editors.modified,s,n,n.modifiedUnchangedRange,!1,e,(t=>this._diffModel.get().ensureModifiedLineIsVisible(t,void 0)),this._options))}}return{origViewZones:s,modViewZones:o}}));const o={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},r={description:"Fold Unchanged",glyphMarginHoverMessage:new B_(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown(rt(0,"Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+Sr.asClassName(Is.fold),zIndex:10001};this._register(rU(this._editors.original,NV(this,(t=>{const i=n.read(t),e=i.map((t=>({range:t.originalUnchangedRange.toInclusiveRange(),options:o})));for(const s of i)s.shouldHideControls(t)&&e.push({range:Ls.fromPositions(new Ms(s.originalLineNumber,1)),options:r});return e})))),this._register(rU(this._editors.modified,NV(this,(t=>{const i=n.read(t),e=i.map((t=>({range:t.modifiedUnchangedRange.toInclusiveRange(),options:o})));for(const s of i)s.shouldHideControls(t)&&e.push({range:pp.ofLength(s.modifiedLineNumber,1).toInclusiveRange(),options:r});return e})))),this._register(jV((t=>{const i=n.read(t);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(i.map((i=>i.getHiddenOriginalRange(t).toInclusiveRange())).filter(U)),this._editors.modified.setHiddenAreas(i.map((i=>i.getHiddenModifiedRange(t).toInclusiveRange())).filter(U))}finally{this._isUpdatingHiddenAreas=!1}}))),this._register(this._editors.modified.onMouseUp((t=>{var i;if(!t.event.rightButton&&t.target.position&&(null===(i=t.target.element)||void 0===i?void 0:i.className.includes("fold-unchanged"))){const i=t.target.position.lineNumber,e=this._diffModel.get();if(!e)return;const s=e.unchangedRegions.get().find((t=>t.modifiedUnchangedRange.includes(i)));if(!s)return;s.collapseAll(void 0),t.event.stopPropagation(),t.event.preventDefault()}}))),this._register(this._editors.original.onMouseUp((t=>{var i;if(!t.event.rightButton&&t.target.position&&(null===(i=t.target.element)||void 0===i?void 0:i.className.includes("fold-unchanged"))){const i=t.target.position.lineNumber,e=this._diffModel.get();if(!e)return;const s=e.unchangedRegions.get().find((t=>t.originalUnchangedRange.includes(i)));if(!s)return;s.collapseAll(void 0),t.event.stopPropagation(),t.event.preventDefault()}})))}};oq=sq([nq(3,Cg)],oq);class rq extends lU{constructor(t,i,e,s,n,o,r,h){const c=Yl("div.diff-hidden-lines-widget");super(t,i,c.root),this._editor=t,this._unchangedRegion=e,this._unchangedRegionRange=s,this._hide=n,this._modifiedOutlineSource=o,this._revealModifiedHiddenLine=r,this._options=h,this._nodes=Yl("div.diff-hidden-lines",[Yl("div.top@top",{title:rt(0,"Click or drag to show more above")}),Yl("div.center@content",{style:{display:"flex"}},[Yl("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[Wl("a",{title:rt(0,"Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...Q_("$(unfold)"))]),Yl("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),Yl("div.bottom@bottom",{title:rt(0,"Click or drag to show more below"),role:"button"})]),c.root.appendChild(this._nodes.root);const a=GV(this._editor.onDidLayoutChange,(()=>this._editor.getLayoutInfo()));this._hide?Nl(this._nodes.first):this._register(fU(this._nodes.first,{width:a.map((t=>t.contentLeft))})),this._register(jV((t=>{const i=this._unchangedRegion.visibleLineCountTop.read(t)+this._unchangedRegion.visibleLineCountBottom.read(t)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!i),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(t)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(t)>0),this._nodes.top.classList.toggle("canMoveBottom",!i);const e=this._unchangedRegion.isDragged.read(t),s=this._editor.getDomNode();s&&(s.classList.toggle("draggingUnchangedRegion",!!e),"top"===e?(s.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(t)>0),s.classList.toggle("canMoveBottom",!i)):"bottom"===e?(s.classList.toggle("canMoveTop",!i),s.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(t)>0)):(s.classList.toggle("canMoveTop",!1),s.classList.toggle("canMoveBottom",!1)))})));const l=this._editor;this._register(Ua(this._nodes.top,"mousedown",(t=>{if(0!==t.button)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),t.preventDefault();const i=t.clientY;let e=!1;const s=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const n=Ba(this._nodes.top),o=Ua(n,"mousemove",(t=>{const n=t.clientY-i;e=e||Math.abs(n)>2;const o=Math.round(n/l.getOption(66)),r=Math.max(0,Math.min(s+o,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(r,void 0)})),r=Ua(n,"mouseup",(()=>{e||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),o.dispose(),r.dispose()}))}))),this._register(Ua(this._nodes.bottom,"mousedown",(t=>{if(0!==t.button)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),t.preventDefault();const i=t.clientY;let e=!1;const s=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const n=Ba(this._nodes.bottom),o=Ua(n,"mousemove",(t=>{const n=t.clientY-i;e=e||Math.abs(n)>2;const o=Math.round(n/l.getOption(66)),r=Math.max(0,Math.min(s-o,this._unchangedRegion.getMaxVisibleLineCountBottom())),h=l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(r,void 0);const c=l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);l.setScrollTop(l.getScrollTop()+(c-h))})),r=Ua(n,"mouseup",(()=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!e){const t=l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const i=l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);l.setScrollTop(l.getScrollTop()+(i-t))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),o.dispose(),r.dispose()}))}))),this._register(jV((t=>{const i=[];if(!this._hide){const s=rt(0,"{0} hidden lines",e.getHiddenModifiedRange(t).length),n=Wl("span",{title:rt(0,"Double click to unfold")},s);n.addEventListener("dblclick",(t=>{0===t.button&&(t.preventDefault(),this._unchangedRegion.showAll(void 0))})),i.push(n);const o=this._unchangedRegion.getHiddenModifiedRange(t),r=this._modifiedOutlineSource.getBreadcrumbItems(o,t);if(r.length>0){i.push(Wl("span",void 0,"  |  "));for(let t=0;t{this._revealModifiedHiddenLine(e.startLineNumber)}}}}Nl(this._nodes.others,...i)})))}}let hq=class extends ie{constructor(t,i){super(),this._languageFeaturesService=t,this._textModel=i,this._currentModel=TV(this,void 0);const e=QV("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=QV("_textModel.onDidChangeContent",ce.debounce((t=>this._textModel.onDidChangeContent(t)),(()=>{}),100));this._register(VV((async(t,i)=>{e.read(t),s.read(t);const n=i.add(new mU),o=await eq.create(this._languageFeaturesService.documentSymbolProvider,this._textModel,n.token);i.isDisposed||this._currentModel.set(o,void 0)})))}getBreadcrumbItems(t,i){const e=this._currentModel.read(i);if(!e)return[];const s=e.asListOfDocumentSymbols().filter((i=>t.contains(i.range.startLineNumber)&&!t.contains(i.range.endLineNumber)));return s.sort(_(R((t=>t.range.endLineNumber-t.range.startLineNumber),O))),s.map((t=>({name:t.name,kind:t.kind,startLineNumber:t.range.startLineNumber})))}};hq=sq([nq(0,Cg)],hq);var cq,aq=function(t,i){return function(e,s){i(e,s,t)}};let lq=cq=class{constructor(t,i,e){this.editorWorkerService=i,this.telemetryService=e,this.onDidChangeEventEmitter=new fe,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(t)}dispose(){var t;null===(t=this.diffAlgorithmOnDidChangeSubscription)||void 0===t||t.dispose()}async computeDiff(t,i,e,s){var n,o;if("string"!=typeof this.diffAlgorithm)return this.diffAlgorithm.computeDiff(t,i,e,s);if(1===t.getLineCount()&&1===t.getLineMaxColumn(1))return 1===i.getLineCount()&&1===i.getLineMaxColumn(1)?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new wp(new pp(1,2),new pp(1,i.getLineCount()+1),[new vp(t.getFullModelRange(),i.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};const r=JSON.stringify([t.uri.toString(),i.uri.toString()]),h=JSON.stringify([t.id,i.id,t.getAlternativeVersionId(),i.getAlternativeVersionId(),JSON.stringify(e)]),c=cq.diffCache.get(r);if(c&&c.context===h)return c.result;const a=he.create(),l=await this.editorWorkerService.computeDiff(t.uri,i.uri,e,this.diffAlgorithm),u=a.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:u,timedOut:null===(n=null==l?void 0:l.quitEarly)||void 0===n||n,detectedMoves:e.computeMoves?null!==(o=null==l?void 0:l.moves.length)&&void 0!==o?o:0:-1}),s.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!l)throw new Error("no diff result available");return cq.diffCache.size>10&&cq.diffCache.delete(cq.diffCache.keys().next().value),cq.diffCache.set(r,{result:l,context:h}),l}setOptions(t){var i;let e=!1;t.diffAlgorithm&&this.diffAlgorithm!==t.diffAlgorithm&&(null===(i=this.diffAlgorithmOnDidChangeSubscription)||void 0===i||i.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=t.diffAlgorithm,"string"!=typeof t.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription=t.diffAlgorithm.onDidChange((()=>this.onDidChangeEventEmitter.fire()))),e=!0),e&&this.onDidChangeEventEmitter.fire()}};lq.diffCache=new Map,lq=cq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([aq(1,bP),aq(2,jh)],lq);const uq=fr("diffProviderFactoryService");let dq=class{constructor(t){this.instantiationService=t}createDiffProvider(t){return this.instantiationService.createInstance(lq,t)}};dq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,dr)],dq),Sd(uq,dq,1);let fq=class extends ie{setActiveMovedText(t){this._activeMovedText.set(t,void 0)}constructor(t,i,e){super(),this.model=t,this._options=i,this._diffProviderFactoryService=e,this._isDiffUpToDate=TV(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=TV(this,void 0),this.diff=this._diff,this._unchangedRegions=TV(this,{regions:[],originalDecorationIds:[],modifiedDecorationIds:[]}),this.unchangedRegions=NV(this,(t=>this._options.hideUnchangedRegions.read(t)?this._unchangedRegions.read(t).regions:(kV((t=>{for(const i of this._unchangedRegions.get().regions)i.collapseAll(t)})),[]))),this.movedTextToCompare=TV(this,void 0),this._activeMovedText=TV(this,void 0),this._hoveredMovedText=TV(this,void 0),this.activeMovedText=NV(this,(t=>{var i,e;return null!==(e=null!==(i=this.movedTextToCompare.read(t))&&void 0!==i?i:this._hoveredMovedText.read(t))&&void 0!==e?e:this._activeMovedText.read(t)})),this._cancellationTokenSource=new Se,this._diffProvider=NV(this,(t=>{const i=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(t)});return{diffProvider:i,onChangeSignal:QV("onDidChange",i.onDidChange)}})),this._register(Xi((()=>this._cancellationTokenSource.cancel())));const s=YV("contentChangedSignal"),n=this._register(new gc((()=>s.trigger(void 0)),200)),o=(i,e,s)=>{const n=mq.fromDiffs(i.changes,t.original.getLineCount(),t.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(s),this._options.hideUnchangedRegionsContextLineCount.read(s)),o=this._unchangedRegions.get(),r=o.originalDecorationIds.map((i=>t.original.getDecorationRange(i))).map((t=>t?pp.fromRange(t):void 0)),h=o.modifiedDecorationIds.map((i=>t.modified.getDecorationRange(i))).map((t=>t?pp.fromRange(t):void 0)),c=t.original.deltaDecorations(o.originalDecorationIds,n.map((t=>({range:t.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})))),a=t.modified.deltaDecorations(o.modifiedDecorationIds,n.map((t=>({range:t.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))));for(const t of n)for(let i=0;i{this._diff.get()&&fE.fromModelContentChanges(t.changes),this._isDiffUpToDate.set(!1,void 0),n.schedule()}))),this._register(t.original.onDidChangeContent((t=>{this._diff.get()&&fE.fromModelContentChanges(t.changes),this._isDiffUpToDate.set(!1,void 0),n.schedule()}))),this._register(VV((async(i,e)=>{this._options.hideUnchangedRegionsMinimumLineCount.read(i),this._options.hideUnchangedRegionsContextLineCount.read(i),n.cancel(),s.read(i);const r=this._diffProvider.read(i);r.onChangeSignal.read(i),pU(og,i),pU(tg,i),this._isDiffUpToDate.set(!1,void 0);let h=[];e.add(t.original.onDidChangeContent((t=>{const i=fE.fromModelContentChanges(t.changes);h=qE(h,i)})));let c=[];e.add(t.modified.onDidChangeContent((t=>{const i=fE.fromModelContentChanges(t.changes);c=qE(c,i)})));let a=await r.diffProvider.computeDiff(t.original,t.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(i),maxComputationTimeMs:this._options.maxComputationTimeMs.read(i),computeMoves:this._options.showMoves.read(i)},this._cancellationTokenSource.token);var l,u,d;this._cancellationTokenSource.token.isCancellationRequested||(u=t.original,d=t.modified,a={changes:(l=a).changes.map((t=>new wp(t.original,t.modified,t.innerChanges?t.innerChanges.map((t=>function(t,i,e){let s=t.originalRange,n=t.modifiedRange;return(1!==s.endColumn||1!==n.endColumn)&&s.endColumn===i.getLineMaxColumn(s.endLineNumber)&&n.endColumn===e.getLineMaxColumn(n.endLineNumber)&&s.endLineNumber{o(a,t),this._lastDiff=a;const i=pq.fromDiffResult(a);this._diff.set(i,t),this._isDiffUpToDate.set(!0,t);const e=this.movedTextToCompare.get();this.movedTextToCompare.set(e?this._lastDiff.moves.find((t=>t.lineRangeMapping.modified.intersect(e.lineRangeMapping.modified))):void 0,t)})))})))}ensureModifiedLineIsVisible(t,i){var e;if(0===(null===(e=this.diff.get())||void 0===e?void 0:e.mappings.length))return;const s=this._unchangedRegions.get().regions;for(const e of s)if(e.getHiddenModifiedRange(void 0).contains(t))return void e.showModifiedLine(t,i)}ensureOriginalLineIsVisible(t,i){var e;if(0===(null===(e=this.diff.get())||void 0===e?void 0:e.mappings.length))return;const s=this._unchangedRegions.get().regions;for(const e of s)if(e.getHiddenOriginalRange(void 0).contains(t))return void e.showOriginalLine(t,i)}async waitForDiff(){var t;await(t=this.isDiffUpToDate,t=>t,new Promise((i=>{let e=!1,s=!1;const n=t.map((t=>({isFinished:t,state:t}))),o=jV((t=>{const{isFinished:r,state:h}=n.read(t);r&&(e?o.dispose():s=!0,i(h))}));e=!0,s&&o.dispose()})))}serializeState(){return{collapsedRegions:this._unchangedRegions.get().regions.map((t=>({range:t.getHiddenModifiedRange(void 0).serialize()})))}}restoreSerializedState(t){const i=t.collapsedRegions.map((t=>pp.deserialize(t.range))),e=this._unchangedRegions.get();kV((t=>{for(const s of e.regions)for(const e of i)if(s.modifiedUnchangedRange.intersect(e)){s.setHiddenModifiedRange(e,t);break}}))}};fq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,uq)],fq);class pq{static fromDiffResult(t){return new pq(t.changes.map((t=>new gq(t))),t.moves||[],t.identical,t.quitEarly)}constructor(t,i,e,s){this.mappings=t,this.movedTexts=i,this.identical=e,this.quitEarly=s}}class gq{constructor(t){this.lineRangeMapping=t}}class mq{static fromDiffs(t,i,e,s,n){const o=wp.inverse(t,i,e),r=[];for(const t of o){let o=t.original.startLineNumber,h=t.modified.startLineNumber,c=t.original.length;const a=1===o&&1===h,l=o+c===i+1&&h+c===e+1;(a||l)&&c>=n+s?(a&&!l&&(c-=n),l&&!a&&(o+=n,h+=n,c-=n),r.push(new mq(o,h,c,0,0))):c>=2*n+s&&(o+=n,h+=n,c-=2*n,r.push(new mq(o,h,c,0,0)))}return r}get originalUnchangedRange(){return pp.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return pp.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(t,i,e,s,n){this.originalLineNumber=t,this.modifiedLineNumber=i,this.lineCount=e,this._visibleLineCountTop=TV(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=TV(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=NV(this,(t=>this.visibleLineCountTop.read(t)+this.visibleLineCountBottom.read(t)===this.lineCount&&!this.isDragged.read(t))),this.isDragged=TV(this,void 0),this._visibleLineCountTop.set(s,void 0),this._visibleLineCountBottom.set(n,void 0)}shouldHideControls(t){return this._shouldHideControls.read(t)}getHiddenOriginalRange(t){return pp.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(t),this.lineCount-this._visibleLineCountTop.read(t)-this._visibleLineCountBottom.read(t))}getHiddenModifiedRange(t){return pp.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(t),this.lineCount-this._visibleLineCountTop.read(t)-this._visibleLineCountBottom.read(t))}setHiddenModifiedRange(t,i){this.setState(t.startLineNumber-this.modifiedLineNumber,this.modifiedLineNumber+this.lineCount-t.endLineNumberExclusive,i)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(t=10,i){const e=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+t,e),i)}showMoreBelow(t=10,i){const e=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+t,e),i)}showAll(t){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),t)}showModifiedLine(t,i){const e=t+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),s=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-t;e{var n;this._contextMenuService.showContextMenu({domForShadowRoot:u&&null!==(n=e.getDomNode())&&void 0!==n?n:void 0,getAnchor:()=>({x:t,y:i}),getActions:()=>{const t=[],i=s.modified.isEmpty;return t.push(new wr("diff.clipboard.copyDeletedContent",rt(0,i?s.original.length>1?"Copy deleted lines":"Copy deleted line":s.original.length>1?"Copy changed lines":"Copy changed line"),void 0,!0,(async()=>{const t=this._originalTextModel.getValueInRange(s.original.toExclusiveRange());await this._clipboardService.writeText(t)}))),s.original.length>1&&t.push(new wr("diff.clipboard.copyDeletedLineContent",rt(0,i?"Copy deleted line ({0})":"Copy changed line ({0})",s.original.startLineNumber+l),void 0,!0,(async()=>{let t=this._originalTextModel.getLineContent(s.original.startLineNumber+l);""===t&&(t=0===this._originalTextModel.getEndOfLineSequence()?"\n":"\r\n"),await this._clipboardService.writeText(t)}))),e.getOption(90)||t.push(new wr("diff.inline.revertChange",rt(0,"Revert this change"),void 0,!0,(async()=>{this._editor.revert(this._diff)}))),t},autoSelectFirstItem:!0})};this._register(Ka(this._diffActions,"mousedown",(t=>{if(!t.leftButton)return;const{top:i,height:e}=ol(this._diffActions),s=Math.floor(a/3);t.preventDefault(),d(t.posx,i+e+s)}))),this._register(e.onMouseMove((t=>{8!==t.target.type&&5!==t.target.type||t.target.detail.viewZoneId!==this._getViewZoneId()?this.visibility=!1:(l=this._updateLightBulbPosition(this._marginDomNode,t.event.browserEvent.y,a),this.visibility=!0)}))),this._register(e.onMouseDown((t=>{!t.event.leftButton||8!==t.target.type&&5!==t.target.type||t.target.detail.viewZoneId===this._getViewZoneId()&&(t.event.preventDefault(),l=this._updateLightBulbPosition(this._marginDomNode,t.event.browserEvent.y,a),d(t.event.posx,t.event.posy+a))})))}_updateLightBulbPosition(t,i,e){const{top:s}=ol(t),n=Math.floor((i-s)/e);if(this._diffActions.style.top=n*e+"px",this._viewLineCounts){let t=0;for(let i=0;it});function bq(t,i,e,s){er(s,i.fontInfo);const n=e.length>0,o=new id(1e4);let r=0,h=0;const c=[];for(let s=0;s');const c=i.getLineContent(),a=om.isBasicASCII(c,n),l=om.containsRTL(c,a,o),u=Jg(new Kg(r.fontInfo.isMonospace&&!r.disableMonospaceOptimizations,r.fontInfo.canUseHalfwidthRightwardsArrow,c,!1,a,l,0,i,e,r.tabSize,0,r.fontInfo.spaceWidth,r.fontInfo.middotWidth,r.fontInfo.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==vi.OFF,null),h);return h.appendString(""),u.characterMapping.getHorizontalOffset(u.characterMapping.length)}var Cq=function(t,i){return function(e,s){i(e,s,t)}};let Sq=class extends ie{constructor(t,i,e,s,n,o,r,h,c,a){super(),this._targetWindow=t,this._editors=i,this._diffModel=e,this._options=s,this._diffEditorWidget=n,this._canIgnoreViewZoneUpdateEvent=o,this._origViewZonesToIgnore=r,this._modViewZonesToIgnore=h,this._clipboardService=c,this._contextMenuService=a,this._originalTopPadding=TV(this,0),this._originalScrollOffset=TV(this,0),this._originalScrollOffsetAnimated=aU(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=TV(this,0),this._modifiedScrollOffset=TV(this,0),this._modifiedScrollOffsetAnimated=aU(this._targetWindow,this._modifiedScrollOffset,this._store);const l=TV("invalidateAlignmentsState",0),u=this._register(new gc((()=>{l.set(l.get()+1,void 0)}),0));this._register(this._editors.original.onDidChangeViewZones((()=>{this._canIgnoreViewZoneUpdateEvent()||u.schedule()}))),this._register(this._editors.modified.onDidChangeViewZones((()=>{this._canIgnoreViewZoneUpdateEvent()||u.schedule()}))),this._register(this._editors.original.onDidChangeConfiguration((t=>{(t.hasChanged(144)||t.hasChanged(66))&&u.schedule()}))),this._register(this._editors.modified.onDidChangeConfiguration((t=>{(t.hasChanged(144)||t.hasChanged(66))&&u.schedule()})));const d=this._diffModel.map((t=>t?GV(t.model.original.onDidChangeTokens,(()=>2===t.model.original.tokenization.backgroundTokenizationState)):void 0)).map(((t,i)=>null==t?void 0:t.read(i))),f=NV((t=>{const i=this._diffModel.read(t),e=null==i?void 0:i.diff.read(t);if(!i||!e)return null;l.read(t);const s=this._options.renderSideBySide.read(t);return Dq(this._editors.original,this._editors.modified,e.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,s)})),p=NV((t=>{var i;const e=null===(i=this._diffModel.read(t))||void 0===i?void 0:i.movedTextToCompare.read(t);if(!e)return null;l.read(t);const s=e.changes.map((t=>new gq(t)));return Dq(this._editors.original,this._editors.modified,s,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)}));function g(){const t=document.createElement("div");return t.className="diagonal-fill",t}const m=this._register(new te);this.viewZones=PV(this,((t,i)=>{var e,s,o,r,h,c,a,l;m.clear();const u=f.read(t)||[],w=[],v=[],b=this._modifiedTopPadding.read(t);b>0&&v.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:b,showInHiddenAreas:!0,suppressMouseDown:!0});const y=this._originalTopPadding.read(t);y>0&&w.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:y,showInHiddenAreas:!0,suppressMouseDown:!0});const k=this._options.renderSideBySide.read(t),x=k||null===(e=this._editors.modified._getViewModel())||void 0===e?void 0:e.createLineBreaksComputer();if(x)for(const F of u)if(F.diff)for(let T=F.originalRange.startLineNumber;Tthis._editors.original.getModel().tokenization.getLineTokens(t))),R.originalRange.mapToLineArray((()=>C[S++])),A,M),N=[];for(const W of R.diff.innerChanges||[])N.push(new rm(W.originalRange.delta(-(R.diff.original.startLineNumber-1)),HU.className,0));const B=bq(_,L,N,I),P=document.createElement("div");if(P.className="inline-deleted-margin-view-zone",er(P,L.fontInfo),this._options.renderIndicators.read(t))for(let j=0;jG($)),P,this._editors.modified,R.diff,this._diffEditorWidget,B.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let H=0;H1&&w.push({afterLineNumber:R.originalRange.startLineNumber+H,domNode:g(),heightInPx:(V-1)*D,showInHiddenAreas:!0,suppressMouseDown:!0})}v.push({afterLineNumber:R.modifiedRange.startLineNumber-1,domNode:I,heightInPx:B.heightInLines*D,minWidthInPx:B.minWidthInPx,marginDomNode:P,setZoneId(t){$=t},showInHiddenAreas:!0,suppressMouseDown:!0})}const O=document.createElement("div");O.className="gutter-delete",w.push({afterLineNumber:R.originalRange.endLineNumberExclusive-1,domNode:g(),heightInPx:R.modifiedHeightInPx,marginDomNode:O,showInHiddenAreas:!0,suppressMouseDown:!0})}else{const U=R.modifiedHeightInPx-R.originalHeightInPx;if(U>0){if(null==E?void 0:E.lineRangeMapping.original.delta(-1).deltaLength(2).contains(R.originalRange.endLineNumberExclusive-1))continue;w.push({afterLineNumber:R.originalRange.endLineNumberExclusive-1,domNode:g(),heightInPx:U,showInHiddenAreas:!0,suppressMouseDown:!0})}else{if(null==E?void 0:E.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(R.modifiedRange.endLineNumberExclusive-1))continue;function q(){const t=document.createElement("div");return t.className="arrow-revert-change "+Sr.asClassName(Is.arrowRight),i.add(Ua(t,"mousedown",(t=>t.stopPropagation()))),i.add(Ua(t,"click",(t=>{t.stopPropagation(),n.revert(R.diff)}))),Wl("div",{},t)}let K;R.diff&&R.diff.modified.isEmpty&&this._options.shouldRenderRevertArrows.read(t)&&(K=q()),v.push({afterLineNumber:R.modifiedRange.endLineNumberExclusive-1,domNode:g(),heightInPx:-U,marginDomNode:K,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(const Z of null!==(l=p.read(t))&&void 0!==l?l:[]){if(!(null==E?void 0:E.lineRangeMapping.original.intersect(Z.originalRange))||!(null==E?void 0:E.lineRangeMapping.modified.intersect(Z.modifiedRange)))continue;const Q=Z.modifiedHeightInPx-Z.originalHeightInPx;Q>0?w.push({afterLineNumber:Z.originalRange.endLineNumberExclusive-1,domNode:g(),heightInPx:Q,showInHiddenAreas:!0,suppressMouseDown:!0}):v.push({afterLineNumber:Z.modifiedRange.endLineNumberExclusive-1,domNode:g(),heightInPx:-Q,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:w,mod:v}}));let w=!1;this._register(this._editors.original.onDidScrollChange((t=>{t.scrollLeftChanged&&!w&&(w=!0,this._editors.modified.setScrollLeft(t.scrollLeft),w=!1)}))),this._register(this._editors.modified.onDidScrollChange((t=>{t.scrollLeftChanged&&!w&&(w=!0,this._editors.original.setScrollLeft(t.scrollLeft),w=!1)}))),this._originalScrollTop=GV(this._editors.original.onDidScrollChange,(()=>this._editors.original.getScrollTop())),this._modifiedScrollTop=GV(this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop())),this._register(jV((t=>{const i=this._originalScrollTop.read(t)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(t))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(t));i!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(i,1)}))),this._register(jV((t=>{const i=this._modifiedScrollTop.read(t)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(t))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(t));i!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(i,1)}))),this._register(jV((t=>{var i;const e=null===(i=this._diffModel.read(t))||void 0===i?void 0:i.movedTextToCompare.read(t);let s=0;if(e){const t=this._editors.original.getTopForLineNumber(e.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();s=this._editors.modified.getTopForLineNumber(e.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-t}s>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(s,void 0)):s<0?(this._modifiedTopPadding.set(-s,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()-s,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+s,void 0,!0)})))}};function Dq(t,i,e,s,n,o){const r=new N(Eq(t,s)),h=new N(Eq(i,n)),c=t.getOption(66),a=i.getOption(66),l=[];let u=0,d=0;function f(t,i){for(;;){let e=r.peek(),s=h.peek();if(e&&e.lineNumber>=t&&(e=void 0),s&&s.lineNumber>=i&&(s=void 0),!e&&!s)break;const n=e?e.lineNumber-u:Number.MAX_VALUE,o=s?s.lineNumber-d:Number.MAX_VALUE;no?(h.dequeue(),e={lineNumber:s.lineNumber-d+u,heightInPx:0}):(r.dequeue(),h.dequeue()),l.push({originalRange:pp.ofLength(e.lineNumber,1),modifiedRange:pp.ofLength(s.lineNumber,1),originalHeightInPx:c+e.heightInPx,modifiedHeightInPx:a+s.heightInPx,diff:void 0})}}for(const p of e){const g=p.lineRangeMapping;f(g.original.startLineNumber,g.modified.startLineNumber);let m=!0,w=g.modified.startLineNumber,v=g.original.startLineNumber;function b(t,i){var e,s,n,o;if(ti.lineNumbert+i.heightInPx),0))&&void 0!==s?s:0,g=null!==(o=null===(n=h.takeWhile((t=>t.lineNumbert+i.heightInPx),0))&&void 0!==o?o:0;l.push({originalRange:u,modifiedRange:d,originalHeightInPx:u.length*c+f,modifiedHeightInPx:d.length*a+g,diff:p.lineRangeMapping}),v=t,w=i}if(o)for(const y of g.innerChanges||[])y.originalRange.startColumn>1&&y.modifiedRange.startColumn>1&&b(y.originalRange.startLineNumber,y.modifiedRange.startLineNumber),y.originalRange.endColumn1&&s.push({lineNumber:i,heightInPx:r*(t-1)})}for(const s of t.getWhitespaces()){if(i.has(s.id))continue;const t=0===s.afterLineNumber?0:o.convertViewPositionToModelPosition(new Ms(s.afterLineNumber,1)).lineNumber;e.push({lineNumber:t,heightInPx:s.height})}return function(t,i,e){if(0===t.length)return i;if(0===i.length)return t;const s=[];let n=0,o=0;for(;nl?(s.push(c),o++):(s.push({lineNumber:(r=h).lineNumber,heightInPx:r.heightInPx+c.heightInPx}),n++,o++)}for(var r;nt.lineNumber))}Sq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Cq(8,kH),Cq(9,uI)],Sq);var Aq;let Mq=Aq=class extends ie{constructor(t,i,e,s,n,o,r){super(),this._editors=t,this._rootElement=i,this._diffModel=e,this._rootWidth=s,this._rootHeight=n,this._modifiedEditorLayoutInfo=o,this._themeService=r,this.width=Aq.ENTIRE_DIFF_OVERVIEW_WIDTH;const h=GV(this._themeService.onDidColorThemeChange,(()=>this._themeService.getColorTheme())),c=NV((t=>{const i=h.read(t);return{insertColor:i.getColor(Gv)||(i.getColor(qv)||Vv).transparent(2),removeColor:i.getColor(Zv)||(i.getColor(Kv)||Uv).transparent(2)}})),a=ir(document.createElement("div"));a.setClassName("diffViewport"),a.setPosition("absolute");const l=Yl("div.diffOverview",{style:{position:"absolute",top:"0px",width:Aq.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(hU(l,a.domNode)),this._register(Ka(l,Fl.POINTER_DOWN,(t=>{this._editors.modified.delegateVerticalScrollbarPointerDown(t)}))),this._register(Ua(l,Fl.MOUSE_WHEEL,(t=>{this._editors.modified.delegateScrollFromMouseWheelEvent(t)}),{passive:!1})),this._register(hU(this._rootElement,l)),this._register(VV(((t,i)=>{const e=this._diffModel.read(t),s=this._editors.original.createOverviewRuler("original diffOverviewRuler");s&&(i.add(s),i.add(hU(l,s.getDomNode())));const n=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(n&&(i.add(n),i.add(hU(l,n.getDomNode()))),!s||!n)return;const o=QV("viewZoneChanged",this._editors.original.onDidChangeViewZones),r=QV("viewZoneChanged",this._editors.modified.onDidChangeViewZones),h=QV("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),u=QV("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);i.add(jV((t=>{var i;o.read(t),r.read(t),h.read(t),u.read(t);const a=c.read(t),l=null===(i=null==e?void 0:e.diff.read(t))||void 0===i?void 0:i.mappings;function d(t,i,e){const s=e._getViewModel();return s?t.filter((t=>t.length>0)).map((t=>{const e=s.coordinatesConverter.convertModelPositionToViewPosition(new Ms(t.startLineNumber,1)),n=s.coordinatesConverter.convertModelPositionToViewPosition(new Ms(t.endLineNumberExclusive,1));return new xD(e.lineNumber,n.lineNumber,n.lineNumber-e.lineNumber,i.toString())})):[]}const f=d((l||[]).map((t=>t.lineRangeMapping.original)),a.removeColor,this._editors.original),p=d((l||[]).map((t=>t.lineRangeMapping.modified)),a.insertColor,this._editors.modified);null==s||s.setZones(f),null==n||n.setZones(p)}))),i.add(jV((t=>{const i=this._rootHeight.read(t),e=this._rootWidth.read(t),o=this._modifiedEditorLayoutInfo.read(t);if(o){s.setLayout({top:0,height:i,right:Aq.ENTIRE_DIFF_OVERVIEW_WIDTH-2*Aq.ONE_OVERVIEW_WIDTH+Aq.ONE_OVERVIEW_WIDTH,width:Aq.ONE_OVERVIEW_WIDTH}),n.setLayout({top:0,height:i,right:0,width:Aq.ONE_OVERVIEW_WIDTH});const e=this._editors.modifiedScrollTop.read(t),r=this._editors.modifiedScrollHeight.read(t),h=this._editors.modified.getOption(102),c=new bk(h.verticalHasArrows?h.arrowSize:0,h.verticalScrollbarSize,0,o.height,r,e);a.setTop(c.getSliderPosition()),a.setHeight(c.getSliderSize())}else a.setTop(0),a.setHeight(0);l.style.height=i+"px",l.style.left=e-Aq.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",a.setWidth(Aq.ENTIRE_DIFF_OVERVIEW_WIDTH)})))})))}};Mq.ONE_OVERVIEW_WIDTH=15,Mq.ENTIRE_DIFF_OVERVIEW_WIDTH=2*Aq.ONE_OVERVIEW_WIDTH,Mq=Aq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(6,tx)],Mq),fw("diffEditor.move.border",{dark:"#8b8b8b9c",light:"#8b8b8b9c",hcDark:"#8b8b8b9c",hcLight:"#8b8b8b9c"},rt(0,"The border color for text that got moved in the diff editor.")),fw("diffEditor.moveActive.border",{dark:"#FFA500",light:"#FFA500",hcDark:"#FFA500",hcLight:"#FFA500"},rt(0,"The active border color for text that got moved in the diff editor.")),fw("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},rt(0,"The color of the shadow around unchanged region widgets."));class Lq extends ie{constructor(){super(...arguments),this._id=++Lq.idCounter,this._onDidDispose=this._register(new fe),this.onDidDispose=this._onDidDispose.event}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(t){return this._targetEditor.getVisibleColumnFromPosition(t)}getPosition(){return this._targetEditor.getPosition()}setPosition(t,i="api"){this._targetEditor.setPosition(t,i)}revealLine(t,i=0){this._targetEditor.revealLine(t,i)}revealLineInCenter(t,i=0){this._targetEditor.revealLineInCenter(t,i)}revealLineInCenterIfOutsideViewport(t,i=0){this._targetEditor.revealLineInCenterIfOutsideViewport(t,i)}revealLineNearTop(t,i=0){this._targetEditor.revealLineNearTop(t,i)}revealPosition(t,i=0){this._targetEditor.revealPosition(t,i)}revealPositionInCenter(t,i=0){this._targetEditor.revealPositionInCenter(t,i)}revealPositionInCenterIfOutsideViewport(t,i=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(t,i)}revealPositionNearTop(t,i=0){this._targetEditor.revealPositionNearTop(t,i)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(t,i="api"){this._targetEditor.setSelection(t,i)}setSelections(t,i="api"){this._targetEditor.setSelections(t,i)}revealLines(t,i,e=0){this._targetEditor.revealLines(t,i,e)}revealLinesInCenter(t,i,e=0){this._targetEditor.revealLinesInCenter(t,i,e)}revealLinesInCenterIfOutsideViewport(t,i,e=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(t,i,e)}revealLinesNearTop(t,i,e=0){this._targetEditor.revealLinesNearTop(t,i,e)}revealRange(t,i=0,e=!1,s=!0){this._targetEditor.revealRange(t,i,e,s)}revealRangeInCenter(t,i=0){this._targetEditor.revealRangeInCenter(t,i)}revealRangeInCenterIfOutsideViewport(t,i=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(t,i)}revealRangeNearTop(t,i=0){this._targetEditor.revealRangeNearTop(t,i)}revealRangeNearTopIfOutsideViewport(t,i=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(t,i)}revealRangeAtTop(t,i=0){this._targetEditor.revealRangeAtTop(t,i)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(t,i,e){this._targetEditor.trigger(t,i,e)}createDecorationsCollection(t){return this._targetEditor.createDecorationsCollection(t)}changeDecorations(t){return this._targetEditor.changeDecorations(t)}}Lq.idCounter=0;var Fq=function(t,i){return function(e,s){i(e,s,t)}};let Tq=class extends ie{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(t,i,e,s,n,o,r){super(),this.originalEditorElement=t,this.modifiedEditorElement=i,this._options=e,this._createInnerEditor=n,this._instantiationService=o,this._keybindingService=r,this._onDidContentSizeChange=this._register(new fe),this.original=this._register(this._createLeftHandSideEditor(e.editorOptions.get(),s.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(e.editorOptions.get(),s.modifiedEditor||{})),this.modifiedModel=GV(this.modified.onDidChangeModel,(()=>this.modified.getModel())),this.modifiedScrollTop=GV(this.modified.onDidScrollChange,(()=>this.modified.getScrollTop())),this.modifiedScrollHeight=GV(this.modified.onDidScrollChange,(()=>this.modified.getScrollHeight())),this.modifiedSelections=GV(this.modified.onDidChangeCursorSelection,(()=>{var t;return null!==(t=this.modified.getSelections())&&void 0!==t?t:[]})),this.modifiedCursor=GV(this.modified.onDidChangeCursorPosition,(()=>{var t;return null!==(t=this.modified.getPosition())&&void 0!==t?t:new Ms(1,1)})),this._register(HV({createEmptyChangeSummary:()=>({}),handleChange:(t,i)=>(t.didChange(e.editorOptions)&&Object.assign(i,t.change.changedOptions),!0)},((t,i)=>{e.editorOptions.read(t),this._options.renderSideBySide.read(t),this.modified.updateOptions(this._adjustOptionsForRightHandSide(t,i)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(t,i))})))}_createLeftHandSideEditor(t,i){const e=this._adjustOptionsForLeftHandSide(void 0,t),s=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,e,i);return s.setContextValue("isInDiffLeftEditor",!0),s}_createRightHandSideEditor(t,i){const e=this._adjustOptionsForRightHandSide(void 0,t),s=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,e,i);return s.setContextValue("isInDiffRightEditor",!0),s}_constructInnerEditor(t,i,e,s){const n=this._createInnerEditor(t,i,e,s);return this._register(n.onDidContentSizeChange((t=>{const i=this.original.getContentWidth()+this.modified.getContentWidth()+Mq.ENTIRE_DIFF_OVERVIEW_WIDTH,e=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:e,contentWidth:i,contentHeightChanged:t.contentHeightChanged,contentWidthChanged:t.contentWidthChanged})}))),n}_adjustOptionsForLeftHandSide(t,i){const e=this._adjustOptionsForSubEditor(i);return this._options.renderSideBySide.get()?(e.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},e.wordWrapOverride1=this._options.diffWordWrap.get()):(e.wordWrapOverride1="off",e.wordWrapOverride2="off",e.stickyScroll={enabled:!1},e.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),e.glyphMargin=this._options.renderSideBySide.get(),i.originalAriaLabel&&(e.ariaLabel=i.originalAriaLabel),e.ariaLabel=this._updateAriaLabel(e.ariaLabel),e.readOnly=!this._options.originalEditable.get(),e.dropIntoEditor={enabled:!e.readOnly},e.extraEditorClassName="original-in-monaco-diff-editor",e}_adjustOptionsForRightHandSide(t,i){const e=this._adjustOptionsForSubEditor(i);return i.modifiedAriaLabel&&(e.ariaLabel=i.modifiedAriaLabel),e.ariaLabel=this._updateAriaLabel(e.ariaLabel),e.wordWrapOverride1=this._options.diffWordWrap.get(),e.revealHorizontalRightPadding=Ni.revealHorizontalRightPadding.defaultValue+Mq.ENTIRE_DIFF_OVERVIEW_WIDTH,e.scrollbar.verticalHasArrows=!1,e.extraEditorClassName="modified-in-monaco-diff-editor",e}_adjustOptionsForSubEditor(t){const i={...t,dimension:{height:0,width:0}};return i.inDiffEditor=!0,i.automaticLayout=!1,i.scrollbar={...i.scrollbar||{}},i.folding=!1,i.codeLens=this._options.diffCodeLens.get(),i.fixedOverflowWidgets=!0,i.minimap={...i.minimap||{}},i.minimap.enabled=!1,i.stickyScroll=this._options.hideUnchangedRegions.get()?{enabled:!1}:this._options.editorOptions.get().stickyScroll,i}_updateAriaLabel(t){var i;t||(t="");const e=rt(0," use {0} to open the accessibility help.",null===(i=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp"))||void 0===i?void 0:i.getAriaLabel());return this._options.accessibilityVerbose.get()?t+e:t?t.replaceAll(e,""):""}};Tq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Fq(5,dr),Fq(6,rC)],Tq);class Rq{get editorOptions(){return this._options}constructor(t){this._diffEditorWidth=TV(this,0),this.couldShowInlineViewBecauseOfSize=NV(this,(t=>this._options.read(t).renderSideBySide&&this._diffEditorWidth.read(t)<=this._options.read(t).renderSideBySideInlineBreakpoint)),this.renderOverviewRuler=NV(this,(t=>this._options.read(t).renderOverviewRuler)),this.renderSideBySide=NV(this,(t=>this._options.read(t).renderSideBySide&&!(this._options.read(t).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(t)))),this.readOnly=NV(this,(t=>this._options.read(t).readOnly)),this.shouldRenderRevertArrows=NV(this,(t=>!!this._options.read(t).renderMarginRevertIcon&&!!this.renderSideBySide.read(t)&&!this.readOnly.read(t))),this.renderIndicators=NV(this,(t=>this._options.read(t).renderIndicators)),this.enableSplitViewResizing=NV(this,(t=>this._options.read(t).enableSplitViewResizing)),this.splitViewDefaultRatio=NV(this,(t=>this._options.read(t).splitViewDefaultRatio)),this.ignoreTrimWhitespace=NV(this,(t=>this._options.read(t).ignoreTrimWhitespace)),this.maxComputationTimeMs=NV(this,(t=>this._options.read(t).maxComputationTime)),this.showMoves=NV(this,(t=>this._options.read(t).experimental.showMoves&&this.renderSideBySide.read(t))),this.isInEmbeddedEditor=NV(this,(t=>this._options.read(t).isInEmbeddedEditor)),this.diffWordWrap=NV(this,(t=>this._options.read(t).diffWordWrap)),this.originalEditable=NV(this,(t=>this._options.read(t).originalEditable)),this.diffCodeLens=NV(this,(t=>this._options.read(t).diffCodeLens)),this.accessibilityVerbose=NV(this,(t=>this._options.read(t).accessibilityVerbose)),this.diffAlgorithm=NV(this,(t=>this._options.read(t).diffAlgorithm)),this.showEmptyDecorations=NV(this,(t=>this._options.read(t).experimental.showEmptyDecorations)),this.onlyShowAccessibleDiffViewer=NV(this,(t=>this._options.read(t).onlyShowAccessibleDiffViewer)),this.hideUnchangedRegions=NV(this,(t=>this._options.read(t).hideUnchangedRegions.enabled)),this.hideUnchangedRegionsRevealLineCount=NV(this,(t=>this._options.read(t).hideUnchangedRegions.revealLineCount)),this.hideUnchangedRegionsContextLineCount=NV(this,(t=>this._options.read(t).hideUnchangedRegions.contextLineCount)),this.hideUnchangedRegionsMinimumLineCount=NV(this,(t=>this._options.read(t).hideUnchangedRegions.minimumLineCount));const i={...t,...Oq(t,aO)};this._options=TV(this,i)}updateOptions(t){const i=Oq(t,this._options.get()),e={...this._options.get(),...t,...i};this._options.set(e,void 0,{changedOptions:t})}setWidth(t){this._diffEditorWidth.set(t,void 0)}}function Oq(t,i){var e,s,n,o,r,h,c,a;return{enableSplitViewResizing:ri(t.enableSplitViewResizing,i.enableSplitViewResizing),splitViewDefaultRatio:li(t.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:ri(t.renderSideBySide,i.renderSideBySide),renderMarginRevertIcon:ri(t.renderMarginRevertIcon,i.renderMarginRevertIcon),maxComputationTime:ci(t.maxComputationTime,i.maxComputationTime,0,1073741824),maxFileSize:ci(t.maxFileSize,i.maxFileSize,0,1073741824),ignoreTrimWhitespace:ri(t.ignoreTrimWhitespace,i.ignoreTrimWhitespace),renderIndicators:ri(t.renderIndicators,i.renderIndicators),originalEditable:ri(t.originalEditable,i.originalEditable),diffCodeLens:ri(t.diffCodeLens,i.diffCodeLens),renderOverviewRuler:ri(t.renderOverviewRuler,i.renderOverviewRuler),diffWordWrap:fi(t.diffWordWrap,i.diffWordWrap,["off","on","inherit"]),diffAlgorithm:fi(t.diffAlgorithm,i.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:ri(t.accessibilityVerbose,i.accessibilityVerbose),experimental:{showMoves:ri(null===(e=t.experimental)||void 0===e?void 0:e.showMoves,i.experimental.showMoves),showEmptyDecorations:ri(null===(s=t.experimental)||void 0===s?void 0:s.showEmptyDecorations,i.experimental.showEmptyDecorations)},hideUnchangedRegions:{enabled:ri(null!==(o=null===(n=t.hideUnchangedRegions)||void 0===n?void 0:n.enabled)&&void 0!==o?o:null===(r=t.experimental)||void 0===r?void 0:r.collapseUnchangedRegions,i.hideUnchangedRegions.enabled),contextLineCount:ci(null===(h=t.hideUnchangedRegions)||void 0===h?void 0:h.contextLineCount,i.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:ci(null===(c=t.hideUnchangedRegions)||void 0===c?void 0:c.minimumLineCount,i.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:ci(null===(a=t.hideUnchangedRegions)||void 0===a?void 0:a.revealLineCount,i.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:ri(t.isInEmbeddedEditor,i.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:ri(t.onlyShowAccessibleDiffViewer,i.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:ci(t.renderSideBySideInlineBreakpoint,i.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:ri(t.useInlineViewWhenSpaceIsLimited,i.useInlineViewWhenSpaceIsLimited)}}var Iq=function(t,i){return function(e,s){i(e,s,t)}};let _q=class extends Lq{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(t,i,e,s,n,o,r,h){var c;super(),this._domElement=t,this._parentContextKeyService=s,this._parentInstantiationService=n,this._audioCueService=r,this._editorProgressService=h,this.elements=Yl("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[Yl("div.noModificationsOverlay@overlay",{style:{position:"absolute",height:"100%",visibility:"hidden"}},[Wl("span",{},"No Changes")]),Yl("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),Yl("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),Yl("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModel=TV(this,void 0),this._shouldDisposeDiffModel=!1,this.onDidChangeModel=ce.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._parentInstantiationService.createChild(new eT([lh,this._contextKeyService])),this._boundarySashes=TV(this,void 0),this._accessibleDiffViewerShouldBeVisible=TV(this,!1),this._accessibleDiffViewerVisible=NV(this,(t=>!!this._options.onlyShowAccessibleDiffViewer.read(t)||this._accessibleDiffViewerShouldBeVisible.read(t))),this._movedBlocksLinesPart=TV(this,void 0),this._layoutInfo=NV(this,(t=>{var i,e,s,n,o;const r=this._rootSizeObserver.width.read(t),h=this._rootSizeObserver.height.read(t),c=null===(i=this._sash.read(t))||void 0===i?void 0:i.sashLeft.read(t),a=null!=c?c:Math.max(5,this._editors.original.getLayoutInfo().decorationsLeft),l=r-a-(null!==(s=null===(e=this._overviewRulerPart.read(t))||void 0===e?void 0:e.width)&&void 0!==s?s:0),u=a-(null!==(o=null===(n=this._movedBlocksLinesPart.read(t))||void 0===n?void 0:n.width.read(t))&&void 0!==o?o:0);return this.elements.original.style.width=u+"px",this.elements.original.style.left="0px",this.elements.modified.style.width=l+"px",this.elements.modified.style.left=a+"px",this._editors.original.layout({width:u,height:h},!0),this._editors.modified.layout({width:l,height:h},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}})),this._diffValue=this._diffModel.map(((t,i)=>null==t?void 0:t.diff.read(i))),this.onDidUpdateDiff=ce.fromObservableLight(this._diffValue),o.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register(Xi((()=>this._domElement.removeChild(this.elements.root)))),this._rootSizeObserver=this._register(new cU(this.elements.root,i.dimension)),this._rootSizeObserver.setAutomaticLayout(null!==(c=i.automaticLayout)&&void 0!==c&&c),this._options=new Rq(i),this._register(jV((t=>{this._options.setWidth(this._rootSizeObserver.width.read(t))}))),this._contextKeyService.createKey(XC.isEmbeddedDiffEditor.key,!1),this._register(vU(XC.isEmbeddedDiffEditor,this._contextKeyService,(t=>this._options.isInEmbeddedEditor.read(t)))),this._register(vU(XC.comparingMovedCode,this._contextKeyService,(t=>{var i;return!!(null===(i=this._diffModel.read(t))||void 0===i?void 0:i.movedTextToCompare.read(t))}))),this._register(vU(XC.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,(t=>this._options.couldShowInlineViewBecauseOfSize.read(t)))),this._register(vU(XC.hasChanges,this._contextKeyService,(t=>{var i,e,s;return(null!==(s=null===(e=null===(i=this._diffModel.read(t))||void 0===i?void 0:i.diff.read(t))||void 0===e?void 0:e.mappings.length)&&void 0!==s?s:0)>0}))),this._editors=this._register(this._instantiationService.createInstance(Tq,this.elements.original,this.elements.modified,this._options,e,((t,i,e,s)=>this._createInnerEditor(t,i,e,s)))),this._overviewRulerPart=$V(this,(t=>this._options.renderOverviewRuler.read(t)?this._instantiationService.createInstance(pU(Mq,t),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map((t=>t.modifiedEditor))):void 0)).recomputeInitiallyAndOnChange(this._store),this._sash=$V(this,(t=>{const i=this._options.renderSideBySide.read(t);return this.elements.root.classList.toggle("side-by-side",i),i?new YU(this._options,this.elements.root,{height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map(((t,i)=>{var e,s;return t-(null!==(s=null===(e=this._overviewRulerPart.read(i))||void 0===e?void 0:e.width)&&void 0!==s?s:0)}))},this._boundarySashes):void 0})).recomputeInitiallyAndOnChange(this._store);const a=$V(this,(t=>this._instantiationService.createInstance(pU(oq,t),this._editors,this._diffModel,this._options))).recomputeInitiallyAndOnChange(this._store);$V(this,(t=>this._instantiationService.createInstance(pU(ZU,t),this._editors,this._diffModel,this._options,this))).recomputeInitiallyAndOnChange(this._store);const l=new Set,u=new Set;let d=!1;const f=$V(this,(t=>this._instantiationService.createInstance(pU(Sq,t),Ba(this._domElement),this._editors,this._diffModel,this._options,this,(()=>d||a.get().isUpdatingHiddenAreas),l,u))).recomputeInitiallyAndOnChange(this._store),p=NV(this,(t=>{const i=f.read(t).viewZones.read(t).orig,e=a.read(t).viewZones.read(t).origViewZones;return i.concat(e)})),g=NV(this,(t=>{const i=f.read(t).viewZones.read(t).mod,e=a.read(t).viewZones.read(t).modViewZones;return i.concat(e)}));let m;this._register(gU(this._editors.original,p,(t=>{d=t}),l)),this._register(gU(this._editors.modified,g,(t=>{d=t,d?m=eU.capture(this._editors.modified):(null==m||m.restore(this._editors.modified),m=void 0)}),u)),this._accessibleDiffViewer=$V(this,(t=>this._instantiationService.createInstance(pU(SU,t),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,((t,i)=>this._accessibleDiffViewerShouldBeVisible.set(t,i)),this._options.onlyShowAccessibleDiffViewer.map((t=>!t)),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map(((t,i)=>{var e;return null===(e=null==t?void 0:t.diff.read(i))||void 0===e?void 0:e.mappings.map((t=>t.lineRangeMapping))})),this._editors))).recomputeInitiallyAndOnChange(this._store);const w=this._accessibleDiffViewerVisible.map((t=>t?"hidden":"visible"));this._register(fU(this.elements.modified,{visibility:w})),this._register(fU(this.elements.original,{visibility:w})),this._createDiffEditorContributions(),o.addDiffEditor(this),this._register(tU(this._layoutInfo)),$V(this,(t=>new(pU(qU,t))(this.elements.root,this._diffModel,this._layoutInfo.map((t=>t.originalEditor)),this._layoutInfo.map((t=>t.modifiedEditor)),this._editors))).recomputeInitiallyAndOnChange(this._store,(t=>{this._movedBlocksLinesPart.set(t,void 0)})),this._register(fU(this.elements.overlay,{width:this._layoutInfo.map(((t,i)=>t.originalEditor.width+(this._options.renderSideBySide.read(i)?0:t.modifiedEditor.width))),visibility:NV((t=>{var i,e;return this._options.hideUnchangedRegions.read(t)&&0===(null===(e=null===(i=this._diffModel.read(t))||void 0===i?void 0:i.diff.read(t))||void 0===e?void 0:e.mappings.length)?"visible":"hidden"}))})),this._register(ce.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,(t=>{var i,e;if(3===(null==t?void 0:t.reason)){const s=null===(e=null===(i=this._diffModel.get())||void 0===i?void 0:i.diff.get())||void 0===e?void 0:e.mappings.find((i=>i.lineRangeMapping.modified.contains(t.position.lineNumber)));(null==s?void 0:s.lineRangeMapping.modified.isEmpty)?this._audioCueService.playAudioCue(qH.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):(null==s?void 0:s.lineRangeMapping.original.isEmpty)?this._audioCueService.playAudioCue(qH.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):s&&this._audioCueService.playAudioCue(qH.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}})));const v=this._diffModel.map(this,((t,i)=>{if(t)return void 0===t.diff.read(i)&&!t.isDiffUpToDate.read(i)}));this._register(VV(((t,i)=>{if(!0===v.read(t)){const t=this._editorProgressService.show(!0,1e3);i.add(Xi((()=>t.done())))}}))),this._register(Xi((()=>{var t;this._shouldDisposeDiffModel&&(null===(t=this._diffModel.get())||void 0===t||t.dispose())})))}_createInnerEditor(t,i,e,s){return t.createInstance(RT,i,e,s)}_createDiffEditorContributions(){const t=du.getDiffEditorContributions();for(const i of t)try{this._register(this._instantiationService.createInstance(i.ctor,this))}catch(t){Pi(t)}}get _targetEditor(){return this._editors.modified}getEditorType(){return Ig.IDiffEditor}layout(t){this._rootSizeObserver.observe(t)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){var t;return{original:this._editors.original.saveViewState(),modified:this._editors.modified.saveViewState(),modelState:null===(t=this._diffModel.get())||void 0===t?void 0:t.serializeState()}}restoreViewState(t){var i;if(t&&t.original&&t.modified){const e=t;this._editors.original.restoreViewState(e.original),this._editors.modified.restoreViewState(e.modified),e.modelState&&(null===(i=this._diffModel.get())||void 0===i||i.restoreSerializedState(e.modelState))}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(t){return this._instantiationService.createInstance(fq,t,this._options)}getModel(){var t,i;return null!==(i=null===(t=this._diffModel.get())||void 0===t?void 0:t.model)&&void 0!==i?i:null}setModel(t,i){!t&&this._diffModel.get()&&this._accessibleDiffViewer.get().close();const e=t?"model"in t?{model:t,shouldDispose:!1}:{model:this.createViewModel(t),shouldDispose:!0}:void 0;this._diffModel.get()!==(null==e?void 0:e.model)&&CV(i,(t=>{var i;GV.batchEventsGlobally(t,(()=>{this._editors.original.setModel(e?e.model.model.original:null),this._editors.modified.setModel(e?e.model.model.modified:null)}));const s=this._diffModel.get(),n=this._shouldDisposeDiffModel;this._shouldDisposeDiffModel=null!==(i=null==e?void 0:e.shouldDispose)&&void 0!==i&&i,this._diffModel.set(null==e?void 0:e.model,t),n&&(null==s||s.dispose())}))}updateOptions(t){this._options.updateOptions(t)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){var t;const i=null===(t=this._diffModel.get())||void 0===t?void 0:t.diff.get();return i?i.mappings.map((t=>{const i=t.lineRangeMapping;let e,s,n,o,r=i.innerChanges;return i.original.isEmpty?(e=i.original.startLineNumber-1,s=0,r=void 0):(e=i.original.startLineNumber,s=i.original.endLineNumberExclusive-1),i.modified.isEmpty?(n=i.modified.startLineNumber-1,o=0,r=void 0):(n=i.modified.startLineNumber,o=i.modified.endLineNumberExclusive-1),{originalStartLineNumber:e,originalEndLineNumber:s,modifiedStartLineNumber:n,modifiedEndLineNumber:o,charChanges:null==r?void 0:r.map((t=>({originalStartLineNumber:t.originalRange.startLineNumber,originalStartColumn:t.originalRange.startColumn,originalEndLineNumber:t.originalRange.endLineNumber,originalEndColumn:t.originalRange.endColumn,modifiedStartLineNumber:t.modifiedRange.startLineNumber,modifiedStartColumn:t.modifiedRange.startColumn,modifiedEndLineNumber:t.modifiedRange.endLineNumber,modifiedEndColumn:t.modifiedRange.endColumn})))}})):null}revert(t){var i;if(t.innerChanges)return void this.revertRangeMappings(t.innerChanges);const e=null===(i=this._diffModel.get())||void 0===i?void 0:i.model;e&&this._editors.modified.executeEdits("diffEditor",[{range:t.modified.toExclusiveRange(),text:e.original.getValueInRange(t.original.toExclusiveRange())}])}revertRangeMappings(t){const i=this._diffModel.get();if(!i||!i.isDiffUpToDate.get())return;const e=t.map((t=>({range:t.modifiedRange,text:i.model.original.getValueInRange(t.originalRange)})));this._editors.modified.executeEdits("diffEditor",e)}_goTo(t){this._editors.modified.setPosition(new Ms(t.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(t.lineRangeMapping.modified.toExclusiveRange())}goToDiff(t){var i,e,s,n;const o=null===(e=null===(i=this._diffModel.get())||void 0===i?void 0:i.diff.get())||void 0===e?void 0:e.mappings;if(!o||0===o.length)return;const r=this._editors.modified.getPosition().lineNumber;let h;h="next"===t?null!==(s=o.find((t=>t.lineRangeMapping.modified.startLineNumber>r)))&&void 0!==s?s:o[0]:null!==(n=hp(o,(t=>t.lineRangeMapping.modified.startLineNumber{var i;const e=null===(i=t.diff.get())||void 0===i?void 0:i.mappings;e&&0!==e.length&&this._goTo(e[0])}))}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const t=this._diffModel.get();t&&await t.waitForDiff()}mapToOtherSide(){var t,i;const e=this._editors.modified.hasWidgetFocus(),s=e?this._editors.original:this._editors.modified;let n;const o=(e?this._editors.modified:this._editors.original).getSelection();if(o){const s=null===(i=null===(t=this._diffModel.get())||void 0===t?void 0:t.diff.get())||void 0===i?void 0:i.mappings.map((t=>e?t.lineRangeMapping.flip():t.lineRangeMapping));if(s){const t=wU(o.getStartPosition(),s),i=wU(o.getEndPosition(),s);n=Ls.plusRange(t,i)}}return{destination:s,destinationSelection:n}}switchSide(){const{destination:t,destinationSelection:i}=this.mapToOtherSide();t.focus(),i&&t.setSelection(i)}exitCompareMove(){const t=this._diffModel.get();t&&t.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){var t;const i=null===(t=this._diffModel.get())||void 0===t?void 0:t.unchangedRegions.get();i&&kV((t=>{for(const e of i)e.collapseAll(t)}))}showAllUnchangedRegions(){var t;const i=null===(t=this._diffModel.get())||void 0===t?void 0:t.unchangedRegions.get();i&&kV((t=>{for(const e of i)e.showAll(t)}))}};_q=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Iq(3,lh),Iq(4,dr),Iq(5,pr),Iq(6,HH),Iq(7,HO)],_q);var Nq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Bq=function(t,i){return function(e,s){i(e,s,t)}};let Pq=0,$q=!1;let Wq=class extends RT{constructor(t,i,e,s,n,o,r,h,c,a,l,u){const d={...i};d.ariaLabel=d.ariaLabel||rI.editorViewAccessibleLabel,d.ariaLabel=d.ariaLabel+";"+rI.accessibilityHelpMessage,super(t,d,{},e,s,n,o,h,c,a,l,u),this._standaloneKeybindingService=r instanceof nV?r:null,function(t){if(!t){if($q)return;$q=!0}!function(t){Im=document.createElement("div"),Im.className="monaco-aria-container";const i=()=>{const t=document.createElement("div");return t.className="monaco-alert",t.setAttribute("role","alert"),t.setAttribute("aria-atomic","true"),Im.appendChild(t),t};_m=i(),Nm=i();const e=()=>{const t=document.createElement("div");return t.className="monaco-status",t.setAttribute("aria-live","polite"),t.setAttribute("aria-atomic","true"),Im.appendChild(t),t};Bm=e(),Pm=e(),t.appendChild(Im)}(t||Wn.document.body)}(d.ariaContainerElement)}addCommand(t,i,e){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const s="DYNAMIC_"+ ++Pq,n=Hr.deserialize(e);return this._standaloneKeybindingService.addDynamicKeybinding(s,t,i,n),s}createContextKey(t,i){return this._contextKeyService.createKey(t,i)}addAction(t){if("string"!=typeof t.id||"string"!=typeof t.label||"function"!=typeof t.run)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"),ie.None;const i=t.id,e=t.label,s=Hr.and(Hr.equals("editorId",this.getId()),Hr.deserialize(t.precondition)),n=t.keybindings,o=Hr.and(s,Hr.deserialize(t.keybindingContext)),r=t.contextMenuGroupId||null,h=t.contextMenuOrder||0,c=(i,...e)=>Promise.resolve(t.run(this,...e)),a=new te,l=this.getId()+":"+i;if(a.add(Er.registerCommand(l,c)),r&&a.add(Nh.appendMenuItem(Oh.EditorContext,{command:{id:l,title:e},when:s,group:r,order:h})),Array.isArray(n))for(const t of n)a.add(this._standaloneKeybindingService.addDynamicKeybinding(l,t,c,o));const u=new KD(l,e,e,void 0,s,((...i)=>Promise.resolve(t.run(this,...i))),this._contextKeyService);return this._actions.set(i,u),a.add(Xi((()=>{this._actions.delete(i)}))),a}_triggerCommand(t,i){if(this._codeEditorService instanceof qT)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(t,i)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(t,i)}};Wq=Nq([Bq(2,dr),Bq(3,pr),Bq(4,Dr),Bq(5,lh),Bq(6,rC),Bq(7,tx),Bq(8,rT),Bq(9,Qm),Bq(10,tf),Bq(11,Cg)],Wq);let jq=class extends Wq{constructor(t,i,e,s,n,o,r,h,c,a,l,u,d,f,p){const g={...i};uV(a,g,!1);const m=h.registerEditorContainer(t);"string"==typeof g.theme&&h.setTheme(g.theme),void 0!==g.autoDetectHighContrast&&h.setAutoDetectHighContrast(Boolean(g.autoDetectHighContrast));const w=g.model;let v;if(delete g.model,super(t,g,e,s,n,o,r,h,c,l,f,p),this._configurationService=a,this._standaloneThemeService=h,this._register(m),void 0===w){const t=d.getLanguageIdByMimeType(g.language)||g.language||qd;v=Hq(u,d,g.value||"",t,void 0),this._ownsModel=!0}else v=w,this._ownsModel=!1;this._attachModel(v),v&&this._onDidChangeModel.fire({oldModelUrl:null,newModelUrl:v.uri})}dispose(){super.dispose()}updateOptions(t){uV(this._configurationService,t,!1),"string"==typeof t.theme&&this._standaloneThemeService.setTheme(t.theme),void 0!==t.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(t.autoDetectHighContrast)),super.updateOptions(t)}_postDetachModelCleanup(t){super._postDetachModelCleanup(t),t&&this._ownsModel&&(t.dispose(),this._ownsModel=!1)}};jq=Nq([Bq(2,dr),Bq(3,pr),Bq(4,Dr),Bq(5,lh),Bq(6,rC),Bq(7,hH),Bq(8,rT),Bq(9,gd),Bq(10,Qm),Bq(11,gr),Bq(12,kd),Bq(13,tf),Bq(14,Cg)],jq);let zq=class extends _q{constructor(t,i,e,s,n,o,r,h,c,a,l,u){const d={...i};uV(h,d,!0);const f=o.registerEditorContainer(t);"string"==typeof d.theme&&o.setTheme(d.theme),void 0!==d.autoDetectHighContrast&&o.setAutoDetectHighContrast(Boolean(d.autoDetectHighContrast)),super(t,d,{},s,e,n,u,a),this._configurationService=h,this._standaloneThemeService=o,this._register(f)}dispose(){super.dispose()}updateOptions(t){uV(this._configurationService,t,!0),"string"==typeof t.theme&&this._standaloneThemeService.setTheme(t.theme),void 0!==t.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(t.autoDetectHighContrast)),super.updateOptions(t)}_createInnerEditor(t,i,e){return t.createInstance(Wq,i,e)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(t,i,e){return this.getModifiedEditor().addCommand(t,i,e)}createContextKey(t,i){return this.getModifiedEditor().createContextKey(t,i)}addAction(t){return this.getModifiedEditor().addAction(t)}};function Hq(t,i,e,s,n){if(e=e||"",!s){const s=e.indexOf("\n");let o=e;return-1!==s&&(o=e.substring(0,s)),Vq(t,e,i.createByFilepathOrFirstLine(n||null,o),n)}return Vq(t,e,i.createById(s),n)}function Vq(t,i,e,s){return t.createModel(i,e,s)}zq=Nq([Bq(2,dr),Bq(3,lh),Bq(4,pr),Bq(5,hH),Bq(6,rT),Bq(7,gd),Bq(8,uI),Bq(9,HO),Bq(10,kH),Bq(11,HH)],zq);class Uq extends ie{constructor(t,i,e={orientation:0}){super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new ve),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new te),this.options=e,this.lookupKeybindings="function"==typeof this.options.getKeyBinding,this.toggleMenuAction=this._register(new qq((()=>{var t;return null===(t=this.toggleMenuActionViewItem)||void 0===t?void 0:t.show()}),e.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",t.appendChild(this.element),this.actionBar=this._register(new XB(this.element,{orientation:e.orientation,ariaLabel:e.ariaLabel,actionRunner:e.actionRunner,allowContextMenu:e.allowContextMenu,highlightToggledItems:e.highlightToggledItems,actionViewItemProvider:(t,s)=>{var n;if(t.id===qq.ID)return this.toggleMenuActionViewItem=new xB(t,t.menuActions,i,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:Sr.asClassNameArray(null!==(n=e.moreIcon)&&void 0!==n?n:Is.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(e.actionViewItemProvider){const i=e.actionViewItemProvider(t,s);if(i)return i}if(t instanceof yr){const e=new xB(t,t.actions,i,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:t.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry});return e.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(e),this.disposables.add(this._onDidChangeDropdownVisibility.add(e.onDidChangeVisibility)),e}}}))}set actionRunner(t){this.actionBar.actionRunner=t}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(t){return this.actionBar.getAction(t)}setActions(t,i){this.clear();const e=t?t.slice(0):[];this.hasSecondaryActions=!!(i&&i.length>0),this.hasSecondaryActions&&i&&(this.toggleMenuAction.menuActions=i.slice(0),e.push(this.toggleMenuAction)),e.forEach((t=>{this.actionBar.push(t,{icon:!0,label:!1,keybinding:this.getKeybindingLabel(t)})}))}getKeybindingLabel(t){var i,e,s;const n=this.lookupKeybindings?null===(e=(i=this.options).getKeyBinding)||void 0===e?void 0:e.call(i,t):void 0;return null!==(s=null==n?void 0:n.getLabel())&&void 0!==s?s:void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}class qq extends wr{constructor(t,i){i=i||rt(0,"More Actions..."),super(qq.ID,i,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=t}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(t){this._menuActions=t}}qq.ID="toolbar.toggle.more";var Kq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Gq=function(t,i){return function(e,s){i(e,s,t)}};let Zq=class extends Uq{constructor(t,i,e,s,n,o,r){super(t,n,{getKeyBinding:t=>{var i;return null!==(i=o.lookupKeybinding(t.id))&&void 0!==i?i:void 0},...i,allowContextMenu:!0,skipTelemetry:"string"==typeof(null==i?void 0:i.telemetrySource)}),this._options=i,this._menuService=e,this._contextKeyService=s,this._contextMenuService=n,this._sessionDisposables=this._store.add(new te);const h=null==i?void 0:i.telemetrySource;h&&this._store.add(this.actionBar.onDidRun((t=>r.publicLog2("workbenchActionExecuted",{id:t.action.id,from:h}))))}setActions(t,i=[],e){var s,n,o;this._sessionDisposables.clear();const r=t.slice(),h=i.slice(),c=[];let a=0;const l=[];let u=!1;if(-1!==(null===(s=this._options)||void 0===s?void 0:s.hiddenItemStrategy))for(let t=0;tnull==t?void 0:t.id))),i=this._options.overflowBehavior.maxItems-t.size;let e=0;for(let s=0;s=i&&(r[s]=void 0,l[s]=n))}}v(r),v(l),super.setActions(r,br.join(l,h)),c.length>0&&this._sessionDisposables.add(Ua(this.getElement(),"contextmenu",(t=>{var i,s,n,o,r;const h=new ic(Ba(this.getElement()),t),l=this.getItemAction(h.target);if(!l)return;h.preventDefault(),h.stopPropagation();let d,f=!1;if(1===a&&0===(null===(i=this._options)||void 0===i?void 0:i.hiddenItemStrategy)){f=!0;for(let t=0;tthis._menuService.resetHiddenStates(e)}))),this._contextMenuService.showContextMenu({getAnchor:()=>h,getActions:()=>p,menuId:null===(n=this._options)||void 0===n?void 0:n.contextMenu,menuActionOptions:{renderShortTitle:!0,...null===(o=this._options)||void 0===o?void 0:o.menuOptions},skipTelemetry:"string"==typeof(null===(r=this._options)||void 0===r?void 0:r.telemetrySource),contextKeyService:this._contextKeyService})})))}};Zq=Kq([Gq(2,Ih),Gq(3,lh),Gq(4,uI),Gq(5,rC),Gq(6,jh)],Zq);let Qq=class extends Zq{constructor(t,i,e,s,n,o,r,h){super(t,{resetMenu:i,...e},s,n,o,r,h),this._onDidChangeMenuItems=this._store.add(new fe);const c=this._store.add(s.createMenu(i,n,{emitEventsForSubmenuChanges:!0})),a=()=>{var i,s,n;const o=[],r=[];qB(c,null==e?void 0:e.menuOptions,{primary:o,secondary:r},null===(i=null==e?void 0:e.toolbarOptions)||void 0===i?void 0:i.primaryGroup,null===(s=null==e?void 0:e.toolbarOptions)||void 0===s?void 0:s.shouldInlineSubmenu,null===(n=null==e?void 0:e.toolbarOptions)||void 0===n?void 0:n.useSeparatorsInPrimaryActions),t.classList.toggle("has-no-actions",0===o.length&&0===r.length),super.setActions(o,r)};this._store.add(c.onDidChange((()=>{a(),this._onDidChangeMenuItems.fire(this)}))),a()}setActions(){throw new Gi("This toolbar is populated from a menu.")}};Qq=Kq([Gq(3,Ih),Gq(4,lh),Gq(5,uI),Gq(6,rC),Gq(7,jh)],Qq);class Jq extends vr{constructor(t){super(),this._getContext=t}runAction(t,i){return super.runAction(t,this._getContext())}}class Yq{constructor(t){this.viewModel=t}getId(){return this.viewModel}}let Xq=class extends ie{constructor(t,i,e,s){super(),this._container=t,this._overflowWidgetsDomNode=i,this._workbenchUIElementFactory=e,this._instantiationService=s,this._viewModel=TV(this,void 0),this._collapsed=NV(this,(t=>{var i;return null===(i=this._viewModel.read(t))||void 0===i?void 0:i.collapsed.read(t)})),this._contentHeight=TV(this,500),this.height=NV(this,(t=>(this._collapsed.read(t)?0:this._contentHeight.read(t))+this._outerEditorHeight)),this._modifiedContentWidth=TV(this,0),this._modifiedWidth=TV(this,0),this._originalContentWidth=TV(this,0),this._originalWidth=TV(this,0),this.maxScroll=NV(this,(t=>{const i=this._modifiedContentWidth.read(t)-this._modifiedWidth.read(t),e=this._originalContentWidth.read(t)-this._originalWidth.read(t);return i>e?{maxScroll:i,width:this._modifiedWidth.read(t)}:{maxScroll:e,width:this._originalWidth.read(t)}})),this._elements=Yl("div.multiDiffEntry",[Yl("div.content",{style:{display:"flex",flexDirection:"column",flex:"1",overflow:"hidden"}},[Yl("div.header@header",[Yl("div.collapse-button@collapseButton"),Yl("div.title.show-file-icons@title",[]),Yl("div.actions@actions")]),Yl("div.editorParent",{style:{flex:"1",display:"flex",flexDirection:"column"}},[Yl("div.editorContainer@editor",{style:{flex:"1"}})])])]),this.editor=this._register(this._instantiationService.createInstance(_q,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=tK(this.editor.getModifiedEditor()),this.isOriginalFocused=tK(this.editor.getOriginalEditor()),this.isFocused=NV(this,(t=>this.isModifedFocused.read(t)||this.isOriginalFocused.read(t))),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.title)):void 0,this._dataStore=new te,this._headerHeight=this._elements.header.clientHeight;const n=new Bj(this._elements.collapseButton,{});this._register(jV((t=>{n.element.className="",n.icon=this._collapsed.read(t)?Is.chevronRight:Is.chevronDown}))),this._register(n.onDidClick((()=>{var t;null===(t=this._viewModel.get())||void 0===t||t.collapsed.set(!this._collapsed.get(),void 0)}))),this._register(jV((t=>{this._elements.editor.style.display=this._collapsed.read(t)?"none":"block"}))),this.editor.getModifiedEditor().onDidLayoutChange((()=>{const t=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(t,void 0)})),this.editor.getOriginalEditor().onDidLayoutChange((()=>{const t=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(t,void 0)})),this._register(this.editor.onDidContentSizeChange((t=>{xV((i=>{this._contentHeight.set(t.contentHeight,i),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),i),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),i)}))}))),this._register(jV((t=>{const i=this.isFocused.read(t);this._elements.root.classList.toggle("focused",i)}))),this._container.appendChild(this._elements.root),this._outerEditorHeight=38,this._register(this._instantiationService.createInstance(Qq,this._elements.actions,Oh.MultiDiffEditorFileToolbar,{actionRunner:this._register(new Jq((()=>{var t,i;return null===(i=null===(t=this._viewModel.get())||void 0===t?void 0:t.diffEditorViewModel)||void 0===i?void 0:i.model.modified.uri}))),menuOptions:{shouldForwardArgs:!0}}))}setScrollLeft(t){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(t):this.editor.getOriginalEditor().setScrollLeft(t)}setData(t){function i(t){return{...t,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0}}const e=t.viewModel.entry.value;e.onOptionsDidChange&&this._dataStore.add(e.onOptionsDidChange((()=>{var t;this.editor.updateOptions(i(null!==(t=e.options)&&void 0!==t?t:{}))}))),xV((s=>{var n,o;null===(n=this._resourceLabel)||void 0===n||n.setUri(t.viewModel.diffEditorViewModel.model.modified.uri),this._dataStore.clear(),this._viewModel.set(t.viewModel,s),this.editor.setModel(t.viewModel.diffEditorViewModel,s),this.editor.updateOptions(i(null!==(o=e.options)&&void 0!==o?o:{}))}))}render(t,i,e,s){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${t.start}px`,this._elements.root.style.height=`${t.length}px`,this._elements.root.style.width=`${i}px`,this._elements.root.style.position="absolute";const n=Math.max(0,Math.min(t.length-this._headerHeight,s.start-t.start));this._elements.header.style.transform=`translateY(${n}px)`,xV((()=>{this.editor.layout({width:i,height:t.length-this._outerEditorHeight})})),this.editor.getOriginalEditor().setScrollTop(e),this._elements.header.classList.toggle("shadow",n>0||e>0)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};function tK(t){return GV((i=>{const e=new te;return e.add(t.onDidFocusEditorWidget((()=>i(!0)))),e.add(t.onDidBlurEditorWidget((()=>i(!1)))),e}),(()=>t.hasWidgetFocus()))}Xq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,dr)],Xq);class iK{constructor(t){this._create=t,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(t){var i;let e;if(0===this._unused.size)e=this._create(t),this._itemData.set(e,t);else{const s=[...this._unused.values()];e=null!==(i=s.find((i=>this._itemData.get(i).getId()===t.getId())))&&void 0!==i?i:s[0],this._unused.delete(e),this._itemData.set(e,t),e.setData(t)}return this._used.add(e),{object:e,dispose:()=>{this._used.delete(e),this._unused.size>5?e.dispose():this._unused.add(e)}}}dispose(){for(const t of this._used)t.dispose();for(const t of this._unused)t.dispose();this._used.clear(),this._unused.clear()}}var eK=function(t,i){return function(e,s){i(e,s,t)}};let sK=class extends ie{constructor(t,i,e,s,n,o){super(),this._element=t,this._dimension=i,this._viewModel=e,this._workbenchUIElementFactory=s,this._parentContextKeyService=n,this._parentInstantiationService=o,this._elements=Yl("div",{style:{overflowY:"hidden"}},[Yl("div@content",{style:{overflow:"hidden"}}),Yl("div.monaco-editor@overflowWidgetsDomNode",{})]),this._sizeObserver=this._register(new cU(this._element,void 0)),this._objectPool=this._register(new iK((t=>{const i=this._instantiationService.createInstance(Xq,this._elements.content,this._elements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return i.setData(t),i}))),this._scrollable=this._register(new Ck({forceIntegerValues:!1,scheduleAtNextAnimationFrame:t=>Ja(Ba(this._element),t),smoothScrollDuration:100})),this._scrollableElement=this._register(new Tk(this._elements.root,{vertical:1,horizontal:1,className:"monaco-component",useShadows:!1},this._scrollable)),this.scrollTop=GV(this._scrollableElement.onScroll,(()=>this._scrollableElement.getScrollPosition().scrollTop)),this.scrollLeft=GV(this._scrollableElement.onScroll,(()=>this._scrollableElement.getScrollPosition().scrollLeft)),this._viewItems=PV(this,((t,i)=>{const e=this._viewModel.read(t);return e?e.items.read(t).map((t=>i.add(new nK(t,this._objectPool,this.scrollLeft)))):[]})),this._totalHeight=this._viewItems.map(this,((t,i)=>t.reduce(((t,e)=>t+e.contentHeight.read(i)),0))),this.activeDiffItem=NV(this,(t=>this._viewItems.read(t).find((i=>{var e;return null===(e=i.template.read(t))||void 0===e?void 0:e.isFocused.read(t)})))),this.lastActiveDiffItem=function(t){let i;return NV((e=>(i=t(e,i),i)))}(((t,i)=>{var e;return null!==(e=this.activeDiffItem.read(t))&&void 0!==e?e:i})),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._parentInstantiationService.createChild(new eT([lh,this._contextKeyService])),this._contextKeyService.createKey(XC.inMultiDiffEditor.key,!0);const r=this._parentContextKeyService.createKey(XC.multiDiffEditorAllCollapsed.key,!1);this._register(jV((t=>{const i=this._viewModel.read(t);if(i){const e=i.items.read(t).every((i=>i.collapsed.read(t)));r.set(e)}}))),this._register(jV((t=>{const i=this.lastActiveDiffItem.read(t);kV((e=>{var s;null===(s=this._viewModel.read(t))||void 0===s||s.activeDiffItem.set(null==i?void 0:i.viewModel,e)}))}))),this._register(jV((t=>{const i=this._dimension.read(t);this._sizeObserver.observe(i)}))),this._elements.content.style.position="relative",this._register(jV((t=>{const i=this._sizeObserver.height.read(t);this._elements.root.style.height=`${i}px`;const e=this._totalHeight.read(t);this._elements.content.style.height=`${e}px`;const s=this._sizeObserver.width.read(t);let n=s;const o=dp(this._viewItems.read(t),(i=>i.maxScroll.read(t).maxScroll));o&&(n=s+o.maxScroll.read(t).maxScroll),this._scrollableElement.setScrollDimensions({width:s,height:i,scrollHeight:e,scrollWidth:n})}))),t.replaceChildren(this._scrollableElement.getDomNode()),this._register(Xi((()=>{t.replaceChildren()}))),this._register(this._register(jV((t=>{xV((()=>{this.render(t)}))}))))}render(t){const i=this.scrollTop.read(t);let e=0,s=0,n=0;const o=this._sizeObserver.height.read(t),r=op.ofStartAndLength(i,o),h=this._sizeObserver.width.read(t);for(const c of this._viewItems.read(t)){const a=c.contentHeight.read(t),l=Math.min(a,o),u=op.ofStartAndLength(s,l),d=op.ofStartAndLength(n,a);if(d.isBefore(r))e-=a-l,c.hide();else if(d.isAfter(r))c.hide();else{const t=Math.max(0,Math.min(r.start-d.start,a-l));e-=t;const s=op.ofStartAndLength(i+e,o);c.render(u,t,h,s)}s+=l,n+=a}this._elements.content.style.transform=`translateY(${-(i+e)}px)`}};sK=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([eK(4,lh),eK(5,dr)],sK);class nK extends ie{constructor(t,i,e){super(),this.viewModel=t,this._objectPool=i,this._scrollLeft=e,this._lastTemplateData=TV(this,{contentHeight:500,maxScroll:{maxScroll:0,width:0}}),this._templateRef=this._register(OV(this,void 0)),this.contentHeight=NV(this,(t=>{var i,e,s;return null!==(s=null===(e=null===(i=this._templateRef.read(t))||void 0===i?void 0:i.object.height)||void 0===e?void 0:e.read(t))&&void 0!==s?s:this._lastTemplateData.read(t).contentHeight})),this.maxScroll=NV(this,(t=>{var i,e;return null!==(e=null===(i=this._templateRef.read(t))||void 0===i?void 0:i.object.maxScroll.read(t))&&void 0!==e?e:this._lastTemplateData.read(t).maxScroll})),this.template=NV(this,(t=>{var i;return null===(i=this._templateRef.read(t))||void 0===i?void 0:i.object})),this._isHidden=TV(this,!1),this._register(jV((t=>{var i;const e=this._scrollLeft.read(t);null===(i=this._templateRef.read(t))||void 0===i||i.object.setScrollLeft(e)}))),this._register(jV((t=>{const i=this._templateRef.read(t);i&&this._isHidden.read(t)&&(i.object.isFocused.read(t)||kV((t=>{this._lastTemplateData.set({contentHeight:i.object.height.get(),maxScroll:{maxScroll:0,width:0}},t),i.object.hide(),this._templateRef.set(void 0,t)})))})))}dispose(){this.hide(),super.dispose()}toString(){return`VirtualViewItem(${this.viewModel.entry.value.title})`}hide(){this._isHidden.set(!0,void 0)}render(t,i,e,s){this._isHidden.set(!1,void 0);let n=this._templateRef.get();n||(n=this._objectPool.getUnusedObj(new Yq(this.viewModel)),this._templateRef.set(n,void 0)),n.object.render(t,e,i,s)}}fw("multiDiffEditor.headerBackground",{dark:"#808080",light:"#b4b4b4",hcDark:"#808080",hcLight:"#b4b4b4"},rt(0,"The background color of the diff editor's header"));let oK=class extends ie{constructor(t,i,e){super(),this._element=t,this._workbenchUIElementFactory=i,this._instantiationService=e,this._dimension=TV(this,void 0),this._viewModel=TV(this,void 0),this._widgetImpl=PV(this,((t,i)=>(pU(Xq,t),i.add(this._instantiationService.createInstance(pU(sK,t),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory))))),this._register(tU(this._widgetImpl))}};function rK(t){const i=gV.get(rC);return i instanceof nV?i.addDynamicKeybindings(t.map((t=>({keybinding:t.keybinding,command:t.command,commandArgs:t.commandArgs,when:Hr.deserialize(t.when)})))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),ie.None)}function hK(t,i){return"boolean"==typeof t?t:i}function cK(t,i){return"string"==typeof t?t:i}function aK(t,i=!1){i&&(t=t.map((function(t){return t.toLowerCase()})));const e=function(t){const i={};for(const e of t)i[e]=!0;return i}(t);return i?function(t){return void 0!==e[t.toLowerCase()]&&e.hasOwnProperty(t.toLowerCase())}:function(t){return void 0!==e[t]&&e.hasOwnProperty(t)}}function lK(t,i){i=i.replace(/@@/g,"");let e,s=0;do{e=!1,i=i.replace(/@(\w+)/g,(function(s,n){e=!0;let o="";if("string"==typeof t[n])o=t[n];else{if(!(t[n]&&t[n]instanceof RegExp))throw gm(t,void 0===t[n]?"language definition does not contain attribute '"+n+"', used at: "+i:"attribute reference '"+n+"' must be a string, used at: "+i);o=t[n].source}return dm(o)?"":"(?:"+o+")"})),s++}while(e&&s<5);return i=i.replace(/\x01/g,"@"),new RegExp(i,(t.ignoreCase?"i":"")+(t.unicode?"u":""))}function uK(t,i,e,s){let n=-1,o=e,r=e.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);r&&(r[3]&&(n=parseInt(r[3]),r[2]&&(n+=100)),o=r[4]);let h,c="~",a=o;if(o&&0!==o.length?/^\w*$/.test(a)?c="==":(r=o.match(/^(@|!@|~|!~|==|!=)(.*)$/),r&&(c=r[1],a=r[2])):(c="!=",a=""),"~"!==c&&"!~"!==c||!/^(\w|\|)*$/.test(a))if("@"===c||"!@"===c){const e=t[a];if(!e)throw gm(t,"the @ match target '"+a+"' is not defined, in rule: "+i);if(!function(t,i){if(!i)return!1;if(!Array.isArray(i))return!1;for(const t of i)if("string"!=typeof t)return!1;return!0}(0,e))throw gm(t,"the @ match target '"+a+"' must be an array of strings, in rule: "+i);const s=aK(e,t.ignoreCase);h=function(t){return"@"===c?s(t):!s(t)}}else if("~"===c||"!~"===c)if(a.indexOf("$")<0){const i=lK(t,"^"+a+"$");h=function(t){return"~"===c?i.test(t):!i.test(t)}}else h=function(i,e,s,n){return lK(t,"^"+mm(t,a,e,s,n)+"$").test(i)};else if(a.indexOf("$")<0){const i=fm(t,a);h=function(t){return"=="===c?t===i:t!==i}}else{const i=fm(t,a);h=function(e,s,n,o){const r=mm(t,i,s,n,o);return"=="===c?e===r:e!==r}}else{const i=aK(a.split("|"),t.ignoreCase);h=function(t){return"~"===c?i(t):!i(t)}}return-1===n?{name:e,value:s,test:function(t,i,e,s){return h(t,t,i,e,s)}}:{name:e,value:s,test:function(t,i,e,s){const o=function(t,i,e,s){if(s<0)return t;if(s=100){s-=100;const t=e.split(".");if(t.unshift(e),s=0&&(s.tokenSubst=!0),"string"==typeof e.bracket)if("@open"===e.bracket)s.bracket=1;else{if("@close"!==e.bracket)throw gm(t,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+i);s.bracket=-1}if(e.next){if("string"!=typeof e.next)throw gm(t,"the next state must be a string value in rule: "+i);{let n=e.next;if(!/^(@pop|@push|@popall)$/.test(n)&&("@"===n[0]&&(n=n.substr(1)),n.indexOf("$")<0&&!function(t,i){let e=i;for(;e&&e.length>0;){if(t.stateNames[e])return!0;const i=e.lastIndexOf(".");e=i<0?null:e.substr(0,i)}return!1}(t,mm(t,n,"",[],""))))throw gm(t,"the next state '"+e.next+"' is not defined in rule: "+i);s.next=n}}return"number"==typeof e.goBack&&(s.goBack=e.goBack),"string"==typeof e.switchTo&&(s.switchTo=e.switchTo),"string"==typeof e.log&&(s.log=e.log),"string"==typeof e.nextEmbedded&&(s.nextEmbedded=e.nextEmbedded,t.usesEmbedded=!0),s}}if(Array.isArray(e)){const s=[];for(let n=0,o=e.length;n=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,dr)],oK);class fK{constructor(t){this.regex=new RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=t}setRegex(t,i){let e;if("string"==typeof i)e=i;else{if(!(i instanceof RegExp))throw gm(t,"rules must start with a match string or regular expression: "+this.name);e=i.source}this.matchOnlyAtLineStart=e.length>0&&"^"===e[0],this.name=this.name+": "+e,this.regex=lK(t,"^(?:"+(this.matchOnlyAtLineStart?e.substr(1):e)+")")}setAction(t,i){this.action=dK(t,this.name,i)}}function pK(t,i){if(!i||"object"!=typeof i)throw new Error("Monarch: expecting a language definition object");const e={};e.languageId=t,e.includeLF=hK(i.includeLF,!1),e.noThrow=!1,e.maxStack=100,e.start="string"==typeof i.start?i.start:null,e.ignoreCase=hK(i.ignoreCase,!1),e.unicode=hK(i.unicode,!1),e.tokenPostfix=cK(i.tokenPostfix,"."+e.languageId),e.defaultToken=cK(i.defaultToken,"source"),e.usesEmbedded=!1;const s=i;function n(t,o,r){for(const h of r){let r=h.include;if(r){if("string"!=typeof r)throw gm(e,"an 'include' attribute must be a string at: "+t);if("@"===r[0]&&(r=r.substr(1)),!i.tokenizer[r])throw gm(e,"include target '"+r+"' is not defined at: "+t);n(t+"."+r,o,i.tokenizer[r])}else{const i=new fK(t);if(Array.isArray(h)&&h.length>=1&&h.length<=3)if(i.setRegex(s,h[0]),h.length>=3)if("string"==typeof h[1])i.setAction(s,{token:h[1],next:h[2]});else{if("object"!=typeof h[1])throw gm(e,"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: "+t);{const t=h[1];t.next=h[2],i.setAction(s,t)}}else i.setAction(s,h[1]);else{if(!h.regex)throw gm(e,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+t);h.name&&"string"==typeof h.name&&(i.name=h.name),h.matchOnlyAtStart&&(i.matchOnlyAtLineStart=hK(h.matchOnlyAtLineStart,!1)),i.setRegex(s,h.regex),i.setAction(s,h.action)}o.push(i)}}}if(s.languageId=t,s.includeLF=e.includeLF,s.ignoreCase=e.ignoreCase,s.unicode=e.unicode,s.noThrow=e.noThrow,s.usesEmbedded=e.usesEmbedded,s.stateNames=i.tokenizer,s.defaultToken=e.defaultToken,!i.tokenizer||"object"!=typeof i.tokenizer)throw gm(e,"a language definition must define the 'tokenizer' attribute as an object");e.tokenizer=[];for(const t in i.tokenizer)if(i.tokenizer.hasOwnProperty(t)){e.start||(e.start=t);const s=i.tokenizer[t];e.tokenizer[t]=new Array,n("tokenizer."+t,e.tokenizer[t],s)}if(e.usesEmbedded=s.usesEmbedded,i.brackets){if(!Array.isArray(i.brackets))throw gm(e,"the 'brackets' attribute must be defined as an array")}else i.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const o=[];for(const t of i.brackets){let i=t;if(i&&Array.isArray(i)&&3===i.length&&(i={token:i[2],open:i[0],close:i[1]}),i.open===i.close)throw gm(e,"open and close brackets in a 'brackets' attribute must be different: "+i.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required.");if("string"!=typeof i.open||"string"!=typeof i.token||"string"!=typeof i.close)throw gm(e,"every element in the 'brackets' array must be a '{open,close,token}' object or array");o.push({token:i.token+e.tokenPostfix,open:fm(e,i.open),close:fm(e,i.close)})}return e.brackets=o,e.noThrow=!0,e}class gK{constructor(t,i){this._languageId=t,this._actual=i}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(t,i,e){if("function"==typeof this._actual.tokenize)return mK.adaptTokenize(this._languageId,this._actual,t,e);throw new Error("Not supported!")}tokenizeEncoded(t,i,e){const s=this._actual.tokenizeEncoded(t,e);return new Ps(s.tokens,s.endState)}}class mK{constructor(t,i,e,s){this._languageId=t,this._actual=i,this._languageService=e,this._standaloneThemeService=s}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(t,i){const e=[];let s=0;for(let n=0,o=t.length;n0&&n[o-1]===c)continue;let a=h.startIndex;0===t?a=0:a{const e=await Promise.resolve(i.create());return e?"function"==typeof e.getInitialState?vK(t,e):new Em(gV.get(kd),gV.get(hH),t,pK(t,e),gV.get(gd)):null}));return Qs.registerFactory(t,e)}const yK=fr("IEditorCancelService"),kK=new ah("cancellableOperation",!1,rt(0,"Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));Sd(yK,class{constructor(){this._tokens=new WeakMap}add(t,i){let e,s=this._tokens.get(t);return s||(s=t.invokeWithinContext((t=>({key:kK.bindTo(t.get(lh)),tokens:new qt}))),this._tokens.set(t,s)),s.key.set(!0),e=s.tokens.push(i),()=>{e&&(e(),s.key.set(!s.tokens.isEmpty()),e=void 0)}}cancel(t){const i=this._tokens.get(t);if(!i)return;const e=i.tokens.pop();e&&(e.cancel(),i.key.set(!i.tokens.isEmpty()))}},1);class xK extends Se{constructor(t,i){super(i),this.editor=t,this._unregister=t.invokeWithinContext((i=>i.get(yK).add(t,this)))}dispose(){this._unregister(),super.dispose()}}cu(new class extends su{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:kK})}runEditorCommand(t,i){t.get(yK).cancel(i)}});class CK{constructor(t,i){if(this.flags=i,1&this.flags){const i=t.getModel();this.modelVersionId=i?Kn("{0}#{1}",i.uri.toString(),i.getVersionId()):null}else this.modelVersionId=null;this.position=4&this.flags?t.getPosition():null,this.selection=2&this.flags?t.getSelection():null,8&this.flags?(this.scrollLeft=t.getScrollLeft(),this.scrollTop=t.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(t){if(!(t instanceof CK))return!1;const i=t;return this.modelVersionId===i.modelVersionId&&this.scrollLeft===i.scrollLeft&&this.scrollTop===i.scrollTop&&!(!this.position&&i.position||this.position&&!i.position||this.position&&i.position&&!this.position.equals(i.position))&&!(!this.selection&&i.selection||this.selection&&!i.selection||this.selection&&i.selection&&!this.selection.equalsRange(i.selection))}validate(t){return this._equals(new CK(t,this.flags))}}class SK extends xK{constructor(t,i,e,s){super(t,s),this._listener=new te,4&i&&this._listener.add(t.onDidChangeCursorPosition((t=>{e&&Ls.containsPosition(e,t.position)||this.cancel()}))),2&i&&this._listener.add(t.onDidChangeCursorSelection((t=>{e&&Ls.containsRange(e,t.selection)||this.cancel()}))),8&i&&this._listener.add(t.onDidScrollChange((()=>this.cancel()))),1&i&&(this._listener.add(t.onDidChangeModel((()=>this.cancel()))),this._listener.add(t.onDidChangeModelContent((()=>this.cancel()))))}dispose(){this._listener.dispose(),super.dispose()}}class DK extends Se{constructor(t,i){super(i),this._listener=t.onDidChangeContent((()=>this.cancel()))}dispose(){this._listener.dispose(),super.dispose()}}function EK(t){return!(!t||"function"!=typeof t.getEditorType)&&t.getEditorType()===Ig.ICodeEditor}function AK(t){return!(!t||"function"!=typeof t.getEditorType)&&t.getEditorType()===Ig.IDiffEditor}function MK(t){return EK(t)?t:AK(t)?t.getModifiedEditor():function(t){return!!t&&"object"==typeof t&&"function"==typeof t.onDidChangeActiveEditor}(t)&&EK(t.activeCodeEditor)?t.activeCodeEditor:null}class LK{static _handleEolEdits(t,i){let e;const s=[];for(const t of i)"number"==typeof t.eol&&(e=t.eol),t.range&&"string"==typeof t.text&&s.push(t);return"number"==typeof e&&t.hasModel()&&t.getModel().pushEOL(e),s}static _isFullModelReplaceEdit(t,i){if(!t.hasModel())return!1;const e=t.getModel(),s=e.validateRange(i.range);return e.getFullModelRange().equalsRange(s)}static execute(t,i,e){e&&t.pushUndoStop();const s=eU.capture(t),n=LK._handleEolEdits(t,i);1===n.length&&LK._isFullModelReplaceEdit(t,n[0])?t.executeEdits("formatEditsCommand",n.map((t=>gO.replace(Ls.lift(t.range),t.text)))):t.executeEdits("formatEditsCommand",n.map((t=>gO.replaceMove(Ls.lift(t.range),t.text)))),e&&t.pushUndoStop(),s.restoreRelativeVerticalPositionOfCursor(t)}}class FK{constructor(t){this.value=t,this._lower=t.toLowerCase()}static toKey(t){return"string"==typeof t?t.toLowerCase():t._lower}}class TK{constructor(t){if(this._set=new Set,t)for(const i of t)this.add(i)}add(t){this._set.add(FK.toKey(t))}has(t){return this._set.has(FK.toKey(t))}}function RK(t,i,e){const s=[],n=new TK,o=t.ordered(e);for(const t of o)s.push(t),t.extensionId&&n.add(t.extensionId);const r=i.ordered(e);for(const t of r){if(t.extensionId){if(n.has(t.extensionId))continue;n.add(t.extensionId)}s.push({displayName:t.displayName,extensionId:t.extensionId,provideDocumentFormattingEdits:(i,e,s)=>t.provideDocumentRangeFormattingEdits(i,i.getFullModelRange(),e,s)})}return s}class OK{static setFormatterSelector(t){return{dispose:OK._selectors.unshift(t)}}static async select(t,i,e){if(0===t.length)return;const s=Vt.first(OK._selectors);return s?await s(t,i,e):void 0}}async function IK(t,i,e,s,n,o,r){const h=t.get(dr),{documentRangeFormattingEditProvider:c}=t.get(Cg),a=EK(i)?i.getModel():i,l=c.ordered(a),u=await OK.select(l,a,s);u&&(n.report(u),await h.invokeFunction(_K,u,i,e,o,r))}async function _K(t,i,e,s,n,o){var r,h;const c=t.get(bP),a=t.get(zh),l=t.get(Ym);let u,d;EK(e)?(u=e.getModel(),d=new SK(e,5,void 0,n)):(u=e,d=new DK(e,n));const f=[];let p=0;for(const t of M(s).sort(Ls.compareRangesUsingStarts))p>0&&Ls.areIntersectingOrTouching(f[p-1],t)?f[p-1]=Ls.fromPositions(f[p-1].getStartPosition(),t.getEndPosition()):p=f.push(t);const g=async t=>{var e,s;a.trace("[format][provideDocumentRangeFormattingEdits] (request)",null===(e=i.extensionId)||void 0===e?void 0:e.value,t);const n=await i.provideDocumentRangeFormattingEdits(u,t,u.getFormattingOptions(),d.token)||[];return a.trace("[format][provideDocumentRangeFormattingEdits] (response)",null===(s=i.extensionId)||void 0===s?void 0:s.value,n),n},m=(t,i)=>{if(!t.length||!i.length)return!1;const e=t.reduce(((t,i)=>Ls.plusRange(t,i.range)),t[0].range);if(!i.some((t=>Ls.intersectRanges(e,t.range))))return!1;for(const e of t)for(const t of i)if(Ls.intersectRanges(e.range,t.range))return!0;return!1},w=[],v=[];try{if("function"==typeof i.provideDocumentRangesFormattingEdits){a.trace("[format][provideDocumentRangeFormattingEdits] (request)",null===(r=i.extensionId)||void 0===r?void 0:r.value,f);const t=await i.provideDocumentRangesFormattingEdits(u,f,u.getFormattingOptions(),d.token)||[];a.trace("[format][provideDocumentRangeFormattingEdits] (response)",null===(h=i.extensionId)||void 0===h?void 0:h.value,t),v.push(t)}else{for(const t of f){if(d.token.isCancellationRequested)return!0;v.push(await g(t))}for(let t=0;t({text:t.text,range:Ls.lift(t.range),forceMoveMarkers:!0}))),(t=>{for(const{range:e}of t)if(Ls.areIntersectingOrTouching(e,i))return[new Fs(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)];return null}))}return l.notify("format",o),!0}async function NK(t,i,e,s,n,o){const r=t.get(dr),h=t.get(Cg),c=EK(i)?i.getModel():i,a=RK(h.documentFormattingEditProvider,h.documentRangeFormattingEditProvider,c),l=await OK.select(a,c,e);l&&(s.report(l),await r.invokeFunction(BK,l,i,e,n,o))}async function BK(t,i,e,s,n,o){const r=t.get(bP),h=t.get(Ym);let c,a,l;EK(e)?(c=e.getModel(),a=new SK(e,5,void 0,n)):(c=e,a=new DK(e,n));try{const t=await i.provideDocumentFormattingEdits(c,c.getFormattingOptions(),a.token);if(l=await r.computeMoreMinimalEdits(c.uri,t),a.token.isCancellationRequested)return!0}finally{a.dispose()}if(!l||0===l.length)return!1;if(EK(e))LK.execute(e,l,2!==s),2!==s&&e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1);else{const[{range:t}]=l,i=new Fs(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn);c.pushEditOperations([i],l.map((t=>({text:t.text,range:Ls.lift(t.range),forceMoveMarkers:!0}))),(t=>{for(const{range:e}of t)if(Ls.areIntersectingOrTouching(e,i))return[new Fs(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)];return null}))}return h.notify("format",o),!0}function PK(t,i,e,s,n,o,r){const h=i.onTypeFormattingEditProvider.ordered(e);return 0===h.length||h[0].autoFormatTriggerCharacters.indexOf(n)<0?Promise.resolve(void 0):Promise.resolve(h[0].provideOnTypeFormattingEdits(e,s,n,o,r)).catch($i).then((i=>t.computeMoreMinimalEdits(e.uri,i)))}OK._selectors=new qt,Er.registerCommand("_executeFormatRangeProvider",(async function(t,...i){const[e,s,n]=i;K(ws.isUri(e)),K(Ls.isIRange(s));const o=t.get(mr),r=t.get(bP),h=t.get(Cg),c=await o.createModelReference(e);try{return async function(t,i,e,s,n,o){const r=i.documentRangeFormattingEditProvider.ordered(e);for(const i of r){const r=await Promise.resolve(i.provideDocumentRangeFormattingEdits(e,s,n,o)).catch($i);if(y(r))return await t.computeMoreMinimalEdits(e.uri,r)}}(r,h,c.object.textEditorModel,Ls.lift(s),n,xe.None)}finally{c.dispose()}})),Er.registerCommand("_executeFormatDocumentProvider",(async function(t,...i){const[e,s]=i;K(ws.isUri(e));const n=t.get(mr),o=t.get(bP),r=t.get(Cg),h=await n.createModelReference(e);try{return async function(t,i,e,s,n){const o=RK(i.documentFormattingEditProvider,i.documentRangeFormattingEditProvider,e);for(const i of o){const o=await Promise.resolve(i.provideDocumentFormattingEdits(e,s,n)).catch($i);if(y(o))return await t.computeMoreMinimalEdits(e.uri,o)}}(o,r,h.object.textEditorModel,s,xe.None)}finally{h.dispose()}})),Er.registerCommand("_executeFormatOnTypeProvider",(async function(t,...i){const[e,s,n,o]=i;K(ws.isUri(e)),K(Ms.isIPosition(s)),K("string"==typeof n);const r=t.get(mr),h=t.get(bP),c=t.get(Cg),a=await r.createModelReference(e);try{return PK(h,c,a.object.textEditorModel,Ms.lift(s),n,o,xe.None)}finally{a.dispose()}})),Ni.wrappingIndent.defaultValue=0,Ni.glyphMargin.defaultValue=!1,Ni.autoIndent.defaultValue=3,Ni.overviewRulerLanes.defaultValue=2,OK.setFormatterSelector((t=>Promise.resolve(t[0])));const $K=$n();$K.editor={create:function(t,i,e){return gV.initialize(e||{}).createInstance(jq,t,i)},getEditors:function(){return gV.get(pr).listCodeEditors()},getDiffEditors:function(){return gV.get(pr).listDiffEditors()},onDidCreateEditor:function(t){return gV.get(pr).onCodeEditorAdd((i=>{t(i)}))},onDidCreateDiffEditor:function(t){return gV.get(pr).onDiffEditorAdd((i=>{t(i)}))},createDiffEditor:function(t,i,e){return gV.initialize(e||{}).createInstance(zq,t,i)},addCommand:function(t){if("string"!=typeof t.id||"function"!=typeof t.run)throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return Er.registerCommand(t.id,t.run)},addEditorAction:function(t){if("string"!=typeof t.id||"string"!=typeof t.label||"function"!=typeof t.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const i=Hr.deserialize(t.precondition),e=new te;if(e.add(Er.registerCommand(t.id,((e,...s)=>su.runEditorCommand(e,s,i,((i,e,s)=>Promise.resolve(t.run(e,...s))))))),t.contextMenuGroupId&&e.add(Nh.appendMenuItem(Oh.EditorContext,{command:{id:t.id,title:t.label},when:i,group:t.contextMenuGroupId,order:t.contextMenuOrder||0})),Array.isArray(t.keybindings)){const s=gV.get(rC);if(s instanceof nV){const n=Hr.and(i,Hr.deserialize(t.keybindingContext));e.add(s.addDynamicKeybindings(t.keybindings.map((i=>({keybinding:i,command:t.id,when:n})))))}else console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService")}return e},addKeybindingRule:function(t){return rK([t])},addKeybindingRules:rK,createModel:function(t,i,e){const s=gV.get(kd),n=s.getLanguageIdByMimeType(i)||i;return Hq(gV.get(gr),s,t,n,e)},setModelLanguage:function(t,i){const e=gV.get(kd),s=e.getLanguageIdByMimeType(i)||i||qd;t.setLanguage(e.createById(s))},setModelMarkers:function(t,i,e){t&&gV.get(xP).changeOne(i,t.uri,e)},getModelMarkers:function(t){return gV.get(xP).read(t)},removeAllMarkers:function(t){gV.get(xP).changeAll(t,[])},onDidChangeMarkers:function(t){return gV.get(xP).onMarkerChanged(t)},getModels:function(){return gV.get(gr).getModels()},getModel:function(t){return gV.get(gr).getModel(t)},onDidCreateModel:function(t){return gV.get(gr).onModelAdded(t)},onWillDisposeModel:function(t){return gV.get(gr).onModelRemoved(t)},onDidChangeModelLanguage:function(t){return gV.get(gr).onModelLanguageChanged((i=>{t({model:i.model,oldLanguage:i.oldLanguageId})}))},createWebWorker:function(t){return function(t,i,e){return new Og(t,i,e)}(gV.get(gr),gV.get(tf),t)},colorizeElement:function(t,i){const e=gV.get(kd),s=gV.get(hH);return Tm.colorizeElement(s,e,t,i).then((()=>{s.registerEditorContainer(t)}))},colorize:function(t,i,e){const s=gV.get(kd);return gV.get(hH).registerEditorContainer(Wn.document.body),Tm.colorize(s,t,i,e)},colorizeModelLine:function(t,i,e=4){return gV.get(hH).registerEditorContainer(Wn.document.body),Tm.colorizeModelLine(t,i,e)},tokenize:function(t,i){Qs.getOrCreate(i);const e=function(t){return Qs.get(t)||{getInitialState:()=>_g,tokenize:(i,e,s)=>Ng(t,s)}}(i),s=to(t),n=[];let o=e.getInitialState();for(let t=0,i=s.length;t("string"==typeof i&&(i=ws.parse(i)),t.open(i))})},registerEditorOpener:function(t){return gV.get(pr).registerCodeEditorOpenHandler((async(i,e)=>{var s;if(!e)return null;const n=null===(s=i.options)||void 0===s?void 0:s.selection;let o;return n&&"number"==typeof n.endLineNumber&&"number"==typeof n.endColumn?o=n:n&&(o={lineNumber:n.startLineNumber,column:n.startColumn}),await t.openCodeEditor(e,i.resource,o)?e:null}))},AccessibilitySupport:Js,ContentWidgetPositionPreference:nn,CursorChangeReason:on,DefaultEndOfLine:rn,EditorAutoIndentStrategy:cn,EditorOption:an,EndOfLinePreference:ln,EndOfLineSequence:un,MinimapPosition:yn,MouseTargetType:kn,OverlayWidgetPositionPreference:xn,OverviewRulerLane:Cn,GlyphMarginLane:dn,RenderLineNumbersType:Dn,RenderMinimap:En,ScrollbarVisibility:Mn,ScrollType:An,TextEditorCursorBlinkingStyle:In,TextEditorCursorStyle:_n,TrackedRangeStickiness:Nn,WrappingIndent:Bn,InjectedTextCursorStops:pn,PositionAffinity:Sn,ShowAiIconMode:Fn,ConfigurationChangedEvent:Xt,BareFontInfo:hr,FontInfo:cr,TextModelResolvedOptions:zf,FindMatch:Hf,ApplyUpdateResult:ei,EditorZoom:or,createMultiFileDiffEditor:function(t,i){const e=gV.initialize(i||{});return new oK(t,{},e)},EditorType:Ig,EditorOptions:Ni},$K.languages={register:function(t){Ud.registerLanguage(t)},getLanguages:function(){let t=[];return t=t.concat(Ud.getLanguages()),t},onLanguage:function(t,i){return gV.withServices((()=>{const e=gV.get(kd).onDidRequestRichLanguageFeatures((s=>{s===t&&(e.dispose(),i())}));return e}))},onLanguageEncountered:function(t,i){return gV.withServices((()=>{const e=gV.get(kd).onDidRequestBasicLanguageFeatures((s=>{s===t&&(e.dispose(),i())}));return e}))},getEncodedLanguageId:function(t){return gV.get(kd).languageIdCodec.encodeLanguageId(t)},setLanguageConfiguration:function(t,i){if(!gV.get(kd).isRegisteredLanguageId(t))throw new Error(`Cannot set configuration for unknown language ${t}`);return gV.get(tf).register(t,i,100)},setColorMap:function(t){const i=gV.get(hH);if(t){const e=[null];for(let i=1,s=t.length;ii}):Qs.register(t,vK(t,i))},setMonarchTokensProvider:function(t,i){return wK(i)?bK(t,{create:()=>i}):Qs.register(t,(i=>new Em(gV.get(kd),gV.get(hH),t,pK(t,i),gV.get(gd)))(i))},registerReferenceProvider:function(t,i){return gV.get(Cg).referenceProvider.register(t,i)},registerRenameProvider:function(t,i){return gV.get(Cg).renameProvider.register(t,i)},registerCompletionItemProvider:function(t,i){return gV.get(Cg).completionProvider.register(t,i)},registerSignatureHelpProvider:function(t,i){return gV.get(Cg).signatureHelpProvider.register(t,i)},registerHoverProvider:function(t,i){return gV.get(Cg).hoverProvider.register(t,{provideHover:(t,e,s)=>{const n=t.getWordAtPosition(e);return Promise.resolve(i.provideHover(t,e,s)).then((t=>{if(t)return!t.range&&n&&(t.range=new Ls(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn)),t.range||(t.range=new Ls(e.lineNumber,e.column,e.lineNumber,e.column)),t}))}})},registerDocumentSymbolProvider:function(t,i){return gV.get(Cg).documentSymbolProvider.register(t,i)},registerDocumentHighlightProvider:function(t,i){return gV.get(Cg).documentHighlightProvider.register(t,i)},registerLinkedEditingRangeProvider:function(t,i){return gV.get(Cg).linkedEditingRangeProvider.register(t,i)},registerDefinitionProvider:function(t,i){return gV.get(Cg).definitionProvider.register(t,i)},registerImplementationProvider:function(t,i){return gV.get(Cg).implementationProvider.register(t,i)},registerTypeDefinitionProvider:function(t,i){return gV.get(Cg).typeDefinitionProvider.register(t,i)},registerCodeLensProvider:function(t,i){return gV.get(Cg).codeLensProvider.register(t,i)},registerCodeActionProvider:function(t,i,e){return gV.get(Cg).codeActionProvider.register(t,{providedCodeActionKinds:null==e?void 0:e.providedCodeActionKinds,documentation:null==e?void 0:e.documentation,provideCodeActions:(t,e,s,n)=>{const o=gV.get(xP).read({resource:t.uri}).filter((t=>Ls.areIntersectingOrTouching(t,e)));return i.provideCodeActions(t,e,{markers:o,only:s.only,trigger:s.trigger},n)},resolveCodeAction:i.resolveCodeAction})},registerDocumentFormattingEditProvider:function(t,i){return gV.get(Cg).documentFormattingEditProvider.register(t,i)},registerDocumentRangeFormattingEditProvider:function(t,i){return gV.get(Cg).documentRangeFormattingEditProvider.register(t,i)},registerOnTypeFormattingEditProvider:function(t,i){return gV.get(Cg).onTypeFormattingEditProvider.register(t,i)},registerLinkProvider:function(t,i){return gV.get(Cg).linkProvider.register(t,i)},registerColorProvider:function(t,i){return gV.get(Cg).colorProvider.register(t,i)},registerFoldingRangeProvider:function(t,i){return gV.get(Cg).foldingRangeProvider.register(t,i)},registerDeclarationProvider:function(t,i){return gV.get(Cg).declarationProvider.register(t,i)},registerSelectionRangeProvider:function(t,i){return gV.get(Cg).selectionRangeProvider.register(t,i)},registerDocumentSemanticTokensProvider:function(t,i){return gV.get(Cg).documentSemanticTokensProvider.register(t,i)},registerDocumentRangeSemanticTokensProvider:function(t,i){return gV.get(Cg).documentRangeSemanticTokensProvider.register(t,i)},registerInlineCompletionsProvider:function(t,i){return gV.get(Cg).inlineCompletionsProvider.register(t,i)},registerInlayHintsProvider:function(t,i){return gV.get(Cg).inlayHintsProvider.register(t,i)},DocumentHighlightKind:hn,CompletionItemKind:tn,CompletionItemTag:en,CompletionItemInsertTextRule:Xs,SymbolKind:Rn,SymbolTag:On,IndentAction:fn,CompletionTriggerKind:sn,SignatureHelpTriggerKind:Tn,InlayHintKind:gn,InlineCompletionTriggerKind:mn,CodeActionTriggerType:Ys,FoldingRangeKind:Gs,SelectedSuggestionInfo:Hs};const WK=$K.CancellationTokenSource,jK=$K.Emitter,zK=$K.KeyCode,HK=$K.KeyMod,VK=$K.Position,UK=$K.Range,qK=$K.Selection,KK=$K.SelectionDirection,GK=$K.MarkerSeverity,ZK=$K.MarkerTag,QK=$K.Uri,JK=$K.Token,YK=$K.editor,XK=$K.languages,tG=globalThis.MonacoEnvironment;((null==tG?void 0:tG.globalAPI)||"function"==typeof define&&define.amd)&&(globalThis.monaco=$K),void 0!==globalThis.require&&"function"==typeof globalThis.require.config&&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 iG=Object.freeze({__proto__:null,CancellationTokenSource:WK,Emitter:jK,KeyCode:zK,KeyMod:HK,Position:VK,Range:UK,Selection:qK,SelectionDirection:KK,MarkerSeverity:GK,MarkerTag:ZK,Uri:QK,Token:JK,editor:YK,languages:XK}); /*!----------------------------------------------------------------------------- @@ -145,7 +145,7 @@ uG({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliase * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -uG({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>import("./p-d83dd3f0.js").then((t=>t.TagAutoInterpolationDollar))}),uG({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>import("./p-d83dd3f0.js").then((t=>t.TagAngleInterpolationDollar))}),uG({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>import("./p-d83dd3f0.js").then((t=>t.TagBracketInterpolationDollar))}),uG({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>import("./p-d83dd3f0.js").then((t=>t.TagAngleInterpolationBracket))}),uG({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>import("./p-d83dd3f0.js").then((t=>t.TagBracketInterpolationBracket))}),uG({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>import("./p-d83dd3f0.js").then((t=>t.TagAutoInterpolationDollar))}),uG({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>import("./p-d83dd3f0.js").then((t=>t.TagAutoInterpolationBracket))}), +uG({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>import("./p-334bb37b.js").then((t=>t.TagAutoInterpolationDollar))}),uG({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>import("./p-334bb37b.js").then((t=>t.TagAngleInterpolationDollar))}),uG({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>import("./p-334bb37b.js").then((t=>t.TagBracketInterpolationDollar))}),uG({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>import("./p-334bb37b.js").then((t=>t.TagAngleInterpolationBracket))}),uG({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>import("./p-334bb37b.js").then((t=>t.TagBracketInterpolationBracket))}),uG({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>import("./p-334bb37b.js").then((t=>t.TagAutoInterpolationDollar))}),uG({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>import("./p-334bb37b.js").then((t=>t.TagAutoInterpolationBracket))}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -166,7 +166,7 @@ uG({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gq * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -uG({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>import("./p-2b13cc9a.js")}), +uG({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>import("./p-e2273e9e.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -180,7 +180,7 @@ uG({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL" * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -uG({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:()=>import("./p-6d22490c.js")}), +uG({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:()=>import("./p-22092198.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -201,7 +201,7 @@ uG({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["te * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -uG({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>import("./p-62c0132e.js")}), +uG({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>import("./p-9ef0a448.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -243,7 +243,7 @@ uG({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>import("./p-65 * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -uG({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>import("./p-c6c95773.js")}), +uG({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>import("./p-9b6d6782.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -264,7 +264,7 @@ uG({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn", * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -uG({id:"mdx",extensions:[".mdx"],aliases:["MDX","mdx"],loader:()=>import("./p-3f6cad83.js")}), +uG({id:"mdx",extensions:[".mdx"],aliases:["MDX","mdx"],loader:()=>import("./p-b1ce1928.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -376,7 +376,7 @@ uG({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:() * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -uG({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>import("./p-276dd30f.js")}), +uG({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>import("./p-0227b790.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -397,7 +397,7 @@ uG({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R"," * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -uG({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>import("./p-0aaccc7e.js")}), +uG({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>import("./p-0c6956f3.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -537,7 +537,7 @@ uG({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-tw * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -uG({id:"typescript",extensions:[".ts",".tsx",".cts",".mts"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>import("./p-bf31230c.js")}), +uG({id:"typescript",extensions:[".ts",".tsx",".cts",".mts"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>import("./p-70739e54.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -558,38 +558,38 @@ uG({id:"wgsl",extensions:[".wgsl"],aliases:["WebGPU Shading Language","WGSL","wg * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -uG({id:"xml",extensions:[".xml",".xsd",".dtd",".ascx",".csproj",".config",".props",".targets",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xslt",".xsl"],firstLine:"(\\<\\?xml.*)|(\\import("./p-51e3a048.js")}), +uG({id:"xml",extensions:[".xml",".xsd",".dtd",".ascx",".csproj",".config",".props",".targets",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xslt",".xsl"],firstLine:"(\\<\\?xml.*)|(\\import("./p-4d8d77e9.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -uG({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>import("./p-eaaa4129.js")}); +uG({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>import("./p-47f3534d.js")}); /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -var dG=Object.defineProperty,fG=Object.getOwnPropertyDescriptor,pG=Object.getOwnPropertyNames,gG=Object.prototype.hasOwnProperty,mG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of pG(i))gG.call(t,n)||n===e||dG(t,n,{get:()=>i[n],enumerable:!(s=fG(i,n))||s.enumerable});return t},wG={};((t,i)=>{mG(wG,i,"default")})(0,iG);var vG=class{_onDidChange=new wG.Emitter;_options;_modeConfiguration;_languageId;constructor(t,i,e){this._languageId=t,this.setOptions(i),this.setModeConfiguration(e)}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(t){this._options=t||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(t){this.setOptions(t)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}},bG={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}},yG={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},kG=new vG("css",bG,yG),xG=new vG("scss",bG,yG),CG=new vG("less",bG,yG);function SG(){return import("./p-38d18c5d.js")}wG.languages.css={cssDefaults:kG,lessDefaults:CG,scssDefaults:xG},wG.languages.onLanguage("less",(()=>{SG().then((t=>t.setupMode(CG)))})),wG.languages.onLanguage("scss",(()=>{SG().then((t=>t.setupMode(xG)))})),wG.languages.onLanguage("css",(()=>{SG().then((t=>t.setupMode(kG)))})); +var dG=Object.defineProperty,fG=Object.getOwnPropertyDescriptor,pG=Object.getOwnPropertyNames,gG=Object.prototype.hasOwnProperty,mG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of pG(i))gG.call(t,n)||n===e||dG(t,n,{get:()=>i[n],enumerable:!(s=fG(i,n))||s.enumerable});return t},wG={};((t,i)=>{mG(wG,i,"default")})(0,iG);var vG=class{_onDidChange=new wG.Emitter;_options;_modeConfiguration;_languageId;constructor(t,i,e){this._languageId=t,this.setOptions(i),this.setModeConfiguration(e)}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(t){this._options=t||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(t){this.setOptions(t)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}},bG={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}},yG={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},kG=new vG("css",bG,yG),xG=new vG("scss",bG,yG),CG=new vG("less",bG,yG);function SG(){return import("./p-b398216b.js")}wG.languages.css={cssDefaults:kG,lessDefaults:CG,scssDefaults:xG},wG.languages.onLanguage("less",(()=>{SG().then((t=>t.setupMode(CG)))})),wG.languages.onLanguage("scss",(()=>{SG().then((t=>t.setupMode(xG)))})),wG.languages.onLanguage("css",(()=>{SG().then((t=>t.setupMode(kG)))})); /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -var DG=Object.defineProperty,EG=Object.getOwnPropertyDescriptor,AG=Object.getOwnPropertyNames,MG=Object.prototype.hasOwnProperty,LG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of AG(i))MG.call(t,n)||n===e||DG(t,n,{get:()=>i[n],enumerable:!(s=EG(i,n))||s.enumerable});return t},FG={};((t,i)=>{LG(FG,i,"default")})(0,iG);var TG=class{_onDidChange=new FG.Emitter;_options;_modeConfiguration;_languageId;constructor(t,i,e){this._languageId=t,this.setOptions(i),this.setModeConfiguration(e)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(t){this._options=t||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}},RG={format:{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"},suggest:{},data:{useDefaultDataProvider:!0}};function OG(t){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:t===IG,documentFormattingEdits:t===IG,documentRangeFormattingEdits:t===IG}}var IG="html",_G="handlebars",NG="razor",BG=zG(IG,RG,OG(IG)),PG=BG.defaults,$G=zG(_G,RG,OG(_G)),WG=$G.defaults,jG=zG(NG,RG,OG(NG));function zG(t,i=RG,e=OG(t)){const s=new TG(t,i,e);let n;const o=FG.languages.onLanguage(t,(async()=>{n=(await import("./p-d8bedd14.js")).setupMode(s)}));return{defaults:s,dispose(){o.dispose(),n?.dispose(),n=void 0}}} +var DG=Object.defineProperty,EG=Object.getOwnPropertyDescriptor,AG=Object.getOwnPropertyNames,MG=Object.prototype.hasOwnProperty,LG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of AG(i))MG.call(t,n)||n===e||DG(t,n,{get:()=>i[n],enumerable:!(s=EG(i,n))||s.enumerable});return t},FG={};((t,i)=>{LG(FG,i,"default")})(0,iG);var TG=class{_onDidChange=new FG.Emitter;_options;_modeConfiguration;_languageId;constructor(t,i,e){this._languageId=t,this.setOptions(i),this.setModeConfiguration(e)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(t){this._options=t||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}},RG={format:{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"},suggest:{},data:{useDefaultDataProvider:!0}};function OG(t){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:t===IG,documentFormattingEdits:t===IG,documentRangeFormattingEdits:t===IG}}var IG="html",_G="handlebars",NG="razor",BG=zG(IG,RG,OG(IG)),PG=BG.defaults,$G=zG(_G,RG,OG(_G)),WG=$G.defaults,jG=zG(NG,RG,OG(NG));function zG(t,i=RG,e=OG(t)){const s=new TG(t,i,e);let n;const o=FG.languages.onLanguage(t,(async()=>{n=(await import("./p-10f5929a.js")).setupMode(s)}));return{defaults:s,dispose(){o.dispose(),n?.dispose(),n=void 0}}} /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/FG.languages.html={htmlDefaults:PG,razorDefaults:jG.defaults,handlebarDefaults:WG,htmlLanguageService:BG,handlebarLanguageService:$G,razorLanguageService:jG,registerHTMLLanguageService:zG};var HG=Object.defineProperty,VG=Object.getOwnPropertyDescriptor,UG=Object.getOwnPropertyNames,qG=Object.prototype.hasOwnProperty,KG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of UG(i))qG.call(t,n)||n===e||HG(t,n,{get:()=>i[n],enumerable:!(s=VG(i,n))||s.enumerable});return t},GG={};((t,i)=>{KG(GG,i,"default")})(0,iG);var ZG=new class{_onDidChange=new GG.Emitter;_diagnosticsOptions;_modeConfiguration;_languageId;constructor(t,i,e){this._languageId=t,this.setDiagnosticsOptions(i),this.setModeConfiguration(e)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(t){this._diagnosticsOptions=t||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}}("json",{validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},{documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0});GG.languages.json={jsonDefaults:ZG},GG.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),GG.languages.onLanguage("json",(()=>{import("./p-617d463f.js").then((t=>t.setupMode(ZG)))})); + *-----------------------------------------------------------------------------*/FG.languages.html={htmlDefaults:PG,razorDefaults:jG.defaults,handlebarDefaults:WG,htmlLanguageService:BG,handlebarLanguageService:$G,razorLanguageService:jG,registerHTMLLanguageService:zG};var HG=Object.defineProperty,VG=Object.getOwnPropertyDescriptor,UG=Object.getOwnPropertyNames,qG=Object.prototype.hasOwnProperty,KG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of UG(i))qG.call(t,n)||n===e||HG(t,n,{get:()=>i[n],enumerable:!(s=VG(i,n))||s.enumerable});return t},GG={};((t,i)=>{KG(GG,i,"default")})(0,iG);var ZG=new class{_onDidChange=new GG.Emitter;_diagnosticsOptions;_modeConfiguration;_languageId;constructor(t,i,e){this._languageId=t,this.setDiagnosticsOptions(i),this.setModeConfiguration(e)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(t){this._diagnosticsOptions=t||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}}("json",{validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},{documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0});GG.languages.json={jsonDefaults:ZG},GG.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),GG.languages.onLanguage("json",(()=>{import("./p-49f116fe.js").then((t=>t.setupMode(ZG)))})); /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -var QG=Object.defineProperty,JG=Object.getOwnPropertyDescriptor,YG=Object.getOwnPropertyNames,XG=Object.prototype.hasOwnProperty,tZ=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of YG(i))XG.call(t,n)||n===e||QG(t,n,{get:()=>i[n],enumerable:!(s=JG(i,n))||s.enumerable});return t},iZ={};((t,i)=>{tZ(iZ,i,"default")})(0,iG);var eZ=(t=>(t[t.None=0]="None",t[t.CommonJS=1]="CommonJS",t[t.AMD=2]="AMD",t[t.UMD=3]="UMD",t[t.System=4]="System",t[t.ES2015=5]="ES2015",t[t.ESNext=99]="ESNext",t))(eZ||{}),sZ=(t=>(t[t.None=0]="None",t[t.Preserve=1]="Preserve",t[t.React=2]="React",t[t.ReactNative=3]="ReactNative",t[t.ReactJSX=4]="ReactJSX",t[t.ReactJSXDev=5]="ReactJSXDev",t))(sZ||{}),nZ=(t=>(t[t.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",t[t.LineFeed=1]="LineFeed",t))(nZ||{}),oZ=(t=>(t[t.ES3=0]="ES3",t[t.ES5=1]="ES5",t[t.ES2015=2]="ES2015",t[t.ES2016=3]="ES2016",t[t.ES2017=4]="ES2017",t[t.ES2018=5]="ES2018",t[t.ES2019=6]="ES2019",t[t.ES2020=7]="ES2020",t[t.ESNext=99]="ESNext",t[t.JSON=100]="JSON",t[t.Latest=99]="Latest",t))(oZ||{}),rZ=(t=>(t[t.Classic=1]="Classic",t[t.NodeJs=2]="NodeJs",t))(rZ||{}),hZ=class{_onDidChange=new iZ.Emitter;_onDidExtraLibsChange=new iZ.Emitter;_extraLibs;_removedExtraLibs;_eagerModelSync;_compilerOptions;_diagnosticsOptions;_workerOptions;_onDidExtraLibsChangeTimeout;_inlayHintsOptions;_modeConfiguration;constructor(t,i,e,s,n){this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(t),this.setDiagnosticsOptions(i),this.setWorkerOptions(e),this.setInlayHintsOptions(s),this.setModeConfiguration(n),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(t,i){let e;if(e=void 0===i?`ts:extralib-${Math.random().toString(36).substring(2,15)}`:i,this._extraLibs[e]&&this._extraLibs[e].content===t)return{dispose:()=>{}};let s=1;return this._removedExtraLibs[e]&&(s=this._removedExtraLibs[e]+1),this._extraLibs[e]&&(s=this._extraLibs[e].version+1),this._extraLibs[e]={content:t,version:s},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let t=this._extraLibs[e];t&&t.version===s&&(delete this._extraLibs[e],this._removedExtraLibs[e]=s,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(t){for(const t in this._extraLibs)this._removedExtraLibs[t]=this._extraLibs[t].version;if(this._extraLibs=Object.create(null),t&&t.length>0)for(const i of t){const t=i.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`;let e=1;this._removedExtraLibs[t]&&(e=this._removedExtraLibs[t]+1),this._extraLibs[t]={content:i.content,version:e}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){-1===this._onDidExtraLibsChangeTimeout&&(this._onDidExtraLibsChangeTimeout=window.setTimeout((()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)}),0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(t){this._compilerOptions=t||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(t){this._diagnosticsOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(t){this._workerOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(t){this._inlayHintsOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(t){}setEagerModelSync(t){this._eagerModelSync=t}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(void 0)}},cZ={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},aZ=new hZ({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},cZ),lZ=new hZ({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},cZ);function uZ(){return import("./p-a563f50b.js")}iZ.languages.typescript={ModuleKind:eZ,JsxEmit:sZ,NewLineKind:nZ,ScriptTarget:oZ,ModuleResolutionKind:rZ,typescriptVersion:"5.0.2",typescriptDefaults:aZ,javascriptDefaults:lZ,getTypeScriptWorker:()=>uZ().then((t=>t.getTypeScriptWorker())),getJavaScriptWorker:()=>uZ().then((t=>t.getJavaScriptWorker()))},iZ.languages.onLanguage("typescript",(()=>uZ().then((t=>t.setupTypeScript(aZ))))),iZ.languages.onLanguage("javascript",(()=>uZ().then((t=>t.setupJavaScript(lZ))))),Wh(class extends $h{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:{value:rt(0,"Toggle Collapse Unchanged Regions"),original:"Toggle Collapse Unchanged Regions"},icon:Is.map,toggled:Hr.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:Hr.has("isInDiffEditor"),menu:{when:Hr.has("isInDiffEditor"),id:Oh.EditorTitle,order:22,group:"navigation"}})}run(t,...i){const e=t.get(gd),s=!e.getValue("diffEditor.hideUnchangedRegions.enabled");e.updateValue("diffEditor.hideUnchangedRegions.enabled",s)}});class dZ extends $h{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:{value:rt(0,"Toggle Show Moved Code Blocks"),original:"Toggle Show Moved Code Blocks"},precondition:Hr.has("isInDiffEditor")})}run(t,...i){const e=t.get(gd),s=!e.getValue("diffEditor.experimental.showMoves");e.updateValue("diffEditor.experimental.showMoves",s)}}Wh(dZ);class fZ extends $h{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:{value:rt(0,"Toggle Use Inline View When Space Is Limited"),original:"Toggle Use Inline View When Space Is Limited"},precondition:Hr.has("isInDiffEditor")})}run(t,...i){const e=t.get(gd),s=!e.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");e.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",s)}}Wh(fZ),Nh.appendMenuItem(Oh.EditorTitle,{command:{id:(new fZ).desc.id,title:rt(0,"Use Inline View When Space Is Limited"),toggled:Hr.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:Hr.has("isInDiffEditor")},order:11,group:"1_diff",when:Hr.and(XC.diffEditorRenderSideBySideInlineBreakpointReached,Hr.has("isInDiffEditor"))}),Nh.appendMenuItem(Oh.EditorTitle,{command:{id:(new dZ).desc.id,title:rt(0,"Show Moved Code Blocks"),icon:Is.move,toggled:Gr.create("config.diffEditor.experimental.showMoves",!0),precondition:Hr.has("isInDiffEditor")},order:10,group:"1_diff",when:Hr.has("isInDiffEditor")});const pZ={value:rt(0,"Diff Editor"),original:"Diff Editor"};Wh(class extends ru{constructor(){super({id:"diffEditor.switchSide",title:{value:rt(0,"Switch Side"),original:"Switch Side"},icon:Is.arrowSwap,precondition:Hr.has("isInDiffEditor"),f1:!0,category:pZ})}runEditorCommand(t,i,e){const s=vZ(t);if(s instanceof _q){if(e&&e.dryRun)return{destinationSelection:s.mapToOtherSide().destinationSelection};s.switchSide()}}}),Wh(class extends ru{constructor(){super({id:"diffEditor.exitCompareMove",title:{value:rt(0,"Exit Compare Move"),original:"Exit Compare Move"},icon:Is.close,precondition:XC.comparingMovedCode,f1:!1,category:pZ,keybinding:{weight:1e4,primary:9}})}runEditorCommand(t,i,...e){const s=vZ(t);s instanceof _q&&s.exitCompareMove()}}),Wh(class extends ru{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:{value:rt(0,"Collapse All Unchanged Regions"),original:"Collapse All Unchanged Regions"},icon:Is.fold,precondition:Hr.has("isInDiffEditor"),f1:!0,category:pZ})}runEditorCommand(t,i,...e){const s=vZ(t);s instanceof _q&&s.collapseAllUnchangedRegions()}}),Wh(class extends ru{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:{value:rt(0,"Show All Unchanged Regions"),original:"Show All Unchanged Regions"},icon:Is.unfold,precondition:Hr.has("isInDiffEditor"),f1:!0,category:pZ})}runEditorCommand(t,i,...e){const s=vZ(t);s instanceof _q&&s.showAllUnchangedRegions()}});const gZ={value:rt(0,"Accessible Diff Viewer"),original:"Accessible Diff Viewer"};class mZ extends $h{constructor(){super({id:mZ.id,title:{value:rt(0,"Go to Next Difference"),original:"Go to Next Difference"},category:gZ,precondition:Hr.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(t){const i=vZ(t);null==i||i.accessibleDiffViewerNext()}}mZ.id="editor.action.accessibleDiffViewer.next",Nh.appendMenuItem(Oh.EditorTitle,{command:{id:mZ.id,title:rt(0,"Open Accessible Diff Viewer"),precondition:Hr.has("isInDiffEditor")},order:10,group:"2_diff",when:Hr.and(XC.accessibleDiffViewerVisible.negate(),Hr.has("isInDiffEditor"))});class wZ extends $h{constructor(){super({id:wZ.id,title:{value:rt(0,"Go to Previous Difference"),original:"Go to Previous Difference"},category:gZ,precondition:Hr.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(t){const i=vZ(t);null==i||i.accessibleDiffViewerPrev()}}function vZ(t){var i;const e=t.get(pr),s=e.listDiffEditors(),n=null!==(i=e.getFocusedCodeEditor())&&void 0!==i?i:e.getActiveCodeEditor();if(!n)return null;for(let t=0,i=s.length;tthis.selectionAnchorSetContextKey.reset()))}setSelectionAnchor(){if(this.editor.hasModel()){const t=this.editor.getPosition();this.editor.changeDecorations((i=>{this.decorationId&&i.removeDecoration(this.decorationId),this.decorationId=i.addDecoration(Fs.fromPositions(t,t),{description:"selection-anchor",stickiness:1,hoverMessage:(new B_).appendText(rt(0,"Selection Anchor")),className:"selection-anchor"})})),this.selectionAnchorSetContextKey.set(!!this.decorationId),$m(rt(0,"Anchor set at {0}:{1}",t.lineNumber,t.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const t=this.editor.getModel().getDecorationRange(this.decorationId);t&&this.editor.setPosition(t.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const t=this.editor.getModel().getDecorationRange(this.decorationId);if(t){const i=this.editor.getPosition();this.editor.setSelection(Fs.fromPositions(t.getStartPosition(),i)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const t=this.decorationId;this.editor.changeDecorations((i=>{i.removeDecoration(t),this.decorationId=void 0})),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};xZ.ID="editor.contrib.selectionAnchorController",xZ=yZ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,lh)],xZ),uu(xZ.ID,xZ,4),au(class extends nu{constructor(){super({id:"editor.action.setSelectionAnchor",label:rt(0,"Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2080),weight:100}})}async run(t,i){var e;null===(e=xZ.get(i))||void 0===e||e.setSelectionAnchor()}}),au(class extends nu{constructor(){super({id:"editor.action.goToSelectionAnchor",label:rt(0,"Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:kZ})}async run(t,i){var e;null===(e=xZ.get(i))||void 0===e||e.goToSelectionAnchor()}}),au(class extends nu{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:rt(0,"Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:kZ,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2089),weight:100}})}async run(t,i){var e;null===(e=xZ.get(i))||void 0===e||e.selectFromAnchorToCursor()}}),au(class extends nu{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:rt(0,"Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:kZ,kbOpts:{kbExpr:XC.editorTextFocus,primary:9,weight:100}})}async run(t,i){var e;null===(e=xZ.get(i))||void 0===e||e.cancelSelectionAnchor()}});const CZ=fw("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hcDark:"#A0A0A0",hcLight:"#A0A0A0"},rt(0,"Overview ruler marker color for matching brackets."));class SZ{constructor(t,i,e){this.position=t,this.brackets=i,this.options=e}}class DZ extends ie{static get(t){return t.getContribution(DZ.ID)}constructor(t){super(),this._editor=t,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new gc((()=>this._updateBrackets()),50)),this._matchBrackets=this._editor.getOption(71),this._updateBracketsSoon.schedule(),this._register(t.onDidChangeCursorPosition((()=>{"never"!==this._matchBrackets&&this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeModelContent((()=>{this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeModel((()=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeModelLanguageConfiguration((()=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeConfiguration((t=>{t.hasChanged(71)&&(this._matchBrackets=this._editor.getOption(71),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())}))),this._register(t.onDidBlurEditorWidget((()=>{this._updateBracketsSoon.schedule()}))),this._register(t.onDidFocusEditorWidget((()=>{this._updateBracketsSoon.schedule()})))}jumpToBracket(){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=this._editor.getSelections().map((i=>{const e=i.getStartPosition(),s=t.bracketPairs.matchBracket(e);let n=null;if(s)s[0].containsPosition(e)&&!s[1].containsPosition(e)?n=s[1].getStartPosition():s[1].containsPosition(e)&&(n=s[0].getStartPosition());else{const i=t.bracketPairs.findEnclosingBrackets(e);if(i)n=i[1].getStartPosition();else{const i=t.bracketPairs.findNextBracket(e);i&&i.range&&(n=i.range.getStartPosition())}}return n?new Fs(n.lineNumber,n.column,n.lineNumber,n.column):new Fs(e.lineNumber,e.column,e.lineNumber,e.column)}));this._editor.setSelections(i),this._editor.revealRange(i[0])}selectToBracket(t){if(!this._editor.hasModel())return;const i=this._editor.getModel(),e=[];this._editor.getSelections().forEach((s=>{const n=s.getStartPosition();let o=i.bracketPairs.matchBracket(n);if(!o&&(o=i.bracketPairs.findEnclosingBrackets(n),!o)){const t=i.bracketPairs.findNextBracket(n);t&&t.range&&(o=i.bracketPairs.matchBracket(t.range.getStartPosition()))}let r=null,h=null;if(o){o.sort(Ls.compareRangesUsingStarts);const[i,e]=o;if(r=t?i.getStartPosition():i.getEndPosition(),h=t?e.getEndPosition():e.getStartPosition(),e.containsPosition(n)){const t=r;r=h,h=t}}r&&h&&e.push(new Fs(r.lineNumber,r.column,h.lineNumber,h.column))})),e.length>0&&(this._editor.setSelections(e),this._editor.revealRange(e[0]))}removeBrackets(t){if(!this._editor.hasModel())return;const i=this._editor.getModel();this._editor.getSelections().forEach((e=>{const s=e.getPosition();let n=i.bracketPairs.matchBracket(s);n||(n=i.bracketPairs.findEnclosingBrackets(s)),n&&(this._editor.pushUndoStop(),this._editor.executeEdits(t,[{range:n[0],text:""},{range:n[1],text:""}]),this._editor.pushUndoStop())}))}_updateBrackets(){if("never"===this._matchBrackets)return;this._recomputeBrackets();const t=[];let i=0;for(const e of this._lastBracketsData){const s=e.brackets;s&&(t[i++]={range:s[0],options:e.options},t[i++]={range:s[1],options:e.options})}this._decorations.set(t)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return this._lastBracketsData=[],void(this._lastVersionId=0);const t=this._editor.getSelections();if(t.length>100)return this._lastBracketsData=[],void(this._lastVersionId=0);const i=this._editor.getModel(),e=i.getVersionId();let s=[];this._lastVersionId===e&&(s=this._lastBracketsData);const n=[];let o=0;for(let i=0,e=t.length;i1&&n.sort(Ms.compare);const r=[];let h=0,c=0;const a=s.length;for(let t=0,e=n.length;t0&&(i.pushUndoStop(),i.executeCommands(this.id,s),i.pushUndoStop())}});const MZ="9_cutcopypaste",LZ=Et||document.queryCommandSupported("cut"),FZ=Et||document.queryCommandSupported("copy"),TZ=void 0!==navigator.clipboard&&!qo||document.queryCommandSupported("paste");function RZ(t){return t.register(),t}const OZ=LZ?RZ(new iu({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Et?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Oh.MenubarEditMenu,group:"2_ccp",title:rt(0,"Cu&&t"),order:1},{menuId:Oh.EditorContext,group:MZ,title:rt(0,"Cut"),when:XC.writable,order:1},{menuId:Oh.CommandPalette,group:"",title:rt(0,"Cut"),order:1},{menuId:Oh.SimpleEditorContext,group:MZ,title:rt(0,"Cut"),when:XC.writable,order:1}]})):void 0,IZ=FZ?RZ(new iu({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Et?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Oh.MenubarEditMenu,group:"2_ccp",title:rt(0,"&&Copy"),order:2},{menuId:Oh.EditorContext,group:MZ,title:rt(0,"Copy"),order:2},{menuId:Oh.CommandPalette,group:"",title:rt(0,"Copy"),order:1},{menuId:Oh.SimpleEditorContext,group:MZ,title:rt(0,"Copy"),order:2}]})):void 0;Nh.appendMenuItem(Oh.MenubarEditMenu,{submenu:Oh.MenubarCopy,title:{value:rt(0,"Copy As"),original:"Copy As"},group:"2_ccp",order:3}),Nh.appendMenuItem(Oh.EditorContext,{submenu:Oh.EditorContextCopy,title:{value:rt(0,"Copy As"),original:"Copy As"},group:MZ,order:3}),Nh.appendMenuItem(Oh.EditorContext,{submenu:Oh.EditorContextShare,title:{value:rt(0,"Share"),original:"Share"},group:"11_share",order:-1,when:Hr.and(Hr.notEquals("resourceScheme","output"),XC.editorTextFocus)}),Nh.appendMenuItem(Oh.EditorTitleContext,{submenu:Oh.EditorTitleContextShare,title:{value:rt(0,"Share"),original:"Share"},group:"11_share",order:-1}),Nh.appendMenuItem(Oh.ExplorerContext,{submenu:Oh.ExplorerContextShare,title:{value:rt(0,"Share"),original:"Share"},group:"11_share",order:-1});const _Z=TZ?RZ(new iu({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Et?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Oh.MenubarEditMenu,group:"2_ccp",title:rt(0,"&&Paste"),order:4},{menuId:Oh.EditorContext,group:MZ,title:rt(0,"Paste"),when:XC.writable,order:4},{menuId:Oh.CommandPalette,group:"",title:rt(0,"Paste"),order:1},{menuId:Oh.SimpleEditorContext,group:MZ,title:rt(0,"Paste"),when:XC.writable,order:4}]})):void 0;function NZ(t,i){t&&(t.addImplementation(1e4,"code-editor",(t=>{const e=t.get(pr).getFocusedCodeEditor();if(e&&e.hasTextFocus()){const t=e.getOption(37),s=e.getSelection();return s&&s.isEmpty()&&!t||e.getContainerDomNode().ownerDocument.execCommand(i),!0}return!1})),t.addImplementation(0,"generic-dom",(()=>(wl().execCommand(i),!0))))}NZ(OZ,"cut"),NZ(IZ,"copy"),_Z&&(_Z.addImplementation(1e4,"code-editor",(t=>{const i=t.get(pr),e=t.get(kH),s=i.getFocusedCodeEditor();return!(!s||!s.hasTextFocus())&&(!(!s.getContainerDomNode().ownerDocument.execCommand("paste")&&At)||(async()=>{const t=await e.readText();if(""!==t){const i=Uk.INSTANCE.get(t);let e=!1,n=null,o=null;i&&(e=s.getOption(37)&&!!i.isFromEmptySelection,n=void 0!==i.multicursorText?i.multicursorText:null,o=i.mode),s.trigger("keyboard","paste",{text:t,pasteOnNewLine:e,multicursorText:n,mode:o})}})())})),_Z.addImplementation(0,"generic-dom",(()=>(wl().execCommand("paste"),!0)))),FZ&&au(class extends nu{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:rt(0,"Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:XC.textInputFocus,primary:0,weight:100}})}run(t,i){i.hasModel()&&(!i.getOption(37)&&i.getSelection().isEmpty()||(Vk.forceCopyWithSyntaxHighlighting=!0,i.focus(),i.getContainerDomNode().ownerDocument.execCommand("copy"),Vk.forceCopyWithSyntaxHighlighting=!1))}});class BZ{constructor(t){this.value=t}equals(t){return this.value===t.value}contains(t){return this.equals(t)||""===this.value||t.value.startsWith(this.value+BZ.sep)}intersects(t){return this.contains(t)||t.contains(this)}append(t){return new BZ(this.value+BZ.sep+t)}}var PZ;function $Z(t,i,e){return!(!i.contains(t)||e&&i.contains(e))}BZ.sep=".",BZ.None=new BZ("@@none@@"),BZ.Empty=new BZ(""),BZ.QuickFix=new BZ("quickfix"),BZ.Refactor=new BZ("refactor"),BZ.RefactorExtract=BZ.Refactor.append("extract"),BZ.RefactorInline=BZ.Refactor.append("inline"),BZ.RefactorMove=BZ.Refactor.append("move"),BZ.RefactorRewrite=BZ.Refactor.append("rewrite"),BZ.Notebook=new BZ("notebook"),BZ.Source=new BZ("source"),BZ.SourceOrganizeImports=BZ.Source.append("organizeImports"),BZ.SourceFixAll=BZ.Source.append("fixAll"),BZ.SurroundWith=BZ.Refactor.append("surround"),function(t){t.Refactor="refactor",t.RefactorPreview="refactor preview",t.Lightbulb="lightbulb",t.Default="other (default)",t.SourceAction="source action",t.QuickFix="quick fix action",t.FixAll="fix all",t.OrganizeImports="organize imports",t.AutoFix="auto fix",t.QuickFixHover="quick fix hover window",t.OnSave="save participants",t.ProblemsView="problems view"}(PZ||(PZ={}));class WZ{static fromUser(t,i){return t&&"object"==typeof t?new WZ(WZ.getKindFromUser(t,i.kind),WZ.getApplyFromUser(t,i.apply),WZ.getPreferredUser(t)):new WZ(i.kind,i.apply,!1)}static getApplyFromUser(t,i){switch("string"==typeof t.apply?t.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return i}}static getKindFromUser(t,i){return"string"==typeof t.kind?new BZ(t.kind):i}static getPreferredUser(t){return"boolean"==typeof t.preferred&&t.preferred}constructor(t,i,e){this.kind=t,this.apply=i,this.preferred=e}}class jZ{constructor(t,i,e){this.action=t,this.provider=i,this.highlightRange=e}async resolve(t){var i;if((null===(i=this.provider)||void 0===i?void 0:i.resolveCodeAction)&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,t)}catch(t){$i(t)}i&&(this.action.edit=i.edit)}return this}}const zZ="editor.action.codeAction",HZ="editor.action.quickFix",VZ="editor.action.autoFix",UZ="editor.action.refactor",qZ="editor.action.sourceAction",KZ="editor.action.organizeImports",GZ="editor.action.fixAll";class ZZ extends ie{static codeActionsPreferredComparator(t,i){return t.isPreferred&&!i.isPreferred?-1:!t.isPreferred&&i.isPreferred?1:0}static codeActionsComparator({action:t},{action:i}){return t.isAI&&!i.isAI?1:!t.isAI&&i.isAI?-1:y(t.diagnostics)?y(i.diagnostics)?ZZ.codeActionsPreferredComparator(t,i):-1:y(i.diagnostics)?1:ZZ.codeActionsPreferredComparator(t,i)}constructor(t,i,e){super(),this.documentation=i,this._register(e),this.allActions=[...t].sort(ZZ.codeActionsComparator),this.validActions=this.allActions.filter((({action:t})=>!t.disabled))}get hasAutoFix(){return this.validActions.some((({action:t})=>!!t.kind&&BZ.QuickFix.contains(new BZ(t.kind))&&!!t.isPreferred))}get hasAIFix(){return this.validActions.some((({action:t})=>!!t.isAI))}get allAIFixes(){return this.validActions.every((({action:t})=>!!t.isAI))}}const QZ={actions:[],documentation:void 0};async function JZ(t,i,e,s,n,o){var r;const h=s.filter||{},c={...h,excludes:[...h.excludes||[],BZ.Notebook]},a={only:null===(r=h.include)||void 0===r?void 0:r.value,trigger:s.type},l=new DK(i,o),d=function(t,i,e){return t.all(i).filter((t=>!t.providedCodeActionKinds||t.providedCodeActionKinds.some((t=>function(t,i){return!(t.include&&!t.include.intersects(i)||t.excludes&&t.excludes.some((e=>$Z(i,e,t.include)))||!t.includeSourceActions&&BZ.Source.contains(i))}(e,new BZ(t))))))}(t,i,2===s.type?c:h),f=new te,p=d.map((async t=>{try{n.report(t);const s=await t.provideCodeActions(i,e,a,l.token);if(s&&f.add(s),l.token.isCancellationRequested)return QZ;const o=((null==s?void 0:s.actions)||[]).filter((t=>t&&function(t,i){const e=i.kind?new BZ(i.kind):void 0;return!(!(!t.include||e&&t.include.contains(e))||t.excludes&&e&&t.excludes.some((i=>$Z(e,i,t.include)))||!t.includeSourceActions&&e&&BZ.Source.contains(e)||t.onlyIncludePreferredActions&&!i.isPreferred)}(h,t))),r=function(t,i,e){if(!t.documentation)return;const s=t.documentation.map((t=>({kind:new BZ(t.kind),command:t.command})));if(e){let t;for(const i of s)i.kind.contains(e)&&(t?t.kind.contains(i.kind)&&(t=i):t=i);if(t)return null==t?void 0:t.command}for(const t of i)if(t.kind)for(const i of s)if(i.kind.contains(new BZ(t.kind)))return i.command}(t,o,h.include);return{actions:o.map((i=>new jZ(i,t))),documentation:r}}catch(t){if(zi(t))throw t;return $i(t),QZ}})),g=t.onDidChange((()=>{u(t.all(i),d)||l.cancel()}));try{const e=await Promise.all(p),n=e.map((t=>t.actions)).flat(),o=[...w(e.map((t=>t.documentation))),...YZ(t,i,s,n)];return new ZZ(n,o,f)}finally{g.dispose(),l.dispose()}}function*YZ(t,i,e,s){var n,o,r;if(i&&s.length)for(const h of t.all(i))h._getAdditionalMenuItems&&(yield*null===(n=h._getAdditionalMenuItems)||void 0===n?void 0:n.call(h,{trigger:e.type,only:null===(r=null===(o=e.filter)||void 0===o?void 0:o.include)||void 0===r?void 0:r.value},s.map((t=>t.action))))}var XZ;async function tQ(t,i,e,s,n=xe.None){var o;const r=t.get(oO),h=t.get(Dr),c=t.get(jh),a=t.get(rT);if(c.publicLog2("codeAction.applyCodeAction",{codeActionTitle:i.action.title,codeActionKind:i.action.kind,codeActionIsPreferred:!!i.action.isPreferred,reason:e}),await i.resolve(n),!n.isCancellationRequested){if((null===(o=i.action.edit)||void 0===o?void 0:o.edits.length)&&!(await r.apply(i.action.edit,{editor:null==s?void 0:s.editor,label:i.action.title,quotableLabel:i.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:e!==XZ.OnSave,showPreview:null==s?void 0:s.preview})).isApplied)return;if(i.action.command)try{await h.executeCommand(i.action.command.id,...i.action.command.arguments||[])}catch(t){const i=function(t){return"string"==typeof t?t:t instanceof Error&&"string"==typeof t.message?t.message:void 0}(t);a.error("string"==typeof i?i:rt(0,"An unknown error occurred while applying the code action"))}}}!function(t){t.OnSave="onSave",t.FromProblemsView="fromProblemsView",t.FromCodeActions="fromCodeActions"}(XZ||(XZ={})),Er.registerCommand("_executeCodeActionProvider",(async function(t,i,e,s,n){if(!(i instanceof ws))throw Vi();const{codeActionProvider:o}=t.get(Cg),r=t.get(gr).getModel(i);if(!r)throw Vi();const h=Fs.isISelection(e)?Fs.liftSelection(e):Ls.isIRange(e)?r.validateRange(e):void 0;if(!h)throw Vi();const c="string"==typeof s?new BZ(s):void 0,a=await JZ(o,r,h,{type:1,triggerAction:PZ.Default,filter:{includeSourceActions:!0,include:c}},zO.None,xe.None),l=[],u=Math.min(a.validActions.length,"number"==typeof n?n:0);for(let t=0;tt.action))}finally{setTimeout((()=>a.dispose()),100)}}));var iQ;let eQ=iQ=class{constructor(t){this.keybindingService=t}getResolver(){const t=new Hn((()=>this.keybindingService.getKeybindings().filter((t=>iQ.codeActionCommands.indexOf(t.command)>=0)).filter((t=>t.resolvedKeybinding)).map((t=>{let i=t.commandArgs;return t.command===KZ?i={kind:BZ.SourceOrganizeImports.value}:t.command===GZ&&(i={kind:BZ.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...WZ.fromUser(i,{kind:BZ.None,apply:"never"})}}))));return i=>{if(i.kind){const e=this.bestKeybindingForCodeAction(i,t.value);return null==e?void 0:e.resolvedKeybinding}}}bestKeybindingForCodeAction(t,i){if(!t.kind)return;const e=new BZ(t.kind);return i.filter((t=>t.kind.contains(e))).filter((i=>!i.preferred||t.isPreferred)).reduceRight(((t,i)=>t?t.kind.contains(i.kind)?i:t:i),void 0)}};eQ.codeActionCommands=[UZ,zZ,qZ,KZ,GZ],eQ=iQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,rC)],eQ),fw("symbolIcon.arrayForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.booleanForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},rt(0,"The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.colorForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.constantForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},rt(0,"The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},rt(0,"The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},rt(0,"The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.fileForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.folderForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},rt(0,"The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.keyForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.keywordForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},rt(0,"The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.moduleForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.namespaceForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.nullForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.numberForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.objectForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.operatorForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.packageForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.propertyForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.referenceForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.snippetForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.stringForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.structForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.textForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.typeParameterForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.unitForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const sQ=Object.freeze({kind:BZ.Empty,title:rt(0,"More Actions...")}),nQ=Object.freeze([{kind:BZ.QuickFix,title:rt(0,"Quick Fix")},{kind:BZ.RefactorExtract,title:rt(0,"Extract"),icon:Is.wrench},{kind:BZ.RefactorInline,title:rt(0,"Inline"),icon:Is.wrench},{kind:BZ.RefactorRewrite,title:rt(0,"Rewrite"),icon:Is.wrench},{kind:BZ.RefactorMove,title:rt(0,"Move"),icon:Is.wrench},{kind:BZ.SurroundWith,title:rt(0,"Surround With"),icon:Is.symbolSnippet},{kind:BZ.Source,title:rt(0,"Source Action"),icon:Is.symbolFile},sQ]);var oQ,rQ,hQ=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t.Hidden={type:0},t.Showing=class{constructor(t,i,e,s){this.actions=t,this.trigger=i,this.editorPosition=e,this.widgetPosition=s,this.type=1}}}(rQ||(rQ={}));let cQ=oQ=class extends ie{constructor(t,i,e){var s,n,o;super(),this._editor=t,this._keybindingService=i,this._onClick=this._register(new fe),this.onClick=this._onClick.event,this._state=rQ.Hidden,this._iconClasses=[],this._domNode=Wl("div.lightBulbWidget"),this._register(hw.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent((()=>{const t=this._editor.getModel();(1!==this.state.type||!t||this.state.editorPosition.lineNumber>=t.getLineCount())&&this.hide()}))),this._register((n=t=>{var i;if(1!==this.state.type)return;const s=this._editor.getOption(64).experimental.showAiIcon;if((s===wi.On||s===wi.OnCode)&&this.state.actions.allAIFixes&&1===this.state.actions.validActions.length){const s=this.state.actions.validActions[0].action;if(null===(i=s.command)||void 0===i?void 0:i.id)return e.executeCommand(s.command.id,...s.command.arguments||[]),void t.preventDefault()}this._editor.focus(),t.preventDefault();const{top:n,height:o}=ol(this._domNode),r=this._editor.getOption(66);let h=Math.floor(r/3);null!==this.state.widgetPosition.position&&this.state.widgetPosition.position.lineNumber{1&~t.buttons||this.hide()}))),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(64)&&(this._editor.getOption(64).enabled||this.hide(),this._updateLightBulbTitleAndIcon())}))),this._register(ce.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,(()=>{var t,i,e,s;this._preferredKbLabel=null!==(i=null===(t=this._keybindingService.lookupKeybinding(VZ))||void 0===t?void 0:t.getLabel())&&void 0!==i?i:void 0,this._quickFixKbLabel=null!==(s=null===(e=this._keybindingService.lookupKeybinding(HZ))||void 0===e?void 0:e.getLabel())&&void 0!==s?s:void 0,this._updateLightBulbTitleAndIcon()})))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return 1===this._state.type?this._state.widgetPosition:null}update(t,i,e){if(t.validActions.length<=0)return this.hide();const s=this._editor.getOptions();if(!s.get(64).enabled)return this.hide();const n=this._editor.getModel();if(!n)return this.hide();const{lineNumber:o,column:r}=n.validatePosition(e),h=n.getOptions().tabSize,c=s.get(50),a=OS(n.getLineContent(o),h),l=t=>t>2&&this._editor.getTopForLineNumber(t)===this._editor.getTopForLineNumber(t-1);let u=o;if(!(c.spaceWidth*a>22))if(o>1&&!l(o-1))u-=1;else if(l(o+1)){if(r*c.spaceWidth<22)return this.hide()}else u+=1;this.state=new rQ.Showing(t,i,e,{position:{lineNumber:u,column:n.getLineContent(u).match(/^\S\s*$/)?2:1},preference:oQ._posPref}),this._editor.layoutContentWidget(this)}hide(){this.state!==rQ.Hidden&&(this.state=rQ.Hidden,this._editor.layoutContentWidget(this))}get state(){return this._state}set state(t){this._state=t,this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){var t,i,e;if(this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],1!==this.state.type)return;const s=()=>{this._preferredKbLabel&&(this.title=rt(0,"Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel))},n=()=>{this.title=this._quickFixKbLabel?rt(0,"Show Code Actions ({0})",this._quickFixKbLabel):rt(0,"Show Code Actions")};let o;const r=this._editor.getOption(64).experimental.showAiIcon;if(r===wi.On||r===wi.OnCode)if(r===wi.On&&this.state.actions.allAIFixes)if(o=Is.sparkleFilled,this.state.actions.allAIFixes&&1===this.state.actions.validActions.length)if("inlineChat.start"===(null===(t=this.state.actions.validActions[0].action.command)||void 0===t?void 0:t.id)){const t=null!==(e=null===(i=this._keybindingService.lookupKeybinding("inlineChat.start"))||void 0===i?void 0:i.getLabel())&&void 0!==e?e:void 0;this.title=t?rt(0,"Start Inline Chat ({0})",t):rt(0,"Start Inline Chat")}else this.title=rt(0,"Trigger AI Action");else n();else this.state.actions.hasAutoFix?(o=this.state.actions.hasAIFix?Is.lightbulbSparkleAutofix:Is.lightbulbAutofix,s()):this.state.actions.hasAIFix?(o=Is.lightbulbSparkle,n()):(o=Is.lightBulb,n());else this.state.actions.hasAutoFix?(o=Is.lightbulbAutofix,s()):(o=Is.lightBulb,n());this._iconClasses=Sr.asClassNameArray(o),this._domNode.classList.add(...this._iconClasses)}set title(t){this._domNode.title=t}};cQ.ID="editor.contrib.lightbulbWidget",cQ._posPref=[0],cQ=oQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([hQ(1,rC),hQ(2,Dr)],cQ);var aQ,lQ=function(t,i){return function(e,s){i(e,s,t)}};let uQ=aQ=class{constructor(t,i,e){this._options=t,this._languageService=i,this._openerService=e,this._onDidRenderAsync=new fe,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(t,i,e){if(!t)return{element:document.createElement("span"),dispose:()=>{}};const s=new te,n=s.add(rN(t,{...this._getRenderOptions(t,s),...i},e));return n.element.classList.add("rendered-markdown"),{element:n.element,dispose:()=>s.dispose()}}_getRenderOptions(t,i){return{codeBlockRenderer:async(t,i)=>{var e,s,n;let o;t?o=this._languageService.getLanguageIdByLanguageName(t):this._options.editor&&(o=null===(e=this._options.editor.getModel())||void 0===e?void 0:e.getLanguageId()),o||(o=qd);const r=await async function(t,i,e){if(!e)return DF(i,t.languageIdCodec,CF);const s=await Qs.getOrCreate(e);return DF(i,t.languageIdCodec,s||CF)}(this._languageService,i,o),h=document.createElement("span");return h.innerHTML=null!==(n=null===(s=aQ._ttpTokenizer)||void 0===s?void 0:s.createHTML(r))&&void 0!==n?n:r,this._options.editor?er(h,this._options.editor.getOption(50)):this._options.codeBlockFontFamily&&(h.style.fontFamily=this._options.codeBlockFontFamily),void 0!==this._options.codeBlockFontSize&&(h.style.fontSize=this._options.codeBlockFontSize),h},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:i=>dQ(this._openerService,i,t.isTrusted),disposables:i}}}};async function dQ(t,i,e){try{return await t.open(i,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:fQ(e)})}catch(t){return Pi(t),!1}}function fQ(t){return!0===t||!(!t||!Array.isArray(t.enabledCommands))&&t.enabledCommands}uQ._ttpTokenizer=Lu("tokenizeToString",{createHTML:t=>t}),uQ=aQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([lQ(1,kd),lQ(2,fP)],uQ);var pQ,gQ=function(t,i){return function(e,s){i(e,s,t)}};let mQ=pQ=class{static get(t){return t.getContribution(pQ.ID)}constructor(t,i,e){this._openerService=e,this._messageWidget=new ee,this._messageListeners=new te,this._mouseOverMessage=!1,this._editor=t,this._visible=pQ.MESSAGE_VISIBLE.bindTo(i)}dispose(){var t;null===(t=this._message)||void 0===t||t.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(t,i){let e;$m($_(t)?t.value:t),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=$_(t)?rN(t,{actionHandler:{callback:i=>dQ(this._openerService,i,$_(t)?t.isTrusted:void 0),disposables:this._messageListeners}}):void 0,this._messageWidget.value=new wQ(this._editor,i,"string"==typeof t?t:this._message.element),this._messageListeners.add(ce.debounce(this._editor.onDidBlurEditorText,((t,i)=>i),0)((()=>{this._mouseOverMessage||this._messageWidget.value&&ll(gl(),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(Ua(this._messageWidget.value.getDomNode(),Fl.MOUSE_ENTER,(()=>this._mouseOverMessage=!0),!0)),this._messageListeners.add(Ua(this._messageWidget.value.getDomNode(),Fl.MOUSE_LEAVE,(()=>this._mouseOverMessage=!1),!0)),this._messageListeners.add(this._editor.onMouseMove((t=>{t.target.position&&(e?e.containsPosition(t.target.position)||this.closeMessage():e=new Ls(i.lineNumber-3,1,t.target.position.lineNumber+3,1))})))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(wQ.fadeOut(this._messageWidget.value))}};mQ.ID="editor.contrib.messageController",mQ.MESSAGE_VISIBLE=new ah("messageVisible",!1,rt(0,"Whether the editor is currently showing an inline message")),mQ=pQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([gQ(1,lh),gQ(2,fP)],mQ),cu(new(su.bindToContribution(mQ.get))({id:"leaveEditorMessage",precondition:mQ.MESSAGE_VISIBLE,handler:t=>t.closeMessage(),kbOpts:{weight:130,primary:9}}));class wQ{static fadeOut(t){const i=()=>{t.dispose(),clearTimeout(e),t.getDomNode().removeEventListener("animationend",i)},e=setTimeout(i,110);return t.getDomNode().addEventListener("animationend",i),t.getDomNode().classList.add("fadeOut"),{dispose:i}}constructor(t,{lineNumber:i,column:e},s){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=t,this._editor.revealLinesInCenterIfOutsideViewport(i,i,0),this._position={lineNumber:i,column:e},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const n=document.createElement("div");n.classList.add("anchor","top"),this._domNode.appendChild(n);const o=document.createElement("div");"string"==typeof s?(o.classList.add("message"),o.textContent=s):(s.classList.add("message"),o.appendChild(s)),this._domNode.appendChild(o);const r=document.createElement("div");r.classList.add("anchor","below"),this._domNode.appendChild(r),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(t){this._domNode.classList.toggle("below",2===t)}}uu(mQ.ID,mQ,4);var vQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},bQ=function(t,i){return function(e,s){i(e,s,t)}};const yQ="acceptSelectedCodeAction",kQ="previewSelectedCodeAction";class xQ{get templateId(){return"header"}renderTemplate(t){t.classList.add("group-header");const i=document.createElement("span");return t.append(i),{container:t,text:i}}renderElement(t,i,e){var s,n;e.text.textContent=null!==(n=null===(s=t.group)||void 0===s?void 0:s.title)&&void 0!==n?n:""}disposeTemplate(t){}}let CQ=class{get templateId(){return"action"}constructor(t,i){this._supportsPreview=t,this._keybindingService=i}renderTemplate(t){t.classList.add(this.templateId);const i=document.createElement("div");i.className="icon",t.append(i);const e=document.createElement("span");return e.className="title",t.append(e),{container:t,icon:i,text:e,keybinding:new tz(t,_t)}}renderElement(t,i,e){var s,n,o;if((null===(s=t.group)||void 0===s?void 0:s.icon)?(e.icon.className=Sr.asClassName(t.group.icon),t.group.icon.color&&(e.icon.style.color=lw(t.group.icon.color.id))):(e.icon.className=Sr.asClassName(Is.lightBulb),e.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!t.item||!t.label)return;e.text.textContent=MQ(t.label),e.keybinding.set(t.keybinding),function(t,...i){t?jl(...i):zl(...i)}(!!t.keybinding,e.keybinding.element);const r=null===(n=this._keybindingService.lookupKeybinding(yQ))||void 0===n?void 0:n.getLabel(),h=null===(o=this._keybindingService.lookupKeybinding(kQ))||void 0===o?void 0:o.getLabel();e.container.classList.toggle("option-disabled",t.disabled),e.container.title=t.disabled?t.label:r&&h?this._supportsPreview&&t.canPreview?rt(0,"{0} to apply, {1} to preview",r,h):rt(0,"{0} to apply",r):""}disposeTemplate(t){}};CQ=vQ([bQ(1,rC)],CQ);class SQ extends UIEvent{constructor(){super("acceptSelectedAction")}}class DQ extends UIEvent{constructor(){super("previewSelectedAction")}}function EQ(t){if("action"===t.kind)return t.label}let AQ=class extends ie{constructor(t,i,e,s,n,o){super(),this._delegate=s,this._contextViewService=n,this._keybindingService=o,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new Se),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList"),this._list=this._register(new lB(t,this.domNode,{getHeight:t=>"header"===t.kind?this._headerLineHeight:this._actionLineHeight,getTemplateId:t=>t.kind},[new CQ(i,this._keybindingService),new xQ],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:EQ},accessibilityProvider:{getAriaLabel:t=>{if("action"===t.kind){let i=t.label?MQ(null==t?void 0:t.label):"";return t.disabled&&(i=rt(0,"{0}, Disabled Reason: {1}",i,t.disabled)),i}return null},getWidgetAriaLabel:()=>rt(0,"Action Widget"),getRole:t=>"action"===t.kind?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(PB),this._register(this._list.onMouseClick((t=>this.onListClick(t)))),this._register(this._list.onMouseOver((t=>this.onListHover(t)))),this._register(this._list.onDidChangeFocus((()=>this.onFocus()))),this._register(this._list.onDidChangeSelection((t=>this.onListSelection(t)))),this._allMenuItems=e,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(t){return!t.disabled&&"action"===t.kind}hide(t){this._delegate.onHide(t),this.cts.cancel(),this._contextViewService.hideContextView()}layout(t){const i=this._allMenuItems.filter((t=>"header"===t.kind)).length,e=this._allMenuItems.length*this._actionLineHeight+i*this._headerLineHeight-i*this._actionLineHeight;this._list.layout(e);let s=t;if(this._allMenuItems.length>=50)s=380;else{const i=this._allMenuItems.map(((t,i)=>{const e=this.domNode.ownerDocument.getElementById(this._list.getElementID(i));if(e){e.style.width="auto";const t=e.getBoundingClientRect().width;return e.style.width="",t}return 0}));s=Math.max(...i,t)}const n=Math.min(e,.7*this.domNode.ownerDocument.body.clientHeight);return this._list.layout(n,s),this.domNode.style.height=`${n}px`,this._list.domFocus(),s}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(t){const i=this._list.getFocus();if(0===i.length)return;const e=i[0],s=this._list.element(e);if(!this.focusCondition(s))return;const n=t?new DQ:new SQ;this._list.setSelection([e],n)}onListSelection(t){if(!t.elements.length)return;const i=t.elements[0];i.item&&this.focusCondition(i)?this._delegate.onSelect(i.item,t.browserEvent instanceof DQ):this._list.setSelection([])}onFocus(){var t,i;this._list.domFocus();const e=this._list.getFocus();if(0===e.length)return;const s=this._list.element(e[0]);null===(i=(t=this._delegate).onFocus)||void 0===i||i.call(t,s.item)}async onListHover(t){const i=t.element;if(i&&i.item&&this.focusCondition(i)){if(this._delegate.onHover&&!i.disabled&&"action"===i.kind){const t=await this._delegate.onHover(i.item,this.cts.token);i.canPreview=t?t.canPreview:void 0}t.index&&this._list.splice(t.index,1,[i])}this._list.setFocus("number"==typeof t.index?[t.index]:[])}onListClick(t){t.element&&this.focusCondition(t.element)&&this._list.setFocus([])}};function MQ(t){return t.replace(/\r\n|\r|\n/g," ")}AQ=vQ([bQ(4,lI),bQ(5,rC)],AQ);var LQ=function(t,i){return function(e,s){i(e,s,t)}};fw("actionBar.toggledBackground",{dark:Aw,light:Aw,hcDark:Aw,hcLight:Aw},rt(0,"Background color for toggled action items in action bar."));const FQ={Visible:new ah("codeActionMenuVisible",!1,rt(0,"Whether the action widget list is visible"))},TQ=fr("actionWidgetService");let RQ=class extends ie{get isVisible(){return FQ.Visible.getValue(this._contextKeyService)||!1}constructor(t,i,e){super(),this._contextViewService=t,this._contextKeyService=i,this._instantiationService=e,this._list=this._register(new ee)}show(t,i,e,s,n,o,r){const h=FQ.Visible.bindTo(this._contextKeyService),c=this._instantiationService.createInstance(AQ,t,i,e,s);this._contextViewService.showContextView({getAnchor:()=>n,render:t=>(h.set(!0),this._renderWidget(t,c,null!=r?r:[])),onHide:t=>{h.reset(),this._onWidgetClosed(t)}},o,!1)}acceptSelected(t){var i;null===(i=this._list.value)||void 0===i||i.acceptSelected(t)}focusPrevious(){var t,i;null===(i=null===(t=this._list)||void 0===t?void 0:t.value)||void 0===i||i.focusPrevious()}focusNext(){var t,i;null===(i=null===(t=this._list)||void 0===t?void 0:t.value)||void 0===i||i.focusNext()}hide(){var t;null===(t=this._list.value)||void 0===t||t.hide(),this._list.clear()}_renderWidget(t,i,e){var s;const n=document.createElement("div");if(n.classList.add("action-widget"),t.appendChild(n),this._list.value=i,!this._list.value)throw new Error("List has no value");n.appendChild(this._list.value.domNode);const o=new te,r=document.createElement("div"),h=t.appendChild(r);h.classList.add("context-view-block"),o.add(Ua(h,Fl.MOUSE_DOWN,(t=>t.stopPropagation())));const c=document.createElement("div"),a=t.appendChild(c);a.classList.add("context-view-pointerBlock"),o.add(Ua(a,Fl.POINTER_MOVE,(()=>a.remove()))),o.add(Ua(a,Fl.MOUSE_DOWN,(()=>a.remove())));let l=0;if(e.length){const t=this._createActionBar(".action-widget-action-bar",e);t&&(n.appendChild(t.getContainer().parentElement),o.add(t),l=t.getContainer().offsetWidth)}const u=null===(s=this._list.value)||void 0===s?void 0:s.layout(l);n.style.width=`${u}px`;const d=o.add(Ol(t));return o.add(d.onDidBlur((()=>this.hide()))),o}_createActionBar(t,i){if(!i.length)return;const e=Wl(t),s=new XB(e);return s.push(i,{icon:!1,label:!0}),s}_onWidgetClosed(t){var i;null===(i=this._list.value)||void 0===i||i.hide(t)}};RQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([LQ(0,lI),LQ(1,lh),LQ(2,dr)],RQ),Sd(TQ,RQ,1);const OQ=1100;Wh(class extends $h{constructor(){super({id:"hideCodeActionWidget",title:{value:rt(0,"Hide action widget"),original:"Hide action widget"},precondition:FQ.Visible,keybinding:{weight:OQ,primary:9,secondary:[1033]}})}run(t){t.get(TQ).hide()}}),Wh(class extends $h{constructor(){super({id:"selectPrevCodeAction",title:{value:rt(0,"Select previous action"),original:"Select previous action"},precondition:FQ.Visible,keybinding:{weight:OQ,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(t){const i=t.get(TQ);i instanceof RQ&&i.focusPrevious()}}),Wh(class extends $h{constructor(){super({id:"selectNextCodeAction",title:{value:rt(0,"Select next action"),original:"Select next action"},precondition:FQ.Visible,keybinding:{weight:OQ,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(t){const i=t.get(TQ);i instanceof RQ&&i.focusNext()}}),Wh(class extends $h{constructor(){super({id:yQ,title:{value:rt(0,"Accept selected action"),original:"Accept selected action"},precondition:FQ.Visible,keybinding:{weight:OQ,primary:3,secondary:[2137]}})}run(t){const i=t.get(TQ);i instanceof RQ&&i.acceptSelected()}}),Wh(class extends $h{constructor(){super({id:kQ,title:{value:rt(0,"Preview selected action"),original:"Preview selected action"},precondition:FQ.Visible,keybinding:{weight:OQ,primary:2051}})}run(t){const i=t.get(TQ);i instanceof RQ&&i.acceptSelected(!0)}});const IQ=new ah("supportedCodeAction","");class _Q extends ie{constructor(t,i,e,s=250){super(),this._editor=t,this._markerService=i,this._signalChange=e,this._delay=s,this._autoTriggerTimer=this._register(new fc),this._register(this._markerService.onMarkerChanged((t=>this._onMarkerChanges(t)))),this._register(this._editor.onDidChangeCursorPosition((()=>this._tryAutoTrigger())))}trigger(t){const i=this._getRangeOfSelectionUnlessWhitespaceEnclosed(t);this._signalChange(i?{trigger:t,selection:i}:void 0)}_onMarkerChanges(t){const i=this._editor.getModel();i&&t.some((t=>vA(t,i.uri)))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet((()=>{this.trigger({type:2,triggerAction:PZ.Default})}),this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(t){var i;if(!this._editor.hasModel())return;const e=this._editor.getModel(),s=this._editor.getSelection();if(s.isEmpty()&&2===t.type){const{lineNumber:t,column:n}=s.getPosition(),o=e.getLineContent(t);if(0===o.length){if((null===(i=this._editor.getOption(64).experimental)||void 0===i?void 0:i.showAiIcon)!==wi.On)return}else if(1===n){if(/\s/.test(o[0]))return}else if(n===e.getLineMaxColumn(t)){if(/\s/.test(o[o.length-1]))return}else if(/\s/.test(o[n-2])&&/\s/.test(o[n-1]))return}return s}}var NQ;!function(t){t.Empty={type:0},t.Triggered=class{constructor(t,i,e){this.trigger=t,this.position=i,this._cancellablePromise=e,this.type=1,this.actions=e.catch((t=>{if(zi(t))return BQ;throw t}))}cancel(){this._cancellablePromise.cancel()}}}(NQ||(NQ={}));const BQ=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class PQ extends ie{constructor(t,i,e,s,n,o){super(),this._editor=t,this._registry=i,this._markerService=e,this._progressService=n,this._configurationService=o,this._codeActionOracle=this._register(new ee),this._state=NQ.Empty,this._onDidChangeState=this._register(new fe),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=IQ.bindTo(s),this._register(this._editor.onDidChangeModel((()=>this._update()))),this._register(this._editor.onDidChangeModelLanguage((()=>this._update()))),this._register(this._registry.onDidChange((()=>this._update()))),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(NQ.Empty,!0))}_settingEnabledNearbyQuickfixes(){var t;const i=null===(t=this._editor)||void 0===t?void 0:t.getModel();return!!this._configurationService&&this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:null==i?void 0:i.uri})}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(NQ.Empty);const t=this._editor.getModel();if(t&&this._registry.has(t)&&!this._editor.getOption(90)){const i=this._registry.all(t).flatMap((t=>{var i;return null!==(i=t.providedCodeActionKinds)&&void 0!==i?i:[]}));this._supportedCodeActions.set(i.join(" ")),this._codeActionOracle.value=new _Q(this._editor,this._markerService,(i=>{var e;if(!i)return void this.setState(NQ.Empty);const s=i.selection.getStartPosition(),n=oc((async e=>{var s,n,o,r,h,c;if(this._settingEnabledNearbyQuickfixes()&&1===i.trigger.type&&(i.trigger.triggerAction===PZ.QuickFix||(null===(n=null===(s=i.trigger.filter)||void 0===s?void 0:s.include)||void 0===n?void 0:n.contains(BZ.QuickFix)))){const s=await JZ(this._registry,t,i.selection,i.trigger,zO.None,e),n=[...s.allActions];if(e.isCancellationRequested)return BQ;if(!(null===(o=s.validActions)||void 0===o?void 0:o.some((t=>!!t.action.kind&&BZ.QuickFix.contains(new BZ(t.action.kind)))))){const o=this._markerService.read({resource:t.uri});if(o.length>0){const a=i.selection.getPosition();let l=a,u=Number.MAX_VALUE;const d=[...s.validActions];for(const f of o){const o=f.endColumn,p=f.endLineNumber;if(p===a.lineNumber||f.startLineNumber===a.lineNumber){l=new Ms(p,o);const f={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(null===(r=i.trigger.filter)||void 0===r?void 0:r.include)?null===(h=i.trigger.filter)||void 0===h?void 0:h.include:BZ.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:(null===(c=i.trigger.context)||void 0===c?void 0:c.notAvailableMessage)||"",position:l}},g=new Fs(l.lineNumber,l.column,l.lineNumber,l.column),m=await JZ(this._registry,t,g,f,zO.None,e);if(0!==m.validActions.length){for(const t of m.validActions)t.highlightRange=t.action.isPreferred;0===s.allActions.length&&n.push(...m.allActions),Math.abs(a.column-o)e.findIndex((i=>i.action.title===t.action.title))===i));return f.sort(((t,i)=>t.action.isPreferred&&!i.action.isPreferred?-1:!t.action.isPreferred&&i.action.isPreferred||t.action.isAI&&!i.action.isAI?1:!t.action.isAI&&i.action.isAI?-1:0)),{validActions:f,allActions:n,documentation:s.documentation,hasAutoFix:s.hasAutoFix,hasAIFix:s.hasAIFix,allAIFixes:s.allAIFixes,dispose:()=>{s.dispose()}}}}}return JZ(this._registry,t,i.selection,i.trigger,zO.None,e)}));1===i.trigger.type&&(null===(e=this._progressService)||void 0===e||e.showWhile(n,250)),this.setState(new NQ.Triggered(i.trigger,s,n))}),void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:PZ.Default})}else this._supportedCodeActions.reset()}trigger(t){var i;null===(i=this._codeActionOracle.value)||void 0===i||i.trigger(t)}setState(t,i){t!==this._state&&(1===this._state.type&&this._state.cancel(),this._state=t,i||this._disposed||this._onDidChangeState.fire(t))}}var $Q,WQ=function(t,i){return function(e,s){i(e,s,t)}};let jQ=$Q=class extends ie{static get(t){return t.getContribution($Q.ID)}constructor(t,i,e,s,n,o,r,h,c,a){super(),this._commandService=r,this._configurationService=h,this._actionWidgetService=c,this._instantiationService=a,this._activeCodeActions=this._register(new ee),this._showDisabled=!1,this._disposed=!1,this._editor=t,this._model=this._register(new PQ(this._editor,n.codeActionProvider,i,e,o,h)),this._register(this._model.onDidChangeState((t=>this.update(t)))),this._lightBulbWidget=new Hn((()=>{const t=this._editor.getContribution(cQ.ID);return t&&this._register(t.onClick((t=>this.showCodeActionList(t.actions,t,{includeDisabledActions:!1,fromLightbulb:!0})))),t})),this._resolver=s.createInstance(eQ),this._register(this._editor.onDidLayoutChange((()=>this._actionWidgetService.hide())))}dispose(){this._disposed=!0,super.dispose()}showCodeActions(t,i,e){return this.showCodeActionList(i,e,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(t,i,e,s){var n;if(!this._editor.hasModel())return;null===(n=mQ.get(this._editor))||void 0===n||n.closeMessage();const o=this._editor.getPosition();this._trigger({type:1,triggerAction:i,filter:e,autoApply:s,context:{notAvailableMessage:t,position:o}})}_trigger(t){return this._model.trigger(t)}async _applyCodeAction(t,i,e){try{await this._instantiationService.invokeFunction(tQ,t,XZ.FromCodeActions,{preview:e,editor:this._editor})}finally{i&&this._trigger({type:2,triggerAction:PZ.QuickFix,filter:{}})}}async update(t){var i,e,s,n,o,r,h;if(1!==t.type)return void(null===(i=this._lightBulbWidget.rawValue)||void 0===i||i.hide());let c;try{c=await t.actions}catch(t){return void Pi(t)}if(!this._disposed)if(null===(e=this._lightBulbWidget.value)||void 0===e||e.update(c,t.trigger,t.position),1===t.trigger.type){if(null===(s=t.trigger.filter)||void 0===s?void 0:s.include){const i=this.tryGetValidActionToApply(t.trigger,c);if(i){try{null===(n=this._lightBulbWidget.value)||void 0===n||n.hide(),await this._applyCodeAction(i,!1,!1)}finally{c.dispose()}return}if(t.trigger.context){const i=this.getInvalidActionThatWouldHaveBeenApplied(t.trigger,c);if(i&&i.action.disabled)return null===(o=mQ.get(this._editor))||void 0===o||o.showMessage(i.action.disabled,t.trigger.context.position),void c.dispose()}}const i=!!(null===(r=t.trigger.filter)||void 0===r?void 0:r.include);if(t.trigger.context&&(!c.allActions.length||!i&&!c.validActions.length))return null===(h=mQ.get(this._editor))||void 0===h||h.showMessage(t.trigger.context.notAvailableMessage,t.trigger.context.position),this._activeCodeActions.value=c,void c.dispose();this._activeCodeActions.value=c,this.showCodeActionList(c,this.toCoords(t.position),{includeDisabledActions:i,fromLightbulb:!1})}else this._actionWidgetService.isVisible?c.dispose():this._activeCodeActions.value=c}getInvalidActionThatWouldHaveBeenApplied(t,i){if(i.allActions.length)return"first"===t.autoApply&&0===i.validActions.length||"ifSingle"===t.autoApply&&1===i.allActions.length?i.allActions.find((({action:t})=>t.disabled)):void 0}tryGetValidActionToApply(t,i){if(i.validActions.length)return"first"===t.autoApply&&i.validActions.length>0||"ifSingle"===t.autoApply&&1===i.validActions.length?i.validActions[0]:void 0}async showCodeActionList(t,i,e){const s=this._editor.createDecorationsCollection(),n=this._editor.getDomNode();if(!n)return;const o=e.includeDisabledActions&&(this._showDisabled||0===t.validActions.length)?t.allActions:t.validActions;if(!o.length)return;const r=Ms.isIPosition(i)?this.toCoords(i):i,h={onSelect:async(t,i)=>{this._applyCodeAction(t,!0,!!i),this._actionWidgetService.hide(),s.clear()},onHide:()=>{var t;null===(t=this._editor)||void 0===t||t.focus(),s.clear()},onHover:async(t,i)=>{var e;if(await t.resolve(i),!i.isCancellationRequested)return{canPreview:!!(null===(e=t.action.edit)||void 0===e?void 0:e.edits.length)}},onFocus:t=>{var i,e;if(t&&t.highlightRange&&t.action.diagnostics){s.set([{range:t.action.diagnostics[0],options:$Q.DECORATION}]);const n=t.action.diagnostics[0];Wm(rt(0,"Context: {0} at line {1} and column {2}.",null===(e=null===(i=this._editor.getModel())||void 0===i?void 0:i.getWordAtPosition({lineNumber:n.startLineNumber,column:n.startColumn}))||void 0===e?void 0:e.word,n.startLineNumber,n.startColumn))}else s.clear()}};this._actionWidgetService.show("codeActionWidget",!0,function(t,i,e){if(!i)return t.map((t=>{var i;return{kind:"action",item:t,group:sQ,disabled:!!t.action.disabled,label:t.action.disabled||t.action.title,canPreview:!!(null===(i=t.action.edit)||void 0===i?void 0:i.edits.length)}}));const s=nQ.map((t=>({group:t,actions:[]})));for(const i of t){const t=i.action.kind?new BZ(i.action.kind):BZ.None;for(const e of s)if(e.group.kind.contains(t)){e.actions.push(i);break}}const n=[];for(const t of s)if(t.actions.length){n.push({kind:"header",group:t.group});for(const i of t.actions){const s=t.group;n.push({kind:"action",item:i,group:i.action.isAI?{title:s.title,kind:s.kind,icon:Is.sparkle}:s,label:i.action.title,disabled:!!i.action.disabled,keybinding:e(i.action)})}}return n}(o,this._shouldShowHeaders(),this._resolver.getResolver()),h,r,n,this._getActionBarActions(t,i,e))}toCoords(t){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(t,1),this._editor.render();const i=this._editor.getScrolledVisiblePosition(t),e=ol(this._editor.getDomNode());return{x:e.left+i.left,y:e.top+i.top+i.height}}_shouldShowHeaders(){var t;const i=null===(t=this._editor)||void 0===t?void 0:t.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:null==i?void 0:i.uri})}_getActionBarActions(t,i,e){if(e.fromLightbulb)return[];const s=t.documentation.map((t=>{var i;return{id:t.id,label:t.title,tooltip:null!==(i=t.tooltip)&&void 0!==i?i:"",class:void 0,enabled:!0,run:()=>{var i;return this._commandService.executeCommand(t.id,...null!==(i=t.arguments)&&void 0!==i?i:[])}}}));return e.includeDisabledActions&&t.validActions.length>0&&t.allActions.length!==t.validActions.length&&s.push(this._showDisabled?{id:"hideMoreActions",label:rt(0,"Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(t,i,e))}:{id:"showMoreActions",label:rt(0,"Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(t,i,e))}),s}};function zQ(t){return Hr.regex(IQ.keys()[0],new RegExp("(\\s|^)"+Zn(t.value)+"\\b"))}jQ.ID="editor.contrib.codeActionController",jQ.DECORATION=ML.register({description:"quickfix-highlight",className:"quickfix-edit-highlight"}),jQ=$Q=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([WQ(1,xP),WQ(2,lh),WQ(3,dr),WQ(4,Cg),WQ(5,HO),WQ(6,Dr),WQ(7,gd),WQ(8,TQ),WQ(9,dr)],jQ),ox(((t,i)=>{((t,e)=>{e&&i.addRule(`.monaco-editor .quickfix-edit-highlight { background-color: ${e}; }`)})(0,t.getColor(Fv));const e=t.getColor(Ov);e&&i.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Hy(t.type)?"dotted":"solid"} ${e}; box-sizing: border-box; }`)}));const HQ={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:rt(0,"Kind of the code action to run.")},apply:{type:"string",description:rt(0,"Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[rt(0,"Always apply the first returned code action."),rt(0,"Apply the first returned code action if it is the only one."),rt(0,"Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:rt(0,"Controls if only preferred code actions should be returned.")}}};function VQ(t,i,e,s,n=PZ.Default){if(t.hasModel()){const o=jQ.get(t);null==o||o.manualTriggerAtCurrentPosition(i,n,e,s)}}uu(jQ.ID,jQ,3),uu(cQ.ID,cQ,4),au(class extends nu{constructor(){super({id:HZ,label:rt(0,"Quick Fix..."),alias:"Quick Fix...",precondition:Hr.and(XC.writable,XC.hasCodeActionsProvider),kbOpts:{kbExpr:XC.textInputFocus,primary:2137,weight:100}})}run(t,i){return VQ(i,rt(0,"No code actions available"),void 0,void 0,PZ.QuickFix)}}),au(class extends nu{constructor(){super({id:UZ,label:rt(0,"Refactor..."),alias:"Refactor...",precondition:Hr.and(XC.writable,XC.hasCodeActionsProvider),kbOpts:{kbExpr:XC.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:Hr.and(XC.writable,zQ(BZ.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:HQ}]}})}run(t,i,e){const s=WZ.fromUser(e,{kind:BZ.Refactor,apply:"never"});return VQ(i,"string"==typeof(null==e?void 0:e.kind)?rt(0,s.preferred?"No preferred refactorings for '{0}' available":"No refactorings for '{0}' available",e.kind):rt(0,s.preferred?"No preferred refactorings available":"No refactorings available"),{include:BZ.Refactor.contains(s.kind)?s.kind:BZ.None,onlyIncludePreferredActions:s.preferred},s.apply,PZ.Refactor)}}),au(class extends nu{constructor(){super({id:qZ,label:rt(0,"Source Action..."),alias:"Source Action...",precondition:Hr.and(XC.writable,XC.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:Hr.and(XC.writable,zQ(BZ.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:HQ}]}})}run(t,i,e){const s=WZ.fromUser(e,{kind:BZ.Source,apply:"never"});return VQ(i,"string"==typeof(null==e?void 0:e.kind)?rt(0,s.preferred?"No preferred source actions for '{0}' available":"No source actions for '{0}' available",e.kind):rt(0,s.preferred?"No preferred source actions available":"No source actions available"),{include:BZ.Source.contains(s.kind)?s.kind:BZ.None,includeSourceActions:!0,onlyIncludePreferredActions:s.preferred},s.apply,PZ.SourceAction)}}),au(class extends nu{constructor(){super({id:KZ,label:rt(0,"Organize Imports"),alias:"Organize Imports",precondition:Hr.and(XC.writable,zQ(BZ.SourceOrganizeImports)),kbOpts:{kbExpr:XC.textInputFocus,primary:1581,weight:100}})}run(t,i){return VQ(i,rt(0,"No organize imports action available"),{include:BZ.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",PZ.OrganizeImports)}}),au(class extends nu{constructor(){super({id:VZ,label:rt(0,"Auto Fix..."),alias:"Auto Fix...",precondition:Hr.and(XC.writable,zQ(BZ.QuickFix)),kbOpts:{kbExpr:XC.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(t,i){return VQ(i,rt(0,"No auto fixes available"),{include:BZ.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",PZ.AutoFix)}}),au(class extends nu{constructor(){super({id:GZ,label:rt(0,"Fix All"),alias:"Fix All",precondition:Hr.and(XC.writable,zQ(BZ.SourceFixAll))})}run(t,i){return VQ(i,rt(0,"No fix all action available"),{include:BZ.SourceFixAll,includeSourceActions:!0},"ifSingle",PZ.FixAll)}}),cu(new class extends su{constructor(){super({id:zZ,precondition:Hr.and(XC.writable,XC.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:HQ}]}})}runEditorCommand(t,i,e){const s=WZ.fromUser(e,{kind:BZ.Empty,apply:"ifSingle"});return VQ(i,"string"==typeof(null==e?void 0:e.kind)?rt(0,s.preferred?"No preferred code actions for '{0}' available":"No code actions for '{0}' available",e.kind):rt(0,s.preferred?"No preferred code actions available":"No code actions available"),{include:s.kind,includeSourceActions:!0,onlyIncludePreferredActions:s.preferred},s.apply)}}),Eh.as(Ld).registerConfiguration({...lO,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:rt(0,"Enable/disable showing group headers in the Code Action menu."),default:!0}}}),Eh.as(Ld).registerConfiguration({...lO,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:rt(0,"Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});class UQ{constructor(){this.lenses=[],this._disposables=new te}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(t,i){this._disposables.add(t);for(const e of t.lenses)this.lenses.push({symbol:e,provider:i})}}async function qQ(t,i,e){const s=t.ordered(i),n=new Map,o=new UQ,r=s.map((async(t,s)=>{n.set(t,s);try{const s=await Promise.resolve(t.provideCodeLenses(i,e));s&&o.add(s,t)}catch(t){$i(t)}}));return await Promise.all(r),o.lenses=o.lenses.sort(((t,i)=>t.symbol.range.startLineNumberi.symbol.range.startLineNumber?1:n.get(t.provider)n.get(i.provider)?1:t.symbol.range.startColumni.symbol.range.startColumn?1:0)),o}Er.registerCommand("_executeCodeLensProvider",(function(t,...i){let[e,s]=i;K(ws.isUri(e)),K("number"==typeof s||!s);const{codeLensProvider:n}=t.get(Cg),o=t.get(gr).getModel(e);if(!o)throw Vi();const r=[],h=new te;return qQ(n,o,xe.None).then((t=>{h.add(t);const i=[];for(const e of t.lenses)null==s||Boolean(e.symbol.command)?r.push(e.symbol):s-- >0&&e.provider.resolveCodeLens&&i.push(Promise.resolve(e.provider.resolveCodeLens(o,e.symbol,xe.None)).then((t=>r.push(t||e.symbol))));return Promise.all(i)})).then((()=>r)).finally((()=>{setTimeout((()=>h.dispose()),100)}))}));const KQ=fr("ICodeLensCache");class GQ{constructor(t,i){this.lineCount=t,this.data=i}}let ZQ=class{constructor(t){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Up(20,.75),Ga(Wn,(()=>t.remove("codelens/cache",1)));const i="codelens/cache2",e=t.get(i,1,"{}");this._deserialize(e),ce.once(t.onWillSaveState)((e=>{e.reason===LB.SHUTDOWN&&t.store(i,this._serialize(),1,1)}))}put(t,i){const e=i.lenses.map((t=>{var i;return{range:t.symbol.range,command:t.symbol.command&&{id:"",title:null===(i=t.symbol.command)||void 0===i?void 0:i.title}}})),s=new UQ;s.add({lenses:e,dispose:()=>{}},this._fakeProvider);const n=new GQ(t.getLineCount(),s);this._cache.set(t.uri.toString(),n)}get(t){const i=this._cache.get(t.uri.toString());return i&&i.lineCount===t.getLineCount()?i.data:void 0}delete(t){this._cache.delete(t.uri.toString())}_serialize(){const t=Object.create(null);for(const[i,e]of this._cache){const s=new Set;for(const t of e.data.lenses)s.add(t.symbol.range.startLineNumber);t[i]={lineCount:e.lineCount,lines:[...s.values()]}}return JSON.stringify(t)}_deserialize(t){try{const i=JSON.parse(t);for(const t in i){const e=i[t],s=[];for(const t of e.lines)s.push({range:new Ls(t,1,t,11)});const n=new UQ;n.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(t,new GQ(e.lineCount,n))}}catch(t){}}};ZQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,MB)],ZQ),Sd(KQ,ZQ,1);class QQ{constructor(t,i,e){this.afterColumn=1073741824,this.afterLineNumber=t,this.heightInPx=i,this._onHeight=e,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(t){void 0===this._lastHeight?this._lastHeight=t:this._lastHeight!==t&&(this._lastHeight=t,this._onHeight())}isVisible(){return 0!==this._lastHeight&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class JQ{constructor(t,i){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=t,this._id="codelens.widget-"+JQ._idPool++,this.updatePosition(i),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(t,i){this._commands.clear();const e=[];let s=!1;for(let i=0;i{t.symbol.command&&h.push(t.symbol),e.addDecoration({range:t.symbol.range,options:XQ},(t=>this._decorationIds[i]=t)),r=r?Ls.plusRange(r,t.symbol.range):Ls.lift(t.symbol.range)})),this._viewZone=new QQ(r.startLineNumber-1,n,o),this._viewZoneId=s.addZone(this._viewZone),h.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(h,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new JQ(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(t,i){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],null==i||i.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(((t,i)=>{const e=this._editor.getModel().getDecorationRange(t);return!(!e||Ls.isEmpty(this._data[i].symbol.range)!==e.isEmpty())}))}updateCodeLensSymbols(t,i){this._decorationIds.forEach(i.removeDecoration,i),this._decorationIds=[],this._data=t,this._data.forEach(((t,e)=>{i.addDecoration({range:t.symbol.range,options:XQ},(t=>this._decorationIds[e]=t))}))}updateHeight(t,i){this._viewZone.heightInPx=t,i.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(t){if(!this._viewZone.isVisible())return null;for(let i=0;ithis._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((t=>{(t.hasChanged(50)||t.hasChanged(19)||t.hasChanged(18))&&this._updateLensStyle(),t.hasChanged(17)&&this._onModelChange()}))),this._disposables.add(i.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){var t;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),null===(t=this._currentCodeLensModel)||void 0===t||t.dispose()}_getLayoutInfo(){const t=Math.max(1.3,this._editor.getOption(66)/this._editor.getOption(52));let i=this._editor.getOption(19);return(!i||i<5)&&(i=.9*this._editor.getOption(52)|0),{fontSize:i,codeLensHeight:i*t|0}}_updateLensStyle(){const{codeLensHeight:t,fontSize:i}=this._getLayoutInfo(),e=this._editor.getOption(18),s=this._editor.getOption(50),{style:n}=this._editor.getContainerDomNode();n.setProperty("--vscode-editorCodeLens-lineHeight",`${t}px`),n.setProperty("--vscode-editorCodeLens-fontSize",`${i}px`),n.setProperty("--vscode-editorCodeLens-fontFeatureSettings",s.fontFeatureSettings),e&&(n.setProperty("--vscode-editorCodeLens-fontFamily",e),n.setProperty("--vscode-editorCodeLens-fontFamilyDefault",Oi.fontFamily)),this._editor.changeViewZones((i=>{for(const e of this._lenses)e.updateHeight(t,i)}))}_localDispose(){var t,i,e;null===(t=this._getCodeLensModelPromise)||void 0===t||t.cancel(),this._getCodeLensModelPromise=void 0,null===(i=this._resolveCodeLensesPromise)||void 0===i||i.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),null===(e=this._currentCodeLensModel)||void 0===e||e.dispose()}_onModelChange(){this._localDispose();const t=this._editor.getModel();if(!t)return;if(!this._editor.getOption(17)||t.isTooLargeForTokenization())return;const i=this._codeLensCache.get(t);if(i&&this._renderCodeLensSymbols(i),!this._languageFeaturesService.codeLensProvider.has(t))return void(i&&uc((()=>{const e=this._codeLensCache.get(t);i===e&&(this._codeLensCache.delete(t),this._onModelChange())}),3e4,this._localToDispose));for(const i of this._languageFeaturesService.codeLensProvider.all(t))if("function"==typeof i.onDidChange){const t=i.onDidChange((()=>e.schedule()));this._localToDispose.add(t)}const e=new gc((()=>{var i;const s=Date.now();null===(i=this._getCodeLensModelPromise)||void 0===i||i.cancel(),this._getCodeLensModelPromise=oc((i=>qQ(this._languageFeaturesService.codeLensProvider,t,i))),this._getCodeLensModelPromise.then((i=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=i,this._codeLensCache.put(t,i);const n=this._provideCodeLensDebounce.update(t,Date.now()-s);e.delay=n,this._renderCodeLensSymbols(i),this._resolveCodeLensesInViewportSoon()}),Pi)}),this._provideCodeLensDebounce.get(t));this._localToDispose.add(e),this._localToDispose.add(Xi((()=>this._resolveCodeLensesScheduler.cancel()))),this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{var t;this._editor.changeDecorations((t=>{this._editor.changeViewZones((i=>{const e=[];let s=-1;this._lenses.forEach((t=>{t.isValid()&&s!==t.getLineNumber()?(t.update(i),s=t.getLineNumber()):e.push(t)}));const n=new YQ;e.forEach((t=>{t.dispose(n,i),this._lenses.splice(this._lenses.indexOf(t),1)})),n.commit(t)}))})),e.schedule(),this._resolveCodeLensesScheduler.cancel(),null===(t=this._resolveCodeLensesPromise)||void 0===t||t.cancel(),this._resolveCodeLensesPromise=void 0}))),this._localToDispose.add(this._editor.onDidFocusEditorWidget((()=>{e.schedule()}))),this._localToDispose.add(this._editor.onDidBlurEditorText((()=>{e.cancel()}))),this._localToDispose.add(this._editor.onDidScrollChange((t=>{t.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(this._editor.onDidLayoutChange((()=>{this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(Xi((()=>{if(this._editor.getModel()){const t=eU.capture(this._editor);this._editor.changeDecorations((t=>{this._editor.changeViewZones((i=>{this._disposeAllLenses(t,i)}))})),t.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)}))),this._localToDispose.add(this._editor.onMouseDown((t=>{if(9!==t.target.type)return;let i=t.target.element;if("SPAN"===(null==i?void 0:i.tagName)&&(i=i.parentElement),"A"===(null==i?void 0:i.tagName))for(const t of this._lenses){const e=t.getCommand(i);if(e){this._commandService.executeCommand(e.id,...e.arguments||[]).catch((t=>this._notificationService.error(t)));break}}}))),e.schedule()}_disposeAllLenses(t,i){const e=new YQ;for(const t of this._lenses)t.dispose(e,i);t&&e.commit(t),this._lenses.length=0}_renderCodeLensSymbols(t){if(!this._editor.hasModel())return;const i=this._editor.getModel().getLineCount(),e=[];let s;for(const n of t.lenses){const t=n.symbol.range.startLineNumber;t<1||t>i||(s&&s[s.length-1].symbol.range.startLineNumber===t?s.push(n):(s=[n],e.push(s)))}if(!e.length&&!this._lenses.length)return;const n=eU.capture(this._editor),o=this._getLayoutInfo();this._editor.changeDecorations((t=>{this._editor.changeViewZones((i=>{const s=new YQ;let n=0,r=0;for(;rthis._resolveCodeLensesInViewportSoon()))),n++,r++)}for(;nthis._resolveCodeLensesInViewportSoon()))),r++;s.commit(t)}))})),n.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var t;null===(t=this._resolveCodeLensesPromise)||void 0===t||t.cancel(),this._resolveCodeLensesPromise=void 0;const i=this._editor.getModel();if(!i)return;const e=[],s=[];if(this._lenses.forEach((t=>{const n=t.computeIfNecessary(i);n&&(e.push(n),s.push(t))})),0===e.length)return;const n=Date.now(),o=oc((t=>{const n=e.map(((e,n)=>{const o=new Array(e.length),r=e.map(((e,s)=>e.symbol.command||"function"!=typeof e.provider.resolveCodeLens?(o[s]=e.symbol,Promise.resolve(void 0)):Promise.resolve(e.provider.resolveCodeLens(i,e.symbol,t)).then((t=>{o[s]=t}),$i)));return Promise.all(r).then((()=>{t.isCancellationRequested||s[n].isDisposed()||s[n].updateCommands(o)}))}));return Promise.all(n)}));this._resolveCodeLensesPromise=o,this._resolveCodeLensesPromise.then((()=>{const t=this._resolveCodeLensesDebounce.update(i,Date.now()-n);this._resolveCodeLensesScheduler.delay=t,this._currentCodeLensModel&&this._codeLensCache.put(i,this._currentCodeLensModel),this._oldCodeLensModels.clear(),o===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}),(t=>{Pi(t),o===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}))}async getModel(){var t;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,(null===(t=this._currentCodeLensModel)||void 0===t?void 0:t.isDisposed)?void 0:this._currentCodeLensModel}};eJ.ID="css.editor.codeLens",eJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([iJ(1,Cg),iJ(2,mR),iJ(3,Dr),iJ(4,rT),iJ(5,KQ)],eJ),uu(eJ.ID,eJ,1),au(class extends nu{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:XC.hasCodeLensProvider,label:rt(0,"Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(t,i){if(!i.hasModel())return;const e=t.get(Ij),s=t.get(Dr),n=t.get(rT),o=i.getSelection().positionLineNumber,r=i.getContribution(eJ.ID);if(!r)return;const h=await r.getModel();if(!h)return;const c=[];for(const t of h.lenses)t.symbol.command&&t.symbol.range.startLineNumber===o&&c.push({label:t.symbol.command.title,command:t.symbol.command});if(0===c.length)return;const a=await e.pick(c,{canPickMany:!1,placeHolder:rt(0,"Select a command")});if(!a)return;let l=a.command;if(h.isDisposed){const t=await r.getModel(),i=null==t?void 0:t.lenses.find((t=>{var i;return t.symbol.range.startLineNumber===o&&(null===(i=t.symbol.command)||void 0===i?void 0:i.title)===l.title}));if(!i||!i.symbol.command)return;l=i.symbol.command}try{await s.executeCommand(l.id,...l.arguments||[])}catch(t){n.error(t)}}});var sJ=function(t,i){return function(e,s){i(e,s,t)}};class nJ{constructor(t,i){this._editorWorkerClient=new Rg(t,!1,"editorWorkerService",i)}async provideDocumentColors(t,i){return this._editorWorkerClient.computeDefaultDocumentColors(t.uri)}provideColorPresentations(t,i,e){const s=i.range,n=i.color,o=n.alpha,r=new ug(new cg(Math.round(255*n.red),Math.round(255*n.green),Math.round(255*n.blue),o)),h=o?ug.Format.CSS.formatRGB(r):ug.Format.CSS.formatRGBA(r),c=o?ug.Format.CSS.formatHSL(r):ug.Format.CSS.formatHSLA(r),a=o?ug.Format.CSS.formatHex(r):ug.Format.CSS.formatHexA(r),l=[];return l.push({label:h,textEdit:{range:s,text:h}}),l.push({label:c,textEdit:{range:s,text:c}}),l.push({label:a,textEdit:{range:s,text:a}}),l}}let oJ=class extends ie{constructor(t,i,e){super(),this._register(e.colorProvider.register("*",new nJ(t,i)))}};async function rJ(t,i,e,s=!0){return uJ(new cJ,t,i,e,s)}function hJ(t,i,e,s){return Promise.resolve(e.provideColorPresentations(t,i,s))}oJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([sJ(0,gr),sJ(1,tf),sJ(2,Cg)],oJ),ZH(oJ);class cJ{constructor(){}async compute(t,i,e,s){const n=await t.provideDocumentColors(i,e);if(Array.isArray(n))for(const i of n)s.push({colorInfo:i,provider:t});return Array.isArray(n)}}class aJ{constructor(){}async compute(t,i,e,s){const n=await t.provideDocumentColors(i,e);if(Array.isArray(n))for(const t of n)s.push({range:t.range,color:[t.color.red,t.color.green,t.color.blue,t.color.alpha]});return Array.isArray(n)}}class lJ{constructor(t){this.colorInfo=t}async compute(t,i,e,s){const n=await t.provideColorPresentations(i,this.colorInfo,xe.None);return Array.isArray(n)&&s.push(...n),Array.isArray(n)}}async function uJ(t,i,e,s,n){let o,r=!1;const h=[],c=i.ordered(e);for(let i=c.length-1;i>=0;i--){const n=c[i];if(n instanceof nJ)o=n;else try{await t.compute(n,e,s,h)&&(r=!0)}catch(t){$i(t)}}return r?h:o&&n?(await t.compute(o,e,s,h),h):[]}function dJ(t,i){const{colorProvider:e}=t.get(Cg),s=t.get(gr).getModel(i);if(!s)throw Vi();return{model:s,colorProviderRegistry:e,isDefaultColorDecoratorsEnabled:t.get(gd).getValue("editor.defaultColorDecorators",{resource:i})}}Er.registerCommand("_executeDocumentColorProvider",(function(t,...i){const[e]=i;if(!(e instanceof ws))throw Vi();const{model:s,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:o}=dJ(t,e);return uJ(new aJ,n,s,xe.None,o)})),Er.registerCommand("_executeColorPresentationProvider",(function(t,...i){const[e,s]=i,{uri:n,range:o}=s;if(!(n instanceof ws&&Array.isArray(e)&&4===e.length&&Ls.isIRange(o)))throw Vi();const{model:r,colorProviderRegistry:h,isDefaultColorDecoratorsEnabled:c}=dJ(t,n),[a,l,u,d]=e;return uJ(new lJ({range:o,color:{red:a,green:l,blue:u,alpha:d}}),h,r,xe.None,c)}));var fJ,pJ=function(t,i){return function(e,s){i(e,s,t)}};const gJ=Object.create({});let mJ=fJ=class extends ie{constructor(t,i,e,s){super(),this._editor=t,this._configurationService=i,this._languageFeaturesService=e,this._localToDispose=this._register(new te),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new My(this._editor),this._decoratorLimitReporter=new wJ,this._colorDecorationClassRefs=this._register(new te),this._debounceInformation=s.for(e.colorProvider,"Document Colors",{min:fJ.RECOMPUTE_TIME}),this._register(t.onDidChangeModel((()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()}))),this._register(t.onDidChangeModelLanguage((()=>this.updateColors()))),this._register(e.colorProvider.onDidChange((()=>this.updateColors()))),this._register(t.onDidChangeConfiguration((t=>{const i=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(145);const e=i!==this._isColorDecoratorsEnabled||t.hasChanged(21),s=t.hasChanged(145);(e||s)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())}))),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(145),this.updateColors()}isEnabled(){const t=this._editor.getModel();if(!t)return!1;const i=t.getLanguageId(),e=this._configurationService.getValue(i);if(e&&"object"==typeof e){const t=e.colorDecorators;if(t&&void 0!==t.enable&&!t.enable)return t.enable}return this._editor.getOption(20)}static get(t){return t.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const t=this._editor.getModel();t&&this._languageFeaturesService.colorProvider.has(t)&&(this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{this._timeoutTimer||(this._timeoutTimer=new fc,this._timeoutTimer.cancelAndSet((()=>{this._timeoutTimer=null,this.beginCompute()}),this._debounceInformation.get(t)))}))),this.beginCompute())}async beginCompute(){this._computePromise=oc((async t=>{const i=this._editor.getModel();if(!i)return[];const e=new he(!1),s=await rJ(this._languageFeaturesService.colorProvider,i,t,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(i,e.elapsed()),s}));try{const t=await this._computePromise;this.updateDecorations(t),this.updateColorDecorators(t),this._computePromise=null}catch(t){Pi(t)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(t){const i=t.map((t=>({range:{startLineNumber:t.colorInfo.range.startLineNumber,startColumn:t.colorInfo.range.startColumn,endLineNumber:t.colorInfo.range.endLineNumber,endColumn:t.colorInfo.range.endColumn},options:ML.EMPTY})));this._editor.changeDecorations((e=>{this._decorationsIds=e.deltaDecorations(this._decorationsIds,i),this._colorDatas=new Map,this._decorationsIds.forEach(((i,e)=>this._colorDatas.set(i,t[e])))}))}updateColorDecorators(t){this._colorDecorationClassRefs.clear();const i=[],e=this._editor.getOption(21);for(let s=0;sthis._colorDatas.has(t.id)));return 0===e.length?null:this._colorDatas.get(e[0].id)}isColorDecoration(t){return this._colorDecoratorIds.has(t)}};mJ.ID="editor.contrib.colorDetector",mJ.RECOMPUTE_TIME=1e3,mJ=fJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([pJ(1,gd),pJ(2,Cg),pJ(3,mR)],mJ);class wJ{constructor(){this._onDidChange=new fe,this._computed=0,this._limited=!1}update(t,i){t===this._computed&&i===this._limited||(this._computed=t,this._limited=i,this._onDidChange.fire())}}uu(mJ.ID,mJ,1);class vJ{get color(){return this._color}set color(t){this._color.equals(t)||(this._color=t,this._onDidChangeColor.fire(t))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(t){this._colorPresentations=t,this.presentationIndex>t.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(t,i,e){this.presentationIndex=e,this._onColorFlushed=new fe,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new fe,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new fe,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=t,this._color=t,this._colorPresentations=i}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(t,i){let e=-1;for(let t=0;t{this.backgroundColor=t.getColor(_v)||ug.white}))),this._register(Ua(this._pickedColorNode,Fl.CLICK,(()=>this.model.selectNextColorPresentation()))),this._register(Ua(this._originalColorNode,Fl.CLICK,(()=>{this.model.color=this.model.originalColor,this.model.flushColor()}))),this._register(i.onDidChangeColor(this.onDidChangeColor,this)),this._register(i.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=ug.Format.CSS.format(i.color)||"",this._pickedColorNode.classList.toggle("light",i.color.rgba.a<.5?this.backgroundColor.isLighter():i.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new kJ(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(t){this._pickedColorNode.style.backgroundColor=ug.Format.CSS.format(t)||"",this._pickedColorNode.classList.toggle("light",t.rgba.a<.5?this.backgroundColor.isLighter():t.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}class kJ extends ie{constructor(t){super(),this._onClicked=this._register(new fe),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),Il(t,this._button);const i=document.createElement("div");i.classList.add("close-button-inner-div"),Il(this._button,i),Il(i,bJ(".button"+Sr.asCSSSelector(Vz("color-picker-close",Is.close,rt(0,"Icon to close the color picker"))))).classList.add("close-icon"),this._button.onclick=()=>{this._onClicked.fire()}}}class xJ extends ie{constructor(t,i,e,s=!1){super(),this.model=i,this.pixelRatio=e,this._insertButton=null,this._domNode=bJ(".colorpicker-body"),Il(t,this._domNode),this._saturationBox=new CJ(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 DJ(this._domNode,this.model,s),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new EJ(this._domNode,this.model,s),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),s&&(this._insertButton=this._register(new AJ(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:t,v:i}){const e=this.model.color.hsva;this.model.color=new ug(new lg(e.h,t,i,e.a))}onDidOpacityChange(t){const i=this.model.color.hsva;this.model.color=new ug(new lg(i.h,i.s,i.v,t))}onDidHueChange(t){const i=this.model.color.hsva,e=360*(1-t);this.model.color=new ug(new lg(360===e?0:e,i.s,i.v,i.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 CJ extends ie{constructor(t,i,e){super(),this.model=i,this.pixelRatio=e,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new fe,this.onColorFlushed=this._onColorFlushed.event,this._domNode=bJ(".saturation-wrap"),Il(t,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",Il(this._domNode,this._canvas),this.selection=bJ(".saturation-selection"),Il(this._domNode,this.selection),this.layout(),this._register(Ua(this._domNode,Fl.POINTER_DOWN,(t=>this.onPointerDown(t)))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(t){if(!(t.target&&t.target instanceof Element))return;this.monitor=this._register(new cw);const i=ol(this._domNode);t.target!==this.selection&&this.onDidChangePosition(t.offsetX,t.offsetY),this.monitor.startMonitoring(t.target,t.pointerId,t.buttons,(t=>this.onDidChangePosition(t.pageX-i.left,t.pageY-i.top)),(()=>null));const e=Ua(t.target.ownerDocument,Fl.POINTER_UP,(()=>{this._onColorFlushed.fire(),e.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)}),!0)}onDidChangePosition(t,i){const e=Math.max(0,Math.min(1,t/this.width)),s=Math.max(0,Math.min(1,1-i/this.height));this.paintSelection(e,s),this._onDidChange.fire({s:e,v:s})}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 t=this.model.color.hsva;this.paintSelection(t.s,t.v)}paint(){const t=new ug(new lg(this.model.color.hsva.h,1,1,1)),i=this._canvas.getContext("2d"),e=i.createLinearGradient(0,0,this._canvas.width,0);e.addColorStop(0,"rgba(255, 255, 255, 1)"),e.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),e.addColorStop(1,"rgba(255, 255, 255, 0)");const s=i.createLinearGradient(0,0,0,this._canvas.height);s.addColorStop(0,"rgba(0, 0, 0, 0)"),s.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=ug.Format.CSS.format(t),i.fill(),i.fillStyle=e,i.fill(),i.fillStyle=s,i.fill()}paintSelection(t,i){this.selection.style.left=t*this.width+"px",this.selection.style.top=this.height-i*this.height+"px"}onDidChangeColor(t){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const i=t.hsva;this.paintSelection(i.s,i.v)}}class SJ extends ie{constructor(t,i,e=!1){super(),this.model=i,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new fe,this.onColorFlushed=this._onColorFlushed.event,e?(this.domNode=Il(t,bJ(".standalone-strip")),this.overlay=Il(this.domNode,bJ(".standalone-overlay"))):(this.domNode=Il(t,bJ(".strip")),this.overlay=Il(this.domNode,bJ(".overlay"))),this.slider=Il(this.domNode,bJ(".slider")),this.slider.style.top="0px",this._register(Ua(this.domNode,Fl.POINTER_DOWN,(t=>this.onPointerDown(t)))),this._register(i.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const t=this.getValue(this.model.color);this.updateSliderPosition(t)}onDidChangeColor(t){const i=this.getValue(t);this.updateSliderPosition(i)}onPointerDown(t){if(!(t.target&&t.target instanceof Element))return;const i=this._register(new cw),e=ol(this.domNode);this.domNode.classList.add("grabbing"),t.target!==this.slider&&this.onDidChangeTop(t.offsetY),i.startMonitoring(t.target,t.pointerId,t.buttons,(t=>this.onDidChangeTop(t.pageY-e.top)),(()=>null));const s=Ua(t.target.ownerDocument,Fl.POINTER_UP,(()=>{this._onColorFlushed.fire(),s.dispose(),i.stopMonitoring(!0),this.domNode.classList.remove("grabbing")}),!0)}onDidChangeTop(t){const i=Math.max(0,Math.min(1,1-t/this.height));this.updateSliderPosition(i),this._onDidChange.fire(i)}updateSliderPosition(t){this.slider.style.top=(1-t)*this.height+"px"}}class DJ extends SJ{constructor(t,i,e=!1){super(t,i,e),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(t){super.onDidChangeColor(t);const{r:i,g:e,b:s}=t.rgba,n=new ug(new cg(i,e,s,1)),o=new ug(new cg(i,e,s,0));this.overlay.style.background=`linear-gradient(to bottom, ${n} 0%, ${o} 100%)`}getValue(t){return t.hsva.a}}class EJ extends SJ{constructor(t,i,e=!1){super(t,i,e),this.domNode.classList.add("hue-strip")}getValue(t){return 1-t.hsva.h/360}}class AJ extends ie{constructor(t){super(),this._onClicked=this._register(new fe),this.onClicked=this._onClicked.event,this._button=Il(t,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._button.onclick=()=>{this._onClicked.fire()}}get button(){return this._button}}class MJ extends gk{constructor(t,i,e,s,n=!1){super(),this.model=i,this.pixelRatio=e,this._register(Vo.onDidChange((()=>this.layout())));const o=bJ(".colorpicker-widget");t.appendChild(o),this.header=this._register(new yJ(o,this.model,s,n)),this.body=this._register(new xJ(o,this.model,this.pixelRatio,n))}layout(){this.body.layout()}}var LJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},FJ=function(t,i){return function(e,s){i(e,s,t)}};class TJ{constructor(t,i,e,s){this.owner=t,this.range=i,this.model=e,this.provider=s,this.forceShowAtRange=!0}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}let RJ=class{constructor(t,i){this._editor=t,this._themeService=i,this.hoverOrdinal=2}computeSync(t,i){return[]}computeAsync(t,i,e){return xc.fromPromise(this._computeAsync(t,i,e))}async _computeAsync(t,i,e){if(!this._editor.hasModel())return[];const s=mJ.get(this._editor);if(!s)return[];for(const t of i){if(!s.isColorDecoration(t))continue;const i=s.getColorData(t.range.getStartPosition());if(i)return[await _J(this,this._editor.getModel(),i.colorInfo,i.provider)]}return[]}renderHoverParts(t,i){return NJ(this,this._editor,this._themeService,i,t)}};RJ=LJ([FJ(1,tx)],RJ);class OJ{constructor(t,i,e,s){this.owner=t,this.range=i,this.model=e,this.provider=s}}let IJ=class{constructor(t,i){this._editor=t,this._themeService=i,this._color=null}async createColorHover(t,i,e){if(!this._editor.hasModel())return null;if(!mJ.get(this._editor))return null;const s=await rJ(e,this._editor.getModel(),xe.None);let n=null,o=null;for(const i of s){const e=i.colorInfo;Ls.containsRange(e.range,t.range)&&(n=e,o=i.provider)}const r=null!=n?n:t,h=null!=o?o:i,c=!!n;return{colorHover:await _J(this,this._editor.getModel(),r,h),foundInEditor:c}}async updateEditorModel(t){if(!this._editor.hasModel())return;const i=t.model;let e=new Ls(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn);this._color&&(await PJ(this._editor.getModel(),i,this._color,e,t),e=BJ(this._editor,e,i))}renderHoverParts(t,i){return NJ(this,this._editor,this._themeService,i,t)}set color(t){this._color=t}get color(){return this._color}};async function _J(t,i,e,s){const n=i.getValueInRange(e.range),{red:o,green:r,blue:h,alpha:c}=e.color,a=new cg(Math.round(255*o),Math.round(255*r),Math.round(255*h),c),l=new ug(a),u=await hJ(i,e,s,xe.None),d=new vJ(l,[],0);return d.colorPresentations=u||[],d.guessColorPresentation(l,n),t instanceof RJ?new TJ(t,Ls.lift(e.range),d,s):new OJ(t,Ls.lift(e.range),d,s)}function NJ(t,i,e,s,n){if(0===s.length||!i.hasModel())return ie.None;if(n.setMinimumDimensions){const t=i.getOption(66)+8;n.setMinimumDimensions(new sl(302,t))}const o=new te,r=s[0],h=i.getModel(),c=r.model,a=o.add(new MJ(n.fragment,c,i.getOption(141),e,t instanceof IJ));n.setColorPicker(a);let l=!1,u=new Ls(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(t instanceof IJ){const i=s[0].model.color;t.color=i,PJ(h,c,i,u,r),o.add(c.onColorFlushed((i=>{t.color=i})))}else o.add(c.onColorFlushed((async t=>{await PJ(h,c,t,u,r),l=!0,u=BJ(i,u,c,n)})));return o.add(c.onDidChangeColor((t=>{PJ(h,c,t,u,r)}))),o.add(i.onDidChangeModelContent((()=>{l?l=!1:(n.hide(),i.focus())}))),o}function BJ(t,i,e,s){let n,o;if(e.presentation.textEdit){n=[e.presentation.textEdit],o=new Ls(e.presentation.textEdit.range.startLineNumber,e.presentation.textEdit.range.startColumn,e.presentation.textEdit.range.endLineNumber,e.presentation.textEdit.range.endColumn);const i=t.getModel()._setTrackedRange(null,o,3);t.pushUndoStop(),t.executeEdits("colorpicker",n),o=t.getModel()._getTrackedRange(i)||o}else n=[{range:i,text:e.presentation.label,forceMoveMarkers:!1}],o=i.setEndPosition(i.endLineNumber,i.startColumn+e.presentation.label.length),t.pushUndoStop(),t.executeEdits("colorpicker",n);return e.presentation.additionalTextEdits&&(n=[...e.presentation.additionalTextEdits],t.executeEdits("colorpicker",n),s&&s.hide()),t.pushUndoStop(),o}async function PJ(t,i,e,s,n){const o=await hJ(t,{range:s,color:{red:e.rgba.r/255,green:e.rgba.g/255,blue:e.rgba.b/255,alpha:e.rgba.a}},n.provider,xe.None);i.colorPresentations=o||[]}function $J(t,i){return!!t[i]}IJ=LJ([FJ(1,tx)],IJ);class WJ{constructor(t,i){this.target=t.target,this.isLeftClick=t.event.leftButton,this.isMiddleClick=t.event.middleButton,this.isRightClick=t.event.rightButton,this.hasTriggerModifier=$J(t.event,i.triggerModifier),this.hasSideBySideModifier=$J(t.event,i.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=t.event.detail<=1}}class jJ{constructor(t,i){this.keyCodeIsTriggerKey=t.keyCode===i.triggerKey,this.keyCodeIsSideBySideKey=t.keyCode===i.triggerSideBySideKey,this.hasTriggerModifier=$J(t,i.triggerModifier)}}class zJ{constructor(t,i,e,s){this.triggerKey=t,this.triggerModifier=i,this.triggerSideBySideKey=e,this.triggerSideBySideModifier=s}equals(t){return this.triggerKey===t.triggerKey&&this.triggerModifier===t.triggerModifier&&this.triggerSideBySideKey===t.triggerSideBySideKey&&this.triggerSideBySideModifier===t.triggerSideBySideModifier}}function HJ(t){return"altKey"===t?St?new zJ(57,"metaKey",6,"altKey"):new zJ(5,"ctrlKey",6,"altKey"):St?new zJ(6,"altKey",57,"metaKey"):new zJ(6,"altKey",5,"ctrlKey")}class VJ extends ie{constructor(t,i){var e;super(),this._onMouseMoveOrRelevantKeyDown=this._register(new fe),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new fe),this.onExecute=this._onExecute.event,this._onCancel=this._register(new fe),this.onCancel=this._onCancel.event,this._editor=t,this._extractLineNumberFromMouseEvent=null!==(e=null==i?void 0:i.extractLineNumberFromMouseEvent)&&void 0!==e?e:t=>t.target.position?t.target.position.lineNumber:0,this._opts=HJ(this._editor.getOption(77)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration((t=>{if(t.hasChanged(77)){const t=HJ(this._editor.getOption(77));if(this._opts.equals(t))return;this._opts=t,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}}))),this._register(this._editor.onMouseMove((t=>this._onEditorMouseMove(new WJ(t,this._opts))))),this._register(this._editor.onMouseDown((t=>this._onEditorMouseDown(new WJ(t,this._opts))))),this._register(this._editor.onMouseUp((t=>this._onEditorMouseUp(new WJ(t,this._opts))))),this._register(this._editor.onKeyDown((t=>this._onEditorKeyDown(new jJ(t,this._opts))))),this._register(this._editor.onKeyUp((t=>this._onEditorKeyUp(new jJ(t,this._opts))))),this._register(this._editor.onMouseDrag((()=>this._resetHandler()))),this._register(this._editor.onDidChangeCursorSelection((t=>this._onDidChangeCursorSelection(t)))),this._register(this._editor.onDidChangeModel((()=>this._resetHandler()))),this._register(this._editor.onDidChangeModelContent((()=>this._resetHandler()))),this._register(this._editor.onDidScrollChange((t=>{(t.scrollTopChanged||t.scrollLeftChanged)&&this._resetHandler()})))}_onDidChangeCursorSelection(t){t.selection&&t.selection.startColumn!==t.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(t){this._lastMouseMoveEvent=t,this._onMouseMoveOrRelevantKeyDown.fire([t,null])}_onEditorMouseDown(t){this._hasTriggerKeyOnMouseDown=t.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(t)}_onEditorMouseUp(t){const i=this._extractLineNumberFromMouseEvent(t);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===i&&this._onExecute.fire(t)}_onEditorKeyDown(t){this._lastMouseMoveEvent&&(t.keyCodeIsTriggerKey||t.keyCodeIsSideBySideKey&&t.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,t]):t.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(t){t.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}var UJ=function(t,i){return function(e,s){i(e,s,t)}};let qJ=class extends RT{constructor(t,i,e,s,n,o,r,h,c,a,l,u,d){super(t,{...s.getRawOptions(),overflowWidgetsDomNode:s.getOverflowWidgetsDomNode()},e,n,o,r,h,c,a,l,u,d),this._parentEditor=s,this._overwriteOptions=i,super.updateOptions(this._overwriteOptions),this._register(s.onDidChangeConfiguration((t=>this._onParentConfigurationChanged(t))))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(t){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(t){it(this._overwriteOptions,t,!0),super.updateOptions(this._overwriteOptions)}};qJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([UJ(4,dr),UJ(5,pr),UJ(6,Dr),UJ(7,lh),UJ(8,tx),UJ(9,rT),UJ(10,Qm),UJ(11,tf),UJ(12,Cg)],qJ);const KJ=new ug(new cg(0,122,204)),GJ={showArrow:!0,showFrame:!0,className:"",frameColor:KJ,arrowColor:KJ,keepEditorSelection:!1};class ZJ{constructor(t,i,e,s,n,o,r,h){this.id="",this.domNode=t,this.afterLineNumber=i,this.afterColumn=e,this.heightInLines=s,this.showInHiddenAreas=r,this.ordinal=h,this._onDomNodeTop=n,this._onComputedHeight=o}onDomNodeTop(t){this._onDomNodeTop(t)}onComputedHeight(t){this._onComputedHeight(t)}}class QJ{constructor(t,i){this._id=t,this._domNode=i}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class JJ{constructor(t){this._editor=t,this._ruleName=JJ._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),El(this._ruleName)}set color(t){this._color!==t&&(this._color=t,this._updateStyle())}set height(t){this._height!==t&&(this._height=t,this._updateStyle())}_updateStyle(){El(this._ruleName),Dl(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px; margin-left: -${this._height}px; `)}show(t){1===t.column&&(t={lineNumber:t.lineNumber,column:2}),this._decorations.set([{range:Ls.fromPositions(t),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}JJ._IdGenerator=new Y_(".arrow-decoration-");class YJ{constructor(t,i={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new te,this.container=null,this._isShowing=!1,this.editor=t,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=J(i),it(this.options,GJ,!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((t=>{const i=this._getWidth(t);this.domNode.style.width=i+"px",this.domNode.style.left=this._getLeft(t)+"px",this._onWidth(i)})))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones((t=>{this._viewZone&&t.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 JJ(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(t){t.frameColor&&(this.options.frameColor=t.frameColor),t.arrowColor&&(this.options.arrowColor=t.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const t=this.options.frameColor.toString();this.container.style.borderTopColor=t,this.container.style.borderBottomColor=t}if(this._arrow&&this.options.arrowColor){const t=this.options.arrowColor.toString();this._arrow.color=t}}_getWidth(t){return t.width-t.minimap.minimapWidth-t.verticalScrollbarWidth}_getLeft(t){return t.minimap.minimapWidth>0&&0===t.minimap.minimapLeft?t.minimap.minimapWidth:0}_onViewZoneTop(t){this.domNode.style.top=t+"px"}_onViewZoneHeight(t){var i;if(this.domNode.style.height=`${t}px`,this.container){const i=t-this._decoratingElementsHeight();this.container.style.height=`${i}px`;const e=this.editor.getLayoutInfo();this._doLayout(i,this._getWidth(e))}null===(i=this._resizeSash)||void 0===i||i.layout()}get position(){const t=this._positionMarkerId.getRange(0);if(t)return t.getStartPosition()}show(t,i){const e=Ls.isIRange(t)?Ls.lift(t):Ls.fromPositions(t);this._isShowing=!0,this._showImpl(e,i),this._isShowing=!1,this._positionMarkerId.set([{range:e,options:ML.EMPTY}])}hide(){var t;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),null===(t=this._arrow)||void 0===t||t.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const t=this.editor.getOption(66);let i=0;return this.options.showArrow&&(i+=2*Math.round(t/3)),this.options.showFrame&&(i+=2*Math.round(t/9)),i}_showImpl(t,i){const e=t.getStartPosition(),s=this.editor.getLayoutInfo(),n=this._getWidth(s);this.domNode.style.width=`${n}px`,this.domNode.style.left=this._getLeft(s)+"px";const o=document.createElement("div");o.style.overflow="hidden";const r=this.editor.getOption(66);if(!this.options.allowUnlimitedHeight){const t=Math.max(12,this.editor.getLayoutInfo().height/r*.8);i=Math.min(i,t)}let h=0,c=0;if(this._arrow&&this.options.showArrow&&(h=Math.round(r/3),this._arrow.height=h,this._arrow.show(e)),this.options.showFrame&&(c=Math.round(r/9)),this.editor.changeViewZones((t=>{this._viewZone&&t.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new ZJ(o,e.lineNumber,e.column,i,(t=>this._onViewZoneTop(t)),(t=>this._onViewZoneHeight(t)),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=t.addZone(this._viewZone),this._overlayWidget=new QJ("vs.editor.contrib.zoneWidget"+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)})),this.container&&this.options.showFrame){const t=this.options.frameWidth?this.options.frameWidth:c;this.container.style.borderTopWidth=t+"px",this.container.style.borderBottomWidth=t+"px"}const a=i*r-this._decoratingElementsHeight();this.container&&(this.container.style.top=h+"px",this.container.style.height=a+"px",this.container.style.overflow="hidden"),this._doLayout(a,n),this.options.keepEditorSelection||this.editor.setSelection(t);const l=this.editor.getModel();if(l){const i=l.validateRange(new Ls(t.startLineNumber,1,t.endLineNumber+1,1));this.revealRange(i,i.startLineNumber===l.getLineCount())}}revealRange(t,i){i?this.editor.revealLineNearTop(t.endLineNumber,0):this.editor.revealRange(t,0)}setCssClass(t,i){this.container&&(i&&this.container.classList.remove(i),this.container.classList.add(t))}_onWidth(t){}_doLayout(t,i){}_relayout(t){this._viewZone&&this._viewZone.heightInLines!==t&&this.editor.changeViewZones((i=>{this._viewZone&&(this._viewZone.heightInLines=t,i.layoutZone(this._viewZone.id))}))}_initSash(){if(this._resizeSash)return;let t;this._resizeSash=this._disposables.add(new UP(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0),this._disposables.add(this._resizeSash.onDidStart((i=>{this._viewZone&&(t={startY:i.startY,heightInLines:this._viewZone.heightInLines})}))),this._disposables.add(this._resizeSash.onDidEnd((()=>{t=void 0}))),this._disposables.add(this._resizeSash.onDidChange((i=>{if(t){const e=(i.currentY-t.startY)/this.editor.getOption(66),s=e<0?Math.ceil(e):Math.floor(e),n=t.heightInLines+s;n>5&&n<35&&this._relayout(n)}})))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(null===this.domNode.style.height?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const t=this.editor.getLayoutInfo();return t.width-t.minimap.minimapWidth}}var XJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},tY=function(t,i){return function(e,s){i(e,s,t)}};const iY=fr("IPeekViewService");var eY;Sd(iY,class{constructor(){this._widgets=new Map}addExclusiveWidget(t,i){const e=this._widgets.get(t);e&&(e.listener.dispose(),e.widget.dispose()),this._widgets.set(t,{widget:i,listener:i.onDidClose((()=>{const e=this._widgets.get(t);e&&e.widget===i&&(e.listener.dispose(),this._widgets.delete(t))}))})}},1),function(t){t.inPeekEditor=new ah("inReferenceSearchEditor",!0,rt(0,"Whether the current code editor is embedded inside peek")),t.notInPeekEditor=t.inPeekEditor.toNegated()}(eY||(eY={}));let sY=class{constructor(t,i){t instanceof qJ&&eY.inPeekEditor.bindTo(i)}dispose(){}};sY.ID="editor.contrib.referenceController",sY=XJ([tY(1,lh)],sY),uu(sY.ID,sY,0);const nY={headerBackgroundColor:ug.white,primaryHeadingColor:ug.fromHex("#333333"),secondaryHeadingColor:ug.fromHex("#6c6c6cb3")};let oY=class extends YJ{constructor(t,i,e){super(t,i),this.instantiationService=e,this._onDidClose=new fe,this.onDidClose=this._onDidClose.event,it(this.options,nY,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(t){const i=this.options;t.headerBackgroundColor&&(i.headerBackgroundColor=t.headerBackgroundColor),t.primaryHeadingColor&&(i.primaryHeadingColor=t.primaryHeadingColor),t.secondaryHeadingColor&&(i.secondaryHeadingColor=t.secondaryHeadingColor),super.style(t)}_applyStyles(){super._applyStyles();const t=this.options;this._headElement&&t.headerBackgroundColor&&(this._headElement.style.backgroundColor=t.headerBackgroundColor.toString()),this._primaryHeading&&t.primaryHeadingColor&&(this._primaryHeading.style.color=t.primaryHeadingColor.toString()),this._secondaryHeading&&t.secondaryHeadingColor&&(this._secondaryHeading.style.color=t.secondaryHeadingColor.toString()),this._bodyElement&&t.frameColor&&(this._bodyElement.style.borderColor=t.frameColor.toString())}_fillContainer(t){this.setCssClass("peekview-widget"),this._headElement=Wl(".head"),this._bodyElement=Wl(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),t.appendChild(this._headElement),t.appendChild(this._bodyElement)}_fillHead(t,i){this._titleElement=Wl(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),Ka(this._titleElement,"click",(t=>this._onTitleClick(t)))),Il(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=Wl("span.filename"),this._secondaryHeading=Wl("span.dirname"),this._metaHeading=Wl("span.meta"),Il(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const e=Wl(".peekview-actions");Il(this._headElement,e);const s=this._getActionBarOptions();this._actionbarWidget=new XB(e,s),this._disposables.add(this._actionbarWidget),i||this._actionbarWidget.push(new wr("peekview.close",rt(0,"Close"),Sr.asClassName(Is.close),!0,(()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(t){}_getActionBarOptions(){return{actionViewItemProvider:YB.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(t){}setTitle(t,i){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=t,this._primaryHeading.setAttribute("title",t),i?this._secondaryHeading.innerText=i:Ha(this._secondaryHeading))}setMetaTitle(t){this._metaHeading&&(t?(this._metaHeading.innerText=t,jl(this._metaHeading)):zl(this._metaHeading))}_doLayout(t,i){if(!this._isShowing&&t<0)return void this.dispose();const e=Math.ceil(1.2*this.editor.getOption(66)),s=Math.round(t-(e+2));this._doLayoutHead(e,i),this._doLayoutBody(s,i)}_doLayoutHead(t,i){this._headElement&&(this._headElement.style.height=`${t}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(t,i){this._bodyElement&&(this._bodyElement.style.height=`${t}px`)}};oY=XJ([tY(2,dr)],oY);const rY=fw("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:ug.black,hcLight:ug.white},rt(0,"Background color of the peek view title area.")),hY=fw("peekViewTitleLabel.foreground",{dark:ug.white,light:ug.black,hcDark:ug.white,hcLight:uv},rt(0,"Color of the peek view title.")),cY=fw("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},rt(0,"Color of the peek view title info.")),aY=fw("peekView.border",{dark:hv,light:hv,hcDark:vw,hcLight:vw},rt(0,"Color of the peek view borders and arrow.")),lY=fw("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:ug.black,hcLight:ug.white},rt(0,"Background color of the peek view result list."));fw("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:ug.white,hcLight:uv},rt(0,"Foreground color for line nodes in the peek view result list.")),fw("peekViewResult.fileForeground",{dark:ug.white,light:"#1E1E1E",hcDark:ug.white,hcLight:uv},rt(0,"Foreground color for file nodes in the peek view result list.")),fw("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},rt(0,"Background color of the selected entry in the peek view result list.")),fw("peekViewResult.selectionForeground",{dark:ug.white,light:"#6C6C6C",hcDark:ug.white,hcLight:uv},rt(0,"Foreground color of the selected entry in the peek view result list."));const uY=fw("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:ug.black,hcLight:ug.white},rt(0,"Background color of the peek view editor."));fw("peekViewEditorGutter.background",{dark:uY,light:uY,hcDark:uY,hcLight:uY},rt(0,"Background color of the gutter in the peek view editor.")),fw("peekViewEditorStickyScroll.background",{dark:uY,light:uY,hcDark:uY,hcLight:uY},rt(0,"Background color of sticky scroll in the peek view editor.")),fw("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},rt(0,"Match highlight color in the peek view result list.")),fw("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},rt(0,"Match highlight color in the peek view editor.")),fw("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:bw,hcLight:bw},rt(0,"Match highlight border in the peek view editor."));class dY{constructor(t,i,e,s){this.isProviderFirst=t,this.parent=i,this.link=e,this._rangeCallback=s,this.id=X_.nextId()}get uri(){return this.link.uri}get range(){var t,i;return null!==(i=null!==(t=this._range)&&void 0!==t?t:this.link.targetSelectionRange)&&void 0!==i?i:this.link.range}set range(t){this._range=t,this._rangeCallback(this)}get ariaMessage(){var t;const i=null===(t=this.parent.getPreview(this))||void 0===t?void 0:t.preview(this.range);return i?rt(0,"{0} in {1} on line {2} at column {3}",i.value,yA(this.uri),this.range.startLineNumber,this.range.startColumn):rt(0,"in {0} on line {1} at column {2}",yA(this.uri),this.range.startLineNumber,this.range.startColumn)}}class fY{constructor(t){this._modelReference=t}dispose(){this._modelReference.dispose()}preview(t,i=8){const e=this._modelReference.object.textEditorModel;if(!e)return;const{startLineNumber:s,startColumn:n,endLineNumber:o,endColumn:r}=t,h=e.getWordUntilPosition({lineNumber:s,column:n-i}),c=new Ls(s,h.startColumn,s,n),a=new Ls(o,r,o,1073741824),l=e.getValueInRange(c).replace(/^\s+/,""),u=e.getValueInRange(t);return{value:l+u+e.getValueInRange(a).replace(/\s+$/,""),highlight:{start:l.length,end:l.length+u.length}}}}class pY{constructor(t,i){this.parent=t,this.uri=i,this.children=[],this._previews=new Hp}dispose(){Ji(this._previews.values()),this._previews.clear()}getPreview(t){return this._previews.get(t.uri)}get ariaMessage(){const t=this.children.length;return 1===t?rt(0,"1 symbol in {0}, full path {1}",yA(this.uri),this.uri.fsPath):rt(0,"{0} symbols in {1}, full path {2}",t,yA(this.uri),this.uri.fsPath)}async resolve(t){if(0!==this._previews.size)return this;for(const i of this.children)if(!this._previews.has(i.uri))try{const e=await t.createModelReference(i.uri);this._previews.set(i.uri,new fY(e))}catch(t){Pi(t)}return this}}class gY{constructor(t,i){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new fe,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=t,this._title=i;const[e]=t;let s;t.sort(gY._compareReferences);for(const i of t)if(s&&wA.isEqual(s.uri,i.uri,!0)||(s=new pY(this,i.uri),this.groups.push(s)),0===s.children.length||0!==gY._compareReferences(i,s.children[s.children.length-1])){const t=new dY(e===i,s,i,(t=>this._onDidChangeReferenceRange.fire(t)));this.references.push(t),s.children.push(t)}}dispose(){Ji(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new gY(this._links,this._title)}get title(){return this._title}get isEmpty(){return 0===this.groups.length}get ariaMessage(){return this.isEmpty?rt(0,"No results found"):1===this.references.length?rt(0,"Found 1 symbol in {0}",this.references[0].uri.fsPath):1===this.groups.length?rt(0,"Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):rt(0,"Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(t,i){const{parent:e}=t;let s=e.children.indexOf(t);const n=e.children.length,o=e.parent.groups.length;return 1===o||i&&s+10?(s=i?(s+1)%n:(s+n-1)%n,e.children[s]):(s=e.parent.groups.indexOf(e),i?(s=(s+1)%o,e.parent.groups[s].children[0]):(s=(s+o-1)%o,e.parent.groups[s].children[e.parent.groups[s].children.length-1]))}nearestReference(t,i){const e=this.references.map(((e,s)=>({idx:s,prefixLen:po(e.uri.toString(),t.toString()),offsetDist:100*Math.abs(e.range.startLineNumber-i.lineNumber)+Math.abs(e.range.startColumn-i.column)}))).sort(((t,i)=>t.prefixLen>i.prefixLen?-1:t.prefixLeni.offsetDist?1:0))[0];if(e)return this.references[e.idx]}referenceAt(t,i){for(const e of this.references)if(e.uri.toString()===t.toString()&&Ls.containsPosition(e.range,i))return e}firstReference(){for(const t of this.references)if(t.isProviderFirst)return t;return this.references[0]}static _compareReferences(t,i){return wA.compare(t.uri,i.uri)||Ls.compareRangesUsingStarts(t.range,i.range)}}var mY,wY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},vY=function(t,i){return function(e,s){i(e,s,t)}};let bY=class{constructor(t){this._resolverService=t}hasChildren(t){return t instanceof gY||t instanceof pY}getChildren(t){if(t instanceof gY)return t.groups;if(t instanceof pY)return t.resolve(this._resolverService).then((t=>t.children));throw new Error("bad tree")}};bY=wY([vY(0,mr)],bY);class yY{getHeight(){return 23}getTemplateId(t){return t instanceof pY?SY.id:EY.id}}let kY=class{constructor(t){this._keybindingService=t}getKeyboardNavigationLabel(t){var i;if(t instanceof dY){const e=null===(i=t.parent.getPreview(t))||void 0===i?void 0:i.preview(t.range);if(e)return e.value}return yA(t.uri)}};kY=wY([vY(0,rC)],kY);class xY{getId(t){return t instanceof dY?t.id:t.uri}}let CY=class extends ie{constructor(t,i){super(),this._labelService=i;const e=document.createElement("div");e.classList.add("reference-file"),this.file=this._register(new Zj(e,{supportHighlights:!0})),this.badge=new Pj(Il(e,Wl(".count")),{},BB),t.appendChild(e)}set(t,i){const e=xA(t.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(t.uri),this._labelService.getUriLabel(e,{relative:!0}),{title:this._labelService.getUriLabel(t.uri),matches:i});const s=t.children.length;this.badge.setCount(s),this.badge.setTitleFormat(rt(0,s>1?"{0} references":"{0} reference",s))}};CY=wY([vY(1,WO)],CY);let SY=mY=class{constructor(t){this._instantiationService=t,this.templateId=mY.id}renderTemplate(t){return this._instantiationService.createInstance(CY,t)}renderElement(t,i,e){e.set(t.element,u_(t.filterData))}disposeTemplate(t){t.dispose()}};SY.id="FileReferencesRenderer",SY=mY=wY([vY(0,dr)],SY);class DY{constructor(t){this.label=new Kj(t)}set(t,i){var e;const s=null===(e=t.parent.getPreview(t))||void 0===e?void 0:e.preview(t.range);if(s&&s.value){const{value:t,highlight:e}=s;i&&!C_.isDefault(i)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(t,u_(i))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(t,[e]))}else this.label.set(`${yA(t.uri)}:${t.range.startLineNumber+1}:${t.range.startColumn+1}`)}}class EY{constructor(){this.templateId=EY.id}renderTemplate(t){return new DY(t)}renderElement(t,i,e){e.set(t.element,t.filterData)}disposeTemplate(){}}EY.id="OneReferenceRenderer";class AY{getWidgetAriaLabel(){return rt(0,"References")}getAriaLabel(t){return t.ariaMessage}}var MY=function(t,i){return function(e,s){i(e,s,t)}};class LY{constructor(t,i){this._editor=t,this._model=i,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new te,this._callOnModelChange=new te,this._callOnDispose.add(this._editor.onDidChangeModel((()=>this._onModelChanged()))),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const t=this._editor.getModel();if(t)for(const i of this._model.references)if(i.uri.toString()===t.uri.toString())return void this._addDecorations(i.parent)}_addDecorations(t){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations((()=>this._onDecorationChanged())));const i=[],e=[];for(let s=0,n=t.children.length;s{const n=s.deltaDecorations([],i);for(let i=0;i{t.equals(9)&&(this._keybindingService.dispatchEvent(t,t.target),t.stopPropagation())}),!0)),this._tree=this._instantiationService.createInstance(TY,"ReferencesWidget",this._treeContainer,new yY,[this._instantiationService.createInstance(SY),this._instantiationService.createInstance(EY)],this._instantiationService.createInstance(bY),i),this._splitView.addView({onDidChange:ce.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:t=>{this._preview.layout({height:this._dim.height,width:t})}},JP.Distribute),this._splitView.addView({onDidChange:ce.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:t=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${t}px`,this._tree.layout(this._dim.height,t)}},JP.Distribute),this._disposables.add(this._splitView.onDidSashChange((()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)}),void 0));const e=(t,i)=>{t instanceof dY&&("show"===i&&this._revealReference(t,!1),this._onDidSelectReference.fire({element:t,kind:i,source:"tree"}))};this._tree.onDidOpen((t=>{e(t.element,t.sideBySide?"side":t.editorOptions.pinned?"goto":"show")})),zl(this._treeContainer)}_onWidth(t){this._dim&&this._doLayoutBody(this._dim.height,t)}_doLayoutBody(t,i){super._doLayoutBody(t,i),this._dim=new sl(i,t),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(i),this._splitView.resizeView(0,i*this.layoutData.ratio)}setSelection(t){return this._revealReference(t,!0).then((()=>{this._model&&(this._tree.setSelection([t]),this._tree.setFocus([t]))}))}setModel(t){return this._disposeOnNewModel.clear(),this._model=t,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=rt(0,"No results"),jl(this._messageContainer),Promise.resolve(void 0)):(zl(this._messageContainer),this._decorationsManager=new LY(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange((t=>this._tree.rerender(t)))),this._disposeOnNewModel.add(this._preview.onMouseDown((t=>{const{event:i,target:e}=t;if(2!==i.detail)return;const s=this._getFocusedReference();s&&this._onDidSelectReference.fire({element:{uri:s.uri,range:e.range},kind:i.ctrlKey||i.metaKey||i.altKey?"side":"open",source:"editor"})}))),this.container.classList.add("results-loaded"),jl(this._treeContainer),jl(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(1===this._model.groups.length?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[t]=this._tree.getFocus();return t instanceof dY?t:t instanceof pY&&t.children.length>0?t.children[0]:void 0}async revealReference(t){await this._revealReference(t,!1),this._onDidSelectReference.fire({element:t,kind:"goto",source:"tree"})}async _revealReference(t,i){if(this._revealedReference===t)return;this._revealedReference=t,t.uri.scheme!==xa.inMemory?this.setTitle(bA(t.uri),this._uriLabel.getUriLabel(xA(t.uri))):this.setTitle(rt(0,"References"));const e=this._textModelResolverService.createModelReference(t.uri);this._tree.getInput()===t.parent||(i&&this._tree.reveal(t.parent),await this._tree.expand(t.parent)),this._tree.reveal(t);const s=await e;if(!this._model)return void s.dispose();Ji(this._previewModelReference);const n=s.object;if(n){const i=this._preview.getModel()===n.textEditorModel?0:1,e=Ls.lift(t.range).collapseToStart();this._previewModelReference=s,this._preview.setModel(n.textEditorModel),this._preview.setSelection(e),this._preview.revealRangeInCenter(e,i)}else this._preview.setModel(this._previewNotAvailableMessage),s.dispose()}};RY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([MY(3,tx),MY(4,mr),MY(5,dr),MY(6,iY),MY(7,WO),MY(8,cL),MY(9,rC),MY(10,kd),MY(11,tf)],RY);var OY,IY=function(t,i){return function(e,s){i(e,s,t)}};const _Y=new ah("referenceSearchVisible",!1,rt(0,"Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let NY=OY=class{static get(t){return t.getContribution(OY.ID)}constructor(t,i,e,s,n,o,r,h){this._defaultTreeKeyboardSupport=t,this._editor=i,this._editorService=s,this._notificationService=n,this._instantiationService=o,this._storageService=r,this._configurationService=h,this._disposables=new te,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=_Y.bindTo(e)}dispose(){var t,i;this._referenceSearchVisible.reset(),this._disposables.dispose(),null===(t=this._widget)||void 0===t||t.dispose(),null===(i=this._model)||void 0===i||i.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(t,i,e){let s;if(this._widget&&(s=this._widget.position),this.closeWidget(),s&&t.containsPosition(s))return;this._peekMode=e,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage((()=>{this.closeWidget()}))),this._disposables.add(this._editor.onDidChangeModel((()=>{this._ignoreModelChangeEvent||this.closeWidget()})));const n="peekViewLayout",o=FY.fromJSON(this._storageService.get(n,0,"{}"));this._widget=this._instantiationService.createInstance(RY,this._editor,this._defaultTreeKeyboardSupport,o),this._widget.setTitle(rt(0,"Loading...")),this._widget.show(t),this._disposables.add(this._widget.onDidClose((()=>{i.cancel(),this._widget&&(this._storageService.store(n,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()}))),this._disposables.add(this._widget.onDidSelectReference((t=>{const{element:i,kind:s}=t;if(i)switch(s){case"open":"editor"===t.source&&this._configurationService.getValue("editor.stablePeek")||this.openReference(i,!1,!1);break;case"side":this.openReference(i,!0,!1);break;case"goto":e?this._gotoReference(i,!0):this.openReference(i,!1,!0)}})));const r=++this._requestIdPool;i.then((i=>{var e;if(r===this._requestIdPool&&this._widget)return null===(e=this._model)||void 0===e||e.dispose(),this._model=i,this._widget.setModel(this._model).then((()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._widget.setMetaTitle(this._model.isEmpty?"":rt(0,"{0} ({1})",this._model.title,this._model.references.length));const i=this._editor.getModel().uri,e=new Ms(t.startLineNumber,t.startColumn),s=this._model.nearestReference(i,e);if(s)return this._widget.setSelection(s).then((()=>{this._widget&&"editor"===this._editor.getOption(86)&&this._widget.focusOnPreviewEditor()}))}}));i.dispose()}),(t=>{this._notificationService.error(t)}))}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(t){if(!this._editor.hasModel()||!this._model||!this._widget)return;const i=this._widget.position;if(!i)return;const e=this._model.nearestReference(this._editor.getModel().uri,i);if(!e)return;const s=this._model.nextOrPreviousReference(e,t),n=this._editor.hasTextFocus(),o=this._widget.isPreviewEditorFocused();await this._widget.setSelection(s),await this._gotoReference(s,!1),n?this._editor.focus():this._widget&&o&&this._widget.focusOnPreviewEditor()}async revealReference(t){this._editor.hasModel()&&this._model&&this._widget&&await this._widget.revealReference(t)}closeWidget(t=!0){var i,e;null===(i=this._widget)||void 0===i||i.dispose(),null===(e=this._model)||void 0===e||e.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,t&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(t,i){var e;null===(e=this._widget)||void 0===e||e.hide(),this._ignoreModelChangeEvent=!0;const s=Ls.lift(t.range).collapseToStart();return this._editorService.openCodeEditor({resource:t.uri,options:{selection:s,selectionSource:"code.jump",pinned:i}},this._editor).then((t=>{var i;if(this._ignoreModelChangeEvent=!1,t&&this._widget)if(this._editor===t)this._widget.show(s),this._widget.focusOnReferenceTree();else{const e=OY.get(t),n=this._model.clone();this.closeWidget(),t.focus(),null==e||e.toggleWidget(s,oc((()=>Promise.resolve(n))),null!==(i=this._peekMode)&&void 0!==i&&i)}else this.closeWidget()}),(t=>{this._ignoreModelChangeEvent=!1,Pi(t)}))}openReference(t,i,e){i||this.closeWidget();const{uri:s,range:n}=t;this._editorService.openCodeEditor({resource:s,options:{selection:n,selectionSource:"code.jump",pinned:e}},this._editor,i)}};function BY(t,i){const e=function(t){const i=t.get(pr).getFocusedCodeEditor();return i instanceof qJ?i.getParentEditor():i}(t);if(!e)return;const s=NY.get(e);s&&i(s)}NY.ID="editor.contrib.referencesController",NY=OY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([IY(2,lh),IY(3,pr),IY(4,rT),IY(5,dr),IY(6,MB),IY(7,gd)],NY),Mh.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:Be(2089,60),when:Hr.or(_Y,eY.inPeekEditor),handler(t){BY(t,(t=>{t.changeFocusBetweenPreviewAndReferences()}))}}),Mh.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:Hr.or(_Y,eY.inPeekEditor),handler(t){BY(t,(t=>{t.goToNextOrPreviousReference(!0)}))}}),Mh.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:Hr.or(_Y,eY.inPeekEditor),handler(t){BY(t,(t=>{t.goToNextOrPreviousReference(!1)}))}}),Er.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),Er.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),Er.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),Er.registerCommand("closeReferenceSearch",(t=>BY(t,(t=>t.closeWidget())))),Mh.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:Hr.and(eY.inPeekEditor,Hr.not("config.editor.stablePeek"))}),Mh.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:Hr.and(_Y,Hr.not("config.editor.stablePeek"))}),Mh.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:Hr.and(_Y,RW,PW.negate(),WW.negate()),handler(t){var i;const e=null===(i=t.get(MW).lastFocusedList)||void 0===i?void 0:i.getFocus();Array.isArray(e)&&e[0]instanceof dY&&BY(t,(t=>t.revealReference(e[0])))}}),Mh.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:Hr.and(_Y,RW,PW.negate(),WW.negate()),handler(t){var i;const e=null===(i=t.get(MW).lastFocusedList)||void 0===i?void 0:i.getFocus();Array.isArray(e)&&e[0]instanceof dY&&BY(t,(t=>t.openReference(e[0],!0,!0)))}}),Er.registerCommand("openReference",(t=>{var i;const e=null===(i=t.get(MW).lastFocusedList)||void 0===i?void 0:i.getFocus();Array.isArray(e)&&e[0]instanceof dY&&BY(t,(t=>t.openReference(e[0],!1,!0)))}));var PY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},$Y=function(t,i){return function(e,s){i(e,s,t)}};const WY=new ah("hasSymbols",!1,rt(0,"Whether there are symbol locations that can be navigated via keyboard-only.")),jY=fr("ISymbolNavigationService");let zY=class{constructor(t,i,e,s){this._editorService=i,this._notificationService=e,this._keybindingService=s,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=WY.bindTo(t)}reset(){var t,i;this._ctxHasSymbols.reset(),null===(t=this._currentState)||void 0===t||t.dispose(),null===(i=this._currentMessage)||void 0===i||i.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(t){const i=t.parent.parent;if(i.references.length<=1)return void this.reset();this._currentModel=i,this._currentIdx=i.references.indexOf(t),this._ctxHasSymbols.set(!0),this._showMessage();const e=new HY(this._editorService),s=e.onDidChange((()=>{if(this._ignoreEditorChange)return;const t=this._editorService.getActiveCodeEditor();if(!t)return;const e=t.getModel(),s=t.getPosition();if(!e||!s)return;let n=!1,o=!1;for(const t of i.references)if(vA(t.uri,e.uri))n=!0,o=o||Ls.containsPosition(t.range,s);else if(n)break;n&&o||this.reset()}));this._currentState=Yi(e,s)}revealNext(t){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const i=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:i.uri,options:{selection:Ls.collapseToStart(i.range),selectionRevealType:3}},t).finally((()=>{this._ignoreEditorChange=!1}))}_showMessage(){var t;null===(t=this._currentMessage)||void 0===t||t.dispose();const i=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),e=i?rt(0,"Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,i.getLabel()):rt(0,"Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(e)}};zY=PY([$Y(0,lh),$Y(1,pr),$Y(2,rT),$Y(3,rC)],zY),Sd(jY,zY,1),cu(new class extends su{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:WY,kbOpts:{weight:100,primary:70}})}runEditorCommand(t,i){return t.get(jY).revealNext(i)}}),Mh.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:WY,primary:9,handler(t){t.get(jY).reset()}});let HY=class{constructor(t){this._listener=new Map,this._disposables=new te,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._disposables.add(t.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(t.onCodeEditorAdd(this._onDidAddEditor,this)),t.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),Ji(this._listener.values())}_onDidAddEditor(t){this._listener.set(t,Yi(t.onDidChangeCursorPosition((()=>this._onDidChange.fire({editor:t}))),t.onDidChangeModelContent((()=>this._onDidChange.fire({editor:t})))))}_onDidRemoveEditor(t){var i;null===(i=this._listener.get(t))||void 0===i||i.dispose(),this._listener.delete(t)}};async function VY(t,i,e,s){const n=e.ordered(t).map((e=>Promise.resolve(s(e,t,i)).then(void 0,(t=>{$i(t)}))));return w((await Promise.all(n)).flat())}function UY(t,i,e,s){return VY(i,e,t,((t,i,e)=>t.provideDefinition(i,e,s)))}function qY(t,i,e,s){return VY(i,e,t,((t,i,e)=>t.provideDeclaration(i,e,s)))}function KY(t,i,e,s){return VY(i,e,t,((t,i,e)=>t.provideImplementation(i,e,s)))}function GY(t,i,e,s){return VY(i,e,t,((t,i,e)=>t.provideTypeDefinition(i,e,s)))}function ZY(t,i,e,s,n){return VY(i,e,t,(async(t,i,e)=>{const o=await t.provideReferences(i,e,{includeDeclaration:!0},n);if(!s||!o||2!==o.length)return o;const r=await t.provideReferences(i,e,{includeDeclaration:!1},n);return r&&1===r.length?r:o}))}async function QY(t){const i=await t(),e=new gY(i,""),s=e.references.map((t=>t.link));return e.dispose(),s}var JY,YY,XY,tX,iX,eX,sX,nX;HY=PY([$Y(0,pr)],HY),hu("_executeDefinitionProvider",((t,i,e)=>{const s=UY(t.get(Cg).definitionProvider,i,e,xe.None);return QY((()=>s))})),hu("_executeTypeDefinitionProvider",((t,i,e)=>{const s=GY(t.get(Cg).typeDefinitionProvider,i,e,xe.None);return QY((()=>s))})),hu("_executeDeclarationProvider",((t,i,e)=>{const s=qY(t.get(Cg).declarationProvider,i,e,xe.None);return QY((()=>s))})),hu("_executeReferenceProvider",((t,i,e)=>{const s=ZY(t.get(Cg).referenceProvider,i,e,!1,xe.None);return QY((()=>s))})),hu("_executeImplementationProvider",((t,i,e)=>{const s=KY(t.get(Cg).implementationProvider,i,e,xe.None);return QY((()=>s))})),Nh.appendMenuItem(Oh.EditorContext,{submenu:Oh.EditorContextPeek,title:rt(0,"Peek"),group:"navigation",order:100});class oX{static is(t){return!(!t||"object"!=typeof t)&&(t instanceof oX||!(!Ms.isIPosition(t.position)||!t.model))}constructor(t,i){this.model=t,this.position=i}}class rX extends ru{static all(){return rX._allSymbolNavigationCommands.values()}static _patchConfig(t){const i={...t,f1:!0};if(i.menu)for(const e of Vt.wrap(i.menu))e.id!==Oh.EditorContext&&e.id!==Oh.EditorContextPeek||(e.when=Hr.and(t.precondition,e.when));return i}constructor(t,i){super(rX._patchConfig(i)),this.configuration=t,rX._allSymbolNavigationCommands.set(i.id,this)}runEditorCommand(t,i,e,s){if(!i.hasModel())return Promise.resolve(void 0);const n=t.get(rT),o=t.get(pr),r=t.get(HO),h=t.get(jY),c=t.get(Cg),a=t.get(dr),l=i.getModel(),u=i.getPosition(),d=oX.is(e)?e:new oX(l,u),f=new SK(i,5),p=rc(this._getLocationModel(c,d.model,d.position,f.token),f.token).then((async t=>{var n;if(!t||f.token.isCancellationRequested)return;let r;if($m(t.ariaMessage),t.referenceAt(l.uri,u)){const t=this._getAlternativeCommand(i);!rX._activeAlternativeCommands.has(t)&&rX._allSymbolNavigationCommands.has(t)&&(r=rX._allSymbolNavigationCommands.get(t))}const c=t.references.length;if(0===c){if(!this.configuration.muteMessage){const t=l.getWordAtPosition(u);null===(n=mQ.get(i))||void 0===n||n.showMessage(this._getNoResultFoundMessage(t),u)}}else{if(1!==c||!r)return this._onResult(o,h,i,t,s);rX._activeAlternativeCommands.add(this.desc.id),a.invokeFunction((t=>r.runEditorCommand(t,i,e,s).finally((()=>{rX._activeAlternativeCommands.delete(this.desc.id)}))))}}),(t=>{n.error(t)})).finally((()=>{f.dispose()}));return r.showWhile(p,250),p}async _onResult(t,i,e,s,n){const o=this._getGoToPreference(e);if(e instanceof qJ||!(this.configuration.openInPeek||"peek"===o&&s.references.length>1)){const r=s.firstReference(),h=s.references.length>1&&"gotoAndPeek"===o,c=await this._openReference(e,t,r,this.configuration.openToSide,!h);h&&c?this._openInPeek(c,s,n):s.dispose(),"goto"===o&&i.put(r)}else this._openInPeek(e,s,n)}async _openReference(t,i,e,s,n){let o;var r;if((r=e)&&ws.isUri(r.uri)&&Ls.isIRange(r.range)&&(Ls.isIRange(r.originSelectionRange)||Ls.isIRange(r.targetSelectionRange))&&(o=e.targetSelectionRange),o||(o=e.range),!o)return;const h=await i.openCodeEditor({resource:e.uri,options:{selection:Ls.collapseToStart(o),selectionRevealType:3,selectionSource:"code.jump"}},t,s);if(h){if(n){const t=h.getModel(),i=h.createDecorationsCollection([{range:o,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout((()=>{h.getModel()===t&&i.clear()}),350)}return h}}_openInPeek(t,i,e){const s=NY.get(t);s&&t.hasModel()?s.toggleWidget(null!=e?e:t.getSelection(),oc((()=>Promise.resolve(i))),this.configuration.openInPeek):i.dispose()}}rX._allSymbolNavigationCommands=new Map,rX._activeAlternativeCommands=new Set;class hX extends rX{async _getLocationModel(t,i,e,s){return new gY(await UY(t.definitionProvider,i,e,s),rt(0,"Definitions"))}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No definition found for '{0}'",t.word):rt(0,"No definition found")}_getAlternativeCommand(t){return t.getOption(58).alternativeDefinitionCommand}_getGoToPreference(t){return t.getOption(58).multipleDefinitions}}Wh(((JY=class extends hX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:JY.id,title:{value:rt(0,"Go to Definition"),original:"Go to Definition",mnemonicTitle:rt(0,"Go to &&Definition")},precondition:Hr.and(XC.hasDefinitionProvider,XC.isInWalkThroughSnippet.toNegated()),keybinding:[{when:XC.editorTextFocus,primary:70,weight:100},{when:Hr.and(XC.editorTextFocus,kW),primary:2118,weight:100}],menu:[{id:Oh.EditorContext,group:"navigation",order:1.1},{id:Oh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Er.registerCommandAlias("editor.action.goToDeclaration",JY.id)}}).id="editor.action.revealDefinition",JY)),Wh(((YY=class extends hX{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:YY.id,title:{value:rt(0,"Open Definition to the Side"),original:"Open Definition to the Side"},precondition:Hr.and(XC.hasDefinitionProvider,XC.isInWalkThroughSnippet.toNegated()),keybinding:[{when:XC.editorTextFocus,primary:Be(2089,70),weight:100},{when:Hr.and(XC.editorTextFocus,kW),primary:Be(2089,2118),weight:100}]}),Er.registerCommandAlias("editor.action.openDeclarationToTheSide",YY.id)}}).id="editor.action.revealDefinitionAside",YY)),Wh(((XY=class extends hX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:XY.id,title:{value:rt(0,"Peek Definition"),original:"Peek Definition"},precondition:Hr.and(XC.hasDefinitionProvider,eY.notInPeekEditor,XC.isInWalkThroughSnippet.toNegated()),keybinding:{when:XC.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:Oh.EditorContextPeek,group:"peek",order:2}}),Er.registerCommandAlias("editor.action.previewDeclaration",XY.id)}}).id="editor.action.peekDefinition",XY));class cX extends rX{async _getLocationModel(t,i,e,s){return new gY(await qY(t.declarationProvider,i,e,s),rt(0,"Declarations"))}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No declaration found for '{0}'",t.word):rt(0,"No declaration found")}_getAlternativeCommand(t){return t.getOption(58).alternativeDeclarationCommand}_getGoToPreference(t){return t.getOption(58).multipleDeclarations}}Wh(((tX=class extends cX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:tX.id,title:{value:rt(0,"Go to Declaration"),original:"Go to Declaration",mnemonicTitle:rt(0,"Go to &&Declaration")},precondition:Hr.and(XC.hasDeclarationProvider,XC.isInWalkThroughSnippet.toNegated()),menu:[{id:Oh.EditorContext,group:"navigation",order:1.3},{id:Oh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No declaration found for '{0}'",t.word):rt(0,"No declaration found")}}).id="editor.action.revealDeclaration",tX)),Wh(class extends cX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:{value:rt(0,"Peek Declaration"),original:"Peek Declaration"},precondition:Hr.and(XC.hasDeclarationProvider,eY.notInPeekEditor,XC.isInWalkThroughSnippet.toNegated()),menu:{id:Oh.EditorContextPeek,group:"peek",order:3}})}});class aX extends rX{async _getLocationModel(t,i,e,s){return new gY(await GY(t.typeDefinitionProvider,i,e,s),rt(0,"Type Definitions"))}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No type definition found for '{0}'",t.word):rt(0,"No type definition found")}_getAlternativeCommand(t){return t.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(t){return t.getOption(58).multipleTypeDefinitions}}Wh(((iX=class extends aX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:iX.ID,title:{value:rt(0,"Go to Type Definition"),original:"Go to Type Definition",mnemonicTitle:rt(0,"Go to &&Type Definition")},precondition:Hr.and(XC.hasTypeDefinitionProvider,XC.isInWalkThroughSnippet.toNegated()),keybinding:{when:XC.editorTextFocus,primary:0,weight:100},menu:[{id:Oh.EditorContext,group:"navigation",order:1.4},{id:Oh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}}).ID="editor.action.goToTypeDefinition",iX)),Wh(((eX=class extends aX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:eX.ID,title:{value:rt(0,"Peek Type Definition"),original:"Peek Type Definition"},precondition:Hr.and(XC.hasTypeDefinitionProvider,eY.notInPeekEditor,XC.isInWalkThroughSnippet.toNegated()),menu:{id:Oh.EditorContextPeek,group:"peek",order:4}})}}).ID="editor.action.peekTypeDefinition",eX));class lX extends rX{async _getLocationModel(t,i,e,s){return new gY(await KY(t.implementationProvider,i,e,s),rt(0,"Implementations"))}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No implementation found for '{0}'",t.word):rt(0,"No implementation found")}_getAlternativeCommand(t){return t.getOption(58).alternativeImplementationCommand}_getGoToPreference(t){return t.getOption(58).multipleImplementations}}Wh(((sX=class extends lX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:sX.ID,title:{value:rt(0,"Go to Implementations"),original:"Go to Implementations",mnemonicTitle:rt(0,"Go to &&Implementations")},precondition:Hr.and(XC.hasImplementationProvider,XC.isInWalkThroughSnippet.toNegated()),keybinding:{when:XC.editorTextFocus,primary:2118,weight:100},menu:[{id:Oh.EditorContext,group:"navigation",order:1.45},{id:Oh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}}).ID="editor.action.goToImplementation",sX)),Wh(((nX=class extends lX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:nX.ID,title:{value:rt(0,"Peek Implementations"),original:"Peek Implementations"},precondition:Hr.and(XC.hasImplementationProvider,eY.notInPeekEditor,XC.isInWalkThroughSnippet.toNegated()),keybinding:{when:XC.editorTextFocus,primary:3142,weight:100},menu:{id:Oh.EditorContextPeek,group:"peek",order:5}})}}).ID="editor.action.peekImplementation",nX));class uX extends rX{_getNoResultFoundMessage(t){return t?rt(0,"No references found for '{0}'",t.word):rt(0,"No references found")}_getAlternativeCommand(t){return t.getOption(58).alternativeReferenceCommand}_getGoToPreference(t){return t.getOption(58).multipleReferences}}Wh(class extends uX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{value:rt(0,"Go to References"),original:"Go to References",mnemonicTitle:rt(0,"Go to &&References")},precondition:Hr.and(XC.hasReferenceProvider,eY.notInPeekEditor,XC.isInWalkThroughSnippet.toNegated()),keybinding:{when:XC.editorTextFocus,primary:1094,weight:100},menu:[{id:Oh.EditorContext,group:"navigation",order:1.45},{id:Oh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(t,i,e,s){return new gY(await ZY(t.referenceProvider,i,e,!0,s),rt(0,"References"))}}),Wh(class extends uX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:{value:rt(0,"Peek References"),original:"Peek References"},precondition:Hr.and(XC.hasReferenceProvider,eY.notInPeekEditor,XC.isInWalkThroughSnippet.toNegated()),menu:{id:Oh.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(t,i,e,s){return new gY(await ZY(t.referenceProvider,i,e,!1,s),rt(0,"References"))}});class dX extends rX{constructor(t,i,e){super(t,{id:"editor.action.goToLocation",title:{value:rt(0,"Go to Any Symbol"),original:"Go to Any Symbol"},precondition:Hr.and(eY.notInPeekEditor,XC.isInWalkThroughSnippet.toNegated())}),this._references=i,this._gotoMultipleBehaviour=e}async _getLocationModel(t,i,e,s){return new gY(this._references,rt(0,"Locations"))}_getNoResultFoundMessage(t){return t&&rt(0,"No results for '{0}'",t.word)||""}_getGoToPreference(t){var i;return null!==(i=this._gotoMultipleBehaviour)&&void 0!==i?i:t.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}Er.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:ws},{name:"position",description:"The position at which to start",constraint:Ms.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(t,i,e,s,n,o,r)=>{K(ws.isUri(i)),K(Ms.isIPosition(e)),K(Array.isArray(s)),K(void 0===n||"string"==typeof n),K(void 0===r||"boolean"==typeof r);const h=t.get(pr),c=await h.openCodeEditor({resource:i},h.getFocusedCodeEditor());if(EK(c))return c.setPosition(e),c.revealPositionInCenterIfOutsideViewport(e,0),c.invokeWithinContext((t=>{const i=new class extends dX{_getNoResultFoundMessage(t){return o||super._getNoResultFoundMessage(t)}}({muteMessage:!Boolean(o),openInPeek:Boolean(r),openToSide:!1},s,n);t.get(dr).invokeFunction(i.run.bind(i),c)}))}}),Er.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:ws},{name:"position",description:"The position at which to start",constraint:Ms.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(t,i,e,s,n)=>{t.get(Dr).executeCommand("editor.action.goToLocations",i,e,s,n,void 0,!0)}}),Er.registerCommand({id:"editor.action.findReferences",handler:(t,i,e)=>{K(ws.isUri(i)),K(Ms.isIPosition(e));const s=t.get(Cg),n=t.get(pr);return n.openCodeEditor({resource:i},n.getFocusedCodeEditor()).then((t=>{if(!EK(t)||!t.hasModel())return;const i=NY.get(t);if(!i)return;const n=oc((i=>ZY(s.referenceProvider,t.getModel(),Ms.lift(e),!1,i).then((t=>new gY(t,rt(0,"References")))))),o=new Ls(e.lineNumber,e.column,e.lineNumber,e.column);return Promise.resolve(i.toggleWidget(o,n,!1))}))}}),Er.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var fX,pX=function(t,i){return function(e,s){i(e,s,t)}};let gX=fX=class{constructor(t,i,e,s){this.textModelResolverService=i,this.languageService=e,this.languageFeaturesService=s,this.toUnhook=new te,this.toUnhookForKeyboard=new te,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=t,this.linkDecorations=this.editor.createDecorationsCollection();const n=new VJ(t);this.toUnhook.add(n),this.toUnhook.add(n.onMouseMoveOrRelevantKeyDown((([t,i])=>{this.startFindDefinitionFromMouse(t,null!=i?i:void 0)}))),this.toUnhook.add(n.onExecute((t=>{this.isEnabled(t)&&this.gotoDefinition(t.target.position,t.hasSideBySideModifier).catch((t=>{Pi(t)})).finally((()=>{this.removeLinkDecorations()}))}))),this.toUnhook.add(n.onCancel((()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null})))}static get(t){return t.getContribution(fX.ID)}async startFindDefinitionFromCursor(t){await this.startFindDefinition(t),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(t,i){if(!(9===t.target.type&&this.linkDecorations.length>0))return this.editor.hasModel()&&this.isEnabled(t,i)?void this.startFindDefinition(t.target.position):(this.currentWordAtPosition=null,void this.removeLinkDecorations())}async startFindDefinition(t){var i;this.toUnhookForKeyboard.clear();const e=t?null===(i=this.editor.getModel())||void 0===i?void 0:i.getWordAtPosition(t):null;if(!e)return this.currentWordAtPosition=null,void this.removeLinkDecorations();if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===e.startColumn&&this.currentWordAtPosition.endColumn===e.endColumn&&this.currentWordAtPosition.word===e.word)return;this.currentWordAtPosition=e;const s=new CK(this.editor,15);let n;this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=oc((i=>this.findDefinition(t,i)));try{n=await this.previousPromise}catch(t){return void Pi(t)}if(!n||!n.length||!s.validate(this.editor))return void this.removeLinkDecorations();const o=n[0].originSelectionRange?Ls.lift(n[0].originSelectionRange):new Ls(t.lineNumber,e.startColumn,t.lineNumber,e.endColumn);if(n.length>1){let t=o;for(const{originSelectionRange:i}of n)i&&(t=Ls.plusRange(t,i));this.addDecoration(t,(new B_).appendText(rt(0,"Click to show {0} definitions.",n.length)))}else{const t=n[0];if(!t.uri)return;this.textModelResolverService.createModelReference(t.uri).then((i=>{if(!i.object||!i.object.textEditorModel)return void i.dispose();const{object:{textEditorModel:e}}=i,{startLineNumber:s}=t.range;if(s<1||s>e.getLineCount())return void i.dispose();const n=this.getPreviewValue(e,s,t),r=this.languageService.guessLanguageIdByFilepathOrFirstLine(e.uri);this.addDecoration(o,n?(new B_).appendCodeblock(r||"",n):void 0),i.dispose()}))}}getPreviewValue(t,i,e){let s=e.range;return s.endLineNumber-s.startLineNumber>=fX.MAX_SOURCE_PREVIEW_LINES&&(s=this.getPreviewRangeBasedOnIndentation(t,i)),this.stripIndentationFromPreviewRange(t,i,s)}stripIndentationFromPreviewRange(t,i,e){let s=t.getLineFirstNonWhitespaceColumn(i);for(let n=i+1;n{const e=!i&&this.editor.getOption(87)&&!this.isInPeekEditor(t);return new hX({openToSide:i,openInPeek:e,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(t)}))}isInPeekEditor(t){const i=t.get(lh);return eY.inPeekEditor.getValue(i)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};gX.ID="editor.contrib.gotodefinitionatposition",gX.MAX_SOURCE_PREVIEW_LINES=8,gX=fX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([pX(1,mr),pX(2,kd),pX(3,Cg)],gX),uu(gX.ID,gX,2);const mX=Wl;class wX extends ie{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 Rk(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}class vX extends ie{static render(t,i,e){return new vX(t,i,e)}constructor(t,i,e){super(),this.actionContainer=Il(t,mX("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=Il(this.actionContainer,mX("a.action")),this.action.setAttribute("role","button"),i.iconClass&&Il(this.action,mX(`span.icon.${i.iconClass}`)),Il(this.action,mX("span")).textContent=e?`${i.label} (${e})`:i.label,this._register(Ua(this.actionContainer,Fl.CLICK,(t=>{t.stopPropagation(),t.preventDefault(),i.run(this.actionContainer)}))),this._register(Ua(this.actionContainer,Fl.KEY_DOWN,(t=>{const e=new Jh(t);(e.equals(3)||e.equals(10))&&(t.stopPropagation(),t.preventDefault(),i.run(this.actionContainer))}))),this.setEnabled(!0)}setEnabled(t){t?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}class bX{constructor(t,i,e){this.value=t,this.isComplete=i,this.hasLoadingMessage=e}}class yX extends ie{constructor(t,i){super(),this._editor=t,this._computer=i,this._onResult=this._register(new fe),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new gc((()=>this._triggerAsyncComputation()),0)),this._secondWaitScheduler=this._register(new gc((()=>this._triggerSyncComputation()),0)),this._loadingMessageScheduler=this._register(new gc((()=>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(t,i=!0){this._state=t,i&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=function(t){const i=new Se,e=t(i.token);return new Cc(i,(async t=>{const s=i.token.onCancellationRequested((()=>{s.dispose(),i.dispose(),t.reject(new Hi)}));try{for await(const s of e){if(i.token.isCancellationRequested)return;t.emitOne(s)}s.dispose(),i.dispose()}catch(e){s.dispose(),i.dispose(),t.reject(e)}}))}((t=>this._computer.computeAsync(t))),(async()=>{try{for await(const t of this._asyncIterable)t&&(this._result.push(t),this._fireResult());this._asyncIterableDone=!0,3!==this._state&&4!==this._state||this._setState(0)}catch(t){Pi(t)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){3===this._state&&this._setState(4)}_fireResult(){if(1===this._state||2===this._state)return;const t=0===this._state,i=4===this._state;this._onResult.fire(new bX(this._result.slice(0),t,i))}start(t){if(0===t)0===this._state&&(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()}}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 kX{constructor(t,i,e,s){this.priority=t,this.range=i,this.initialMousePosX=e,this.initialMousePosY=s,this.type=1}equals(t){return 1===t.type&&this.range.equalsRange(t.range)}canAdoptVisibleHover(t,i){return 1===t.type&&i.lineNumber===this.range.startLineNumber}}class xX{constructor(t,i,e,s,n,o){this.priority=t,this.owner=i,this.range=e,this.initialMousePosX=s,this.initialMousePosY=n,this.supportsMarkerHover=o,this.type=2}equals(t){return 2===t.type&&this.owner===t.owner}canAdoptVisibleHover(t,i){return 2===t.type&&this.owner===t.owner}}const CX=new class{constructor(){this._participants=[]}register(t){this._participants.push(t)}getAll(){return this._participants}};class SX{constructor(){let t;this._onDidWillResize=new fe,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new fe,this.onDidResize=this._onDidResize.event,this._sashListener=new te,this._size=new sl(0,0),this._minSize=new sl(0,0),this._maxSize=new sl(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new UP(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new UP(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new UP(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:BP.North}),this._southSash=new UP(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:BP.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let i=0,e=0;this._sashListener.add(ce.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)((()=>{void 0===t&&(this._onDidWillResize.fire(),t=this._size,i=0,e=0)}))),this._sashListener.add(ce.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)((()=>{void 0!==t&&(t=void 0,i=0,e=0,this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(this._eastSash.onDidChange((s=>{t&&(e=s.currentX-s.startX,this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))}))),this._sashListener.add(this._westSash.onDidChange((s=>{t&&(e=-(s.currentX-s.startX),this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))}))),this._sashListener.add(this._northSash.onDidChange((s=>{t&&(i=-(s.currentY-s.startY),this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))}))),this._sashListener.add(this._southSash.onDidChange((s=>{t&&(i=s.currentY-s.startY,this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))}))),this._sashListener.add(ce.any(this._eastSash.onDidReset,this._westSash.onDidReset)((()=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(ce.any(this._northSash.onDidReset,this._southSash.onDidReset)((()=>{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(t,i,e,s){this._northSash.state=t?3:0,this._eastSash.state=i?3:0,this._southSash.state=e?3:0,this._westSash.state=s?3:0}layout(t=this.size.height,i=this.size.width){const{height:e,width:s}=this._minSize,{height:n,width:o}=this._maxSize;t=Math.max(e,Math.min(n,t)),i=Math.max(s,Math.min(o,i));const r=new sl(i,t);sl.equals(r,this._size)||(this.domNode.style.height=t+"px",this.domNode.style.width=i+"px",this._size=r,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(t){this._maxSize=t}get maxSize(){return this._maxSize}set minSize(t){this._minSize=t}get minSize(){return this._minSize}set preferredSize(t){this._preferredSize=t}get preferredSize(){return this._preferredSize}}class DX extends ie{constructor(t,i=new sl(10,10)){super(),this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new SX),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=sl.lift(i),this._resizableNode.layout(i.height,i.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize((t=>{this._resize(new sl(t.dimension.width,t.dimension.height)),t.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 t;return(null===(t=this._contentPosition)||void 0===t?void 0:t.position)?Ms.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(t){const i=this._editor.getDomNode(),e=this._editor.getScrolledVisiblePosition(t);if(i&&e)return ol(i).top+e.top-30}_availableVerticalSpaceBelow(t){const i=this._editor.getDomNode(),e=this._editor.getScrolledVisiblePosition(t);if(!i||!e)return;const s=ol(i);return il(i.ownerDocument.body).height-(s.top+e.top+e.height)-24}_findPositionPreference(t,i){var e,s;const n=Math.min(null!==(e=this._availableVerticalSpaceBelow(i))&&void 0!==e?e:1/0,t),o=Math.min(null!==(s=this._availableVerticalSpaceAbove(i))&&void 0!==s?s:1/0,t),r=Math.min(Math.max(o,n),t),h=Math.min(t,r);let c;return c=this._editor.getOption(60).above?h<=o?1:2:h<=n?2:1,1===c?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),c}_resize(t){this._resizableNode.layout(t.height,t.width)}}var EX,AX,MX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},LX=function(t,i){return function(e,s){i(e,s,t)}};const FX=Wl;let TX=EX=class extends ie{constructor(t,i,e){super(),this._editor=t,this._instantiationService=i,this._keybindingService=e,this._currentResult=null,this._widget=this._register(this._instantiationService.createInstance(_X,this._editor)),this._participants=[];for(const t of CX.getAll())this._participants.push(this._instantiationService.createInstance(t,this._editor));this._participants.sort(((t,i)=>t.hoverOrdinal-i.hoverOrdinal)),this._computer=new BX(this._editor,this._participants),this._hoverOperation=this._register(new yX(this._editor,this._computer)),this._register(this._hoverOperation.onResult((t=>{if(!this._computer.anchor)return;const i=t.hasLoadingMessage?this._addLoadingMessage(t.value):t.value;this._withResult(new RX(this._computer.anchor,i,t.isComplete))}))),this._register(Ka(this._widget.getDomNode(),"keydown",(t=>{t.equals(9)&&this.hide()}))),this._register(Qs.onDidChange((()=>{this._widget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)})))}get widget(){return this._widget}maybeShowAt(t){if(this._widget.isResizing)return!0;const i=[];for(const e of this._participants)if(e.suggestHoverAnchor){const s=e.suggestHoverAnchor(t);s&&i.push(s)}const e=t.target;if(6===e.type&&i.push(new kX(0,e.range,t.event.posx,t.event.posy)),7===e.type){const s=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;!e.detail.isAfterLines&&"number"==typeof e.detail.horizontalDistanceToText&&e.detail.horizontalDistanceToTexti.priority-t.priority)),this._startShowingOrUpdateHover(i[0],0,0,!1,t))}startShowingAtRange(t,i,e,s){this._startShowingOrUpdateHover(new kX(0,t,void 0,void 0),i,e,s,null)}_startShowingOrUpdateHover(t,i,e,s,n){return this._widget.position&&this._currentResult?this._editor.getOption(60).sticky&&n&&this._widget.isMouseGettingCloser(n.event.posx,n.event.posy)?(t&&this._startHoverOperationIfNecessary(t,i,e,s,!0),!0):t?!(!t||!this._currentResult.anchor.equals(t))||(t.canAdoptVisibleHover(this._currentResult.anchor,this._widget.position)?(this._setCurrentResult(this._currentResult.filter(t)),this._startHoverOperationIfNecessary(t,i,e,s,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(t,i,e,s,!1),!0)):(this._setCurrentResult(null),!1):!!t&&(this._startHoverOperationIfNecessary(t,i,e,s,!1),!0)}_startHoverOperationIfNecessary(t,i,e,s,n){this._computer.anchor&&this._computer.anchor.equals(t)||(this._hoverOperation.cancel(),this._computer.anchor=t,this._computer.shouldFocus=s,this._computer.source=e,this._computer.insistOnKeepingHoverVisible=n,this._hoverOperation.start(i))}_setCurrentResult(t){this._currentResult!==t&&(t&&0===t.messages.length&&(t=null),this._currentResult=t,this._currentResult?this._renderMessages(this._currentResult.anchor,this._currentResult.messages):this._widget.hide())}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}get isColorPickerVisible(){return this._widget.isColorPickerVisible}get isVisibleFromKeyboard(){return this._widget.isVisibleFromKeyboard}get isVisible(){return this._widget.isVisible}get isFocused(){return this._widget.isFocused}get isResizing(){return this._widget.isResizing}containsNode(t){return!!t&&this._widget.getDomNode().contains(t)}_addLoadingMessage(t){if(this._computer.anchor)for(const i of this._participants)if(i.createLoadingMessage){const e=i.createLoadingMessage(this._computer.anchor);if(e)return t.slice(0).concat([e])}return t}_withResult(t){if(this._widget.position&&this._currentResult&&this._currentResult.isComplete){if(!t.isComplete)return;if(this._computer.insistOnKeepingHoverVisible&&0===t.messages.length)return}this._setCurrentResult(t)}_renderMessages(t,i){const{showAtPosition:e,showAtSecondaryPosition:s,highlightRange:n}=EX.computeHoverRanges(this._editor,t.range,i),o=new te,r=o.add(new NX(this._keybindingService)),h=document.createDocumentFragment();let c=null;const a={fragment:h,statusBar:r,setColorPicker:t=>c=t,onContentsChanged:()=>this._widget.onContentsChanged(),setMinimumDimensions:t=>this._widget.setMinimumDimensions(t),hide:()=>this.hide()};for(const t of this._participants){const e=i.filter((i=>i.owner===t));e.length>0&&o.add(t.renderHoverParts(a,e))}const l=i.some((t=>t.isBeforeContent));if(r.hasContent&&h.appendChild(r.hoverElement),h.hasChildNodes()){if(n){const t=this._editor.createDecorationsCollection();t.set([{range:n,options:EX._DECORATION_OPTIONS}]),o.add(Xi((()=>{t.clear()})))}this._widget.showAt(h,new IX(c,e,s,this._editor.getOption(60).above,this._computer.shouldFocus,this._computer.source,l,t.initialMousePosX,t.initialMousePosY,o))}else o.dispose()}static computeHoverRanges(t,i,e){let s=1;if(t.hasModel()){const e=t._getViewModel(),n=e.coordinatesConverter,o=n.convertModelRangeToViewRange(i),r=new Ms(o.startLineNumber,e.getLineMinColumn(o.startLineNumber));s=n.convertViewPositionToModelPosition(r).column}const n=i.startLineNumber;let o=i.startColumn,r=e[0].range,h=null;for(const t of e)r=Ls.plusRange(r,t.range),t.range.startLineNumber===n&&t.range.endLineNumber===n&&(o=Math.max(Math.min(o,t.range.startColumn),s)),t.forceShowAtRange&&(h=t.range);return{showAtPosition:h?h.getStartPosition():new Ms(n,i.startColumn),showAtSecondaryPosition:h?h.getStartPosition():new Ms(n,o),highlightRange:r}}focus(){this._widget.focus()}scrollUp(){this._widget.scrollUp()}scrollDown(){this._widget.scrollDown()}scrollLeft(){this._widget.scrollLeft()}scrollRight(){this._widget.scrollRight()}pageUp(){this._widget.pageUp()}pageDown(){this._widget.pageDown()}goToTop(){this._widget.goToTop()}goToBottom(){this._widget.goToBottom()}};TX._DECORATION_OPTIONS=ML.register({description:"content-hover-highlight",className:"hoverHighlight"}),TX=EX=MX([LX(1,dr),LX(2,rC)],TX);class RX{constructor(t,i,e){this.anchor=t,this.messages=i,this.isComplete=e}filter(t){const i=this.messages.filter((i=>i.isValidForHoverAnchor(t)));return i.length===this.messages.length?this:new OX(this,this.anchor,i,this.isComplete)}}class OX extends RX{constructor(t,i,e,s){super(i,e,s),this.original=t}filter(t){return this.original.filter(t)}}class IX{constructor(t,i,e,s,n,o,r,h,c,a){this.colorPicker=t,this.showAtPosition=i,this.showAtSecondaryPosition=e,this.preferAbove=s,this.stoleFocus=n,this.source=o,this.isBeforeContent=r,this.initialMousePosX=h,this.initialMousePosY=c,this.disposables=a,this.closestMouseDistance=void 0}}let _X=AX=class extends DX{get isColorPickerVisible(){var t;return Boolean(null===(t=this._visibleData)||void 0===t?void 0:t.colorPicker)}get isVisibleFromKeyboard(){var t;return 1===(null===(t=this._visibleData)||void 0===t?void 0:t.source)}get isVisible(){var t;return null!==(t=this._hoverVisibleKey.get())&&void 0!==t&&t}get isFocused(){var t;return null!==(t=this._hoverFocusedKey.get())&&void 0!==t&&t}constructor(t,i,e,s,n){const o=t.getOption(66)+8,r=new sl(150,o);super(t,r),this._configurationService=e,this._accessibilityService=s,this._keybindingService=n,this._hover=this._register(new wX),this._minimumSize=r,this._hoverVisibleKey=XC.hoverVisible.bindTo(i),this._hoverFocusedKey=XC.hoverFocused.bindTo(i),Il(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((t=>{t.hasChanged(50)&&this._updateFont()})));const h=this._register(Ol(this._resizableNode.domNode));this._register(h.onDidFocus((()=>{this._hoverFocusedKey.set(!0)}))),this._register(h.onDidBlur((()=>{this._hoverFocusedKey.set(!1)}))),this._setHoverData(void 0),this._editor.addContentWidget(this)}dispose(){var t;super.dispose(),null===(t=this._visibleData)||void 0===t||t.disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return AX.ID}static _applyDimensions(t,i,e){const s="number"==typeof e?`${e}px`:e;t.style.width="number"==typeof i?`${i}px`:i,t.style.height=s}_setContentsDomNodeDimensions(t,i){return AX._applyDimensions(this._hover.contentsDomNode,t,i)}_setContainerDomNodeDimensions(t,i){return AX._applyDimensions(this._hover.containerDomNode,t,i)}_setHoverWidgetDimensions(t,i){this._setContentsDomNodeDimensions(t,i),this._setContainerDomNodeDimensions(t,i),this._layoutContentWidget()}static _applyMaxDimensions(t,i,e){const s="number"==typeof e?`${e}px`:e;t.style.maxWidth="number"==typeof i?`${i}px`:i,t.style.maxHeight=s}_setHoverWidgetMaxDimensions(t,i){AX._applyMaxDimensions(this._hover.contentsDomNode,t,i),AX._applyMaxDimensions(this._hover.containerDomNode,t,i),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth","number"==typeof t?`${t}px`:t),this._layoutContentWidget()}_hasHorizontalScrollbar(){const t=this._hover.scrollbar.getScrollDimensions();return t.scrollWidth>t.width}_adjustContentsBottomPadding(){const t=this._hover.contentsDomNode,i=`${this._hover.scrollbar.options.horizontalScrollbarSize}px`;t.style.paddingBottom!==i&&(t.style.paddingBottom=i)}_setAdjustedHoverWidgetDimensions(t){this._setHoverWidgetMaxDimensions("none","none");const i=t.width,e=t.height;this._setHoverWidgetDimensions(i,e),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._setContentsDomNodeDimensions(i,e-10))}_updateResizableNodeMaxDimensions(){var t,i;const e=null!==(t=this._findMaximumRenderingWidth())&&void 0!==t?t:1/0,s=null!==(i=this._findMaximumRenderingHeight())&&void 0!==i?i:1/0;this._resizableNode.maxSize=new sl(e,s),this._setHoverWidgetMaxDimensions(e,s)}_resize(t){var i,e;AX._lastDimensions=new sl(t.width,t.height),this._setAdjustedHoverWidgetDimensions(t),this._resizableNode.layout(t.height,t.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),null===(e=null===(i=this._visibleData)||void 0===i?void 0:i.colorPicker)||void 0===e||e.layout()}_findAvailableSpaceVertically(){var t;const i=null===(t=this._visibleData)||void 0===t?void 0:t.showAtPosition;if(i)return 1===this._positionPreference?this._availableVerticalSpaceAbove(i):this._availableVerticalSpaceBelow(i)}_findMaximumRenderingHeight(){const t=this._findAvailableSpaceVertically();if(!t)return;let i=6;return Array.from(this._hover.contentsDomNode.children).forEach((t=>{i+=t.clientHeight})),this._hasHorizontalScrollbar()&&(i+=10),Math.min(t,i)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const t=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"),t}_findMaximumRenderingWidth(){if(this._editor&&this._editor.hasModel())return this._isHoverTextOverflowing()||this._hover.containerDomNode.clientWidth<(void 0===this._contentWidth?0:this._contentWidth-2)?il(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth+2}isMouseGettingCloser(t,i){if(!this._visibleData)return!1;if(void 0===this._visibleData.initialMousePosX||void 0===this._visibleData.initialMousePosY)return this._visibleData.initialMousePosX=t,this._visibleData.initialMousePosY=i,!1;const e=ol(this.getDomNode());void 0===this._visibleData.closestMouseDistance&&(this._visibleData.closestMouseDistance=PX(this._visibleData.initialMousePosX,this._visibleData.initialMousePosY,e.left,e.top,e.width,e.height));const s=PX(t,i,e.left,e.top,e.width,e.height);return!(s>this._visibleData.closestMouseDistance+4||(this._visibleData.closestMouseDistance=Math.min(this._visibleData.closestMouseDistance,s),0))}_setHoverData(t){var i;null===(i=this._visibleData)||void 0===i||i.disposables.dispose(),this._visibleData=t,this._hoverVisibleKey.set(!!t),this._hover.containerDomNode.classList.toggle("hidden",!t)}_updateFont(){const{fontSize:t,lineHeight:i}=this._editor.getOption(50),e=this._hover.contentsDomNode;e.style.fontSize=`${t}px`,e.style.lineHeight=""+i/t,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((t=>this._editor.applyFontInfo(t)))}_updateContent(t){const i=this._hover.contentsDomNode;i.style.paddingBottom="",i.textContent="",i.appendChild(t)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const t=Math.max(this._editor.getLayoutInfo().height/4,250,AX._lastDimensions.height),i=Math.max(.66*this._editor.getLayoutInfo().width,500,AX._lastDimensions.width);this._setHoverWidgetMaxDimensions(i,t)}_render(t,i){this._setHoverData(i),this._updateFont(),this._updateContent(t),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){var t;return this._visibleData?{position:this._visibleData.showAtPosition,secondaryPosition:this._visibleData.showAtSecondaryPosition,positionAffinity:this._visibleData.isBeforeContent?3:void 0,preference:[null!==(t=this._positionPreference)&&void 0!==t?t:1]}:null}showAt(t,i){var e,s,n,o;if(!this._editor||!this._editor.hasModel())return;this._render(t,i);const r=al(this._hover.containerDomNode);this._positionPreference=null!==(e=this._findPositionPreference(r,i.showAtPosition))&&void 0!==e?e:1,this.onContentsChanged(),i.stoleFocus&&this._hover.containerDomNode.focus(),null===(s=i.colorPicker)||void 0===s||s.layout();const h=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&(c=!0===this._configurationService.getValue("accessibility.verbosity.hover")&&this._accessibilityService.isScreenReaderOptimized(),a=null!==(o=null===(n=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))||void 0===n?void 0:n.getAriaLabel())&&void 0!==o?o:"",c&&a?rt(0,"Inspect this in the accessible view with {0}.",a):c?rt(0,"Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):"");var c,a;h&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+h)}hide(){if(!this._visibleData)return;const t=this._visibleData.stoleFocus||this._hoverFocusedKey.get();this._setHoverData(void 0),this._resizableNode.maxSize=new sl(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),t&&this._editor.focus()}_removeConstraintsRenderNormally(){const t=this._editor.getLayoutInfo();this._resizableNode.layout(t.height,t.width),this._setHoverWidgetDimensions("auto","auto")}_adjustHoverHeightForScrollbar(t){var i;const e=this._hover.containerDomNode,s=this._hover.contentsDomNode,n=null!==(i=this._findMaximumRenderingHeight())&&void 0!==i?i:1/0;this._setContainerDomNodeDimensions(rl(e),Math.min(n,t)),this._setContentsDomNodeDimensions(rl(s),Math.min(n,t-10))}setMinimumDimensions(t){this._minimumSize=new sl(Math.max(this._minimumSize.width,t.width),Math.max(this._minimumSize.height,t.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const t=void 0===this._contentWidth?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new sl(t,this._minimumSize.height)}onContentsChanged(){var t;this._removeConstraintsRenderNormally();const i=this._hover.containerDomNode;let e=al(i),s=rl(i);if(this._resizableNode.layout(e,s),this._setHoverWidgetDimensions(s,e),e=al(i),s=rl(i),this._contentWidth=s,this._updateMinimumWidth(),this._resizableNode.layout(e,s),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._adjustHoverHeightForScrollbar(e)),null===(t=this._visibleData)||void 0===t?void 0:t.showAtPosition){const t=al(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(t,this._visibleData.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:t-i.lineHeight})}scrollDown(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:t+i.lineHeight})}scrollLeft(){const t=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:t-30})}scrollRight(){const t=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:t+30})}pageUp(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:t-i})}pageDown(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:t+i})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};_X.ID="editor.contrib.resizableContentHoverWidget",_X._lastDimensions=new sl(0,0),_X=AX=MX([LX(1,lh),LX(2,gd),LX(3,Qm),LX(4,rC)],_X);let NX=class extends ie{get hasContent(){return this._hasContent}constructor(t){super(),this._keybindingService=t,this._hasContent=!1,this.hoverElement=FX("div.hover-row.status-bar"),this.actionsElement=Il(this.hoverElement,FX("div.actions"))}addAction(t){const i=this._keybindingService.lookupKeybinding(t.commandId),e=i?i.getLabel():null;return this._hasContent=!0,this._register(vX.render(this.actionsElement,t,e))}append(t){const i=Il(this.actionsElement,t);return this._hasContent=!0,i}};NX=MX([LX(0,rC)],NX);class BX{get anchor(){return this._anchor}set anchor(t){this._anchor=t}get shouldFocus(){return this._shouldFocus}set shouldFocus(t){this._shouldFocus=t}get source(){return this._source}set source(t){this._source=t}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(t){this._insistOnKeepingHoverVisible=t}constructor(t,i){this._editor=t,this._participants=i,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(t,i){if(1!==i.type&&!i.supportsMarkerHover)return[];const e=t.getModel(),s=i.range.startLineNumber;if(s>e.getLineCount())return[];const n=e.getLineMaxColumn(s);return t.getLineDecorations(s).filter((t=>{if(t.options.isWholeLine)return!0;const e=t.range.startLineNumber===s?t.range.startColumn:1,o=t.range.endLineNumber===s?t.range.endColumn:n;if(t.options.showIfCollapsed){if(e>i.range.startColumn+1||i.range.endColumn-1>o)return!1}else if(e>i.range.startColumn||i.range.endColumn>o)return!1;return!0}))}computeAsync(t){const i=this._anchor;if(!this._editor.hasModel()||!i)return xc.EMPTY;const e=BX._getLineDecorations(this._editor,i);return xc.merge(this._participants.map((s=>s.computeAsync?s.computeAsync(i,e,t):xc.EMPTY)))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const t=BX._getLineDecorations(this._editor,this._anchor);let i=[];for(const e of this._participants)i=i.concat(e.computeSync(this._anchor,t));return w(i)}}function PX(t,i,e,s,n,o){const r=s+o/2,h=Math.max(Math.abs(t-(e+n/2))-n/2,0),c=Math.max(Math.abs(i-r)-o/2,0);return Math.sqrt(h*h+c*c)}const $X=Wl;class WX extends ie{constructor(t,i,e){super(),this._renderDisposeables=this._register(new te),this._editor=t,this._isVisible=!1,this._messages=[],this._hover=this._register(new wX),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new uQ({editor:this._editor},i,e)),this._computer=new jX(this._editor),this._hoverOperation=this._register(new yX(this._editor,this._computer)),this._register(this._hoverOperation.onResult((t=>{this._withResult(t.value)}))),this._register(this._editor.onDidChangeModelDecorations((()=>this._onModelDecorationsChanged()))),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._updateFont()}))),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return WX.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((t=>this._editor.applyFontInfo(t)))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}startShowingAt(t){this._computer.lineNumber!==t&&(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=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(t){this._messages=t,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(t,i){this._renderDisposeables.clear();const e=document.createDocumentFragment();for(const t of i){const i=$X("div.hover-row.markdown-hover"),s=Il(i,$X("div.hover-contents")),n=this._renderDisposeables.add(this._markdownRenderer.render(t.value));s.appendChild(n.element),e.appendChild(i)}this._updateContents(e),this._showAt(t)}_updateContents(t){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(t),this._updateFont()}_showAt(t){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const i=this._editor.getLayoutInfo(),e=this._editor.getTopForLineNumber(t),s=this._editor.getScrollTop(),n=this._editor.getOption(66),o=e-s-(this._hover.containerDomNode.clientHeight-n)/2;this._hover.containerDomNode.style.left=`${i.glyphMarginLeft+i.glyphMarginWidth}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(o),0)}px`}}WX.ID="editor.contrib.modesGlyphHoverWidget";class jX{get lineNumber(){return this._lineNumber}set lineNumber(t){this._lineNumber=t}constructor(t){this._editor=t,this._lineNumber=-1}computeSync(){const t=t=>({value:t}),i=this._editor.getLineDecorations(this._lineNumber),e=[];if(!i)return e;for(const s of i){if(!s.options.glyphMarginClassName)continue;const i=s.options.glyphMarginHoverMessage;i&&!P_(i)&&e.push(...M(i).map(t))}return e}}class zX{constructor(t,i,e){this.provider=t,this.hover=i,this.ordinal=e}}function HX(t,i,e,s){const n=t.ordered(i).map(((t,n)=>async function(t,i,e,s,n){try{const o=await Promise.resolve(t.provideHover(e,s,n));if(o&&function(t){return void 0!==t.range&&void 0!==t.contents&&t.contents&&t.contents.length>0}(o))return new zX(t,o,i)}catch(t){$i(t)}}(t,n,i,e,s)));return xc.fromPromises(n).coalesce()}hu("_executeHoverProvider",((t,i,e)=>function(t,i,e){return HX(t,i,e,xe.None).map((t=>t.hover)).toPromise()}(t.get(Cg).hoverProvider,i,e)));var VX=function(t,i){return function(e,s){i(e,s,t)}};const UX=Wl;class qX{constructor(t,i,e,s,n){this.owner=t,this.range=i,this.contents=e,this.isBeforeContent=s,this.ordinal=n}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}let KX=class{constructor(t,i,e,s,n){this._editor=t,this._languageService=i,this._openerService=e,this._configurationService=s,this._languageFeaturesService=n,this.hoverOrdinal=3}createLoadingMessage(t){return new qX(this,t.range,[(new B_).appendText(rt(0,"Loading..."))],!1,2e3)}computeSync(t,i){if(!this._editor.hasModel()||1!==t.type)return[];const e=this._editor.getModel(),s=t.range.startLineNumber,n=e.getLineMaxColumn(s),o=[];let r=1e3;const h=e.getLineLength(s),c=e.getLanguageIdAtPosition(t.range.startLineNumber,t.range.startColumn),a=this._editor.getOption(116),l=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:c});let u=!1;a>=0&&h>a&&t.range.startColumn>=a&&(u=!0,o.push(new qX(this,t.range,[{value:rt(0,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,r++))),!u&&"number"==typeof l&&h>=l&&o.push(new qX(this,t.range,[{value:rt(0,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,r++));let d=!1;for(const e of i){const i=e.range.startLineNumber===s?e.range.startColumn:1,h=e.range.endLineNumber===s?e.range.endColumn:n,c=e.options.hoverMessage;if(!c||P_(c))continue;e.options.beforeContentClassName&&(d=!0);const a=new Ls(t.range.startLineNumber,i,t.range.startLineNumber,h);o.push(new qX(this,a,M(c),d,r++))}return o}computeAsync(t,i,e){if(!this._editor.hasModel()||1!==t.type)return xc.EMPTY;const s=this._editor.getModel();if(!this._languageFeaturesService.hoverProvider.has(s))return xc.EMPTY;const n=new Ms(t.range.startLineNumber,t.range.startColumn);return HX(this._languageFeaturesService.hoverProvider,s,n,e).filter((t=>!P_(t.hover.contents))).map((i=>{const e=i.hover.range?Ls.lift(i.hover.range):t.range;return new qX(this,e,i.hover.contents,!1,i.ordinal)}))}renderHoverParts(t,i){return GX(t,i,this._editor,this._languageService,this._openerService)}};function GX(t,i,e,s,n){i.sort(((t,i)=>t.ordinal-i.ordinal));const o=new te;for(const r of i)for(const i of r.contents){if(P_(i))continue;const r=UX("div.hover-row.markdown-hover"),h=Il(r,UX("div.hover-contents")),c=o.add(new uQ({editor:e},s,n));o.add(c.onDidRenderAsync((()=>{h.className="hover-contents code-hover-contents",t.onContentsChanged()})));const a=o.add(c.render(i));h.appendChild(a.element),t.fragment.appendChild(r)}return o}KX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([VX(1,kd),VX(2,fP),VX(3,gd),VX(4,Cg)],KX);var ZX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},QX=function(t,i){return function(e,s){i(e,s,t)}};class JX{constructor(t,i,e){this.marker=t,this.index=i,this.total=e}}let YX=class{constructor(t,i,e){this._markerService=i,this._configService=e,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._dispoables=new te,this._markers=[],this._nextIdx=-1,ws.isUri(t)?this._resourceFilter=i=>i.toString()===t.toString():t&&(this._resourceFilter=t);const s=this._configService.getValue("problems.sortOrder"),n=(t,i)=>{let e=no(t.resource.toString(),i.resource.toString());return 0===e&&(e="position"===s?Ls.compareRangesUsingStarts(t,i)||yP.compare(t.severity,i.severity):yP.compare(t.severity,i.severity)||Ls.compareRangesUsingStarts(t,i)),e},o=()=>{this._markers=this._markerService.read({resource:ws.isUri(t)?t:void 0,severities:yP.Error|yP.Warning|yP.Info}),"function"==typeof t&&(this._markers=this._markers.filter((t=>this._resourceFilter(t.resource)))),this._markers.sort(n)};o(),this._dispoables.add(i.onMarkerChanged((t=>{this._resourceFilter&&!t.some((t=>this._resourceFilter(t)))||(o(),this._nextIdx=-1,this._onDidChange.fire())})))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(t){return!this._resourceFilter&&!t||!(!this._resourceFilter||!t)&&this._resourceFilter(t)}get selected(){const t=this._markers[this._nextIdx];return t&&new JX(t,this._nextIdx+1,this._markers.length)}_initIdx(t,i,e){let s=!1,n=this._markers.findIndex((i=>i.resource.toString()===t.uri.toString()));n<0&&(n=d(this._markers,{resource:t.uri},((t,i)=>no(t.resource.toString(),i.resource.toString()))),n<0&&(n=~n));for(let e=n;ei.resource.toString()===t.toString()));if(!(e<0))for(;e{t.preventDefault();const i=this._relatedDiagnostics.get(t.target);i&&e(i)}))),this._scrollable=new Fk(o,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),t.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll((t=>{o.style.left=`-${t.scrollLeft}px`,o.style.top=`-${t.scrollTop}px`}))),this._disposables.add(this._scrollable)}dispose(){Ji(this._disposables)}update(t){const{source:i,message:e,relatedInformation:s,code:n}=t;let o=((null==i?void 0:i.length)||0)+2;n&&(o+="string"==typeof n?n.length:n.value.length);const r=to(e);this._lines=r.length,this._longestLineLength=0;for(const t of r)this._longestLineLength=Math.max(t.length+o,this._longestLineLength);Ha(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(t)),this._editor.applyFontInfo(this._messageBlock);let h=this._messageBlock;for(const t of r)h=document.createElement("div"),h.innerText=t,""===t&&(h.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(h);if(i||n){const t=document.createElement("span");if(t.classList.add("details"),h.appendChild(t),i){const e=document.createElement("span");e.innerText=i,e.classList.add("source"),t.appendChild(e)}if(n)if("string"==typeof n){const i=document.createElement("span");i.innerText=`(${n})`,i.classList.add("code"),t.appendChild(i)}else this._codeLink=Wl("a.code-link"),this._codeLink.setAttribute("href",`${n.target.toString()}`),this._codeLink.onclick=t=>{this._openerService.open(n.target,{allowCommands:!0}),t.preventDefault(),t.stopPropagation()},Il(this._codeLink,Wl("span")).innerText=n.value,t.appendChild(this._codeLink)}if(Ha(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),y(s)){const t=this._relatedBlock.appendChild(document.createElement("div"));t.style.paddingTop=`${Math.floor(.66*this._editor.getOption(66))}px`,this._lines+=1;for(const i of s){const e=document.createElement("div"),s=document.createElement("a");s.classList.add("filename"),s.innerText=`${this._labelService.getUriBasenameLabel(i.resource)}(${i.startLineNumber}, ${i.startColumn}): `,s.title=this._labelService.getUriLabel(i.resource),this._relatedDiagnostics.set(s,i);const n=document.createElement("span");n.innerText=i.message,e.appendChild(s),e.appendChild(n),this._lines+=1,t.appendChild(e)}}const c=this._editor.getOption(50),a=Math.ceil(c.typicalFullwidthCharacterWidth*this._longestLineLength*.75);this._scrollable.setScrollDimensions({scrollWidth:a,scrollHeight:c.lineHeight*this._lines})}layout(t,i){this._scrollable.getDomNode().style.height=`${t}px`,this._scrollable.getDomNode().style.width=`${i}px`,this._scrollable.setScrollDimensions({width:i,height:t})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(t){let i="";switch(t.severity){case yP.Error:i=rt(0,"Error");break;case yP.Warning:i=rt(0,"Warning");break;case yP.Info:i=rt(0,"Info");break;case yP.Hint:i=rt(0,"Hint")}let e=rt(0,"{0} at {1}. ",i,t.startLineNumber+":"+t.startColumn);const s=this._editor.getModel();return s&&t.startLineNumber<=s.getLineCount()&&t.startLineNumber>=1&&(e=`${s.getLineContent(t.startLineNumber)}, ${e}`),e}}let o0=e0=class extends oY{constructor(t,i,e,s,n,o,r){super(t,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},n),this._themeService=i,this._openerService=e,this._menuService=s,this._contextKeyService=o,this._labelService=r,this._callOnDispose=new te,this._onDidSelectRelatedInformation=new fe,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=yP.Warning,this._backgroundColor=ug.white,this._applyTheme(i.getColorTheme()),this._callOnDispose.add(i.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(t){this._backgroundColor=t.getColor(g0);let i=a0,e=l0;this._severity===yP.Warning?(i=u0,e=d0):this._severity===yP.Info&&(i=f0,e=p0);const s=t.getColor(i),n=t.getColor(e);this.style({arrowColor:s,frameColor:s,headerBackgroundColor:n,primaryHeadingColor:t.getColor(hY),secondaryHeadingColor:t.getColor(cY)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(t){super._fillHead(t),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun((()=>this.editor.focus())));const i=[],e=this._menuService.createMenu(e0.TitleMenu,this._contextKeyService);qB(e,void 0,i),this._actionbarWidget.push(i,{label:!1,icon:!0,index:0}),e.dispose()}_fillTitleIcon(t){this._icon=Il(t,Wl(""))}_fillBody(t){this._parentContainer=t,t.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),t.appendChild(this._container),this._message=new n0(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(t,i,e){this._container.classList.remove("stale"),this._message.update(t),this._severity=t.severity,this._applyTheme(this._themeService.getColorTheme());const s=Ls.lift(t),n=this.editor.getPosition(),o=n&&s.containsPosition(n)?n:s.getStartPosition();super.show(o,this.computeRequiredHeight());const r=this.editor.getModel();if(r){const t=rt(0,e>1?"{0} of {1} problems":"{0} of {1} problem",i,e);this.setTitle(yA(r.uri),t)}this._icon.className=`codicon ${i0.className(yP.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(o,0),this.editor.focus()}updateMarker(t){this._container.classList.remove("stale"),this._message.update(t)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(t,i){super._doLayoutBody(t,i),this._heightInPixel=t,this._message.layout(t,i),this._container.style.height=`${t}px`}_onWidth(t){this._message.layout(this._heightInPixel,t)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};o0.TitleMenu=new Oh("gotoErrorTitleMenu"),o0=e0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([s0(1,tx),s0(2,fP),s0(3,Ih),s0(4,dr),s0(5,lh),s0(6,WO)],o0);const r0=dy(sv,nv),h0=dy(ov,rv),c0=dy(hv,cv),a0=fw("editorMarkerNavigationError.background",{dark:r0,light:r0,hcDark:vw,hcLight:vw},rt(0,"Editor marker navigation widget error color.")),l0=fw("editorMarkerNavigationError.headerBackground",{dark:uy(a0,.1),light:uy(a0,.1),hcDark:null,hcLight:null},rt(0,"Editor marker navigation widget error heading background.")),u0=fw("editorMarkerNavigationWarning.background",{dark:h0,light:h0,hcDark:vw,hcLight:vw},rt(0,"Editor marker navigation widget warning color.")),d0=fw("editorMarkerNavigationWarning.headerBackground",{dark:uy(u0,.1),light:uy(u0,.1),hcDark:"#0C141F",hcLight:uy(u0,.2)},rt(0,"Editor marker navigation widget warning heading background.")),f0=fw("editorMarkerNavigationInfo.background",{dark:c0,light:c0,hcDark:vw,hcLight:vw},rt(0,"Editor marker navigation widget info color.")),p0=fw("editorMarkerNavigationInfo.headerBackground",{dark:uy(f0,.1),light:uy(f0,.1),hcDark:null,hcLight:null},rt(0,"Editor marker navigation widget info heading background.")),g0=fw("editorMarkerNavigation.background",{dark:lv,light:lv,hcDark:lv,hcLight:lv},rt(0,"Editor marker navigation widget background."));var m0,w0=function(t,i){return function(e,s){i(e,s,t)}};let v0=m0=class{static get(t){return t.getContribution(m0.ID)}constructor(t,i,e,s,n){this._markerNavigationService=i,this._contextKeyService=e,this._editorService=s,this._instantiationService=n,this._sessionDispoables=new te,this._editor=t,this._widgetVisible=x0.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(t){if(this._model&&this._model.matches(t))return this._model;let i=!1;return this._model&&(i=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(t),i&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(o0,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((t=>{var i,e,s;(null===(i=this._model)||void 0===i?void 0:i.selected)&&Ls.containsPosition(null===(e=this._model)||void 0===e?void 0:e.selected.marker,t.position)||null===(s=this._model)||void 0===s||s.resetIndex()}))),this._sessionDispoables.add(this._model.onDidChange((()=>{if(!this._widget||!this._widget.position||!this._model)return;const t=this._model.find(this._editor.getModel().uri,this._widget.position);t?this._widget.updateMarker(t.marker):this._widget.showStale()}))),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation((t=>{this._editorService.openCodeEditor({resource:t.resource,options:{pinned:!0,revealIfOpened:!0,selection:Ls.lift(t).collapseToStart()}},this._editor),this.close(!1)}))),this._sessionDispoables.add(this._editor.onDidChangeModel((()=>this._cleanUp()))),this._model}close(t=!0){this._cleanUp(),t&&this._editor.focus()}showAtMarker(t){if(this._editor.hasModel()){const i=this._getOrCreateModel(this._editor.getModel().uri);i.resetIndex(),i.move(!0,this._editor.getModel(),new Ms(t.startLineNumber,t.startColumn)),i.selected&&this._widget.showAtMarker(i.selected.marker,i.selected.index,i.selected.total)}}async nagivate(t,i){var e,s;if(this._editor.hasModel()){const n=this._getOrCreateModel(i?void 0:this._editor.getModel().uri);if(n.move(t,this._editor.getModel(),this._editor.getPosition()),!n.selected)return;if(n.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const o=await this._editorService.openCodeEditor({resource:n.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:n.selected.marker}},this._editor);o&&(null===(e=m0.get(o))||void 0===e||e.close(),null===(s=m0.get(o))||void 0===s||s.nagivate(t,i))}else this._widget.showAtMarker(n.selected.marker,n.selected.index,n.selected.total)}}};v0.ID="editor.contrib.markerController",v0=m0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([w0(1,XX),w0(2,lh),w0(3,pr),w0(4,dr)],v0);class b0 extends nu{constructor(t,i,e){super(e),this._next=t,this._multiFile=i}async run(t,i){var e;i.hasModel()&&(null===(e=v0.get(i))||void 0===e||e.nagivate(this._next,this._multiFile))}}class y0 extends b0{constructor(){super(!0,!1,{id:y0.ID,label:y0.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:578,weight:100},menuOpts:{menuId:o0.TitleMenu,title:y0.LABEL,icon:Vz("marker-navigation-next",Is.arrowDown,rt(0,"Icon for goto next marker.")),group:"navigation",order:1}})}}y0.ID="editor.action.marker.next",y0.LABEL=rt(0,"Go to Next Problem (Error, Warning, Info)");class k0 extends b0{constructor(){super(!1,!1,{id:k0.ID,label:k0.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:1602,weight:100},menuOpts:{menuId:o0.TitleMenu,title:k0.LABEL,icon:Vz("marker-navigation-previous",Is.arrowUp,rt(0,"Icon for goto previous marker.")),group:"navigation",order:2}})}}k0.ID="editor.action.marker.prev",k0.LABEL=rt(0,"Go to Previous Problem (Error, Warning, Info)"),uu(v0.ID,v0,4),au(y0),au(k0),au(class extends b0{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:rt(0,"Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:66,weight:100},menuOpts:{menuId:Oh.MenubarGoMenu,title:rt(0,"Next &&Problem"),group:"6_problem_nav",order:1}})}}),au(class extends b0{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:rt(0,"Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:1090,weight:100},menuOpts:{menuId:Oh.MenubarGoMenu,title:rt(0,"Previous &&Problem"),group:"6_problem_nav",order:2}})}});const x0=new ah("markersNavigationVisible",!1);cu(new(su.bindToContribution(v0.get))({id:"closeMarkersNavigation",precondition:x0,handler:t=>t.close(),kbOpts:{weight:150,kbExpr:XC.focus,primary:9,secondary:[1033]}}));var C0=function(t,i){return function(e,s){i(e,s,t)}};const S0=Wl;class D0{constructor(t,i,e){this.owner=t,this.range=i,this.marker=e}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}const E0={type:1,filter:{include:BZ.QuickFix},triggerAction:PZ.QuickFixHover};let A0=class{constructor(t,i,e,s){this._editor=t,this._markerDecorationsService=i,this._openerService=e,this._languageFeaturesService=s,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(t,i){if(!this._editor.hasModel()||1!==t.type&&!t.supportsMarkerHover)return[];const e=this._editor.getModel(),s=t.range.startLineNumber,n=e.getLineMaxColumn(s),o=[];for(const r of i){const i=r.range.startLineNumber===s?r.range.startColumn:1,h=r.range.endLineNumber===s?r.range.endColumn:n,c=this._markerDecorationsService.getMarker(e.uri,r);if(!c)continue;const a=new Ls(t.range.startLineNumber,i,t.range.startLineNumber,h);o.push(new D0(this,a,c))}return o}renderHoverParts(t,i){if(!i.length)return ie.None;const e=new te;i.forEach((i=>t.fragment.appendChild(this.renderMarkerHover(i,e))));const s=1===i.length?i[0]:i.sort(((t,i)=>yP.compare(t.marker.severity,i.marker.severity)))[0];return this.renderMarkerStatusbar(t,s,e),e}renderMarkerHover(t,i){const e=S0("div.hover-row"),s=Il(e,S0("div.marker.hover-contents")),{source:n,message:o,code:r,relatedInformation:h}=t.marker;this._editor.applyFontInfo(s);const c=Il(s,S0("span"));if(c.style.whiteSpace="pre-wrap",c.innerText=o,n||r)if(r&&"string"!=typeof r){const t=S0("span");n&&(Il(t,S0("span")).innerText=n);const e=Il(t,S0("a.code-link"));e.setAttribute("href",r.target.toString()),i.add(Ua(e,"click",(t=>{this._openerService.open(r.target,{allowCommands:!0}),t.preventDefault(),t.stopPropagation()}))),Il(e,S0("span")).innerText=r.value;const o=Il(s,t);o.style.opacity="0.6",o.style.paddingLeft="6px"}else{const t=Il(s,S0("span"));t.style.opacity="0.6",t.style.paddingLeft="6px",t.innerText=n&&r?`${n}(${r})`:n||`(${r})`}if(y(h))for(const{message:t,resource:e,startLineNumber:n,startColumn:o}of h){const r=Il(s,S0("div"));r.style.marginTop="8px";const h=Il(r,S0("a"));h.innerText=`${yA(e)}(${n}, ${o}): `,h.style.cursor="pointer",i.add(Ua(h,"click",(t=>{t.stopPropagation(),t.preventDefault(),this._openerService&&this._openerService.open(e,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:n,startColumn:o}}}).catch(Pi)})));const c=Il(r,S0("span"));c.innerText=t,this._editor.applyFontInfo(c)}return e}renderMarkerStatusbar(t,i,e){if(i.marker.severity!==yP.Error&&i.marker.severity!==yP.Warning&&i.marker.severity!==yP.Info||t.statusBar.addAction({label:rt(0,"View Problem"),commandId:y0.ID,run:()=>{var e;t.hide(),null===(e=v0.get(this._editor))||void 0===e||e.showAtMarker(i.marker),this._editor.focus()}}),!this._editor.getOption(90)){const s=t.statusBar.append(S0("div"));this.recentMarkerCodeActionsInfo&&(kP.makeKey(this.recentMarkerCodeActionsInfo.marker)===kP.makeKey(i.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(s.textContent=rt(0,"No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const n=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?ie.None:e.add(uc((()=>s.textContent=rt(0,"Checking for quick fixes...")),200));s.textContent||(s.textContent=String.fromCharCode(160));const o=this.getCodeActions(i.marker);e.add(Xi((()=>o.cancel()))),o.then((o=>{if(n.dispose(),this.recentMarkerCodeActionsInfo={marker:i.marker,hasCodeActions:o.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions)return o.dispose(),void(s.textContent=rt(0,"No quick fixes available"));s.style.display="none";let r=!1;e.add(Xi((()=>{r||o.dispose()}))),t.statusBar.addAction({label:rt(0,"Quick Fix..."),commandId:HZ,run:i=>{r=!0;const e=jQ.get(this._editor),s=ol(i);t.hide(),null==e||e.showCodeActions(E0,o,{x:s.left,y:s.top,width:s.width,height:s.height})}})}),Pi)}}getCodeActions(t){return oc((i=>JZ(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new Ls(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn),E0,zO.None,i)))}};A0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([C0(1,zm),C0(2,fP),C0(3,Cg)],A0);const M0="editor.action.inlineSuggest.commit",L0="editor.action.inlineSuggest.showPrevious",F0="editor.action.inlineSuggest.showNext";var T0,R0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},O0=function(t,i){return function(e,s){i(e,s,t)}};let I0=class extends ie{constructor(t,i,e){super(),this.editor=t,this.model=i,this.instantiationService=e,this.alwaysShowToolbar=GV(this.editor.onDidChangeConfiguration,(()=>"always"===this.editor.getOption(62).showToolbar)),this.sessionPosition=void 0,this.position=NV(this,(t=>{var i,e,s;const n=null===(i=this.model.read(t))||void 0===i?void 0:i.ghostText.read(t);if(!this.alwaysShowToolbar.read(t)||!n||0===n.parts.length)return this.sessionPosition=void 0,null;const o=n.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==n.lineNumber&&(this.sessionPosition=void 0);const r=new Ms(n.lineNumber,Math.min(o,null!==(s=null===(e=this.sessionPosition)||void 0===e?void 0:e.column)&&void 0!==s?s:Number.MAX_SAFE_INTEGER));return this.sessionPosition=r,r})),this._register(VV(((i,e)=>{const s=this.model.read(i);if(!s||!this.alwaysShowToolbar.read(i))return;const n=e.add(this.instantiationService.createInstance(B0,this.editor,!0,this.position,s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.selectedInlineCompletion.map((t=>{var i;return null!==(i=null==t?void 0:t.inlineCompletion.source.inlineCompletions.commands)&&void 0!==i?i:[]}))));t.addContentWidget(n),e.add(Xi((()=>t.removeContentWidget(n)))),e.add(jV((t=>{this.position.read(t)&&s.lastTriggerKind.read(t)!==Ws.Explicit&&s.triggerExplicitly()})))})))}};I0=R0([O0(2,dr)],I0);const _0=Vz("inline-suggestion-hints-next",Is.chevronRight,rt(0,"Icon for show next parameter hint.")),N0=Vz("inline-suggestion-hints-previous",Is.chevronLeft,rt(0,"Icon for show previous parameter hint."));let B0=T0=class extends ie{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(t,i,e){const s=new wr(t,i,e,!0,(()=>this._commandService.executeCommand(t))),n=this.keybindingService.lookupKeybinding(t,this._contextKeyService);let o=i;return n&&(o=rt(0,"{0} ({1})",i,n.getLabel())),s.tooltip=o,s}constructor(t,i,e,s,n,o,r,h,c,a,l){super(),this.editor=t,this.withBorder=i,this._position=e,this._currentSuggestionIdx=s,this._suggestionCount=n,this._extraCommands=o,this._commandService=r,this.keybindingService=c,this._contextKeyService=a,this._menuService=l,this.id="InlineSuggestionHintsContentWidget"+T0.id++,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Yl("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[Yl("div@toolBar")]),this.previousAction=this.createCommandAction(L0,rt(0,"Previous"),Sr.asClassName(N0)),this.availableSuggestionCountAction=new wr("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(F0,rt(0,"Next"),Sr.asClassName(_0)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Oh.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new gc((()=>{this.availableSuggestionCountAction.label=""}),100)),this.disableButtonsDebounced=this._register(new gc((()=>{this.previousAction.enabled=this.nextAction.enabled=!1}),100)),this.lastCommands=[],this.toolBar=this._register(h.createInstance(W0,this.nodes.toolBar,Oh.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:t=>t.startsWith("primary")},actionViewItemProvider:t=>{if(t instanceof Ph)return h.createInstance($0,t,void 0);if(t===this.availableSuggestionCountAction){const i=new P0(void 0,t,{label:!0,icon:!1});return i.setClass("availableSuggestionCount"),i}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility((t=>{T0._dropDownVisible=t}))),this._register(jV((t=>{this._position.read(t),this.editor.layoutContentWidget(this)}))),this._register(jV((t=>{const i=this._suggestionCount.read(t),e=this._currentSuggestionIdx.read(t);void 0!==i?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${e+1}/${i}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),void 0!==i&&i>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()}))),this._register(jV((t=>{const i=this._extraCommands.read(t);if(u(this.lastCommands,i))return;this.lastCommands=i;const e=i.map((t=>({class:void 0,id:t.id,enabled:!0,tooltip:t.tooltip||"",label:t.title,run:()=>this._commandService.executeCommand(t.id)})));for(const[t,i]of this.inlineCompletionsActionsMenus.getActions())for(const t of i)t instanceof Ph&&e.push(t);e.length>0&&e.unshift(new br),this.toolBar.setAdditionalSecondaryActions(e)})))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};B0._dropDownVisible=!1,B0.id=0,B0=T0=R0([O0(6,Dr),O0(7,dr),O0(8,rC),O0(9,lh),O0(10,Ih)],B0);class P0 extends vB{constructor(){super(...arguments),this._className=void 0}setClass(t){this._className=t}render(t){super.render(t),this._className&&t.classList.add(this._className)}}class $0 extends GB{updateLabel(){const t=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!t)return super.updateLabel();if(this.label){const i=Yl("div.keybinding").root;new tz(i,_t,{disableTitle:!0,...Xj}).set(t),this.label.textContent=this._action.label,this.label.appendChild(i),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}}let W0=class extends Zq{constructor(t,i,e,s,n,o,r,h){super(t,{resetMenu:i,...e},s,n,o,r,h),this.menuId=i,this.options2=e,this.menuService=s,this.contextKeyService=n,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 t,i,e,s,n,o,r;const h=[],c=[];qB(this.menu,null===(t=this.options2)||void 0===t?void 0:t.menuOptions,{primary:h,secondary:c},null===(e=null===(i=this.options2)||void 0===i?void 0:i.toolbarOptions)||void 0===e?void 0:e.primaryGroup,null===(n=null===(s=this.options2)||void 0===s?void 0:s.toolbarOptions)||void 0===n?void 0:n.shouldInlineSubmenu,null===(r=null===(o=this.options2)||void 0===o?void 0:o.toolbarOptions)||void 0===r?void 0:r.useSeparatorsInPrimaryActions),c.push(...this.additionalActions),h.unshift(...this.prependedPrimaryActions),this.setActions(h,c)}setPrependedPrimaryActions(t){u(this.prependedPrimaryActions,t,((t,i)=>t===i))||(this.prependedPrimaryActions=t,this.updateToolbar())}setAdditionalSecondaryActions(t){u(this.additionalActions,t,((t,i)=>t===i))||(this.additionalActions=t,this.updateToolbar())}};W0=R0([O0(3,Ih),O0(4,lh),O0(5,uI),O0(6,rC),O0(7,jh)],W0);var j0,z0=function(t,i){return function(e,s){i(e,s,t)}};let H0=j0=class extends ie{static get(t){return t.getContribution(j0.ID)}constructor(t,i,e,s,n){super(),this._editor=t,this._instantiationService=i,this._openerService=e,this._languageService=s,this._keybindingService=n,this._toUnhook=new te,this._hoverActivatedByColorDecoratorClick=!1,this._isMouseDown=!1,this._hoverClicked=!1,this._contentWidget=null,this._glyphWidget=null,this._reactToEditorMouseMoveRunner=this._register(new gc((()=>this._reactToEditorMouseMove(this._mouseMoveEvent)),0)),this._hookEvents(),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(60)&&(this._unhookEvents(),this._hookEvents())})))}_hookEvents(){const t=this._editor.getOption(60);this._isHoverEnabled=t.enabled,this._isHoverSticky=t.sticky,this._hidingDelay=t.hidingDelay,this._isHoverEnabled?(this._toUnhook.add(this._editor.onMouseDown((t=>this._onEditorMouseDown(t)))),this._toUnhook.add(this._editor.onMouseUp((t=>this._onEditorMouseUp(t)))),this._toUnhook.add(this._editor.onMouseMove((t=>this._onEditorMouseMove(t)))),this._toUnhook.add(this._editor.onKeyDown((t=>this._onKeyDown(t))))):(this._toUnhook.add(this._editor.onMouseMove((t=>this._onEditorMouseMove(t)))),this._toUnhook.add(this._editor.onKeyDown((t=>this._onKeyDown(t))))),this._toUnhook.add(this._editor.onMouseLeave((t=>this._onEditorMouseLeave(t)))),this._toUnhook.add(this._editor.onDidChangeModel((()=>{this._cancelScheduler(),this._hideWidgets()}))),this._toUnhook.add(this._editor.onDidChangeModelContent((()=>this._cancelScheduler()))),this._toUnhook.add(this._editor.onDidScrollChange((t=>this._onEditorScrollChanged(t))))}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_unhookEvents(){this._toUnhook.clear()}_onEditorScrollChanged(t){(t.scrollTopChanged||t.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(t){var i;this._isMouseDown=!0;const e=t.target;9!==e.type||e.detail!==_X.ID?12===e.type&&e.detail===WX.ID||(12!==e.type&&(this._hoverClicked=!1),(null===(i=this._contentWidget)||void 0===i?void 0:i.widget.isResizing)||this._hideWidgets()):this._hoverClicked=!0}_onEditorMouseUp(t){this._isMouseDown=!1}_onEditorMouseLeave(t){var i,e;this._cancelScheduler(),(null===(i=this._contentWidget)||void 0===i?void 0:i.widget.isResizing)||(null===(e=this._contentWidget)||void 0===e?void 0:e.containsNode(t.event.browserEvent.relatedTarget))||this._hideWidgets()}_isMouseOverWidget(t){var i,e,s,n,o;const r=t.target;return!((!this._isHoverSticky||9!==r.type||r.detail!==_X.ID)&&(!this._isHoverSticky||!(null===(i=this._contentWidget)||void 0===i?void 0:i.containsNode(null===(e=t.event.browserEvent.view)||void 0===e?void 0:e.document.activeElement))||(null===(n=null===(s=t.event.browserEvent.view)||void 0===s?void 0:s.getSelection())||void 0===n?void 0:n.isCollapsed))&&(this._isHoverSticky||9!==r.type||r.detail!==_X.ID||!(null===(o=this._contentWidget)||void 0===o?void 0:o.isColorPickerVisible))&&(!this._isHoverSticky||12!==r.type||r.detail!==WX.ID))}_onEditorMouseMove(t){var i,e,s,n;this._mouseMoveEvent=t,(null===(i=this._contentWidget)||void 0===i?void 0:i.isFocused)||(null===(e=this._contentWidget)||void 0===e?void 0:e.isResizing)||this._isMouseDown&&this._hoverClicked||this._isHoverSticky&&(null===(s=this._contentWidget)||void 0===s?void 0:s.isVisibleFromKeyboard)||(this._isMouseOverWidget(t)?this._reactToEditorMouseMoveRunner.cancel():(null===(n=this._contentWidget)||void 0===n?void 0:n.isVisible)&&this._isHoverSticky&&this._hidingDelay>0?this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(this._hidingDelay):this._reactToEditorMouseMove(t))}_reactToEditorMouseMove(t){var i,e,s;if(!t)return;const n=t.target,o=null===(i=n.element)||void 0===i?void 0:i.classList.contains("colorpicker-color-decoration"),r=this._editor.getOption(146);if((!o||("click"!==r||this._hoverActivatedByColorDecoratorClick)&&("hover"!==r||this._isHoverEnabled)&&("clickAndHover"!==r||this._isHoverEnabled||this._hoverActivatedByColorDecoratorClick))&&(o||this._isHoverEnabled||this._hoverActivatedByColorDecoratorClick))return this._getOrCreateContentWidget().maybeShowAt(t)?void(null===(e=this._glyphWidget)||void 0===e||e.hide()):2===n.type&&n.position?(null===(s=this._contentWidget)||void 0===s||s.hide(),this._glyphWidget||(this._glyphWidget=new WX(this._editor,this._languageService,this._openerService)),void this._glyphWidget.startShowingAt(n.position.lineNumber)):void this._hideWidgets();this._hideWidgets()}_onKeyDown(t){var i;if(!this._editor.hasModel())return;const e=this._keybindingService.softDispatch(t,this._editor.getDomNode()),s=1===e.kind||2===e.kind&&"editor.action.showHover"===e.commandId&&(null===(i=this._contentWidget)||void 0===i?void 0:i.isVisible);5===t.keyCode||6===t.keyCode||57===t.keyCode||4===t.keyCode||s||this._hideWidgets()}_hideWidgets(){var t,i,e;this._isMouseDown&&this._hoverClicked&&(null===(t=this._contentWidget)||void 0===t?void 0:t.isColorPickerVisible)||B0.dropDownVisible||(this._hoverActivatedByColorDecoratorClick=!1,this._hoverClicked=!1,null===(i=this._glyphWidget)||void 0===i||i.hide(),null===(e=this._contentWidget)||void 0===e||e.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(TX,this._editor)),this._contentWidget}showContentHover(t,i,e,s,n=!1){this._hoverActivatedByColorDecoratorClick=n,this._getOrCreateContentWidget().startShowingAtRange(t,i,e,s)}focus(){var t;null===(t=this._contentWidget)||void 0===t||t.focus()}scrollUp(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollUp()}scrollDown(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollDown()}scrollLeft(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollLeft()}scrollRight(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollRight()}pageUp(){var t;null===(t=this._contentWidget)||void 0===t||t.pageUp()}pageDown(){var t;null===(t=this._contentWidget)||void 0===t||t.pageDown()}goToTop(){var t;null===(t=this._contentWidget)||void 0===t||t.goToTop()}goToBottom(){var t;null===(t=this._contentWidget)||void 0===t||t.goToBottom()}get isColorPickerVisible(){var t;return null===(t=this._contentWidget)||void 0===t?void 0:t.isColorPickerVisible}get isHoverVisible(){var t;return null===(t=this._contentWidget)||void 0===t?void 0:t.isVisible}dispose(){var t,i;super.dispose(),this._unhookEvents(),this._toUnhook.dispose(),null===(t=this._glyphWidget)||void 0===t||t.dispose(),null===(i=this._contentWidget)||void 0===i||i.dispose()}};var V0;H0.ID="editor.contrib.hover",H0=j0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([z0(1,dr),z0(2,fP),z0(3,kd),z0(4,rC)],H0),function(t){t.NoAutoFocus="noAutoFocus",t.FocusIfVisible="focusIfVisible",t.AutoFocusImmediately="autoFocusImmediately"}(V0||(V0={})),uu(H0.ID,H0,2),au(class extends nu{constructor(){super({id:"editor.action.showHover",label:rt(0,"Show or Focus Hover"),metadata:{description:"Show or Focus Hover",args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[V0.NoAutoFocus,V0.FocusIfVisible,V0.AutoFocusImmediately],enumDescriptions:[rt(0,"The hover will not automatically take focus."),rt(0,"The hover will take focus only if it is already visible."),rt(0,"The hover will automatically take focus when it appears.")],default:V0.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2087),weight:100}})}run(t,i,e){if(!i.hasModel())return;const s=H0.get(i);if(!s)return;const n=null==e?void 0:e.focus;let o=V0.FocusIfVisible;n in V0?o=n:"boolean"==typeof n&&n&&(o=V0.AutoFocusImmediately);const r=t=>{const e=i.getPosition(),n=new Ls(e.lineNumber,e.column,e.lineNumber,e.column);s.showContentHover(n,1,1,t)},h=2===i.getOption(2);s.isHoverVisible?o!==V0.NoAutoFocus?s.focus():r(h):r(h||o===V0.AutoFocusImmediately)}}),au(class extends nu{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:rt(0,"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0})}run(t,i){const e=H0.get(i);if(!e)return;const s=i.getPosition();if(!s)return;const n=new Ls(s.lineNumber,s.column,s.lineNumber,s.column),o=gX.get(i);o&&o.startFindDefinitionFromCursor(s).then((()=>{e.showContentHover(n,1,1,!0)}))}}),au(class extends nu{constructor(){super({id:"editor.action.scrollUpHover",label:rt(0,"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:XC.hoverFocused,kbOpts:{kbExpr:XC.hoverFocused,primary:16,weight:100}})}run(t,i){const e=H0.get(i);e&&e.scrollUp()}}),au(class extends nu{constructor(){super({id:"editor.action.scrollDownHover",label:rt(0,"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:XC.hoverFocused,kbOpts:{kbExpr:XC.hoverFocused,primary:18,weight:100}})}run(t,i){const e=H0.get(i);e&&e.scrollDown()}}),au(class extends nu{constructor(){super({id:"editor.action.scrollLeftHover",label:rt(0,"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:XC.hoverFocused,kbOpts:{kbExpr:XC.hoverFocused,primary:15,weight:100}})}run(t,i){const e=H0.get(i);e&&e.scrollLeft()}}),au(class extends nu{constructor(){super({id:"editor.action.scrollRightHover",label:rt(0,"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:XC.hoverFocused,kbOpts:{kbExpr:XC.hoverFocused,primary:17,weight:100}})}run(t,i){const e=H0.get(i);e&&e.scrollRight()}}),au(class extends nu{constructor(){super({id:"editor.action.pageUpHover",label:rt(0,"Page Up Hover"),alias:"Page Up Hover",precondition:XC.hoverFocused,kbOpts:{kbExpr:XC.hoverFocused,primary:11,secondary:[528],weight:100}})}run(t,i){const e=H0.get(i);e&&e.pageUp()}}),au(class extends nu{constructor(){super({id:"editor.action.pageDownHover",label:rt(0,"Page Down Hover"),alias:"Page Down Hover",precondition:XC.hoverFocused,kbOpts:{kbExpr:XC.hoverFocused,primary:12,secondary:[530],weight:100}})}run(t,i){const e=H0.get(i);e&&e.pageDown()}}),au(class extends nu{constructor(){super({id:"editor.action.goToTopHover",label:rt(0,"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:XC.hoverFocused,kbOpts:{kbExpr:XC.hoverFocused,primary:14,secondary:[2064],weight:100}})}run(t,i){const e=H0.get(i);e&&e.goToTop()}}),au(class extends nu{constructor(){super({id:"editor.action.goToBottomHover",label:rt(0,"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:XC.hoverFocused,kbOpts:{kbExpr:XC.hoverFocused,primary:13,secondary:[2066],weight:100}})}run(t,i){const e=H0.get(i);e&&e.goToBottom()}}),CX.register(KX),CX.register(A0),ox(((t,i)=>{const e=t.getColor(Nv);e&&(i.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${e.transparent(.5)}; }`),i.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${e.transparent(.5)}; }`),i.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${e.transparent(.5)}; }`))}));class U0 extends ie{constructor(t){super(),this._editor=t,this._register(t.onMouseDown((t=>this.onMouseDown(t))))}dispose(){super.dispose()}onMouseDown(t){const i=this._editor.getOption(146);if("click"!==i&&"clickAndHover"!==i)return;const e=t.target;if(6!==e.type)return;if(!e.detail.injectedText)return;if(e.detail.injectedText.options.attachedData!==gJ)return;if(!e.range)return;const s=this._editor.getContribution(H0.ID);if(s&&!s.isColorPickerVisible){const t=new Ls(e.range.startLineNumber,e.range.startColumn+1,e.range.endLineNumber,e.range.endColumn+1);s.showContentHover(t,1,0,!1,!0)}}}U0.ID="editor.contrib.colorContribution",uu(U0.ID,U0,2),CX.register(RJ);var q0,K0,G0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Z0=function(t,i){return function(e,s){i(e,s,t)}};let Q0=q0=class extends ie{constructor(t,i,e,s,n,o,r){super(),this._editor=t,this._modelService=e,this._keybindingService=s,this._instantiationService=n,this._languageFeatureService=o,this._languageConfigurationService=r,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=XC.standaloneColorPickerVisible.bindTo(i),this._standaloneColorPickerFocused=XC.standaloneColorPickerFocused.bindTo(i)}showOrFocus(){var t;this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||null===(t=this._standaloneColorPickerWidget)||void 0===t||t.focus():this._standaloneColorPickerWidget=new J0(this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused,this._instantiationService,this._modelService,this._keybindingService,this._languageFeatureService,this._languageConfigurationService))}hide(){var t;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),null===(t=this._standaloneColorPickerWidget)||void 0===t||t.hide(),this._editor.focus()}insertColor(){var t;null===(t=this._standaloneColorPickerWidget)||void 0===t||t.updateEditor(),this.hide()}static get(t){return t.getContribution(q0.ID)}};Q0.ID="editor.contrib.standaloneColorPickerController",Q0=q0=G0([Z0(1,lh),Z0(2,gr),Z0(3,rC),Z0(4,dr),Z0(5,Cg),Z0(6,tf)],Q0),uu(Q0.ID,Q0,1);let J0=K0=class extends ie{constructor(t,i,e,s,n,o,r,h){var c;super(),this._editor=t,this._standaloneColorPickerVisible=i,this._standaloneColorPickerFocused=e,this._modelService=n,this._keybindingService=o,this._languageFeaturesService=r,this._languageConfigurationService=h,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new fe),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=s.createInstance(IJ,this._editor),this._position=null===(c=this._editor._getViewModel())||void 0===c?void 0:c.getPrimaryCursorState().modelState.position;const a=this._editor.getSelection(),l=a?{startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},u=this._register(Ol(this._body));this._register(u.onDidBlur((()=>{this.hide()}))),this._register(u.onDidFocus((()=>{this.focus()}))),this._register(this._editor.onDidChangeCursorPosition((()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()}))),this._register(this._editor.onMouseMove((t=>{var i;const e=null===(i=t.target.element)||void 0===i?void 0:i.classList;e&&e.contains("colorpicker-color-decoration")&&this.hide()}))),this._register(this.onResult((t=>{this._render(t.value,t.foundInEditor)}))),this._start(l),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return K0.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const t=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:t?[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(t){const i=await this._computeAsync(t);i&&this._onResult.fire(new Y0(i.result,i.foundInEditor))}async _computeAsync(t){if(!this._editor.hasModel())return null;const i={range:t,color:{red:0,green:0,blue:0,alpha:1}},e=await this._standaloneColorPickerParticipant.createColorHover(i,new nJ(this._modelService,this._languageConfigurationService),this._languageFeaturesService.colorProvider);return e?{result:e.colorHover,foundInEditor:e.foundInEditor}:null}_render(t,i){const e=document.createDocumentFragment();let s;const n={fragment:e,statusBar:this._register(new NX(this._keybindingService)),setColorPicker:t=>s=t,onContentsChanged:()=>{},hide:()=>this.hide()};if(this._colorHover=t,this._register(this._standaloneColorPickerParticipant.renderHoverParts(n,[t])),void 0===s)return;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(.66*this._editor.getLayoutInfo().width,500)+"px",this._body.tabIndex=0,this._body.appendChild(e),s.layout();const o=s.body,r=o.saturationBox.domNode.clientWidth,h=o.domNode.clientWidth-r-22-8,c=s.body.enterButton;null==c||c.onClicked((()=>{this.updateEditor(),this.hide()}));const a=s.header;a.pickedColorNode.style.width=r+8+"px",a.originalColorNode.style.width=h+"px";const l=s.header.closeButton;null==l||l.onClicked((()=>{this.hide()})),i&&(c&&(c.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(t.range)),this._editor.layoutContentWidget(this)}};J0.ID="editor.contrib.standaloneColorPickerWidget",J0=K0=G0([Z0(3,dr),Z0(4,gr),Z0(5,rC),Z0(6,Cg),Z0(7,tf)],J0);class Y0{constructor(t,i){this.value=t,this.foundInEditor=i}}au(class extends nu{constructor(){super({id:"editor.action.hideColorPicker",label:rt(0,"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:XC.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100}})}run(t,i){var e;null===(e=Q0.get(i))||void 0===e||e.hide()}}),au(class extends nu{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:rt(0,"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:XC.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100}})}run(t,i){var e;null===(e=Q0.get(i))||void 0===e||e.insertColor()}}),Wh(class extends ru{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{value:rt(0,"Show or Focus Standalone Color Picker"),mnemonicTitle:rt(0,"&&Show or Focus Standalone Color Picker"),original:"Show or Focus Standalone Color Picker"},precondition:void 0,menu:[{id:Oh.CommandPalette}]})}runEditorCommand(t,i){var e;null===(e=Q0.get(i))||void 0===e||e.showOrFocus()}});class X0{constructor(t,i,e){this.languageConfigurationService=e,this._selection=t,this._insertSpace=i,this._usedEndToken=null}static _haystackHasNeedleAtOffset(t,i,e){if(e<0)return!1;const s=i.length;if(e+s>t.length)return!1;for(let n=0;n=65&&s<=90&&s+32===o||o>=65&&o<=90&&o+32===s))return!1}return!0}_createOperationsForBlockComment(t,i,e,s,n,o){const r=t.startLineNumber,h=t.startColumn,c=t.endLineNumber,a=t.endColumn,l=n.getLineContent(r),u=n.getLineContent(c);let d,f=l.lastIndexOf(i,h-1+i.length),p=u.indexOf(e,a-1-e.length);if(-1!==f&&-1!==p)if(r===c)l.substring(f+i.length,p).indexOf(e)>=0&&(f=-1,p=-1);else{const t=l.substring(f+i.length),s=u.substring(0,p);(t.indexOf(e)>=0||s.indexOf(e)>=0)&&(f=-1,p=-1)}-1!==f&&-1!==p?(s&&f+i.length0&&32===u.charCodeAt(p-1)&&(e=" "+e,p-=1),d=X0._createRemoveBlockCommentOperations(new Ls(r,f+i.length+1,c,p+1),i,e)):(d=X0._createAddBlockCommentOperations(t,i,e,this._insertSpace),this._usedEndToken=1===d.length?e:null);for(const t of d)o.addTrackedEditOperation(t.range,t.text)}static _createRemoveBlockCommentOperations(t,i,e){const s=[];return Ls.isEmpty(t)?s.push(gO.delete(new Ls(t.startLineNumber,t.startColumn-i.length,t.endLineNumber,t.endColumn+e.length))):(s.push(gO.delete(new Ls(t.startLineNumber,t.startColumn-i.length,t.startLineNumber,t.startColumn))),s.push(gO.delete(new Ls(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn+e.length)))),s}static _createAddBlockCommentOperations(t,i,e,s){const n=[];return Ls.isEmpty(t)?n.push(gO.replace(new Ls(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn),i+" "+e)):(n.push(gO.insert(new Ms(t.startLineNumber,t.startColumn),i+(s?" ":""))),n.push(gO.insert(new Ms(t.endLineNumber,t.endColumn),(s?" ":"")+e))),n}getEditOperations(t,i){const e=this._selection.startLineNumber,s=this._selection.startColumn;t.tokenization.tokenizeIfCheap(e);const n=t.getLanguageIdAtPosition(e,s),o=this.languageConfigurationService.getLanguageConfiguration(n).comments;o&&o.blockCommentStartToken&&o.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,o.blockCommentStartToken,o.blockCommentEndToken,this._insertSpace,t,i)}computeCursorState(t,i){const e=i.getInverseEditOperations();if(2===e.length){const t=e[0],i=e[1];return new Fs(t.range.endLineNumber,t.range.endColumn,i.range.startLineNumber,i.range.startColumn)}{const t=e[0].range,i=this._usedEndToken?-this._usedEndToken.length-1:0;return new Fs(t.endLineNumber,t.endColumn+i,t.endLineNumber,t.endColumn+i)}}}class t1{constructor(t,i,e,s,n,o,r){this.languageConfigurationService=t,this._selection=i,this._tabSize=e,this._type=s,this._insertSpace=n,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=o,this._ignoreFirstLine=r||!1}static _gatherPreflightCommentStrings(t,i,e,s){t.tokenization.tokenizeIfCheap(i);const n=t.getLanguageIdAtPosition(i,1),o=s.getLanguageConfiguration(n).comments,r=o?o.lineCommentToken:null;if(!r)return null;const h=[];for(let t=0,s=e-i+1;tr?n-1:n}}}class i1 extends nu{constructor(t,i){super(i),this._type=t}run(t,i){const e=t.get(tf);if(!i.hasModel())return;const s=[],n=i.getModel().getOptions(),o=i.getOption(23),r=i.getSelections().map(((t,i)=>({selection:t,index:i,ignoreFirstLine:!1})));r.sort(((t,i)=>Ls.compareRangesUsingStarts(t.selection,i.selection)));let h=r[0];for(let t=1;tthis._onContextMenu(t)))),this._toDispose.add(this._editor.onMouseWheel((t=>{if(this._contextMenuIsBeingShownCount>0){const i=this._contextViewService.getContextViewElement(),e=t.srcElement;e.shadowRoot&&pl(i)===e.shadowRoot||this._contextViewService.hideContextView()}}))),this._toDispose.add(this._editor.onKeyDown((t=>{this._editor.getOption(24)&&58===t.keyCode&&(t.preventDefault(),t.stopPropagation(),this.showContextMenu())})))}_onContextMenu(t){if(!this._editor.hasModel())return;if(!this._editor.getOption(24))return this._editor.focus(),void(t.target.position&&!this._editor.getSelection().containsPosition(t.target.position)&&this._editor.setPosition(t.target.position));if(12===t.target.type)return;if(6===t.target.type&&t.target.detail.injectedText)return;if(t.event.preventDefault(),t.event.stopPropagation(),11===t.target.type)return this._showScrollbarContextMenu(t.event);if(6!==t.target.type&&7!==t.target.type&&1!==t.target.type)return;if(this._editor.focus(),t.target.position){let i=!1;for(const e of this._editor.getSelections())if(e.containsPosition(t.target.position)){i=!0;break}i||this._editor.setPosition(t.target.position)}let i=null;1!==t.target.type&&(i=t.event),this.showContextMenu(i)}showContextMenu(t){if(!this._editor.getOption(24))return;if(!this._editor.hasModel())return;const i=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?Oh.SimpleEditorContext:Oh.EditorContext);i.length>0&&this._doShowContextMenu(i,t)}_getMenuActions(t,i){const e=[],s=this._menuService.createMenu(i,this._contextKeyService),n=s.getActions({arg:t.uri});s.dispose();for(const i of n){const[,s]=i;let n=0;for(const i of s)if(i instanceof Bh){const s=this._getMenuActions(t,i.item.submenu);s.length>0&&(e.push(new yr(i.id,i.label,s)),n++)}else e.push(i),n++;n&&e.push(new br)}return e.length&&e.pop(),e}_doShowContextMenu(t,i=null){if(!this._editor.hasModel())return;const e=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let s=i;if(!s){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),i=ol(this._editor.getDomNode());s={x:i.left+t.left,y:i.top+t.top+t.height}}const n=this._editor.getOption(126)&&!Lt;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:n?this._editor.getDomNode():void 0,getAnchor:()=>s,getActions:()=>t,getActionViewItem:t=>{const i=this._keybindingFor(t);return i?new vB(t,t,{label:!0,keybinding:i.getLabel(),isMenu:!0}):"function"==typeof t.getActionViewItem?t.getActionViewItem():new vB(t,t,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:t=>this._keybindingFor(t),onHide:()=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:e})}})}_showScrollbarContextMenu(t){if(!this._editor.hasModel())return;if(this._workspaceContextService.getWorkspace().id===tI)return;const i=this._editor.getOption(72);let e=0;const s=t=>({id:"menu-action-"+ ++e,label:t.label,tooltip:"",class:void 0,enabled:void 0===t.enabled||t.enabled,checked:t.checked,run:t.run}),n=(t,i,n,o,r)=>{if(!i)return s({label:t,enabled:i,run:()=>{}});const h=t=>()=>{this._configurationService.updateValue(n,t)},c=[];for(const t of r)c.push(s({label:t.label,checked:o===t.value,run:h(t.value)}));return((t,i)=>new yr("menu-action-"+ ++e,t,i,void 0))(t,c)},o=[];o.push(s({label:rt(0,"Minimap"),checked:i.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!i.enabled)}})),o.push(new br),o.push(s({label:rt(0,"Render Characters"),enabled:i.enabled,checked:i.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!i.renderCharacters)}})),o.push(n(rt(0,"Vertical size"),i.enabled,"editor.minimap.size",i.size,[{label:rt(0,"Proportional"),value:"proportional"},{label:rt(0,"Fill"),value:"fill"},{label:rt(0,"Fit"),value:"fit"}])),o.push(n(rt(0,"Slider"),i.enabled,"editor.minimap.showSlider",i.showSlider,[{label:rt(0,"Mouse Over"),value:"mouseover"},{label:rt(0,"Always"),value:"always"}]));const r=this._editor.getOption(126)&&!Lt;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:r?this._editor.getDomNode():void 0,getAnchor:()=>t,getActions:()=>o,onHide:()=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(t){return this._keybindingService.lookupKeybinding(t.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};n1.ID="editor.contrib.contextmenu",n1=e1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([s1(1,uI),s1(2,lI),s1(3,lh),s1(4,rC),s1(5,Ih),s1(6,gd),s1(7,QO)],n1),uu(n1.ID,n1,2),au(class extends nu{constructor(){super({id:"editor.action.showContextMenu",label:rt(0,"Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:XC.textInputFocus,primary:1092,weight:100}})}run(t,i){var e;null===(e=n1.get(i))||void 0===e||e.showContextMenu()}});class o1{constructor(t){this.selections=t}equals(t){const i=this.selections.length;if(i!==t.selections.length)return!1;for(let e=0;e{this._undoStack=[],this._redoStack=[]}))),this._register(t.onDidChangeModelContent((()=>{this._undoStack=[],this._redoStack=[]}))),this._register(t.onDidChangeCursorSelection((i=>{if(this._isCursorUndoRedo)return;if(!i.oldSelections)return;if(i.oldModelVersionId!==i.modelVersionId)return;const e=new o1(i.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(e)||(this._undoStack.push(new r1(e,t.getScrollTop(),t.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())})))}cursorUndo(){this._editor.hasModel()&&0!==this._undoStack.length&&(this._redoStack.push(new r1(new o1(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){this._editor.hasModel()&&0!==this._redoStack.length&&(this._undoStack.push(new r1(new o1(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(t){this._isCursorUndoRedo=!0,this._editor.setSelections(t.cursorState.selections),this._editor.setScrollPosition({scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),this._isCursorUndoRedo=!1}}h1.ID="editor.contrib.cursorUndoRedoController",uu(h1.ID,h1,0),au(class extends nu{constructor(){super({id:"cursorUndo",label:rt(0,"Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:XC.textInputFocus,primary:2099,weight:100}})}run(t,i,e){var s;null===(s=h1.get(i))||void 0===s||s.cursorUndo()}}),au(class extends nu{constructor(){super({id:"cursorRedo",label:rt(0,"Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(t,i,e){var s;null===(s=h1.get(i))||void 0===s||s.cursorRedo()}});class c1{constructor(t,i,e){this.selection=t,this.targetPosition=i,this.copy=e,this.targetSelection=null}getEditOperations(t,i){const e=t.getValueInRange(this.selection);this.copy||i.addEditOperation(this.selection,null),i.addEditOperation(new Ls(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),e),this.targetSelection=!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?new Fs(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):this.targetPosition.lineNumber>this.selection.endLineNumber?new Fs(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):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(t){this._editor.getOption(35)&&!this._editor.getOption(22)&&(a1(t)&&(this._modifierPressed=!0),this._mouseDown&&a1(t)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(t){this._editor.getOption(35)&&!this._editor.getOption(22)&&(a1(t)&&(this._modifierPressed=!1),this._mouseDown&&t.keyCode===l1.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(t){this._mouseDown=!0}_onEditorMouseUp(t){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(t){const i=t.target;if(null===this._dragSelection){const t=(this._editor.getSelections()||[]).filter((t=>i.position&&t.containsPosition(i.position)));if(1!==t.length)return;this._dragSelection=t[0]}a1(t.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),i.position&&(this._dragSelection.containsPosition(i.position)?this._removeDecoration():this.showAt(i.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(t){if(t.target&&(this._hitContent(t.target)||this._hitMargin(t.target))&&t.target.position){const i=new Ms(t.target.position.lineNumber,t.target.position.column);if(null===this._dragSelection){let e=null;if(t.event.shiftKey){const t=this._editor.getSelection();if(t){const{selectionStartLineNumber:s,selectionStartColumn:n}=t;e=[new Fs(s,n,i.lineNumber,i.column)]}}else e=(this._editor.getSelections()||[]).map((t=>t.containsPosition(i)?new Fs(i.lineNumber,i.column,i.lineNumber,i.column):t));this._editor.setSelections(e||[],"mouse",3)}else(!this._dragSelection.containsPosition(i)||(a1(t.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(i)||this._dragSelection.getStartPosition().equals(i)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(l1.ID,new c1(this._dragSelection,i,a1(t.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(t){this._dndDecorationIds.set([{range:new Ls(t.lineNumber,t.column,t.lineNumber,t.column),options:l1._DECORATION_OPTIONS}]),this._editor.revealPosition(t,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(t){return 6===t.type||7===t.type}_hitMargin(t){return 2===t.type||3===t.type||4===t.type}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}l1.ID="editor.contrib.dragAndDrop",l1.TRIGGER_KEY_VALUE=St?6:5,l1._DECORATION_OPTIONS=ML.register({description:"dnd-target",className:"dnd-target"}),uu(l1.ID,l1,2);const u1=function(){if("object"==typeof crypto&&"function"==typeof crypto.randomUUID)return crypto.randomUUID.bind(crypto);let t;t="object"==typeof crypto&&"function"==typeof crypto.getRandomValues?crypto.getRandomValues.bind(crypto):function(t){for(let i=0;it,asFile:()=>{},value:"string"==typeof t?t:void 0}}class f1{constructor(){this._entries=new Map}get size(){let t=0;for(const i of this._entries)t++;return t}has(t){return this._entries.has(this.toKey(t))}matches(t){const i=[...this._entries.keys()];return Vt.some(this,(([t,i])=>i.asFile()))&&i.push("files"),m1(p1(t),i)}get(t){var i;return null===(i=this._entries.get(this.toKey(t)))||void 0===i?void 0:i[0]}append(t,i){const e=this._entries.get(t);e?e.push(i):this._entries.set(this.toKey(t),[i])}replace(t,i){this._entries.set(this.toKey(t),[i])}delete(t){this._entries.delete(this.toKey(t))}*[Symbol.iterator](){for(const[t,i]of this._entries)for(const e of i)yield[t,e]}toKey(t){return p1(t)}}function p1(t){return t.toLowerCase()}function g1(t,i){return m1(p1(t),i.map(p1))}function m1(t,i){if("*/*"===t)return i.length>0;if(i.includes(t))return!0;const e=t.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!e)return!1;const[s,n,o]=e;return"*"===o&&i.some((t=>t.startsWith(n+"/")))}const w1=Object.freeze({create:t=>k(t.map((t=>t.toString()))).join("\r\n"),split:t=>t.split("\r\n"),parse:t=>w1.split(t).filter((t=>!t.startsWith("#")))});Eh.add("workbench.contributions.dragAndDrop",new class{});class v1{constructor(){}static getInstance(){return v1.INSTANCE}hasData(t){return t&&t===this.proto}getData(t){if(this.hasData(t))return this.data}}function b1(t){const i=new f1;for(const e of t.items){const t=e.type;if("string"===e.kind){const s=new Promise((t=>e.getAsString(t)));i.append(t,d1(s))}else if("file"===e.kind){const s=e.getAsFile();s&&i.append(t,y1(s))}}return i}function y1(t){const i=t.path?ws.parse(t.path):void 0;return function(t,i,e){const s={id:u1(),name:t,uri:i,data:e};return{asString:async()=>"",asFile:()=>s,value:void 0}}(t.name,i,(async()=>new Uint8Array(await t.arrayBuffer())))}v1.INSTANCE=new v1;const k1=Object.freeze(["CodeEditors","CodeFiles",LI.RESOURCES,LI.INTERNAL_URI_LIST]);function x1(t,i=!1){const e=b1(t),s=e.get(LI.INTERNAL_URI_LIST);if(s)e.replace(Ed.uriList,s);else if(i||!e.has(Ed.uriList)){const i=[];for(const e of t.items){const t=e.getAsFile();if(t){const e=t.path;try{i.push(e?ws.file(e).toString():ws.parse(t.name,!0).toString())}catch(t){}}}i.length&&e.replace(Ed.uriList,d1(w1.create(i)))}for(const t of k1)e.delete(t);return e}function C1(t){var i;function e(t,i){return"providerId"in t&&t.providerId===i.providerId||"mimeType"in t&&t.mimeType===i.handledMimeType}const s=new Map;for(const n of t)for(const o of null!==(i=n.yieldTo)&&void 0!==i?i:[])for(const i of t)if(i!==n&&e(o,i)){let t=s.get(n);t||(t=[],s.set(n,t)),t.push(i)}if(!s.size)return Array.from(t);const n=new Set,o=[];return function t(i){if(!i.length)return[];const e=i[0];if(o.includes(e))return console.warn(`Yield to cycle detected for ${e.providerId}`),i;if(n.has(e))return t(i.slice(1));let r=[];const h=s.get(e);return h&&(o.push(e),r=t(h),o.pop()),n.add(e),[...r,e,...t(i.slice(1))]}(Array.from(t))}const S1=ML.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:" ",inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}});class D1 extends ie{constructor(t,i,e,s,n){super(),this.typeId=t,this.editor=i,this.range=e,this.delegate=n,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(s),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(t){this.domNode=Wl(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=t;const i=Wl("span.icon");this.domNode.append(i),i.classList.add(...Sr.asClassNameArray(Is.loading),"codicon-modifier-spin");const e=()=>{const t=this.editor.getOption(66);this.domNode.style.height=`${t}px`,this.domNode.style.width=`${Math.ceil(.8*t)}px`};e(),this._register(this.editor.onDidChangeConfiguration((t=>{(t.hasChanged(52)||t.hasChanged(66))&&e()}))),this._register(Ua(this.domNode,Fl.CLICK,(()=>{this.delegate.cancel()})))}getId(){return D1.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)}}D1.baseId="editor.widget.inlineProgressWidget";let E1=class extends ie{constructor(t,i,e){super(),this.id=t,this._editor=i,this._instantiationService=e,this._showDelay=500,this._showPromise=this._register(new ee),this._currentWidget=new ee,this._operationIdPool=0,this._currentDecorations=i.createDecorationsCollection()}async showWhile(t,i,e){const s=this._operationIdPool++;this._currentOperation=s,this.clear(),this._showPromise.value=uc((()=>{const s=Ls.fromPositions(t);this._currentDecorations.set([{range:s,options:S1}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(D1,this.id,this._editor,s,i,e))}),this._showDelay);try{return await e}finally{this._currentOperation===s&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};E1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,dr)],E1);var A1,M1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},L1=function(t,i){return function(e,s){i(e,s,t)}};let F1=A1=class extends ie{constructor(t,i,e,s,n,o,r,h,c,a){super(),this.typeId=t,this.editor=i,this.showCommand=s,this.range=n,this.edits=o,this.onSelectNewEdit=r,this._contextMenuService=h,this._keybindingService=a,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=e.bindTo(c),this.visibleContext.set(!0),this._register(Xi((()=>this.visibleContext.reset()))),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(Xi((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition((t=>{n.containsPosition(t.position)||this.dispose()}))),this._register(ce.runAndSubscribe(a.onDidUpdateKeybindings,(()=>{this._updateButtonTitle()})))}_updateButtonTitle(){var t;const i=null===(t=this._keybindingService.lookupKeybinding(this.showCommand.id))||void 0===t?void 0:t.getLabel();this.button.element.title=this.showCommand.label+(i?` (${i})`:"")}create(){this.domNode=Wl(".post-edit-widget"),this.button=this._register(new Bj(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Ua(this.domNode,Fl.CLICK,(()=>this.showSelector())))}getId(){return A1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const t=ol(this.button.element);return{x:t.left+t.width,y:t.top+t.height}},getActions:()=>this.edits.allEdits.map(((t,i)=>xr({id:"",label:t.label,checked:i===this.edits.activeEditIndex,run:()=>{if(i!==this.edits.activeEditIndex)return this.onSelectNewEdit(i)}})))})}};F1.baseId="editor.widget.postEditWidget",F1=A1=M1([L1(7,uI),L1(8,lh),L1(9,rC)],F1);let T1=class extends ie{constructor(t,i,e,s,n,o){super(),this._id=t,this._editor=i,this._visibleContext=e,this._showCommand=s,this._instantiationService=n,this._bulkEditService=o,this._currentWidget=this._register(new ee),this._register(ce.any(i.onDidChangeModel,i.onDidChangeModelContent)((()=>this.clear())))}async applyEditAndShowIfNeeded(t,i,e,s){var n,o;const r=this._editor.getModel();if(!r||!t.length)return;const h=i.allEdits[i.activeEditIndex];if(!h)return;let c=[];c=("string"==typeof h.insertText?""===h.insertText:""===h.insertText.snippet)?[]:t.map((t=>new hO(r.uri,"string"==typeof h.insertText?{range:t,text:h.insertText,insertAsSnippet:!1}:{range:t,text:h.insertText.snippet,insertAsSnippet:!0})));const a={edits:[...c,...null!==(o=null===(n=h.additionalEdit)||void 0===n?void 0:n.edits)&&void 0!==o?o:[]]},l=t[0],u=r.deltaDecorations([],[{range:l,options:{description:"paste-line-suffix",stickiness:0}}]);let d,f;try{d=await this._bulkEditService.apply(a,{editor:this._editor,token:s}),f=r.getDecorationRange(u[0])}finally{r.deltaDecorations(u,[])}e&&d.isApplied&&i.allEdits.length>1&&this.show(null!=f?f:l,i,(async n=>{const o=this._editor.getModel();o&&(await o.undo(),this.applyEditAndShowIfNeeded(t,{activeEditIndex:n,allEdits:i.allEdits},e,s))}))}show(t,i,e){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(F1,this._id,this._editor,this._visibleContext,this._showCommand,t,i,e))}clear(){this._currentWidget.clear()}tryShowSelector(){var t;null===(t=this._currentWidget.value)||void 0===t||t.showSelector()}};T1=M1([L1(4,dr),L1(5,oO)],T1);var R1,O1=function(t,i){return function(e,s){i(e,s,t)}};const I1="editor.changePasteType",_1=new ah("pasteWidgetVisible",!1,rt(0,"Whether the paste widget is showing")),N1="application/vnd.code.copyMetadata";let B1=R1=class extends ie{static get(t){return t.getContribution(R1.ID)}constructor(t,i,e,s,n,o,r){super(),this._bulkEditService=e,this._clipboardService=s,this._languageFeaturesService=n,this._quickInputService=o,this._progressService=r,this._editor=t;const h=t.getContainerDomNode();this._register(Ua(h,"copy",(t=>this.handleCopy(t)))),this._register(Ua(h,"cut",(t=>this.handleCopy(t)))),this._register(Ua(h,"paste",(t=>this.handlePaste(t)),!0)),this._pasteProgressManager=this._register(new E1("pasteIntoEditor",t,i)),this._postPasteWidgetManager=this._register(i.createInstance(T1,"pasteIntoEditor",t,_1,{id:I1,label:rt(0,"Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(t){this._editor.focus();try{this._pasteAsActionContext={preferredId:t},wl().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}isPasteAsEnabled(){return this._editor.getOption(84).enabled&&!this._editor.getOption(90)}handleCopy(t){var i,e;if(!this._editor.hasTextFocus())return;if(At&&this._clipboardService.writeResources([]),!t.clipboardData||!this.isPasteAsEnabled())return;const s=this._editor.getModel(),n=this._editor.getSelections();if(!s||!(null==n?void 0:n.length))return;const o=this._editor.getOption(37);let r=n;const h=1===n.length&&n[0].isEmpty();if(h){if(!o)return;r=[new Ls(r[0].startLineNumber,1,r[0].startLineNumber,1+s.getLineLength(r[0].startLineNumber))]}const c=null===(i=this._editor._getViewModel())||void 0===i?void 0:i.getPlainTextToCopy(n,o,Ct),a={multicursorText:Array.isArray(c)?c:null,pasteOnNewLine:h,mode:null},l=this._languageFeaturesService.documentPasteEditProvider.ordered(s).filter((t=>!!t.prepareDocumentPaste));if(!l.length)return void this.setCopyMetadata(t.clipboardData,{defaultPastePayload:a});const u=b1(t.clipboardData),d=l.flatMap((t=>{var i;return null!==(i=t.copyMimeTypes)&&void 0!==i?i:[]})),f=u1();this.setCopyMetadata(t.clipboardData,{id:f,providerCopyMimeTypes:d,defaultPastePayload:a});const p=oc((async t=>{const i=w(await Promise.all(l.map((async i=>{try{return await i.prepareDocumentPaste(s,r,u,t)}catch(t){return void console.error(t)}}))));i.reverse();for(const t of i)for(const[i,e]of t)u.replace(i,e);return u}));null===(e=this._currentCopyOperation)||void 0===e||e.dataTransferPromise.cancel(),this._currentCopyOperation={handle:f,dataTransferPromise:p}}async handlePaste(t){var i,e;if(!t.clipboardData||!this._editor.hasTextFocus())return;null===(i=this._currentPasteOperation)||void 0===i||i.cancel(),this._currentPasteOperation=void 0;const s=this._editor.getModel(),n=this._editor.getSelections();if(!(null==n?void 0:n.length)||!s)return;if(!this.isPasteAsEnabled())return;const o=this.fetchCopyMetadata(t),r=x1(t.clipboardData);r.delete(N1);const h=[...t.clipboardData.types,...null!==(e=null==o?void 0:o.providerCopyMimeTypes)&&void 0!==e?e:[],Ed.uriList],c=this._languageFeaturesService.documentPasteEditProvider.ordered(s).filter((t=>{var i;return null===(i=t.pasteMimeTypes)||void 0===i?void 0:i.some((t=>g1(t,h)))}));c.length&&(t.preventDefault(),t.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferredId,c,n,r,o):this.doPasteInline(c,n,r,o))}doPasteInline(t,i,e,s){const n=oc((async o=>{const r=this._editor;if(!r.hasModel())return;const h=r.getModel(),c=new SK(r,3,void 0,o);try{if(await this.mergeInDataFromCopy(e,s,c.token),c.token.isCancellationRequested)return;const n=t.filter((t=>P1(t,e)));if(!n.length||1===n.length&&"text"===n[0].id)return void await this.applyDefaultPasteHandler(e,s,c.token);const o=await this.getPasteEdits(n,e,h,i,c.token);if(c.token.isCancellationRequested)return;if(1===o.length&&"text"===o[0].providerId)return void await this.applyDefaultPasteHandler(e,s,c.token);if(o.length){const t="afterPaste"===r.getOption(84).showPasteSelector;return this._postPasteWidgetManager.applyEditAndShowIfNeeded(i,{activeEditIndex:0,allEdits:o},t,c.token)}await this.applyDefaultPasteHandler(e,s,c.token)}finally{c.dispose(),this._currentPasteOperation===n&&(this._currentPasteOperation=void 0)}}));this._pasteProgressManager.showWhile(i[0].getEndPosition(),rt(0,"Running paste handlers. Click to cancel"),n),this._currentPasteOperation=n}showPasteAsPick(t,i,e,s,n){const o=oc((async r=>{const h=this._editor;if(!h.hasModel())return;const c=h.getModel(),a=new SK(h,3,void 0,r);try{if(await this.mergeInDataFromCopy(s,n,a.token),a.token.isCancellationRequested)return;let o=i.filter((t=>P1(t,s)));t&&(o=o.filter((i=>i.id===t)));const r=await this.getPasteEdits(o,s,c,e,a.token);if(a.token.isCancellationRequested)return;if(!r.length)return;let h;if(t)h=r.at(0);else{const t=await this._quickInputService.pick(r.map((t=>({label:t.label,description:t.providerId,detail:t.detail,edit:t}))),{placeHolder:rt(0,"Select Paste Action")});h=null==t?void 0:t.edit}if(!h)return;const l=function(t,i,e){var s,n;return{edits:[...i.map((i=>new hO(t,"string"==typeof e.insertText?{range:i,text:e.insertText,insertAsSnippet:!1}:{range:i,text:e.insertText.snippet,insertAsSnippet:!0}))),...null!==(n=null===(s=e.additionalEdit)||void 0===s?void 0:s.edits)&&void 0!==n?n:[]]}}(c.uri,e,h);await this._bulkEditService.apply(l,{editor:this._editor})}finally{a.dispose(),this._currentPasteOperation===o&&(this._currentPasteOperation=void 0)}}));this._progressService.withProgress({location:10,title:rt(0,"Running paste handlers")},(()=>o))}setCopyMetadata(t,i){t.setData(N1,JSON.stringify(i))}fetchCopyMetadata(t){var i;if(!t.clipboardData)return;const e=t.clipboardData.getData(N1);if(e)try{return JSON.parse(e)}catch(t){return}const[s,n]=Gk.getTextData(t.clipboardData);return n?{defaultPastePayload:{mode:n.mode,multicursorText:null!==(i=n.multicursorText)&&void 0!==i?i:null,pasteOnNewLine:!!n.isFromEmptySelection}}:void 0}async mergeInDataFromCopy(t,i,e){var s;if((null==i?void 0:i.id)&&(null===(s=this._currentCopyOperation)||void 0===s?void 0:s.handle)===i.id){const i=await this._currentCopyOperation.dataTransferPromise;if(e.isCancellationRequested)return;for(const[e,s]of i)t.replace(e,s)}if(!t.has(Ed.uriList)){const i=await this._clipboardService.readResources();if(e.isCancellationRequested)return;i.length&&t.append(Ed.uriList,d1(w1.create(i)))}}async getPasteEdits(t,i,e,s,n){const o=await rc(Promise.all(t.map((async t=>{var o;try{const r=await(null===(o=t.provideDocumentPasteEdits)||void 0===o?void 0:o.call(t,e,s,i,n));if(r)return{...r,providerId:t.id}}catch(t){console.error(t)}}))),n);return C1(w(null!=o?o:[]))}async applyDefaultPasteHandler(t,i,e){var s,n,o;const r=null!==(s=t.get(Ed.text))&&void 0!==s?s:t.get("text");if(!r)return;const h=await r.asString();if(e.isCancellationRequested)return;const c={text:h,pasteOnNewLine:null!==(n=null==i?void 0:i.defaultPastePayload.pasteOnNewLine)&&void 0!==n&&n,multicursorText:null!==(o=null==i?void 0:i.defaultPastePayload.multicursorText)&&void 0!==o?o:null,mode:null};this._editor.trigger("keyboard","paste",c)}};function P1(t,i){var e;return Boolean(null===(e=t.pasteMimeTypes)||void 0===e?void 0:e.some((t=>i.matches(t))))}B1.ID="editor.contrib.copyPasteActionController",B1=R1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([O1(1,dr),O1(2,oO),O1(3,kH),O1(4,Cg),O1(5,Ij),O1(6,jO)],B1);var $1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},W1=function(t,i){return function(e,s){i(e,s,t)}};const j1=rt(0,"Built-in");class z1{async provideDocumentPasteEdits(t,i,e,s){const n=await this.getEdit(e,s);return n?{insertText:n.insertText,label:n.label,detail:n.detail,handledMimeType:n.handledMimeType,yieldTo:n.yieldTo}:void 0}async provideDocumentOnDropEdits(t,i,e,s){const n=await this.getEdit(e,s);return n?{insertText:n.insertText,label:n.label,handledMimeType:n.handledMimeType,yieldTo:n.yieldTo}:void 0}}class H1 extends z1{constructor(){super(...arguments),this.id="text",this.dropMimeTypes=[Ed.text],this.pasteMimeTypes=[Ed.text]}async getEdit(t,i){const e=t.get(Ed.text);if(!e)return;if(t.has(Ed.uriList))return;const s=await e.asString();return{handledMimeType:Ed.text,label:rt(0,"Insert Plain Text"),detail:j1,insertText:s}}}class V1 extends z1{constructor(){super(...arguments),this.id="uri",this.dropMimeTypes=[Ed.uriList],this.pasteMimeTypes=[Ed.uriList]}async getEdit(t,i){const e=await q1(t);if(!e.length||i.isCancellationRequested)return;let s=0;const n=e.map((({uri:t,originalText:i})=>t.scheme===xa.file?t.fsPath:(s++,i))).join(" ");let o;return o=rt(0,s>0?e.length>1?"Insert Uris":"Insert Uri":e.length>1?"Insert Paths":"Insert Path"),{handledMimeType:Ed.uriList,insertText:n,label:o,detail:j1}}}let U1=class extends z1{constructor(t){super(),this._workspaceContextService=t,this.id="relativePath",this.dropMimeTypes=[Ed.uriList],this.pasteMimeTypes=[Ed.uriList]}async getEdit(t,i){const e=await q1(t);if(!e.length||i.isCancellationRequested)return;const s=w(e.map((({uri:t})=>{const i=this._workspaceContextService.getWorkspaceFolder(t);return i?DA(i.uri,t):void 0})));return s.length?{handledMimeType:Ed.uriList,insertText:s.join(" "),label:rt(0,e.length>1?"Insert Relative Paths":"Insert Relative Path"),detail:j1}:void 0}};async function q1(t){const i=t.get(Ed.uriList);if(!i)return[];const e=await i.asString(),s=[];for(const t of w1.parse(e))try{s.push({uri:ws.parse(t),originalText:t})}catch(t){}return s}U1=$1([W1(0,QO)],U1);let K1=class extends ie{constructor(t,i){super(),this._register(t.documentOnDropEditProvider.register("*",new H1)),this._register(t.documentOnDropEditProvider.register("*",new V1)),this._register(t.documentOnDropEditProvider.register("*",new U1(i)))}};K1=$1([W1(0,Cg),W1(1,QO)],K1);let G1=class extends ie{constructor(t,i){super(),this._register(t.documentPasteEditProvider.register("*",new H1)),this._register(t.documentPasteEditProvider.register("*",new V1)),this._register(t.documentPasteEditProvider.register("*",new U1(i)))}};G1=$1([W1(0,Cg),W1(1,QO)],G1),uu(B1.ID,B1,0),ZH(G1),cu(new class extends su{constructor(){super({id:I1,precondition:_1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(t,i,e){var s;return null===(s=B1.get(i))||void 0===s?void 0:s.changePasteType()}}),au(class extends nu{constructor(){super({id:"editor.action.pasteAs",label:rt(0,"Paste As..."),alias:"Paste As...",precondition:void 0,metadata:{description:"Paste as",args:[{name:"args",schema:{type:"object",properties:{id:{type:"string",description:rt(0,"The id of the paste edit to try applying. If not provided, the editor will show a picker.")}}}}]}})}run(t,i,e){var s;const n="string"==typeof(null==e?void 0:e.id)?e.id:void 0;return null===(s=B1.get(i))||void 0===s?void 0:s.pasteAs(n)}});class Z1{constructor(t){this.identifier=t}}const Q1=fr("treeViewsDndService");Sd(Q1,class{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(t){if(t&&this._dragOperations.has(t)){const i=this._dragOperations.get(t);return this._dragOperations.delete(t),i}}},1);var J1,Y1=function(t,i){return function(e,s){i(e,s,t)}};const X1="editor.experimental.dropIntoEditor.defaultProvider",t2="editor.changeDropType",i2=new ah("dropWidgetVisible",!1,rt(0,"Whether the drop widget is showing"));let e2=J1=class extends ie{static get(t){return t.getContribution(J1.ID)}constructor(t,i,e,s,n){super(),this._configService=e,this._languageFeaturesService=s,this._treeViewsDragAndDropService=n,this.treeItemsTransfer=v1.getInstance(),this._dropProgressManager=this._register(i.createInstance(E1,"dropIntoEditor",t)),this._postDropWidgetManager=this._register(i.createInstance(T1,"dropIntoEditor",t,i2,{id:t2,label:rt(0,"Show drop options...")})),this._register(t.onDropIntoEditor((i=>this.onDropIntoEditor(t,i.position,i.event))))}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(t,i,e){var s;if(!e.dataTransfer||!t.hasModel())return;null===(s=this._currentOperation)||void 0===s||s.cancel(),t.focus(),t.setPosition(i);const n=oc((async s=>{const o=new SK(t,1,void 0,s);try{const n=await this.extractDataTransferData(e);if(0===n.size||o.token.isCancellationRequested)return;const r=t.getModel();if(!r)return;const h=this._languageFeaturesService.documentOnDropEditProvider.ordered(r).filter((t=>!t.dropMimeTypes||t.dropMimeTypes.some((t=>n.matches(t))))),c=await this.getDropEdits(h,r,i,n,o);if(o.token.isCancellationRequested)return;if(c.length){const e=this.getInitialActiveEditIndex(r,c),n="afterDrop"===t.getOption(36).showDropSelector;await this._postDropWidgetManager.applyEditAndShowIfNeeded([Ls.fromPositions(i)],{activeEditIndex:e,allEdits:c},n,s)}}finally{o.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}}));this._dropProgressManager.showWhile(i,rt(0,"Running drop handlers. Click to cancel"),n),this._currentOperation=n}async getDropEdits(t,i,e,s,n){const o=await rc(Promise.all(t.map((async t=>{try{const o=await t.provideDocumentOnDropEdits(i,e,s,n.token);if(o)return{...o,providerId:t.id}}catch(t){console.error(t)}}))),n.token);return C1(w(null!=o?o:[]))}getInitialActiveEditIndex(t,i){const e=this._configService.getValue(X1,{resource:t.uri});for(const[t,s]of Object.entries(e)){const e=i.findIndex((i=>s===i.providerId&&i.handledMimeType&&g1(t,[i.handledMimeType])));if(e>=0)return e}return 0}async extractDataTransferData(t){if(!t.dataTransfer)return new f1;const i=x1(t.dataTransfer);if(this.treeItemsTransfer.hasData(Z1.prototype)){const t=this.treeItemsTransfer.getData(Z1.prototype);if(Array.isArray(t))for(const e of t){const t=await this._treeViewsDragAndDropService.removeDragOperationTransfer(e.identifier);if(t)for(const[e,s]of t)i.replace(e,s)}}return i}};e2.ID="editor.contrib.dropIntoEditorController",e2=J1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Y1(1,dr),Y1(2,gd),Y1(3,Cg),Y1(4,Q1)],e2),uu(e2.ID,e2,2),cu(new class extends su{constructor(){super({id:t2,precondition:i2,kbOpts:{weight:100,primary:2137}})}runEditorCommand(t,i,e){var s;null===(s=e2.get(i))||void 0===s||s.changeDropType()}}),ZH(K1),Eh.as(Ld).registerConfiguration({...lO,properties:{[X1]:{type:"object",scope:5,description:rt(0,"Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});class s2{constructor(t){this._editor=t,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 t=this._findScopeDecorationIds.map((t=>this._editor.getModel().getDecorationRange(t))).filter((t=>!!t));if(t.length)return t}return null}getStartPosition(){return this._startPosition}setStartPosition(t){this._startPosition=t,this.setCurrentFindMatch(null)}_getDecorationIndex(t){const i=this._decorations.indexOf(t);return i>=0?i+1:1}getDecorationRangeAt(t){const i=t{if(null!==this._highlightedDecorationId&&(t.changeDecorationOptions(this._highlightedDecorationId,s2._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),null!==i&&(this._highlightedDecorationId=i,t.changeDecorationOptions(this._highlightedDecorationId,s2._CURRENT_FIND_MATCH_DECORATION)),null!==this._rangeHighlightDecorationId&&(t.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),null!==i){let e=this._editor.getModel().getDecorationRange(i);if(e.startLineNumber!==e.endLineNumber&&1===e.endColumn){const t=e.endLineNumber-1,i=this._editor.getModel().getLineMaxColumn(t);e=new Ls(e.startLineNumber,e.startColumn,t,i)}this._rangeHighlightDecorationId=t.addDecoration(e,s2._RANGE_HIGHLIGHT_DECORATION)}})),e}set(t,i){this._editor.changeDecorations((e=>{let s=s2._FIND_MATCH_DECORATION;const n=[];if(t.length>1e3){s=s2._FIND_MATCH_NO_OVERVIEW_DECORATION;const i=this._editor.getModel().getLineCount(),e=this._editor.getLayoutInfo().height,o=Math.max(2,Math.ceil(3/(e/i)));let r=t[0].range.startLineNumber,h=t[0].range.endLineNumber;for(let i=1,e=t.length;i=e.startLineNumber?e.endLineNumber>h&&(h=e.endLineNumber):(n.push({range:new Ls(r,1,h,1),options:s2._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),r=e.startLineNumber,h=e.endLineNumber)}n.push({range:new Ls(r,1,h,1),options:s2._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const o=new Array(t.length);for(let i=0,e=t.length;ie.removeDecoration(t))),this._findScopeDecorationIds=[]),(null==i?void 0:i.length)&&(this._findScopeDecorationIds=i.map((t=>e.addDecoration(t,s2._FIND_SCOPE_DECORATION))))}))}matchBeforePosition(t){if(0===this._decorations.length)return null;for(let i=this._decorations.length-1;i>=0;i--){const e=this._decorations[i],s=this._editor.getModel().getDecorationRange(e);if(s&&!(s.endLineNumber>t.lineNumber)){if(s.endLineNumbert.column))return s}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(t){if(0===this._decorations.length)return null;for(let i=0,e=this._decorations.length;it.lineNumber)return s;if(!(s.startColumn0){const t=[];for(let i=0;iLs.compareRangesUsingStarts(t.range,i.range)));const e=[];let s=t[0];for(let i=1;i0?i[0].toUpperCase()+i.substr(1):t[0][0].toUpperCase()!==t[0][0]&&i.length>0?i[0].toLowerCase()+i.substr(1):i}return i}function r2(t,i,e){return-1!==t[0].indexOf(e)&&-1!==i.indexOf(e)&&t[0].split(e).length===i.split(e).length}function h2(t,i,e){const s=i.split(e),n=t[0].split(e);let o="";return s.forEach(((t,i)=>{o+=o2([n[i]],t)+e})),o.slice(0,-1)}class c2{constructor(t){this.staticValue=t,this.kind=0}}class a2{constructor(t){this.pieces=t,this.kind=1}}class l2{static fromStaticValue(t){return new l2([u2.staticValue(t)])}get hasReplacementPatterns(){return 1===this._state.kind}constructor(t){this._state=t&&0!==t.length?1===t.length&&null!==t[0].staticValue?new c2(t[0].staticValue):new a2(t):new c2("")}buildReplaceString(t,i){if(0===this._state.kind)return i?o2(t,this._state.staticValue):this._state.staticValue;let e="";for(let i=0,s=this._state.pieces.length;i0){const t=[],i=s.caseOps.length;let e=0;for(let o=0,r=n.length;o=i){t.push(n.slice(o));break}switch(s.caseOps[e]){case"U":t.push(n[o].toUpperCase());break;case"u":t.push(n[o].toUpperCase()),e++;break;case"L":t.push(n[o].toLowerCase());break;case"l":t.push(n[o].toLowerCase()),e++;break;default:t.push(n[o])}}n=t.join("")}e+=n}return e}static _substitute(t,i){if(null===i)return"";if(0===t)return i[0];let e="";for(;t>0;){if(tthis.research(!1)),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition((t=>{3!==t.reason&&5!==t.reason&&6!==t.reason||this._decorations.setStartPosition(this._editor.getPosition())}))),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent((t=>{this._ignoreModelContentChanged||(t.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())}))),this._toDispose.add(this._state.onFindReplaceStateChange((t=>this._onStateChanged(t)))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,Ji(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(t){!this._isDisposed&&this._editor.hasModel()&&(t.searchString||t.isReplaceRevealed||t.isRegex||t.wholeWord||t.matchCase||t.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet((()=>{t.searchScope?this.research(t.moveCursor,this._state.searchScope):this.research(t.moveCursor)}),240)):t.searchScope?this.research(t.moveCursor,this._state.searchScope):this.research(t.moveCursor))}static _getSearchRange(t,i){return i||t.getFullModelRange()}research(t,i){let e=null;void 0!==i?null!==i&&(e=Array.isArray(i)?i:[i]):e=this._decorations.getFindScopes(),null!==e&&(e=e.map((t=>{if(t.startLineNumber!==t.endLineNumber){let i=t.endLineNumber;return 1===t.endColumn&&(i-=1),new Ls(t.startLineNumber,1,i,this._editor.getModel().getLineMaxColumn(i))}return t})));const s=this._findMatches(e,!1,T2);this._decorations.set(s,e);const n=this._editor.getSelection();let o=this._decorations.getCurrentMatchesPosition(n);if(0===o&&s.length>0){const t=lp(s.map((t=>t.range)),(t=>Ls.compareRangesUsingStarts(t,n)>=0));o=t>0?t-1+1:o}this._state.changeMatchInfo(o,this._decorations.getCount(),void 0),t&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const t=this._decorations.getFindScope();return t&&this._editor.revealRangeInCenterIfOutsideViewport(t,0),!0}return!1}_setCurrentFindMatch(t){const i=this._decorations.setCurrentFindMatch(t);this._state.changeMatchInfo(i,this._decorations.getCount(),t),this._editor.setSelection(t),this._editor.revealRangeInCenterIfOutsideViewport(t,0)}_prevSearchPosition(t){const i=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:e,column:s}=t;const n=this._editor.getModel();return i||1===s?(1===e?e=n.getLineCount():e--,s=n.getLineMaxColumn(e)):s--,new Ms(e,s)}_moveToPrevMatch(t,i=!1){if(!this._state.canNavigateBack()){const i=this._decorations.matchAfterPosition(t);return void(i&&this._setCurrentFindMatch(i))}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:e,column:s}=t;const n=this._editor.getModel();return i||s===n.getLineMaxColumn(e)?(e===n.getLineCount()?e=1:e++,s=1):s++,new Ms(e,s)}_moveToNextMatch(t){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(t);return void(i&&this._setCurrentFindMatch(i))}if(this._decorations.getCount()=n)break;const o=t.charCodeAt(s);if(36===o){e.emitUnchanged(s-1),e.emitStatic("$",s+1);continue}if(48===o||38===o){e.emitUnchanged(s-1),e.emitMatchIndex(0,s+1,i),i.length=0;continue}if(49<=o&&o<=57){let r=o-48;if(s+1=n)break;const o=t.charCodeAt(s);switch(o){case 92:e.emitUnchanged(s-1),e.emitStatic("\\",s+1);break;case 110:e.emitUnchanged(s-1),e.emitStatic("\n",s+1);break;case 116:e.emitUnchanged(s-1),e.emitStatic("\t",s+1);break;case 117:case 85:case 108:case 76:e.emitUnchanged(s-1),e.emitStatic("",s+1),i.push(String.fromCharCode(o))}}}return e.finalize()}(this._state.replaceString):l2.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const t=this._getReplacePattern(),i=this._editor.getSelection(),e=this._getNextMatch(i.getStartPosition(),!0,!1);if(e)if(i.equalsRange(e.range)){const s=t.buildReplaceString(e.matches,this._state.preserveCase),n=new CC(i,s);this._executeEditorCommand("replace",n),this._decorations.setStartPosition(new Ms(i.startLineNumber,i.startColumn+s.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(e.range)}_findMatches(t,i,e){const s=(t||[null]).map((t=>R2._getSearchRange(this._editor.getModel(),t)));return this._editor.getModel().findMatches(this._state.searchString,s,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(129):null,i,e)}replaceAll(){if(!this._hasMatches())return;const t=this._decorations.getFindScopes();null===t&&this._state.matchesCount>=T2?this._largeReplaceAll():this._regularReplaceAll(t),this.research(!1)}_largeReplaceAll(){const t=new Gf(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(129):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let t="mu";i.ignoreCase&&(t+="i"),i.global&&(t+="g"),i=new RegExp(i.source,t)}const e=this._editor.getModel(),s=e.getValue(1),n=e.getFullModelRange(),o=this._getReplacePattern();let r;const h=this._state.preserveCase;r=s.replace(i,o.hasReplacementPatterns||h?function(){return o.buildReplaceString(arguments,h)}:o.buildReplaceString(null,h));const c=new AC(n,r,this._editor.getSelection());this._executeEditorCommand("replaceAll",c)}_regularReplaceAll(t){const i=this._getReplacePattern(),e=this._findMatches(t,i.hasReplacementPatterns||this._state.preserveCase,1073741824),s=[];for(let t=0,n=e.length;tt.range)),s);this._executeEditorCommand("replaceAll",n)}selectAllMatches(){if(!this._hasMatches())return;const t=this._decorations.getFindScopes();let i=this._findMatches(t,!1,1073741824).map((t=>new Fs(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn)));const e=this._editor.getSelection();for(let t=0,s=i.length;tthis._hide()),2e3)),this._isVisible=!1,this._editor=t,this._state=i,this._keybindingService=e,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 s={inputActiveOptionBorder:lw(Ew),inputActiveOptionForeground:lw(Mw),inputActiveOptionBackground:lw(Aw)};this.caseSensitive=this._register(new r$({appendTitle:this._keybindingLabelFor(S2),isChecked:this._state.matchCase,...s})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange((()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)}))),this.wholeWords=this._register(new h$({appendTitle:this._keybindingLabelFor(D2),isChecked:this._state.wholeWord,...s})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange((()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)}))),this.regex=this._register(new c$({appendTitle:this._keybindingLabelFor(E2),isChecked:this._state.isRegex,...s})),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((t=>{let i=!1;t.isRegex&&(this.regex.checked=this._state.isRegex,i=!0),t.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,i=!0),t.matchCase&&(this.caseSensitive.checked=this._state.matchCase,i=!0),!this._state.isRevealed&&i&&this._revealTemporarily()}))),this._register(Ua(this._domNode,Fl.MOUSE_LEAVE,(()=>this._onMouseLeave()))),this._register(Ua(this._domNode,"mouseover",(()=>this._onMouseOver())))}_keybindingLabelFor(t){const i=this._keybindingService.lookupKeybinding(t);return i?` (${i.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return O2.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")}}function I2(t,i){return 1===t||2!==t&&i}O2.ID="editor.contrib.findOptionsWidget";class _2 extends ie{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return I2(this._isRegexOverride,this._isRegex)}get wholeWord(){return I2(this._wholeWordOverride,this._wholeWord)}get matchCase(){return I2(this._matchCaseOverride,this._matchCase)}get preserveCase(){return I2(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 fe),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(t,i,e){const s={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 n=!1;0===i&&(t=0),t>i&&(t=i),this._matchesPosition!==t&&(this._matchesPosition=t,s.matchesPosition=!0,n=!0),this._matchesCount!==i&&(this._matchesCount=i,s.matchesCount=!0,n=!0),void 0!==e&&(Ls.equalsRange(this._currentMatch,e)||(this._currentMatch=e,s.currentMatch=!0,n=!0)),n&&this._onFindReplaceStateChange.fire(s)}change(t,i,e=!0){var s;const n={moveCursor:i,updateHistory:e,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 o=!1;const r=this.isRegex,h=this.wholeWord,c=this.matchCase,a=this.preserveCase;void 0!==t.searchString&&this._searchString!==t.searchString&&(this._searchString=t.searchString,n.searchString=!0,o=!0),void 0!==t.replaceString&&this._replaceString!==t.replaceString&&(this._replaceString=t.replaceString,n.replaceString=!0,o=!0),void 0!==t.isRevealed&&this._isRevealed!==t.isRevealed&&(this._isRevealed=t.isRevealed,n.isRevealed=!0,o=!0),void 0!==t.isReplaceRevealed&&this._isReplaceRevealed!==t.isReplaceRevealed&&(this._isReplaceRevealed=t.isReplaceRevealed,n.isReplaceRevealed=!0,o=!0),void 0!==t.isRegex&&(this._isRegex=t.isRegex),void 0!==t.wholeWord&&(this._wholeWord=t.wholeWord),void 0!==t.matchCase&&(this._matchCase=t.matchCase),void 0!==t.preserveCase&&(this._preserveCase=t.preserveCase),void 0!==t.searchScope&&((null===(s=t.searchScope)||void 0===s?void 0:s.every((t=>{var i;return null===(i=this._searchScope)||void 0===i?void 0:i.some((i=>!Ls.equalsRange(i,t)))})))||(this._searchScope=t.searchScope,n.searchScope=!0,o=!0)),void 0!==t.loop&&this._loop!==t.loop&&(this._loop=t.loop,n.loop=!0,o=!0),void 0!==t.isSearching&&this._isSearching!==t.isSearching&&(this._isSearching=t.isSearching,n.isSearching=!0,o=!0),void 0!==t.filters&&(this._filters?this._filters.update(t.filters):this._filters=t.filters,n.filters=!0,o=!0),this._isRegexOverride=void 0!==t.isRegexOverride?t.isRegexOverride:0,this._wholeWordOverride=void 0!==t.wholeWordOverride?t.wholeWordOverride:0,this._matchCaseOverride=void 0!==t.matchCaseOverride?t.matchCaseOverride:0,this._preserveCaseOverride=void 0!==t.preserveCaseOverride?t.preserveCaseOverride:0,r!==this.isRegex&&(o=!0,n.isRegex=!0),h!==this.wholeWord&&(o=!0,n.wholeWord=!0),c!==this.matchCase&&(o=!0,n.matchCase=!0),a!==this.preserveCase&&(o=!0,n.preserveCase=!0),o&&this._onFindReplaceStateChange.fire(n)}canNavigateBack(){return this.canNavigateInLoop()||1!==this.matchesPosition}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=T2}}const N2=rt(0,"input"),B2=rt(0,"Preserve Case");class P2 extends e${constructor(t){super({icon:Is.preserveCase,title:B2+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}class $2 extends gk{constructor(t,i,e,s){super(),this._showOptionButtons=e,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new fe),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new fe),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new fe),this._onInput=this._register(new fe),this._onKeyUp=this._register(new fe),this._onPreserveCaseKeyDown=this._register(new fe),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=i,this.placeholder=s.placeholder||"",this.validation=s.validation,this.label=s.label||N2;const n=s.appendPreserveCaseLabel||"",o=s.history||[],r=!!s.flexibleHeight,h=!!s.flexibleWidth,c=s.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new f$(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:o,showHistoryHint:s.showHistoryHint,flexibleHeight:r,flexibleWidth:h,flexibleMaxHeight:c,inputBoxStyles:s.inputBoxStyles})),this.preserveCase=this._register(new P2({appendTitle:n,isChecked:!1,...s.toggleStyles})),this._register(this.preserveCase.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.preserveCase.onKeyDown((t=>{this._onPreserveCaseKeyDown.fire(t)}))),this.cachedOptionsWidth=this._showOptionButtons?this.preserveCase.width():0;const a=[this.preserveCase.domNode];this.onkeydown(this.domNode,(t=>{if(t.equals(15)||t.equals(17)||t.equals(9)){const i=a.indexOf(this.domNode.ownerDocument.activeElement);if(i>=0){let e=-1;t.equals(17)?e=(i+1)%a.length:t.equals(15)&&(e=0===i?a.length-1:i-1),t.equals(9)?(a[i].blur(),this.inputBox.focus()):e>=0&&a[e].focus(),Tl(t,!0)}}}));const l=document.createElement("div");l.className="controls",l.style.display=this._showOptionButtons?"block":"none",l.appendChild(this.preserveCase.domNode),this.domNode.appendChild(l),null==t||t.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,(t=>this._onKeyDown.fire(t))),this.onkeyup(this.inputBox.inputElement,(t=>this._onKeyUp.fire(t))),this.oninput(this.inputBox.inputElement,(()=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(t=>this._onMouseDown.fire(t)))}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(t){t?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(t){this.preserveCase.checked=t}focusOnPreserve(){this.preserveCase.focus()}validate(){var t;null===(t=this.inputBox)||void 0===t||t.validate()}set width(t){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=t+"px"}dispose(){super.dispose()}}var W2=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},j2=function(t,i){return function(e,s){i(e,s,t)}};const z2=new ah("suggestWidgetVisible",!1,rt(0,"Whether suggestion are visible")),H2="historyNavigationWidgetFocus",V2="historyNavigationForwardsEnabled",U2="historyNavigationBackwardsEnabled";let q2;const K2=[];function G2(t,i){if(K2.includes(i))throw new Error("Cannot register the same widget multiple times");K2.push(i);const e=new te,s=new ah(H2,!1).bindTo(t),n=new ah(V2,!0).bindTo(t),o=new ah(U2,!0).bindTo(t),r=()=>{s.set(!0),q2=i},h=()=>{s.set(!1),q2===i&&(q2=void 0)};return ml(i.element)&&r(),e.add(i.onDidFocus((()=>r()))),e.add(i.onDidBlur((()=>h()))),e.add(Xi((()=>{K2.splice(K2.indexOf(i),1),h()}))),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:o,dispose(){e.dispose()}}}let Z2=class extends g${constructor(t,i,e,s){super(t,i,e);const n=this._register(s.createScoped(this.inputBox.element));this._register(G2(n,this.inputBox))}};Z2=W2([j2(3,lh)],Z2);let Q2=class extends $2{constructor(t,i,e,s,n=!1){super(t,i,n,e);const o=this._register(s.createScoped(this.inputBox.element));this._register(G2(o,this.inputBox))}};function J2(t){var i,e;return"Up"===(null===(i=t.lookupKeybinding("history.showPrevious"))||void 0===i?void 0:i.getElectronAccelerator())&&"Down"===(null===(e=t.lookupKeybinding("history.showNext"))||void 0===e?void 0:e.getElectronAccelerator())}Q2=W2([j2(3,lh)],Q2),Mh.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:Hr.and(Hr.has(H2),Hr.equals(U2,!0),Hr.not("isComposing"),z2.isEqualTo(!1)),primary:16,secondary:[528],handler:()=>{null==q2||q2.showPreviousValue()}}),Mh.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:Hr.and(Hr.has(H2),Hr.equals(V2,!0),Hr.not("isComposing"),z2.isEqualTo(!1)),primary:18,secondary:[530],handler:()=>{null==q2||q2.showNextValue()}});const Y2=Vz("find-selection",Is.selection,rt(0,"Icon for 'Find in Selection' in the editor find widget.")),X2=Vz("find-collapsed",Is.chevronRight,rt(0,"Icon to indicate that the editor find widget is collapsed.")),t4=Vz("find-expanded",Is.chevronDown,rt(0,"Icon to indicate that the editor find widget is expanded.")),i4=Vz("find-replace",Is.replace,rt(0,"Icon for 'Replace' in the editor find widget.")),e4=Vz("find-replace-all",Is.replaceAll,rt(0,"Icon for 'Replace All' in the editor find widget.")),s4=Vz("find-previous-match",Is.arrowUp,rt(0,"Icon for 'Find Previous' in the editor find widget.")),n4=Vz("find-next-match",Is.arrowDown,rt(0,"Icon for 'Find Next' in the editor find widget.")),o4=rt(0,"Find / Replace"),r4=rt(0,"Find"),h4=rt(0,"Find"),c4=rt(0,"Previous Match"),a4=rt(0,"Next Match"),l4=rt(0,"Find in Selection"),u4=rt(0,"Close"),d4=rt(0,"Replace"),f4=rt(0,"Replace"),p4=rt(0,"Replace"),g4=rt(0,"Replace All"),m4=rt(0,"Toggle Replace"),w4=rt(0,"Only the first {0} results are highlighted, but all find operations work on the entire text.",T2),v4=rt(0,"{0} of {1}"),b4=rt(0,"No results"),y4=419;let k4=69;const x4="ctrlEnterReplaceAll.windows.donotask",C4=St?256:2048;class S4{constructor(t){this.afterLineNumber=t,this.heightInPx=33,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function D4(t,i,e){const s=!!i.match(/\n/);e&&s&&e.selectionStart>0&&t.stopPropagation()}function E4(t,i,e){const s=!!i.match(/\n/);e&&s&&e.selectionEndthis._updateHistoryDelayer.cancel()))),this._register(this._state.onFindReplaceStateChange((t=>this._onStateChanged(t)))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration((t=>{if(t.hasChanged(90)&&(this._codeEditor.getOption(90)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),t.hasChanged(143)&&this._tryUpdateWidgetWidth(),t.hasChanged(2)&&this.updateAccessibilitySupport(),t.hasChanged(41)){const t=this._codeEditor.getOption(41).loop;this._state.change({loop:t},!1);const i=this._codeEditor.getOption(41).addExtraSpaceOnTop;i&&!this._viewZone&&(this._viewZone=new S4(0),this._showViewZone()),!i&&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 t=await this._controller.getGlobalBufferTerm();t&&t!==this._state.searchString&&(this._state.change({searchString:t},!1),this._findInput.select())}}))),this._findInputFocused=p2.bindTo(o),this._findFocusTracker=this._register(Ol(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=g2.bindTo(o),this._replaceFocusTracker=this._register(Ol(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 S4(0)),this._register(this._codeEditor.onDidChangeModel((()=>{this._isVisible&&(this._viewZoneId=void 0)}))),this._register(this._codeEditor.onDidScrollChange((t=>{t.scrollTopChanged?this._layoutViewZone():setTimeout((()=>{this._layoutViewZone()}),0)})))}getId(){return A4.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(t){if(t.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}t.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),t.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),t.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getOption(90)||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInput.width=rl(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(t.isRevealed||t.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),t.isRegex&&this._findInput.setRegex(this._state.isRegex),t.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),t.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),t.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),t.searchScope&&(this._toggleSelectionFind.checked=!!this._state.searchScope,this._updateToggleSelectionFindButton()),(t.searchString||t.matchesCount||t.matchesPosition)&&(this._domNode.classList.toggle("no-results",this._state.searchString.length>0&&0===this._state.matchesCount),this._updateMatchesCount(),this._updateButtons()),(t.searchString||t.currentMatch)&&this._layoutViewZone(),t.updateHistory&&this._delayedUpdateHistory(),t.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,Pi)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){let t;if(this._matchesCount.style.minWidth=k4+"px",this._matchesCount.title=this._state.matchesCount>=T2?w4:"",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild),this._state.matchesCount>0){let i=String(this._state.matchesCount);this._state.matchesCount>=T2&&(i+="+");let e=String(this._state.matchesPosition);"0"===e&&(e="?"),t=Kn(v4,e,i)}else t=b4;this._matchesCount.appendChild(document.createTextNode(t)),$m(this._getAriaLabel(t,this._state.currentMatch,this._state.searchString)),k4=Math.max(k4,this._matchesCount.clientWidth)}_getAriaLabel(t,i,e){if(t===b4)return""===e?rt(0,"{0} found",t):rt(0,"{0} found for '{1}'",t,e);if(i){const s=rt(0,"{0} found for '{1}', at {2}",t,e,i.startLineNumber+":"+i.startColumn),n=this._codeEditor.getModel();return n&&i.startLineNumber<=n.getLineCount()&&i.startLineNumber>=1?`${n.getLineContent(i.startLineNumber)}, ${s}`:s}return rt(0,"{0} found for '{1}'",t,e)}_updateToggleSelectionFindButton(){const t=this._codeEditor.getSelection();this._isVisible&&(this._toggleSelectionFind.checked||t&&(t.startLineNumber!==t.endLineNumber||t.startColumn!==t.endColumn))?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 t=this._state.searchString.length>0,i=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&t&&i&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&t&&i&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&t),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&t),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const e=!this._codeEditor.getOption(90);this._toggleReplaceBtn.setEnabled(this._isVisible&&e)}_reveal(){if(this._revealTimeouts.forEach((t=>{clearTimeout(t)})),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const t=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":this._toggleSelectionFind.checked=!!t&&t.startLineNumber!==t.endLineNumber}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 i=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&t){const e=this._codeEditor.getDomNode();if(e){const s=ol(e),n=this._codeEditor.getScrolledVisiblePosition(t.getStartPosition()),o=s.left+(n?n.left:0);if(this._viewZone&&(n?n.top:0)t.startLineNumber&&(i=!1);const e=nl(this._domNode).left;o>e&&(i=!1);const n=this._codeEditor.getScrolledVisiblePosition(t.getEndPosition());s.left+(n?n.left:0)>e&&(i=!1)}}}this._showViewZone(i)}}_hide(t){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(),t&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(t){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return void this._removeViewZone();if(!this._isVisible)return;const i=this._viewZone;void 0===this._viewZoneId&&i&&this._codeEditor.changeViewZones((e=>{i.heightInPx=this._getHeight(),this._viewZoneId=e.addZone(i),this._codeEditor.setScrollTop(t||this._codeEditor.getScrollTop()+i.heightInPx)}))}_showViewZone(t=!0){if(!this._isVisible)return;if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;void 0===this._viewZone&&(this._viewZone=new S4(0));const i=this._viewZone;this._codeEditor.changeViewZones((e=>{if(void 0!==this._viewZoneId){const s=this._getHeight();if(s===i.heightInPx)return;const n=s-i.heightInPx;return i.heightInPx=s,e.layoutZone(this._viewZoneId),void(t&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+n))}{let s=this._getHeight();if(s-=this._codeEditor.getOption(83).top,s<=0)return;i.heightInPx=s,this._viewZoneId=e.addZone(i),t&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+s)}}))}_removeViewZone(){this._codeEditor.changeViewZones((t=>{void 0!==this._viewZoneId&&(t.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)return;if(!this._domNode.isConnected)return;const t=this._codeEditor.getLayoutInfo();if(t.contentWidth<=0)return void this._domNode.classList.add("hiddenEditor");this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const i=t.width,e=t.minimap.minimapWidth;let s=!1,n=!1,o=!1;if(this._resized&&rl(this._domNode)>y4)return this._domNode.style.maxWidth=i-28-e-15+"px",void(this._replaceInput.width=rl(this._findInput.domNode));if(447+e>=i&&(n=!0),447+e-k4>=i&&(o=!0),447+e-k4>=i+50&&(s=!0),this._domNode.classList.toggle("collapsed-find-widget",s),this._domNode.classList.toggle("narrow-find-widget",o),this._domNode.classList.toggle("reduced-find-widget",n),o||s||(this._domNode.style.maxWidth=i-28-e-15+"px"),this._findInput.layout({collapsedFindWidget:s,narrowFindWidget:o,reducedFindWidget:n}),this._resized){const t=this._findInput.inputBox.element.clientWidth;t>0&&(this._replaceInput.width=t)}else this._isReplaceVisible&&(this._replaceInput.width=rl(this._findInput.domNode))}_getHeight(){let t=0;return t+=4,t+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(t+=4,t+=this._replaceInput.inputBox.height+2),t+=4,t}_tryUpdateHeight(){const t=this._getHeight();return(null===this._cachedHeight||this._cachedHeight!==t)&&(this._cachedHeight=t,this._domNode.style.height=`${t}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 t=this._codeEditor.getSelections();t.map((t=>(1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.startLineNumber===t.endLineNumber||Ls.equalsRange(t,this._state.currentMatch)?null:t))).filter((t=>!!t)),t.length&&this._state.change({searchScope:t},!0)}}_onFindInputMouseDown(t){t.middleButton&&t.stopPropagation()}_onFindInputKeyDown(t){return t.equals(3|C4)?(this._keybindingService.dispatchEvent(t,t.target)||this._findInput.inputBox.insertAtCursor("\n"),void t.preventDefault()):t.equals(2)?(this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),void t.preventDefault()):t.equals(2066)?(this._codeEditor.focus(),void t.preventDefault()):t.equals(16)?D4(t,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):t.equals(18)?E4(t,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):void 0}_onReplaceInputKeyDown(t){return t.equals(3|C4)?(this._keybindingService.dispatchEvent(t,t.target)||(Ct&&Et&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(rt(0,"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(x4,!0,0,0)),this._replaceInput.inputBox.insertAtCursor("\n")),void t.preventDefault()):t.equals(2)?(this._findInput.focusOnCaseSensitive(),void t.preventDefault()):t.equals(1026)?(this._findInput.focus(),void t.preventDefault()):t.equals(2066)?(this._codeEditor.focus(),void t.preventDefault()):t.equals(16)?D4(t,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):t.equals(18)?E4(t,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):void 0}getVerticalSashLeft(t){return 0}_keybindingLabelFor(t){const i=this._keybindingService.lookupKeybinding(t);return i?` (${i.getLabel()})`:""}_buildDomNode(){const t=!0,i=!0;this._findInput=this._register(new Z2(null,this._contextViewProvider,{width:221,label:r4,placeholder:h4,appendCaseSensitiveLabel:this._keybindingLabelFor(S2),appendWholeWordsLabel:this._keybindingLabelFor(D2),appendRegexLabel:this._keybindingLabelFor(E2),validation:t=>{if(0===t.length||!this._findInput.getRegex())return null;try{return null}catch(t){return{content:t.message}}},flexibleHeight:t,flexibleWidth:i,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>J2(this._keybindingService),inputBoxStyles:_B,toggleStyles:IB},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((t=>this._onFindInputKeyDown(t)))),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((t=>{t.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),t.preventDefault())}))),this._register(this._findInput.onRegexKeyDown((t=>{t.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),t.preventDefault())}))),this._register(this._findInput.inputBox.onDidHeightChange((()=>{this._tryUpdateHeight()&&this._showViewZone()}))),Dt&&this._register(this._findInput.onMouseDown((t=>this._onFindInputMouseDown(t)))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount(),this._prevBtn=this._register(new M4({label:c4+this._keybindingLabelFor(x2),icon:s4,onTrigger:()=>{G(this._codeEditor.getAction(x2)).run().then(void 0,Pi)}})),this._nextBtn=this._register(new M4({label:a4+this._keybindingLabelFor(k2),icon:n4,onTrigger:()=>{G(this._codeEditor.getAction(k2)).run().then(void 0,Pi)}}));const e=document.createElement("div");e.className="find-part",e.appendChild(this._findInput.domNode);const s=document.createElement("div");s.className="find-actions",e.appendChild(s),s.appendChild(this._matchesCount),s.appendChild(this._prevBtn.domNode),s.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new e$({icon:Y2,title:l4+this._keybindingLabelFor(A2),isChecked:!1,inputActiveOptionBackground:lw(Aw),inputActiveOptionBorder:lw(Ew),inputActiveOptionForeground:lw(Mw)})),this._register(this._toggleSelectionFind.onChange((()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){const t=this._codeEditor.getSelections();t.map((t=>(1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t))).filter((t=>!!t)),t.length&&this._state.change({searchScope:t},!0)}}else this._state.change({searchScope:null},!0)}))),s.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new M4({label:u4+this._keybindingLabelFor(C2),icon:Zz,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:t=>{t.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),t.preventDefault())}})),this._replaceInput=this._register(new Q2(null,void 0,{label:d4,placeholder:f4,appendPreserveCaseLabel:this._keybindingLabelFor(M2),history:[],flexibleHeight:t,flexibleWidth:i,flexibleMaxHeight:118,showHistoryHint:()=>J2(this._keybindingService),inputBoxStyles:_B,toggleStyles:IB},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown((t=>this._onReplaceInputKeyDown(t)))),this._register(this._replaceInput.inputBox.onDidChange((()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)}))),this._register(this._replaceInput.inputBox.onDidHeightChange((()=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()}))),this._register(this._replaceInput.onDidOptionChange((()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)}))),this._register(this._replaceInput.onPreserveCaseKeyDown((t=>{t.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(),t.preventDefault())}))),this._replaceBtn=this._register(new M4({label:p4+this._keybindingLabelFor(L2),icon:i4,onTrigger:()=>{this._controller.replace()},onKeyDown:t=>{t.equals(1026)&&(this._closeBtn.focus(),t.preventDefault())}})),this._replaceAllBtn=this._register(new M4({label:g4+this._keybindingLabelFor(F2),icon:e4,onTrigger:()=>{this._controller.replaceAll()}}));const n=document.createElement("div");n.className="replace-part",n.appendChild(this._replaceInput.domNode);const o=document.createElement("div");o.className="replace-actions",n.appendChild(o),o.appendChild(this._replaceBtn.domNode),o.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new M4({label:m4,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=rl(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=o4,this._domNode.role="dialog",this._domNode.style.width="419px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(e),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(n),this._resizeSash=new UP(this._domNode,this,{orientation:0,size:2}),this._resized=!1;let r=y4;this._register(this._resizeSash.onDidStart((()=>{r=rl(this._domNode)}))),this._register(this._resizeSash.onDidChange((t=>{this._resized=!0;const i=r+t.startX-t.currentX;i(parseFloat(tl(this._domNode).maxWidth)||0)||(this._domNode.style.width=`${i}px`,this._isReplaceVisible&&(this._replaceInput.width=rl(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())}))),this._register(this._resizeSash.onDidReset((()=>{const t=rl(this._domNode);if(t{this._opts.onTrigger(),t.preventDefault()})),this.onkeydown(this._domNode,(t=>{var i,e;if(t.equals(10)||t.equals(3))return this._opts.onTrigger(),void t.preventDefault();null===(e=(i=this._opts).onKeyDown)||void 0===e||e.call(i,t)}))}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(t){this._domNode.classList.toggle("disabled",!t),this._domNode.setAttribute("aria-disabled",String(!t)),this._domNode.tabIndex=t?0:-1}setExpanded(t){this._domNode.setAttribute("aria-expanded",String(!!t)),t?(this._domNode.classList.remove(...Sr.asClassNameArray(X2)),this._domNode.classList.add(...Sr.asClassNameArray(t4))):(this._domNode.classList.remove(...Sr.asClassNameArray(t4)),this._domNode.classList.add(...Sr.asClassNameArray(X2)))}}ox(((t,i)=>{const e=(t,e)=>{e&&i.addRule(`.monaco-editor ${t} { background-color: ${e}; }`)};e(".findMatch",t.getColor(Fv)),e(".currentFindMatch",t.getColor(Lv)),e(".findScope",t.getColor(Tv)),e(".find-widget",t.getColor(dv));const s=t.getColor(kw);s&&i.addRule(`.monaco-editor .find-widget { box-shadow: 0 0 8px 2px ${s}; }`);const n=t.getColor(xw);n&&i.addRule(`.monaco-editor .find-widget { border-left: 1px solid ${n}; border-right: 1px solid ${n}; border-bottom: 1px solid ${n}; }`);const o=t.getColor(Ov);o&&i.addRule(`.monaco-editor .findMatch { border: 1px ${Hy(t.type)?"dotted":"solid"} ${o}; box-sizing: border-box; }`);const r=t.getColor(Rv);r&&i.addRule(`.monaco-editor .currentFindMatch { border: 2px solid ${r}; padding: 1px; box-sizing: border-box; }`);const h=t.getColor(Iv);h&&i.addRule(`.monaco-editor .findScope { border: 1px ${Hy(t.type)?"dashed":"solid"} ${h}; }`);const c=t.getColor(vw);c&&i.addRule(`.monaco-editor .find-widget { border: 1px solid ${c}; }`);const a=t.getColor(fv);a&&i.addRule(`.monaco-editor .find-widget { color: ${a}; }`);const l=t.getColor(gw);l&&i.addRule(`.monaco-editor .find-widget.no-results .matchesCount { color: ${l}; }`);const u=t.getColor(gv);if(u)i.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${u}; }`);else{const e=t.getColor(pv);e&&i.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${e}; }`)}const d=t.getColor(Bb);d&&i.addRule(`\n\t\t.monaco-editor .find-widget .button:not(.disabled):hover,\n\t\t.monaco-editor .find-widget .codicon-find-selection:hover {\n\t\t\tbackground-color: ${d} !important;\n\t\t}\n\t`);const f=t.getColor(ww);f&&i.addRule(`.monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: ${f}; }`)}));var L4,F4=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},T4=function(t,i){return function(e,s){i(e,s,t)}};function R4(t,i="single",e=!1){if(!t.hasModel())return null;const s=t.getSelection();if("single"===i&&s.startLineNumber===s.endLineNumber||"multiple"===i)if(s.isEmpty()){const i=t.getConfiguredWordAtPosition(s.getStartPosition());if(i&&!1===e)return i.word}else if(t.getModel().getValueLengthInRange(s)<524288)return t.getModel().getValueInRange(s);return null}let O4=L4=class extends ie{get editor(){return this._editor}static get(t){return t.getContribution(L4.ID)}constructor(t,i,e,s,n){super(),this._editor=t,this._findWidgetVisible=f2.bindTo(i),this._contextKeyService=i,this._storageService=e,this._clipboardService=s,this._notificationService=n,this._updateHistoryDelayer=new cc(500),this._state=this._register(new _2),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange((t=>this._onStateChanged(t)))),this._model=null,this._register(this._editor.onDidChangeModel((()=>{const t=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),t&&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(t){this.saveQueryState(t),t.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),t.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(t){t.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),t.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),t.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),t.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!!p2.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()){const t=this._editor.getSelections();t.map((t=>(1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t))).filter((t=>!!t)),t.length&&this._state.change({searchScope:t},!0)}}setSearchString(t){this._state.isRegex&&(t=Zn(t)),this._state.change({searchString:t},!1)}highlightFindOptions(t=!1){}async _start(t,i){if(this.disposeModel(),!this._editor.hasModel())return;const e={...i,isRevealed:!0};if("single"===t.seedSearchStringFromSelection){const i=R4(this._editor,t.seedSearchStringFromSelection,t.seedSearchStringFromNonEmptySelection);i&&(e.searchString=this._state.isRegex?Zn(i):i)}else if("multiple"===t.seedSearchStringFromSelection&&!t.updateSearchScope){const i=R4(this._editor,t.seedSearchStringFromSelection);i&&(e.searchString=i)}if(!e.searchString&&t.seedSearchStringFromGlobalClipboard){const t=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;t&&(e.searchString=t)}if(t.forceRevealReplace||e.isReplaceRevealed?e.isReplaceRevealed=!0:this._findWidgetVisible.get()||(e.isReplaceRevealed=!1),t.updateSearchScope){const t=this._editor.getSelections();t.some((t=>!t.isEmpty()))&&(e.searchScope=t)}e.loop=t.loop,this._state.change(e,!1),this._model||(this._model=new R2(this._editor,this._state))}start(t,i){return this._start(t,i)}moveToNextMatch(){return!!this._model&&(this._model.moveToNextMatch(),!0)}moveToPrevMatch(){return!!this._model&&(this._model.moveToPrevMatch(),!0)}goToMatch(t){return!!this._model&&(this._model.moveToMatch(t),!0)}replace(){return!!this._model&&(this._model.replace(),!0)}replaceAll(){var t;return!!this._model&&((null===(t=this._editor.getModel())||void 0===t?void 0:t.isTooLargeForHeapOperation())?(this._notificationService.warn(rt(0,"The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0))}selectAllMatches(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(t){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(t)}};O4.ID="editor.contrib.findController",O4=L4=F4([T4(1,lh),T4(2,MB),T4(3,kH),T4(4,rT)],O4);let I4=class extends O4{constructor(t,i,e,s,n,o,r,h){super(t,e,r,h,o),this._contextViewService=i,this._keybindingService=s,this._themeService=n,this._widget=null,this._findOptionsWidget=null}async _start(t,i){this._widget||this._createFindWidget();const e=this._editor.getSelection();let s=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":s=!0;break;case"never":s=!1;break;case"multiline":s=!!e&&e.startLineNumber!==e.endLineNumber}t.updateSearchScope=t.updateSearchScope||s,await super._start(t,i),this._widget&&(2===t.shouldFocus?this._widget.focusReplaceInput():1===t.shouldFocus&&this._widget.focusFindInput())}highlightFindOptions(t=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!t?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new A4(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new O2(this._editor,this._state,this._keybindingService))}};I4=F4([T4(1,lI),T4(2,lh),T4(3,rC),T4(4,tx),T4(5,rT),T4(6,MB),T4(7,kH)],I4),lu(new ou({id:"actions.find",label:rt(0,"Find"),alias:"Find",precondition:Hr.or(XC.focus,Hr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:Oh.MenubarEditMenu,group:"3_find",title:rt(0,"&&Find"),order:1}})).addImplementation(0,((t,i)=>{const e=O4.get(i);return!!e&&e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"never"!==i.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:i.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop})}));const _4={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"},regex:{type:"boolean"},regexOverride:{type:"number",description:rt(0,'Overrides "Use Regular Expression" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},wholeWord:{type:"boolean"},wholeWordOverride:{type:"number",description:rt(0,'Overrides "Match Whole Word" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},matchCase:{type:"boolean"},matchCaseOverride:{type:"number",description:rt(0,'Overrides "Math Case" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},preserveCase:{type:"boolean"},preserveCaseOverride:{type:"number",description:rt(0,'Overrides "Preserve Case" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},findInSelection:{type:"boolean"}}}}]};class N4 extends nu{async run(t,i){const e=O4.get(i);e&&!this._run(e)&&(await e.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===e.getState().searchString.length&&"never"!==i.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop}),this._run(e))}}class B4 extends nu{async run(t,i){const e=O4.get(i);if(!e)return;const s=R4(i,"single",!1);s&&e.setSearchString(s),this._run(e)||(await e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop}),this._run(e))}}lu(new ou({id:"editor.action.startFindReplaceAction",label:rt(0,"Replace"),alias:"Replace",precondition:Hr.or(XC.focus,Hr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:Oh.MenubarEditMenu,group:"3_find",title:rt(0,"&&Replace"),order:2}})).addImplementation(0,((t,i)=>{if(!i.hasModel()||i.getOption(90))return!1;const e=O4.get(i);if(!e)return!1;const s=i.getSelection(),n=e.isFindInputFocused(),o=!s.isEmpty()&&s.startLineNumber===s.endLineNumber&&"never"!==i.getOption(41).seedSearchStringFromSelection&&!n,r=n||o?2:1;return e.start({forceRevealReplace:!0,seedSearchStringFromSelection:o?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:"never"!==i.getOption(41).seedSearchStringFromSelection,shouldFocus:r,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop})})),uu(O4.ID,I4,0),au(class extends nu{constructor(){super({id:"editor.actions.findWithArgs",label:rt(0,"Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:_4})}async run(t,i,e){const s=O4.get(i);if(s){const t=e?{searchString:e.searchString,replaceString:e.replaceString,isReplaceRevealed:void 0!==e.replaceString,isRegex:e.isRegex,wholeWord:e.matchWholeWord,matchCase:e.isCaseSensitive,preserveCase:e.preserveCase}:{};await s.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===s.getState().searchString.length&&"never"!==i.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(null==e?void 0:e.findInSelection)||!1,loop:i.getOption(41).loop},t),s.setGlobalBufferTerm(s.getState().searchString)}}}),au(class extends nu{constructor(){super({id:"actions.findWithSelection",label:rt(0,"Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(t,i){const e=O4.get(i);e&&(await e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop}),e.setGlobalBufferTerm(e.getState().searchString))}}),au(class extends N4{constructor(){super({id:k2,label:rt(0,"Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:XC.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:Hr.and(XC.focus,p2),primary:3,weight:100}]})}_run(t){return!!t.moveToNextMatch()&&(t.editor.pushUndoStop(),!0)}}),au(class extends N4{constructor(){super({id:x2,label:rt(0,"Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:XC.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:Hr.and(XC.focus,p2),primary:1027,weight:100}]})}_run(t){return t.moveToPrevMatch()}}),au(class extends nu{constructor(){super({id:"editor.action.goToMatchFindAction",label:rt(0,"Go to Match..."),alias:"Go to Match...",precondition:f2}),this._highlightDecorations=[]}run(t,i,e){const s=O4.get(i);if(!s)return;const n=s.getState().matchesCount;if(n<1)return void t.get(rT).notify({severity:oT.Warning,message:rt(0,"No matches. Try searching for something else.")});const o=t.get(Ij).createInputBox();o.placeholder=rt(0,"Type a number to go to a specific match (between 1 and {0})",n);const r=t=>{const i=parseInt(t);if(isNaN(i))return;const e=s.getState().matchesCount;return i>0&&i<=e?i-1:i<0&&i>=-e?e+i:void 0},h=t=>{const e=r(t);if("number"==typeof e){o.validationMessage=void 0,s.goToMatch(e);const t=s.getState().currentMatch;t&&this.addDecorations(i,t)}else o.validationMessage=rt(0,"Please type a number between 1 and {0}",s.getState().matchesCount),this.clearDecorations(i)};o.onDidChangeValue((t=>{h(t)})),o.onDidAccept((()=>{const t=r(o.value);"number"==typeof t?(s.goToMatch(t),o.hide()):o.validationMessage=rt(0,"Please type a number between 1 and {0}",s.getState().matchesCount)})),o.onDidHide((()=>{this.clearDecorations(i),o.dispose()})),o.show()}clearDecorations(t){t.changeDecorations((t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])}))}addDecorations(t,i){t.changeDecorations((t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[{range:i,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:i,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:ix(Ox),position:Nf.Full}}}])}))}}),au(class extends B4{constructor(){super({id:"editor.action.nextSelectionMatchFindAction",label:rt(0,"Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:2109,weight:100}})}_run(t){return t.moveToNextMatch()}}),au(class extends B4{constructor(){super({id:"editor.action.previousSelectionMatchFindAction",label:rt(0,"Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:3133,weight:100}})}_run(t){return t.moveToPrevMatch()}});const P4=su.bindToContribution(O4.get);cu(new P4({id:C2,precondition:f2,handler:t=>t.closeFindWidget(),kbOpts:{weight:105,kbExpr:Hr.and(XC.focus,Hr.not("isComposing")),primary:9,secondary:[1033]}})),cu(new P4({id:S2,precondition:void 0,handler:t=>t.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:XC.focus,primary:m2.primary,mac:m2.mac,win:m2.win,linux:m2.linux}})),cu(new P4({id:D2,precondition:void 0,handler:t=>t.toggleWholeWords(),kbOpts:{weight:105,kbExpr:XC.focus,primary:w2.primary,mac:w2.mac,win:w2.win,linux:w2.linux}})),cu(new P4({id:E2,precondition:void 0,handler:t=>t.toggleRegex(),kbOpts:{weight:105,kbExpr:XC.focus,primary:v2.primary,mac:v2.mac,win:v2.win,linux:v2.linux}})),cu(new P4({id:A2,precondition:void 0,handler:t=>t.toggleSearchScope(),kbOpts:{weight:105,kbExpr:XC.focus,primary:b2.primary,mac:b2.mac,win:b2.win,linux:b2.linux}})),cu(new P4({id:M2,precondition:void 0,handler:t=>t.togglePreserveCase(),kbOpts:{weight:105,kbExpr:XC.focus,primary:y2.primary,mac:y2.mac,win:y2.win,linux:y2.linux}})),cu(new P4({id:L2,precondition:f2,handler:t=>t.replace(),kbOpts:{weight:105,kbExpr:XC.focus,primary:3094}})),cu(new P4({id:L2,precondition:f2,handler:t=>t.replace(),kbOpts:{weight:105,kbExpr:Hr.and(XC.focus,g2),primary:3}})),cu(new P4({id:F2,precondition:f2,handler:t=>t.replaceAll(),kbOpts:{weight:105,kbExpr:XC.focus,primary:2563}})),cu(new P4({id:F2,precondition:f2,handler:t=>t.replaceAll(),kbOpts:{weight:105,kbExpr:Hr.and(XC.focus,g2),primary:void 0,mac:{primary:2051}}})),cu(new P4({id:"editor.action.selectAllMatches",precondition:f2,handler:t=>t.selectAllMatches(),kbOpts:{weight:105,kbExpr:XC.focus,primary:515}}));const $4={0:" ",1:"u",2:"r"},W4=16777215,j4=4278190080;class z4{constructor(t){const i=Math.ceil(t/32);this._states=new Uint32Array(i)}get(t){return!!(this._states[t/32|0]&1<65535)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=t,this._endIndexes=i,this._collapseStates=new z4(t.length),this._userDefinedStates=new z4(t.length),this._recoveredStates=new z4(t.length),this._types=e,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const t=[],i=(i,e)=>{const s=t[t.length-1];return this.getStartLineNumber(s)<=i&&this.getEndLineNumber(s)>=e};for(let e=0,s=this._startIndexes.length;eW4||n>W4)throw new Error("startLineNumber or endLineNumber must not exceed "+W4);for(;t.length>0&&!i(s,n);)t.pop();const o=t.length>0?t[t.length-1]:-1;t.push(e),this._startIndexes[e]=s+((255&o)<<24),this._endIndexes[e]=n+((65280&o)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(t){return this._startIndexes[t]&W4}getEndLineNumber(t){return this._endIndexes[t]&W4}getType(t){return this._types?this._types[t]:void 0}hasTypes(){return!!this._types}isCollapsed(t){return this._collapseStates.get(t)}setCollapsed(t,i){this._collapseStates.set(t,i)}isUserDefined(t){return this._userDefinedStates.get(t)}setUserDefined(t,i){return this._userDefinedStates.set(t,i)}isRecovered(t){return this._recoveredStates.get(t)}setRecovered(t,i){return this._recoveredStates.set(t,i)}getSource(t){return this.isUserDefined(t)?1:this.isRecovered(t)?2:0}setSource(t,i){1===i?(this.setUserDefined(t,!0),this.setRecovered(t,!1)):2===i?(this.setUserDefined(t,!1),this.setRecovered(t,!0)):(this.setUserDefined(t,!1),this.setRecovered(t,!1))}setCollapsedAllOfType(t,i){let e=!1;if(this._types)for(let s=0;s>>24)+((this._endIndexes[t]&j4)>>>16);return 65535===i?-1:i}contains(t,i){return this.getStartLineNumber(t)<=i&&this.getEndLineNumber(t)>=i}findIndex(t){let i=0,e=this._startIndexes.length;if(0===e)return-1;for(;i=0){if(this.getEndLineNumber(i)>=t)return i;for(i=this.getParentIndex(i);-1!==i;){if(this.contains(i,t))return i;i=this.getParentIndex(i)}}return-1}toString(){const t=[];for(let i=0;iArray.isArray(t)?e=>ee=a.startLineNumber))c&&c.startLineNumber===a.startLineNumber?(1===a.source?t=a:(t=c,t.isCollapsed=a.isCollapsed&&c.endLineNumber===a.endLineNumber,t.source=0),c=n(++r)):(t=a,a.isCollapsed&&0===a.source&&(t.source=2)),a=o(++h);else{let i=h,e=a;for(;;){if(!e||e.startLineNumber>c.endLineNumber){t=c;break}if(1===e.source&&e.endLineNumber>c.endLineNumber)break;e=o(++i)}c=n(++r)}if(t){for(;u&&u.endLineNumbert.startLineNumber&&t.startLineNumber>d&&t.endLineNumber<=e&&(!u||u.endLineNumber>=t.endLineNumber)&&(f.push(t),d=t.startLineNumber,u&&l.push(u),u=t)}}return f}}class V4{constructor(t,i){this.ranges=t,this.index=i}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(t){return t.startLineNumber<=this.startLineNumber&&t.endLineNumber>=this.endLineNumber}containsLine(t){return this.startLineNumber<=t&&t<=this.endLineNumber}}class U4{get regions(){return this._regions}get textModel(){return this._textModel}constructor(t,i){this._updateEventEmitter=new fe,this.onDidChange=this._updateEventEmitter.event,this._textModel=t,this._decorationProvider=i,this._regions=new H4(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(t){if(!t.length)return;t=t.sort(((t,i)=>t.regionIndex-i.regionIndex));const i={};this._decorationProvider.changeDecorations((e=>{let s=0,n=-1,o=-1;const r=t=>{for(;so&&(o=t),s++}};for(const e of t){const t=e.regionIndex,s=this._editorDecorationIds[t];if(s&&!i[s]){i[s]=!0,r(t);const e=!this._regions.isCollapsed(t);this._regions.setCollapsed(t,e),n=Math.max(n,this._regions.getEndLineNumber(t))}}r(this._regions.length)})),this._updateEventEmitter.fire({model:this,collapseStateChanged:t})}removeManualRanges(t){const i=new Array,e=i=>{for(const e of t)if(!(e.startLineNumber>i.endLineNumber||i.startLineNumber>e.endLineNumber))return!0;return!1};for(let t=0;te&&(e=o)}this._decorationProvider.changeDecorations((t=>this._editorDecorationIds=t.deltaDecorations(this._editorDecorationIds,i))),this._regions=t,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(t=[]){const i=(i,e)=>{for(const s of t)if(i=n.endLineNumber||n.startLineNumber<1||n.endLineNumber>e)continue;const o=this._getLinesChecksum(n.startLineNumber+1,n.endLineNumber);i.push({startLineNumber:n.startLineNumber,endLineNumber:n.endLineNumber,isCollapsed:n.isCollapsed,source:n.source,checksum:o})}return i.length>0?i:void 0}applyMemento(t){var i,e;if(!Array.isArray(t))return;const s=[],n=this._textModel.getLineCount();for(const o of t){if(o.startLineNumber>=o.endLineNumber||o.startLineNumber<1||o.endLineNumber>n)continue;const t=this._getLinesChecksum(o.startLineNumber+1,o.endLineNumber);o.checksum&&t!==o.checksum||s.push({startLineNumber:o.startLineNumber,endLineNumber:o.endLineNumber,type:void 0,isCollapsed:null===(i=o.isCollapsed)||void 0===i||i,source:null!==(e=o.source)&&void 0!==e?e:0})}const o=H4.sanitizeAndMerge(this._regions,s,n);this.updatePost(H4.fromFoldRanges(o))}_getLinesChecksum(t,i){return La(this._textModel.getLineContent(t)+this._textModel.getLineContent(i))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(t,i){const e=[];if(this._regions){let s=this._regions.findRange(t),n=1;for(;s>=0;){const t=this._regions.toRegion(s);i&&!i(t,n)||e.push(t),n++,s=t.parentIndex}}return e}getRegionAtLine(t){if(this._regions){const i=this._regions.findRange(t);if(i>=0)return this._regions.toRegion(i)}return null}getRegionsInside(t,i){const e=[],s=t?t.regionIndex+1:0,n=t?t.endLineNumber:Number.MAX_VALUE;if(i&&2===i.length){const t=[];for(let o=s,r=this._regions.length;o0&&!s.containedBy(t[t.length-1]);)t.pop();t.push(s),i(s,t.length)&&e.push(s)}}else for(let t=s,o=this._regions.length;t1){const o=t.getRegionsInside(e,((t,e)=>t.isCollapsed!==n&&e0)for(const o of s){const s=t.getRegionAtLine(o);if(s&&(s.isCollapsed!==i&&n.push(s),e>1)){const o=t.getRegionsInside(s,((t,s)=>t.isCollapsed!==i&&st.isCollapsed!==i&&st.isCollapsed!==i&&s<=e));n.push(...s)}t.toggleCollapseState(n)}function Z4(t,i,e){const s=[];for(const i of e){const e=t.getAllRegionsAtLine(i,void 0);e.length>0&&s.push(e[0])}const n=t.getRegionsInside(null,(t=>s.every((i=>!i.containedBy(t)&&!t.containedBy(i)))&&t.isCollapsed!==i));t.toggleCollapseState(n)}function Q4(t,i,e){const s=t.textModel,n=t.regions,o=[];for(let t=n.length-1;t>=0;t--)if(e!==n.isCollapsed(t)){const e=n.getStartLineNumber(t);i.test(s.getLineContent(e))&&o.push(n.toRegion(t))}t.toggleCollapseState(o)}function J4(t,i,e){const s=t.regions,n=[];for(let t=s.length-1;t>=0;t--)e!==s.isCollapsed(t)&&i===s.getType(t)&&n.push(s.toRegion(t));t.toggleCollapseState(n)}class Y4{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(t){this._updateEventEmitter=new fe,this._hasLineChanges=!1,this._foldingModel=t,this._foldingModelListener=t.onDidChange((()=>this.updateHiddenRanges())),this._hiddenRanges=[],t.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(t){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=t.changes.some((t=>t.range.endLineNumber!==t.range.startLineNumber||0!==GD(t.text)[0])))}updateHiddenRanges(){let t=!1;const i=[];let e=0,s=0,n=Number.MAX_VALUE,o=-1;const r=this._foldingModel.regions;for(;e0}isHidden(t){return null!==X4(this._hiddenRanges,t)}adjustSelections(t){let i=!1;const e=this._foldingModel.textModel;let s=null;const n=t=>(s&&function(t,i){return t>=i.startLineNumber&&t<=i.endLineNumber}(t,s)||(s=X4(this._hiddenRanges,t)),s?s.startLineNumber-1:null);for(let s=0,o=t.length;s0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function X4(t,i){const e=lp(t,(t=>i=0&&t[e].endLineNumber>=i?t[e]:null}class t5{constructor(t,i,e){this.editorModel=t,this.languageConfigurationService=i,this.foldingRangesLimit=e,this.id="indent"}dispose(){}compute(t){const i=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules;return Promise.resolve(function(t,i,e,s=e5){const n=t.getOptions().tabSize,o=new i5(s);let r;e&&(r=new RegExp(`(${e.start.source})|(?:${e.end.source})`));const h=[],c=t.getLineCount()+1;h.push({indent:-1,endAbove:c,line:c});for(let e=t.getLineCount();e>0;e--){const s=t.getLineContent(e),c=OS(s,n);let a,l=h[h.length-1];if(-1!==c){if(r&&(a=s.match(r))){if(!a[1]){h.push({indent:-2,endAbove:e,line:e});continue}{let t=h.length-1;for(;t>0&&-2!==h[t].indent;)t--;if(t>0){h.length=t+1,l=h[t],o.insertFirst(e,l.line,c),l.line=e,l.indent=c,l.endAbove=e;continue}}}if(l.indent>c){do{h.pop(),l=h[h.length-1]}while(l.indent>c);const t=l.endAbove-1;t-e>=1&&o.insertFirst(e,t,c)}l.indent===c?l.endAbove=e:h.push({indent:c,endAbove:e,line:e})}else i&&(l.endAbove=e)}return o.toIndentRanges(t)}(this.editorModel,i&&!!i.offSide,i&&i.markers,this.foldingRangesLimit))}}class i5{constructor(t){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=t}insertFirst(t,i,e){if(t>W4||i>W4)return;const s=this._length;this._startIndexes[s]=t,this._endIndexes[s]=i,this._length++,e<1e3&&(this._indentOccurrences[e]=(this._indentOccurrences[e]||0)+1)}toIndentRanges(t){const i=this._foldingRangesLimit.limit;if(this._length<=i){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let e=this._length-1,s=0;e>=0;e--,s++)t[s]=this._startIndexes[e],i[s]=this._endIndexes[e];return new H4(t,i)}{this._foldingRangesLimit.update(this._length,i);let e=0,s=this._indentOccurrences.length;for(let t=0;ti){s=t;break}e+=n}}const n=t.getOptions().tabSize,o=new Uint32Array(i),r=new Uint32Array(i);for(let h=this._length-1,c=0;h>=0;h--){const a=this._startIndexes[h],l=OS(t.getLineContent(a),n);(l{}},s5=fw("editor.foldBackground",{light:uy(Dv,.3),dark:uy(Dv,.3),hcDark:null,hcLight:null},rt(0,"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);fw("editorGutter.foldingControlForeground",{dark:mw,light:mw,hcDark:mw,hcLight:mw},rt(0,"Color of the folding control in the editor gutter."));const n5=Vz("folding-expanded",Is.chevronDown,rt(0,"Icon for expanded ranges in the editor glyph margin.")),o5=Vz("folding-collapsed",Is.chevronRight,rt(0,"Icon for collapsed ranges in the editor glyph margin.")),r5=Vz("folding-manual-collapsed",o5,rt(0,"Icon for manually collapsed ranges in the editor glyph margin.")),h5=Vz("folding-manual-expanded",n5,rt(0,"Icon for manually expanded ranges in the editor glyph margin.")),c5={color:ix(s5),position:Pf.Inline};class a5{constructor(t){this.editor=t,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(t,i,e){return i?a5.HIDDEN_RANGE_DECORATION:"never"===this.showFoldingControls?t?this.showFoldingHighlights?a5.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:a5.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:a5.NO_CONTROLS_EXPANDED_RANGE_DECORATION:t?e?this.showFoldingHighlights?a5.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:a5.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?a5.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:a5.COLLAPSED_VISUAL_DECORATION:"mouseover"===this.showFoldingControls?e?a5.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:a5.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:e?a5.MANUALLY_EXPANDED_VISUAL_DECORATION:a5.EXPANDED_VISUAL_DECORATION}changeDecorations(t){return this.editor.changeDecorations(t)}removeDecorations(t){this.editor.removeDecorations(t)}}a5.COLLAPSED_VISUAL_DECORATION=ML.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:Sr.asClassName(o5)}),a5.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=ML.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:c5,isWholeLine:!0,firstLineDecorationClassName:Sr.asClassName(o5)}),a5.MANUALLY_COLLAPSED_VISUAL_DECORATION=ML.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:Sr.asClassName(r5)}),a5.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=ML.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:c5,isWholeLine:!0,firstLineDecorationClassName:Sr.asClassName(r5)}),a5.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=ML.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0}),a5.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=ML.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:c5,isWholeLine:!0}),a5.EXPANDED_VISUAL_DECORATION=ML.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Sr.asClassName(n5)}),a5.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ML.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Sr.asClassName(n5)}),a5.MANUALLY_EXPANDED_VISUAL_DECORATION=ML.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Sr.asClassName(h5)}),a5.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ML.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Sr.asClassName(h5)}),a5.NO_CONTROLS_EXPANDED_RANGE_DECORATION=ML.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),a5.HIDDEN_RANGE_DECORATION=ML.register({description:"folding-hidden-range-decoration",stickiness:1});const l5={};class u5{constructor(t,i,e,s,n){this.editorModel=t,this.providers=i,this.handleFoldingRangesChange=e,this.foldingRangesLimit=s,this.fallbackRangeProvider=n,this.id="syntax",this.disposables=new te,n&&this.disposables.add(n);for(const t of i)"function"==typeof t.onDidChange&&this.disposables.add(t.onDidChange(e))}compute(t){return function(t,i,e){let s=null;const n=t.map(((t,n)=>Promise.resolve(t.provideFoldingRanges(i,l5,e)).then((t=>{if(!e.isCancellationRequested&&Array.isArray(t)){Array.isArray(s)||(s=[]);const e=i.getLineCount();for(const i of t)i.start>0&&i.end>i.start&&i.end<=e&&s.push({start:i.start,end:i.end,rank:n,kind:i.kind})}}),$i)));return Promise.all(n).then((()=>s))}(this.providers,this.editorModel,t).then((i=>{var e,s;return i?function(t,i){const e=t.sort(((t,i)=>{let e=t.start-i.start;return 0===e&&(e=t.rank-i.rank),e})),s=new d5(i);let n;const o=[];for(const t of e)if(n){if(t.start>n.start)if(t.end<=n.end)o.push(n),n=t,s.add(t.start,t.end,t.kind&&t.kind.value,o.length);else{if(t.start>n.end){do{n=o.pop()}while(n&&t.start>n.end);n&&o.push(n),n=t}s.add(t.start,t.end,t.kind&&t.kind.value,o.length)}}else n=t,s.add(t.start,t.end,t.kind&&t.kind.value,o.length);return s.toIndentRanges()}(i,this.foldingRangesLimit):null!==(s=null===(e=this.fallbackRangeProvider)||void 0===e?void 0:e.compute(t))&&void 0!==s?s:null}))}dispose(){this.disposables.dispose()}}class d5{constructor(t){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=t}add(t,i,e,s){if(t>W4||i>W4)return;const n=this._length;this._startIndexes[n]=t,this._endIndexes[n]=i,this._nestingLevels[n]=s,this._types[n]=e,this._length++,s<30&&(this._nestingLevelCounts[s]=(this._nestingLevelCounts[s]||0)+1)}toIndentRanges(){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let e=0;et){e=s;break}i+=n}}const s=new Uint32Array(t),n=new Uint32Array(t),o=[];for(let r=0,h=0;rthis.onModelChanged()))),this._register(this.editor.onDidChangeConfiguration((t=>{if(t.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),t.hasChanged(47)&&this.onModelChanged(),t.hasChanged(109)||t.hasChanged(45)){const t=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=t.get(109),this.foldingDecorationProvider.showFoldingHighlights=t.get(45),this.triggerFoldingModelChanged()}t.hasChanged(44)&&(this._useFoldingProviders="indentation"!==this.editor.getOptions().get(44),this.onFoldingStrategyChanged()),t.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),t.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))}))),this.onModelChanged()}saveViewState(){const t=this.editor.getModel();if(!t||!this._isEnabled||t.isTooLargeForTokenization())return{};if(this.foldingModel){const i=this.foldingModel.getMemento(),e=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:i,lineCount:t.getLineCount(),provider:e,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(t){const i=this.editor.getModel();if(i&&this._isEnabled&&!i.isTooLargeForTokenization()&&this.hiddenRangeModel&&t&&(this._currentModelHasFoldedImports=!!t.foldedImports,t.collapsedRegions&&t.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(t.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const t=this.editor.getModel();this._isEnabled&&t&&!t.isTooLargeForTokenization()&&(this._currentModelHasFoldedImports=!1,this.foldingModel=new U4(t,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new Y4(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange((t=>this.onHiddenRangesChanges(t)))),this.updateScheduler=new cc(this.updateDebounceInfo.get(t)),this.cursorChangedScheduler=new gc((()=>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),null===(t=this.updateScheduler)||void 0===t||t.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,null===(i=this.rangeProvider)||void 0===i||i.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var t;null===(t=this.rangeProvider)||void 0===t||t.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(t){if(this.rangeProvider)return this.rangeProvider;const i=new t5(t,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=i,this._useFoldingProviders&&this.foldingModel){const e=f5.getFoldingRangeProviders(this.languageFeaturesService,t);e.length>0&&(this.rangeProvider=new u5(t,e,(()=>this.triggerFoldingModelChanged()),this._foldingLimitReporter,i))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(t){var i;null===(i=this.hiddenRangeModel)||void 0===i||i.notifyChangeModelContent(t),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger((()=>{const t=this.foldingModel;if(!t)return null;const i=new he,e=this.getRangeProvider(t.textModel),s=this.foldingRegionPromise=oc((t=>e.compute(t)));return s.then((e=>{if(e&&s===this.foldingRegionPromise){let s;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const t=e.setCollapsedAllOfType(Gs.Imports.value,!0);t&&(s=eU.capture(this.editor),this._currentModelHasFoldedImports=t)}const n=this.editor.getSelections(),o=n?n.map((t=>t.startLineNumber)):[];t.update(e,o),null==s||s.restore(this.editor);const r=this.updateDebounceInfo.update(t.textModel,i.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=r)}return t}))})).then(void 0,(t=>(Pi(t),null))))}onHiddenRangesChanges(t){if(this.hiddenRangeModel&&t.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(t,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const t=this.getFoldingModel();t&&t.then((t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const e=[];for(const s of i){const i=s.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(i)&&e.push(...t.getAllRegionsAtLine(i,(t=>t.isCollapsed&&i>t.startLineNumber)))}e.length&&(t.toggleCollapseState(e),this.reveal(i[0].getPosition()))}}})).then(void 0,Pi)}onEditorMouseDown(t){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!t.target||!t.target.range)return;if(!t.event.leftButton&&!t.event.middleButton)return;const i=t.target.range;let e=!1;switch(t.target.type){case 4:if(t.target.detail.offsetX-t.target.element.offsetLeft<4)return;e=!0;break;case 7:if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!t.target.detail.isAfterLines)break;return;case 6:if(this.hiddenRangeModel.hasRanges()){const t=this.editor.getModel();if(t&&i.startColumn===t.getLineMaxColumn(i.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:i.startLineNumber,iconClicked:e}}onEditorMouseUp(t){const i=this.foldingModel;if(!i||!this.mouseDownInfo||!t.target)return;const e=this.mouseDownInfo.lineNumber,s=this.mouseDownInfo.iconClicked,n=t.target.range;if(!n||n.startLineNumber!==e)return;if(s){if(4!==t.target.type)return}else{const t=this.editor.getModel();if(!t||n.startColumn!==t.getLineMaxColumn(e))return}const o=i.getRegionAtLine(e);if(o&&o.startLineNumber===e){const n=o.isCollapsed;if(s||n){let s=[];if(t.event.altKey){const t=i.getRegionsInside(null,(t=>!t.containedBy(o)&&!o.containedBy(t)));for(const i of t)i.isCollapsed&&s.push(i);0===s.length&&(s=t)}else{const e=t.event.middleButton||t.event.shiftKey;if(e)for(const t of i.getRegionsInside(o))t.isCollapsed===n&&s.push(t);!n&&e&&0!==s.length||s.push(o)}i.toggleCollapseState(s),this.reveal({lineNumber:e,column:1})}}}reveal(t){this.editor.revealPositionInCenterIfOutsideViewport(t,0)}};m5.ID="editor.contrib.folding",m5=f5=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([p5(1,lh),p5(2,tf),p5(3,rT),p5(4,mR),p5(5,Cg)],m5);class w5{constructor(t){this.editor=t,this._onDidChange=new fe,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(t,i){t===this._computed&&i===this._limited||(this._computed=t,this._limited=i,this._onDidChange.fire())}}class v5 extends nu{runEditorCommand(t,i,e){const s=t.get(tf),n=m5.get(i);if(!n)return;const o=n.getFoldingModel();return o?(this.reportTelemetry(t,i),o.then((t=>{if(t){this.invoke(n,t,i,e,s);const o=i.getSelection();o&&n.reveal(o.getStartPosition())}}))):void 0}getSelectedLines(t){const i=t.getSelections();return i?i.map((t=>t.startLineNumber)):[]}getLineNumbers(t,i){return t&&t.selectionLines?t.selectionLines.map((t=>t+1)):this.getSelectedLines(i)}run(t,i){}}function b5(t){if(!V(t)){if(!$(t))return!1;const i=t;if(!V(i.levels)&&!j(i.levels))return!1;if(!V(i.direction)&&!P(i.direction))return!1;if(!(V(i.selectionLines)||Array.isArray(i.selectionLines)&&i.selectionLines.every(j)))return!1}return!0}class y5 extends v5{getFoldingLevel(){return parseInt(this.id.substr(y5.ID_PREFIX.length))}invoke(t,i,e){!function(t,i,e,s){const n=t.getRegionsInside(null,((t,e)=>e===i&&true!==t.isCollapsed&&!s.some((i=>t.containsLine(i)))));t.toggleCollapseState(n)}(i,this.getFoldingLevel(),0,this.getSelectedLines(e))}}y5.ID_PREFIX="editor.foldLevel",y5.ID=t=>y5.ID_PREFIX+t,uu(m5.ID,m5,0),au(class extends v5{constructor(){super({id:"editor.unfold",label:rt(0,"Unfold"),alias:"Unfold",precondition:g5,kbOpts:{kbExpr:XC.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\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* '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\t\t\t\t\t\t",constraint:b5,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(t,i,e,s){const n=s&&s.levels||1,o=this.getLineNumbers(s,e);s&&"up"===s.direction?G4(i,!1,n,o):K4(i,!1,n,o)}}),au(class extends v5{constructor(){super({id:"editor.unfoldRecursively",label:rt(0,"Unfold Recursively"),alias:"Unfold Recursively",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2142),weight:100}})}invoke(t,i,e,s){K4(i,!1,Number.MAX_VALUE,this.getSelectedLines(e))}}),au(class extends v5{constructor(){super({id:"editor.fold",label:rt(0,"Fold"),alias:"Fold",precondition:g5,kbOpts:{kbExpr:XC.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\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* '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\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t",constraint:b5,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(t,i,e,s){const n=this.getLineNumbers(s,e),o=s&&s.levels,r=s&&s.direction;"number"!=typeof o&&"string"!=typeof r?function(t,i,e){const s=[];for(const i of e){const e=t.getAllRegionsAtLine(i,(t=>true!==t.isCollapsed));e.length>0&&s.push(e[0])}t.toggleCollapseState(s)}(i,0,n):"up"===r?G4(i,!0,o||1,n):K4(i,!0,o||1,n)}}),au(class extends v5{constructor(){super({id:"editor.foldRecursively",label:rt(0,"Fold Recursively"),alias:"Fold Recursively",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2140),weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);K4(i,!0,Number.MAX_VALUE,s)}}),au(class extends v5{constructor(){super({id:"editor.foldAll",label:rt(0,"Fold All"),alias:"Fold All",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2069),weight:100}})}invoke(t,i,e){K4(i,!0)}}),au(class extends v5{constructor(){super({id:"editor.unfoldAll",label:rt(0,"Unfold All"),alias:"Unfold All",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2088),weight:100}})}invoke(t,i,e){K4(i,!1)}}),au(class extends v5{constructor(){super({id:"editor.foldAllBlockComments",label:rt(0,"Fold All Block Comments"),alias:"Fold All Block Comments",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2138),weight:100}})}invoke(t,i,e,s,n){if(i.regions.hasTypes())J4(i,Gs.Comment.value,!0);else{const t=e.getModel();if(!t)return;const s=n.getLanguageConfiguration(t.getLanguageId()).comments;s&&s.blockCommentStartToken&&Q4(i,new RegExp("^\\s*"+Zn(s.blockCommentStartToken)),!0)}}}),au(class extends v5{constructor(){super({id:"editor.foldAllMarkerRegions",label:rt(0,"Fold All Regions"),alias:"Fold All Regions",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2077),weight:100}})}invoke(t,i,e,s,n){if(i.regions.hasTypes())J4(i,Gs.Region.value,!0);else{const t=e.getModel();if(!t)return;const s=n.getLanguageConfiguration(t.getLanguageId()).foldingRules;s&&s.markers&&s.markers.start&&Q4(i,new RegExp(s.markers.start),!0)}}}),au(class extends v5{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:rt(0,"Unfold All Regions"),alias:"Unfold All Regions",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2078),weight:100}})}invoke(t,i,e,s,n){if(i.regions.hasTypes())J4(i,Gs.Region.value,!1);else{const t=e.getModel();if(!t)return;const s=n.getLanguageConfiguration(t.getLanguageId()).foldingRules;s&&s.markers&&s.markers.start&&Q4(i,new RegExp(s.markers.start),!1)}}}),au(class extends v5{constructor(){super({id:"editor.foldAllExcept",label:rt(0,"Fold All Except Selected"),alias:"Fold All Except Selected",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2136),weight:100}})}invoke(t,i,e){Z4(i,!0,this.getSelectedLines(e))}}),au(class extends v5{constructor(){super({id:"editor.unfoldAllExcept",label:rt(0,"Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2134),weight:100}})}invoke(t,i,e){Z4(i,!1,this.getSelectedLines(e))}}),au(class extends v5{constructor(){super({id:"editor.toggleFold",label:rt(0,"Toggle Fold"),alias:"Toggle Fold",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2090),weight:100}})}invoke(t,i,e){q4(i,1,this.getSelectedLines(e))}}),au(class extends v5{constructor(){super({id:"editor.gotoParentFold",label:rt(0,"Go to Parent Fold"),alias:"Go to Parent Fold",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);if(s.length>0){const t=function(t,i){let e=null;const s=i.getRegionAtLine(t);if(null!==s&&(e=s.startLineNumber,t===e)){const t=s.parentIndex;e=-1!==t?i.regions.getStartLineNumber(t):null}return e}(s[0],i);null!==t&&e.setSelection({startLineNumber:t,startColumn:1,endLineNumber:t,endColumn:1})}}}),au(class extends v5{constructor(){super({id:"editor.gotoPreviousFold",label:rt(0,"Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);if(s.length>0){const t=function(t,i){let e=i.getRegionAtLine(t);if(null!==e&&e.startLineNumber===t){if(t!==e.startLineNumber)return e.startLineNumber;{const t=e.parentIndex;let s=0;for(-1!==t&&(s=i.regions.getStartLineNumber(e.parentIndex));null!==e;){if(!(e.regionIndex>0))return null;if(e=i.regions.toRegion(e.regionIndex-1),e.startLineNumber<=s)return null;if(e.parentIndex===t)return e.startLineNumber}}}else if(i.regions.length>0)for(e=i.regions.toRegion(i.regions.length-1);null!==e;){if(e.startLineNumber0?i.regions.toRegion(e.regionIndex-1):null}return null}(s[0],i);null!==t&&e.setSelection({startLineNumber:t,startColumn:1,endLineNumber:t,endColumn:1})}}}),au(class extends v5{constructor(){super({id:"editor.gotoNextFold",label:rt(0,"Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);if(s.length>0){const t=function(t,i){let e=i.getRegionAtLine(t);if(null!==e&&e.startLineNumber===t){const t=e.parentIndex;let s=0;if(-1!==t)s=i.regions.getEndLineNumber(e.parentIndex);else{if(0===i.regions.length)return null;s=i.regions.getEndLineNumber(i.regions.length-1)}for(;null!==e;){if(!(e.regionIndex=s)return null;if(e.parentIndex===t)return e.startLineNumber}}else if(i.regions.length>0)for(e=i.regions.toRegion(0);null!==e;){if(e.startLineNumber>t)return e.startLineNumber;e=e.regionIndext.startLineNumber&&(n.push({startLineNumber:t.startLineNumber,endLineNumber:i,type:void 0,isCollapsed:!0,source:1}),e.setSelection({startLineNumber:t.startLineNumber,startColumn:1,endLineNumber:t.startLineNumber,endColumn:1}))}if(n.length>0){n.sort(((t,i)=>t.startLineNumber-i.startLineNumber));const t=H4.sanitizeAndMerge(i.regions,n,null===(s=e.getModel())||void 0===s?void 0:s.getLineCount());i.updatePost(H4.fromFoldRanges(t))}}}}),au(class extends v5{constructor(){super({id:"editor.removeManualFoldingRanges",label:rt(0,"Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2137),weight:100}})}invoke(t,i,e){const s=e.getSelections();if(s){const e=[];for(const t of s){const{startLineNumber:i,endLineNumber:s}=t;e.push(s>=i?{startLineNumber:i,endLineNumber:s}:{endLineNumber:s,startLineNumber:i})}i.removeManualRanges(e),t.triggerFoldingModelChanged()}}});for(let t=1;t<=7;t++)k5=new y5({id:y5.ID(t),label:rt(0,"Fold Level {0}",t),alias:`Fold Level ${t}`,precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2048|21+t),weight:100}}),fu.INSTANCE.registerEditorAction(k5);var k5;Er.registerCommand("_executeFoldingRangeProvider",(async function(t,...i){const[e]=i;if(!(e instanceof ws))throw Vi();const s=t.get(Cg),n=t.get(gr).getModel(e);if(!n)throw Vi();const o=t.get(gd);if(!o.getValue("editor.folding",{resource:e}))return[];const r=t.get(tf),h=o.getValue("editor.foldingStrategy",{resource:e}),c={get limit(){return o.getValue("editor.foldingMaximumRegions",{resource:e})},update:()=>{}},a=new t5(n,r,c);let l=a;if("indentation"!==h){const t=m5.getFoldingRangeProviders(s,n);t.length&&(l=new u5(n,t,(()=>{}),c,a))}const u=await l.compute(xe.None),d=[];try{if(u)for(let t=0;t=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},C5=function(t,i){return function(e,s){i(e,s,t)}};let S5=class{constructor(t,i,e,s){this._editor=t,this._languageFeaturesService=i,this._workerService=e,this._accessibleNotificationService=s,this._disposables=new te,this._sessionDisposables=new te,this._disposables.add(i.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(t.onDidChangeModel((()=>this._update()))),this._disposables.add(t.onDidChangeModelLanguage((()=>this._update()))),this._disposables.add(t.onDidChangeConfiguration((t=>{t.hasChanged(56)&&this._update()}))),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56))return;if(!this._editor.hasModel())return;const t=this._editor.getModel(),[i]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(t);if(!i||!i.autoFormatTriggerCharacters)return;const e=new Af;for(const t of i.autoFormatTriggerCharacters)e.add(t.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType((t=>{const i=t.charCodeAt(t.length-1);e.has(i)&&this._trigger(String.fromCharCode(i))})))}_trigger(t){if(!this._editor.hasModel())return;if(this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const i=this._editor.getModel(),e=this._editor.getPosition(),s=new Se,n=this._editor.onDidChangeModelContent((t=>{if(t.isFlush)return s.cancel(),void n.dispose();for(let i=0,o=t.changes.length;i{s.token.isCancellationRequested||y(t)&&(this._accessibleNotificationService.notify("format",!1),LK.execute(this._editor,t,!0))})).finally((()=>{n.dispose()}))}};S5.ID="editor.contrib.autoFormat",S5=x5([C5(1,Cg),C5(2,bP),C5(3,Ym)],S5);let D5=class{constructor(t,i,e){this.editor=t,this._languageFeaturesService=i,this._instantiationService=e,this._callOnDispose=new te,this._callOnModel=new te,this._callOnDispose.add(t.onDidChangeConfiguration((()=>this._update()))),this._callOnDispose.add(t.onDidChangeModel((()=>this._update()))),this._callOnDispose.add(t.onDidChangeModelLanguage((()=>this._update()))),this._callOnDispose.add(i.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:t})=>this._trigger(t))))}_trigger(t){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(IK,this.editor,t,2,zO.None,xe.None,!1).catch(Pi))}};D5.ID="editor.contrib.formatOnPaste",D5=x5([C5(1,Cg),C5(2,dr)],D5),uu(S5.ID,S5,2),uu(D5.ID,D5,2),au(class extends nu{constructor(){super({id:"editor.action.formatDocument",label:rt(0,"Format Document"),alias:"Format Document",precondition:Hr.and(XC.notInCompositeEditor,XC.writable,XC.hasDocumentFormattingProvider),kbOpts:{kbExpr:XC.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(t,i){if(i.hasModel()){const e=t.get(dr),s=t.get(HO);await s.showWhile(e.invokeFunction(NK,i,1,zO.None,xe.None,!0),250)}}}),au(class extends nu{constructor(){super({id:"editor.action.formatSelection",label:rt(0,"Format Selection"),alias:"Format Selection",precondition:Hr.and(XC.writable,XC.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2084),weight:100},contextMenuOpts:{when:XC.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(t,i){if(!i.hasModel())return;const e=t.get(dr),s=i.getModel(),n=i.getSelections().map((t=>t.isEmpty()?new Ls(t.startLineNumber,1,t.startLineNumber,s.getLineMaxColumn(t.startLineNumber)):t)),o=t.get(HO);await o.showWhile(e.invokeFunction(IK,i,n,1,zO.None,xe.None,!0),250)}}),Er.registerCommand("editor.action.format",(async t=>{const i=t.get(pr).getFocusedCodeEditor();if(!i||!i.hasModel())return;const e=t.get(Dr);i.getSelection().isEmpty()?await e.executeCommand("editor.action.formatDocument"):await e.executeCommand("editor.action.formatSelection")}));var E5=function(t,i){return function(e,s){i(e,s,t)}};class A5{remove(){var t;null===(t=this.parent)||void 0===t||t.children.delete(this.id)}static findId(t,i){let e;"string"==typeof t?e=`${i.id}/${t}`:(e=`${i.id}/${t.name}`,void 0!==i.children.get(e)&&(e=`${i.id}/${t.name}_${t.range.startLineNumber}_${t.range.startColumn}`));let s=e;for(let t=0;void 0!==i.children.get(s);t++)s=`${e}_${t}`;return s}static empty(t){return 0===t.children.size}}class M5 extends A5{constructor(t,i,e){super(),this.id=t,this.parent=i,this.symbol=e,this.children=new Map}}class L5 extends A5{constructor(t,i,e,s){super(),this.id=t,this.parent=i,this.label=e,this.order=s,this.children=new Map}}class F5 extends A5{static create(t,i,e){const s=new Se(e),n=new F5(i.uri),o=t.ordered(i),r=o.map(((t,e)=>{var o;const r=A5.findId(`provider_${e}`,n),h=new L5(r,n,null!==(o=t.displayName)&&void 0!==o?o:"Unknown Outline Provider",e);return Promise.resolve(t.provideDocumentSymbols(i,s.token)).then((t=>{for(const i of t||[])F5._makeOutlineElement(i,h);return h}),(t=>($i(t),h))).then((t=>{A5.empty(t)?t.remove():n._groups.set(r,t)}))})),h=t.onDidChange((()=>{u(t.ordered(i),o)||s.cancel()}));return Promise.all(r).then((()=>s.token.isCancellationRequested&&!e.isCancellationRequested?F5.create(t,i,e):n._compact())).finally((()=>{s.dispose(),h.dispose(),s.dispose()}))}static _makeOutlineElement(t,i){const e=A5.findId(t,i),s=new M5(e,i,t);if(t.children)for(const i of t.children)F5._makeOutlineElement(i,s);i.children.set(s.id,s)}constructor(t){super(),this.uri=t,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let t=0;for(const[i,e]of this._groups)0===e.children.size?this._groups.delete(i):t+=1;if(1!==t)this.children=this._groups;else{const t=Vt.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const t=[];for(const i of this.children.values())i instanceof M5?t.push(i.symbol):t.push(...Vt.map(i.children.values(),(t=>t.symbol)));return t.sort(((t,i)=>Ls.compareRangesUsingStarts(t.range,i.range)))}asListOfDocumentSymbols(){const t=this.getTopLevelSymbols(),i=[];return F5._flattenDocumentSymbols(i,t,""),i.sort(((t,i)=>Ms.compare(Ls.getStartPosition(t.range),Ls.getStartPosition(i.range))||Ms.compare(Ls.getEndPosition(i.range),Ls.getEndPosition(t.range))))}static _flattenDocumentSymbols(t,i,e){for(const s of i)t.push({kind:s.kind,tags:s.tags,name:s.name,detail:s.detail,containerName:s.containerName||e,range:s.range,selectionRange:s.selectionRange,children:void 0}),s.children&&F5._flattenDocumentSymbols(t,s.children,s.name)}}const T5=fr("IOutlineModelService");let R5=class{constructor(t,i,e){this._languageFeaturesService=t,this._disposables=new te,this._cache=new Up(10,.7),this._debounceInformation=i.for(t.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(e.onModelRemoved((t=>{this._cache.delete(t.id)})))}dispose(){this._disposables.dispose()}async getOrCreate(t,i){const e=this._languageFeaturesService.documentSymbolProvider,s=e.ordered(t);let n=this._cache.get(t.id);if(!n||n.versionId!==t.getVersionId()||!u(n.provider,s)){const i=new Se;n={versionId:t.getVersionId(),provider:s,promiseCnt:0,source:i,promise:F5.create(e,t,i.token),model:void 0},this._cache.set(t.id,n);const o=Date.now();n.promise.then((i=>{n.model=i,this._debounceInformation.update(t,Date.now()-o)})).catch((()=>{this._cache.delete(t.id)}))}if(n.model)return n.model;n.promiseCnt+=1;const o=i.onCancellationRequested((()=>{0==--n.promiseCnt&&(n.source.cancel(),this._cache.delete(t.id))}));try{return await n.promise}finally{o.dispose()}}};R5=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([E5(0,Cg),E5(1,mR),E5(2,gr)],R5),Sd(T5,R5,1),Er.registerCommand("_executeDocumentSymbolProvider",(async function(t,...i){const[e]=i;K(ws.isUri(e));const s=t.get(T5),n=t.get(mr),o=await n.createModelReference(e);try{return(await s.getOrCreate(o.object.textEditorModel,xe.None)).getTopLevelSymbols()}finally{o.dispose()}}));class O5 extends ie{constructor(t,i){super(),this.contextKeyService=t,this.model=i,this.inlineCompletionVisible=O5.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=O5.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=O5.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=O5.suppressSuggestions.bindTo(this.contextKeyService),this._register(jV((t=>{const i=this.model.read(t),e=null==i?void 0:i.state.read(t),s=!!(null==e?void 0:e.inlineCompletion)&&void 0!==(null==e?void 0:e.ghostText)&&!(null==e?void 0:e.ghostText.isEmpty());this.inlineCompletionVisible.set(s),(null==e?void 0:e.ghostText)&&(null==e?void 0:e.inlineCompletion)&&this.suppressSuggestions.set(e.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)}))),this._register(jV((t=>{const i=this.model.read(t);let e=!1,s=!0;const n=null==i?void 0:i.ghostText.read(t);if((null==i?void 0:i.selectedSuggestItem)&&n&&n.parts.length>0){const{column:t,lines:o}=n.parts[0],r=o[0];if(t<=i.textModel.getLineIndentColumn(n.lineNumber)){let t=io(r);-1===t&&(t=r.length-1),e=t>0;const n=i.textModel.getOptions().tabSize;s=tk.visibleColumnFromColumn(r,t+1,n)i)throw new Gi(`startColumn ${t} cannot be after endColumnExclusive ${i}`)}toRange(t){return new Ls(t,this.startColumn,t,this.endColumnExclusive)}equals(t){return this.startColumn===t.startColumn&&this.endColumnExclusive===t.endColumnExclusive}}function B5(t,i){return new Ms(t.lineNumber+i.lineNumber-1,1===i.lineNumber?t.column+i.column-1:i.column)}function P5(t){let i=1,e=1;for(const s of t)"\n"===s?(i++,e=1):e++;return new Ms(i,e)}class $5{constructor(t,i){this.lineNumber=t,this.parts=i}equals(t){return this.lineNumber===t.lineNumber&&this.parts.length===t.parts.length&&this.parts.every(((i,e)=>i.equals(t.parts[e])))}renderForScreenReader(t){if(0===this.parts.length)return"";const i=function(t,i){const e=new I5(t),s=i.map((t=>{const i=Ls.lift(t.range);return{startOffset:e.getOffset(i.getStartPosition()),endOffset:e.getOffset(i.getEndPosition()),text:t.text}}));s.sort(((t,i)=>i.startOffset-t.startOffset));for(const i of s)t=t.substring(0,i.startOffset)+i.text+t.substring(i.endOffset);return t}(t.substr(0,this.parts[this.parts.length-1].column-1),this.parts.map((t=>({range:{startLineNumber:1,endLineNumber:1,startColumn:t.column,endColumn:t.column},text:t.lines.join("\n")}))));return i.substring(this.parts[0].column-1)}isEmpty(){return this.parts.every((t=>0===t.lines.length))}get lineCount(){return 1+this.parts.reduce(((t,i)=>t+i.lines.length-1),0)}}class W5{constructor(t,i,e){this.column=t,this.lines=i,this.preview=e}equals(t){return this.column===t.column&&this.lines.length===t.lines.length&&this.lines.every(((i,e)=>i===t.lines[e]))}}class j5{constructor(t,i,e,s=0){this.lineNumber=t,this.columnRange=i,this.newLines=e,this.additionalReservedLineCount=s,this.parts=[new W5(this.columnRange.endColumnExclusive,this.newLines,!1)]}renderForScreenReader(t){return this.newLines.join("\n")}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every((t=>0===t.lines.length))}equals(t){return this.lineNumber===t.lineNumber&&this.columnRange.equals(t.columnRange)&&this.newLines.length===t.newLines.length&&this.newLines.every(((i,e)=>i===t.newLines[e]))&&this.additionalReservedLineCount===t.additionalReservedLineCount}}function z5(t,i){return t===i||!(!t||!i)&&(t instanceof $5&&i instanceof $5||t instanceof j5&&i instanceof j5)&&t.equals(i)}const H5="ghost-text";let V5=class extends ie{constructor(t,i,e){super(),this.editor=t,this.model=i,this.languageService=e,this.isDisposed=TV(this,!1),this.currentTextModel=GV(this.editor.onDidChangeModel,(()=>this.editor.getModel())),this.uiState=NV(this,(t=>{if(this.isDisposed.read(t))return;const i=this.currentTextModel.read(t);if(i!==this.model.targetTextModel.read(t))return;const e=this.model.ghostText.read(t);if(!e)return;const s=e instanceof j5?e.columnRange:void 0,n=[],o=[];function r(t,i){if(o.length>0){const e=o[o.length-1];i&&e.decorations.push(new jg(e.content.length+1,e.content.length+1+t[0].length,i,0)),e.content+=t[0],t=t.slice(1)}for(const e of t)o.push({content:e,decorations:i?[new jg(1,e.length+1,i,0)]:[]})}const h=i.getLineContent(e.lineNumber);let c,a=0;for(const t of e.parts){let i=t.lines;void 0===c?(n.push({column:t.column,text:i[0],preview:t.preview}),i=i.slice(1)):r([h.substring(a,t.column-1)],void 0),i.length>0&&(r(i,H5),void 0===c&&t.column<=h.length&&(c=t.column)),a=t.column-1}void 0!==c&&r([h.substring(a)],void 0);const l=void 0!==c?new N5(c,h.length+1):void 0;return{replacedRange:s,inlineTexts:n,additionalLines:o,hiddenRange:l,lineNumber:e.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(t),targetTextModel:i}})),this.decorations=NV(this,(t=>{const i=this.uiState.read(t);if(!i)return[];const e=[];i.replacedRange&&e.push({range:i.replacedRange.toRange(i.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),i.hiddenRange&&e.push({range:i.hiddenRange.toRange(i.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const t of i.inlineTexts)e.push({range:Ls.fromPositions(new Ms(i.lineNumber,t.column)),options:{description:H5,after:{content:t.text,inlineClassName:t.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:$f.Left},showIfCollapsed:!0}});return e})),this.additionalLinesWidget=this._register(new U5(this.editor,this.languageService.languageIdCodec,NV((t=>{const i=this.uiState.read(t);return i?{lineNumber:i.lineNumber,additionalLines:i.additionalLines,minReservedLineCount:i.additionalReservedLineCount,targetTextModel:i.targetTextModel}:void 0})))),this._register(Xi((()=>{this.isDisposed.set(!0,void 0)}))),this._register(function(t,i){const e=new te,s=t.createDecorationsCollection();return e.add(zV({debugName:()=>`Apply decorations from ${i.debugName}`},(t=>{const e=i.read(t);s.set(e)}))),e.add({dispose:()=>{s.clear()}}),e}(this.editor,this.decorations))}ownsViewZone(t){return this.additionalLinesWidget.viewZoneId===t}};V5=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,kd)],V5);class U5 extends ie{get viewZoneId(){return this._viewZoneId}constructor(t,i,e){super(),this.editor=t,this.languageIdCodec=i,this.lines=e,this._viewZoneId=void 0,this.editorOptionsChanged=QV("editorOptionChanged",ce.filter(this.editor.onDidChangeConfiguration,(t=>t.hasChanged(33)||t.hasChanged(116)||t.hasChanged(98)||t.hasChanged(93)||t.hasChanged(51)||t.hasChanged(50)||t.hasChanged(66)))),this._register(jV((t=>{const i=this.lines.read(t);this.editorOptionsChanged.read(t),i?this.updateLines(i.lineNumber,i.additionalLines,i.minReservedLineCount):this.clear()})))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones((t=>{this._viewZoneId&&(t.removeZone(this._viewZoneId),this._viewZoneId=void 0)}))}updateLines(t,i,e){const s=this.editor.getModel();if(!s)return;const{tabSize:n}=s.getOptions();this.editor.changeViewZones((s=>{this._viewZoneId&&(s.removeZone(this._viewZoneId),this._viewZoneId=void 0);const o=Math.max(i.length,e);if(o>0){const e=document.createElement("div");!function(t,i,e,s,n){const o=s.get(33),r=s.get(116),h=s.get(93),c=s.get(51),a=s.get(50),l=s.get(66),u=new id(1e4);u.appendString('
    ');for(let t=0,s=e.length;t');const f=Ao(d),p=Do(d),g=$g.createEmpty(d,n);Jg(new Kg(a.isMonospace&&!o,a.canUseHalfwidthRightwardsArrow,d,!1,f,p,0,g,s.decorations,i,0,a.spaceWidth,a.middotWidth,a.wsmiddotWidth,r,"none",h,c!==vi.OFF,null),u),u.appendString("
    ")}u.appendString(""),er(t,a);const d=u.build(),f=q5?q5.createHTML(d):d;t.innerHTML=f}(e,n,i,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=s.addZone({afterLineNumber:t,heightInLines:o,domNode:e,afterColumnAffinity:1})}}))}}const q5=Lu("editorGhostText",{createHTML:t=>t});class K5{constructor(t){this.lines=t,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(t){return this.lines[t-1].getLineContent().length}}class G5{constructor(){this.value="",this.pos=0}static isDigitCharacter(t){return t>=48&&t<=57}static isVariableCharacter(t){return 95===t||t>=97&&t<=122||t>=65&&t<=90}text(t){this.value=t,this.pos=0}tokenText(t){return this.value.substr(t.pos,t.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const t=this.pos;let i,e=0,s=this.value.charCodeAt(t);if(i=G5._table[s],"number"==typeof i)return this.pos+=1,{type:i,pos:t,len:1};if(G5.isDigitCharacter(s)){i=8;do{e+=1,s=this.value.charCodeAt(t+e)}while(G5.isDigitCharacter(s));return this.pos+=e,{type:i,pos:t,len:e}}if(G5.isVariableCharacter(s)){i=9;do{s=this.value.charCodeAt(t+ ++e)}while(G5.isVariableCharacter(s)||G5.isDigitCharacter(s));return this.pos+=e,{type:i,pos:t,len:e}}i=10;do{e+=1,s=this.value.charCodeAt(t+e)}while(!isNaN(s)&&void 0===G5._table[s]&&!G5.isDigitCharacter(s)&&!G5.isVariableCharacter(s));return this.pos+=e,{type:i,pos:t,len:e}}}G5._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};class Z5{constructor(){this._children=[]}appendChild(t){return t instanceof Q5&&this._children[this._children.length-1]instanceof Q5?this._children[this._children.length-1].value+=t.value:(t.parent=this,this._children.push(t)),this}replace(t,i){const{parent:e}=t,s=e.children.indexOf(t),n=e.children.slice(0);n.splice(s,1,...i),e._children=n,function t(i,e){for(const s of i)s.parent=e,t(s.children,s)}(i,e)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let t=this;for(;;){if(!t)return;if(t instanceof n3)return t;t=t.parent}}toString(){return this.children.reduce(((t,i)=>t+i.toString()),"")}len(){return 0}}class Q5 extends Z5{constructor(t){super(),this.value=t}toString(){return this.value}len(){return this.value.length}clone(){return new Q5(this.value)}}class J5 extends Z5{}class Y5 extends J5{static compareByIndex(t,i){return t.index===i.index?0:t.isFinalTabstop?1:i.isFinalTabstop||t.indexi.index?1:0}constructor(t){super(),this.index=t}get isFinalTabstop(){return 0===this.index}get choice(){return 1===this._children.length&&this._children[0]instanceof X5?this._children[0]:void 0}clone(){const t=new Y5(this.index);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map((t=>t.clone())),t}}class X5 extends Z5{constructor(){super(...arguments),this.options=[]}appendChild(t){return t instanceof Q5&&(t.parent=this,this.options.push(t)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const t=new X5;return this.options.forEach(t.appendChild,t),t}}class t3 extends Z5{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(t){const i=this;let e=!1,s=t.replace(this.regexp,(function(){return e=!0,i._replace(Array.prototype.slice.call(arguments,0,-2))}));return!e&&this._children.some((t=>t instanceof i3&&Boolean(t.elseValue)))&&(s=this._replace([])),s}_replace(t){let i="";for(const e of this._children)if(e instanceof i3){let s=t[e.index]||"";s=e.resolve(s),i+=s}else i+=e.toString();return i}toString(){return""}clone(){const t=new t3;return t.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),t._children=this.children.map((t=>t.clone())),t}}class i3 extends Z5{constructor(t,i,e,s){super(),this.index=t,this.shorthandName=i,this.ifValue=e,this.elseValue=s}resolve(t){return"upcase"===this.shorthandName?t?t.toLocaleUpperCase():"":"downcase"===this.shorthandName?t?t.toLocaleLowerCase():"":"capitalize"===this.shorthandName?t?t[0].toLocaleUpperCase()+t.substr(1):"":"pascalcase"===this.shorthandName?t?this._toPascalCase(t):"":"camelcase"===this.shorthandName?t?this._toCamelCase(t):"":Boolean(t)&&"string"==typeof this.ifValue?this.ifValue:Boolean(t)||"string"!=typeof this.elseValue?t||"":this.elseValue}_toPascalCase(t){const i=t.match(/[a-z0-9]+/gi);return i?i.map((t=>t.charAt(0).toUpperCase()+t.substr(1))).join(""):t}_toCamelCase(t){const i=t.match(/[a-z0-9]+/gi);return i?i.map(((t,i)=>0===i?t.charAt(0).toLowerCase()+t.substr(1):t.charAt(0).toUpperCase()+t.substr(1))).join(""):t}clone(){return new i3(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class e3 extends J5{constructor(t){super(),this.name=t}resolve(t){let i=t.resolve(this);return this.transform&&(i=this.transform.resolve(i||"")),void 0!==i&&(this._children=[new Q5(i)],!0)}clone(){const t=new e3(this.name);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map((t=>t.clone())),t}}function s3(t,i){const e=[...t];for(;e.length>0;){const t=e.shift();if(!i(t))break;e.unshift(...t.children)}}class n3 extends Z5{get placeholderInfo(){if(!this._placeholders){const t=[];let i;this.walk((function(e){return e instanceof Y5&&(t.push(e),i=!i||i.indexs===t?(e=!0,!1):(i+=s.len(),!0))),e?i:-1}fullLen(t){let i=0;return s3([t],(t=>(i+=t.len(),!0))),i}enclosingPlaceholders(t){const i=[];let{parent:e}=t;for(;e;)e instanceof Y5&&i.push(e),e=e.parent;return i}resolveVariables(t){return this.walk((i=>(i instanceof e3&&i.resolve(t)&&(this._placeholders=void 0),!0))),this}appendChild(t){return this._placeholders=void 0,super.appendChild(t)}replace(t,i){return this._placeholders=void 0,super.replace(t,i)}clone(){const t=new n3;return this._children=this.children.map((t=>t.clone())),t}walk(t){s3(this.children,t)}}class o3{constructor(){this._scanner=new G5,this._token={type:14,pos:0,len:0}}static escape(t){return t.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(t){return/\${?CLIPBOARD/.test(t)}parse(t,i,e){const s=new n3;return this.parseFragment(t,s),this.ensureFinalTabstop(s,null!=e&&e,null!=i&&i),s}parseFragment(t,i){const e=i.children.length;for(this._scanner.text(t),this._token=this._scanner.next();this._parse(i););const s=new Map,n=[];i.walk((t=>(t instanceof Y5&&(t.isFinalTabstop?s.set(0,void 0):!s.has(t.index)&&t.children.length>0?s.set(t.index,t.children):n.push(t)),!0)));const o=(t,e)=>{const n=s.get(t.index);if(!n)return;const r=new Y5(t.index);r.transform=t.transform;for(const t of n){const i=t.clone();r.appendChild(i),i instanceof Y5&&s.has(i.index)&&!e.has(i.index)&&(e.add(i.index),o(i,e),e.delete(i.index))}i.replace(t,[r])},r=new Set;for(const t of n)o(t,r);return i.children.slice(e)}ensureFinalTabstop(t,i,e){(i||e&&t.placeholders.length>0)&&(t.placeholders.find((t=>0===t.index))||t.appendChild(new Y5(0)))}_accept(t,i){if(void 0===t||this._token.type===t){const t=!i||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),t}return!1}_backTo(t){return this._scanner.pos=t.pos+t.len,this._token=t,!1}_until(t){const i=this._token;for(;this._token.type!==t;){if(14===this._token.type)return!1;if(5===this._token.type){const t=this._scanner.next();if(0!==t.type&&4!==t.type&&5!==t.type)return!1}this._token=this._scanner.next()}const e=this._scanner.value.substring(i.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),e}_parse(t){return this._parseEscaped(t)||this._parseTabstopOrVariableName(t)||this._parseComplexPlaceholder(t)||this._parseComplexVariable(t)||this._parseAnything(t)}_parseEscaped(t){let i;return!!(i=this._accept(5,!0))&&(i=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||i,t.appendChild(new Q5(i)),!0)}_parseTabstopOrVariableName(t){let i;const e=this._token;return this._accept(0)&&(i=this._accept(9,!0)||this._accept(8,!0))?(t.appendChild(/^\d+$/.test(i)?new Y5(Number(i)):new e3(i)),!0):this._backTo(e)}_parseComplexPlaceholder(t){let i;const e=this._token;if(!(this._accept(0)&&this._accept(3)&&(i=this._accept(8,!0))))return this._backTo(e);const s=new Y5(Number(i));if(this._accept(1))for(;;){if(this._accept(4))return t.appendChild(s),!0;if(!this._parse(s))return t.appendChild(new Q5("${"+i+":")),s.children.forEach(t.appendChild,t),!0}else{if(!(s.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(s)?(t.appendChild(s),!0):(this._backTo(e),!1):this._accept(4)?(t.appendChild(s),!0):this._backTo(e);{const i=new X5;for(;;){if(this._parseChoiceElement(i)){if(this._accept(2))continue;if(this._accept(7)&&(s.appendChild(i),this._accept(4)))return t.appendChild(s),!0}return this._backTo(e),!1}}}}_parseChoiceElement(t){const i=this._token,e=[];for(;2!==this._token.type&&7!==this._token.type;){let t;if(t=(t=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||t:this._accept(void 0,!0),!t)return this._backTo(i),!1;e.push(t)}return 0===e.length?(this._backTo(i),!1):(t.appendChild(new Q5(e.join(""))),!0)}_parseComplexVariable(t){let i;const e=this._token;if(!(this._accept(0)&&this._accept(3)&&(i=this._accept(9,!0))))return this._backTo(e);const s=new e3(i);if(!this._accept(1))return this._accept(6)?this._parseTransform(s)?(t.appendChild(s),!0):(this._backTo(e),!1):this._accept(4)?(t.appendChild(s),!0):this._backTo(e);for(;;){if(this._accept(4))return t.appendChild(s),!0;if(!this._parse(s))return t.appendChild(new Q5("${"+i+":")),s.children.forEach(t.appendChild,t),!0}}_parseTransform(t){const i=new t3;let e="",s="";for(;!this._accept(6);){let t;if(t=this._accept(5,!0))t=this._accept(6,!0)||t,e+=t;else{if(14===this._token.type)return!1;e+=this._accept(void 0,!0)}}for(;!this._accept(6);){let t;if(t=this._accept(5,!0))t=this._accept(5,!0)||this._accept(6,!0)||t,i.appendChild(new Q5(t));else if(!this._parseFormatString(i)&&!this._parseAnything(i))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;s+=this._accept(void 0,!0)}try{i.regexp=new RegExp(e,s)}catch(t){return!1}return t.transform=i,!0}_parseFormatString(t){const i=this._token;if(!this._accept(0))return!1;let e=!1;this._accept(3)&&(e=!0);const s=this._accept(8,!0);if(!s)return this._backTo(i),!1;if(!e)return t.appendChild(new i3(Number(s))),!0;if(this._accept(4))return t.appendChild(new i3(Number(s))),!0;if(!this._accept(1))return this._backTo(i),!1;if(this._accept(6)){const e=this._accept(9,!0);return e&&this._accept(4)?(t.appendChild(new i3(Number(s),e)),!0):(this._backTo(i),!1)}if(this._accept(11)){const i=this._until(4);if(i)return t.appendChild(new i3(Number(s),void 0,i,void 0)),!0}else if(this._accept(12)){const i=this._until(4);if(i)return t.appendChild(new i3(Number(s),void 0,void 0,i)),!0}else if(this._accept(13)){const i=this._until(1);if(i){const e=this._until(4);if(e)return t.appendChild(new i3(Number(s),void 0,i,e)),!0}}else{const i=this._until(4);if(i)return t.appendChild(new i3(Number(s),void 0,void 0,i)),!0}return this._backTo(i),!1}_parseAnything(t){return 14!==this._token.type&&(t.appendChild(new Q5(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}}async function r3(t,i,e,s,n=xe.None,o){const r=function(t,i){const e=i.getWordAtPosition(t),s=i.getLineMaxColumn(t.lineNumber);return e?new Ls(t.lineNumber,e.startColumn,t.lineNumber,s):Ls.fromPositions(t,t.with(void 0,s))}(i,e),h=t.all(e),c=new Kp;for(const t of h)t.groupId&&c.add(t.groupId,t);function a(t){if(!t.yieldsToGroupIds)return[];const i=[];for(const e of t.yieldsToGroupIds||[]){const t=c.get(e);for(const e of t)i.push(e)}return i}const l=new Map,u=new Set;function d(t,i){if(i=[...i,t],u.has(t))return i;u.add(t);try{const e=a(t);for(const t of e){const e=d(t,i);if(e)return e}}finally{u.delete(t)}}function f(t){const o=l.get(t);if(o)return o;const r=d(t,[]);r&&$i(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${r.map((t=>t.toString?t.toString():""+t)).join(" -> ")}`));const h=new yc;return l.set(t,h.p),(async()=>{if(!r){const i=a(t);for(const t of i){const i=await f(t);if(i&&i.items.length>0)return}}try{return await t.provideInlineCompletions(e,i,s,n)}catch(t){return void $i(t)}})().then((t=>h.complete(t)),(t=>h.error(t))),h.p}const p=await Promise.all(h.map((async t=>({provider:t,completions:await f(t)})))),g=new Map,m=[];for(const t of p){const i=t.completions;if(!i)continue;const s=new c3(i,t.provider);m.push(s);for(const t of i.items){const i=a3.from(t,s,r,e,o);g.set(i.hash(),i)}}return new h3(Array.from(g.values()),new Set(g.keys()),m)}class h3{constructor(t,i,e){this.completions=t,this.hashs=i,this.providerResults=e}has(t){return this.hashs.has(t.hash())}dispose(){for(const t of this.providerResults)t.removeRef()}}class c3{constructor(t,i){this.inlineCompletions=t,this.provider=i,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,0===this.refCount&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class a3{static from(t,i,e,s,n){let o,r,h=t.range?Ls.lift(t.range):e;if("string"==typeof t.insertText){if(o=t.insertText,n&&t.completeBracketPairs){o=l3(o,h.getStartPosition(),s,n);const i=o.length-t.insertText.length;0!==i&&(h=new Ls(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn+i))}r=void 0}else if("snippet"in t.insertText){const i=t.insertText.snippet.length;if(n&&t.completeBracketPairs){t.insertText.snippet=l3(t.insertText.snippet,h.getStartPosition(),s,n);const e=t.insertText.snippet.length-i;0!==e&&(h=new Ls(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn+e))}const e=(new o3).parse(t.insertText.snippet);1===e.children.length&&e.children[0]instanceof Q5?(o=e.children[0].value,r=void 0):(o=e.toString(),r={snippet:t.insertText.snippet,range:h})}else Ch();return new a3(o,t.command,h,o,r,t.additionalTextEdits||_5,t,i)}constructor(t,i,e,s,n,o,r,h){this.filterText=t,this.command=i,this.range=e,this.insertText=s,this.snippetInfo=n,this.additionalTextEdits=o,this.sourceInlineCompletion=r,this.source=h,s=(t=t.replace(/\r\n|\r/g,"\n")).replace(/\r\n|\r/g,"\n")}withRange(t){return new a3(this.filterText,this.command,t,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}}function l3(t,i,e,s){const n=e.getLineContent(i.lineNumber).substring(0,i.column-1)+t,o=e.tokenization.tokenizeLineWithEdit(i,n.length-(i.column-1),t),r=null==o?void 0:o.sliceAndInflate(i.column-1,n.length,0);if(!r)return t;const h=function(t,i){const e=new bE,s=new BE(e,(t=>i.getLanguageConfiguration(t))),n=VE(new OE(new K5([t]),s),[],void 0,!0);let o="";const r=t.getLineContent();return function t(i,e){if(2===i.kind)if(t(i.openingBracket,e),e=nE(e,i.openingBracket.length),i.child&&(t(i.child,e),e=nE(e,i.child.length)),i.closingBracket)t(i.closingBracket,e),e=nE(e,i.closingBracket.length);else{const t=s.getSingleLanguageBracketTokens(i.openingBracket.languageId).findClosingTokenText(i.openingBracket.bracketIds);o+=t}else if(3===i.kind);else if(0===i.kind||1===i.kind)o+=r.substring(e,nE(e,i.length));else if(4===i.kind)for(const s of i.children)t(s,e),e=nE(e,s.length)}(n,XD),o}(r,s);return h}class u3{constructor(t,i){this.range=t,this.text=i}removeCommonPrefix(t,i){const e=i?this.range.intersectRanges(i):this.range;if(!e)return this;const s=t.getValueInRange(e,1),n=po(s,this.text),o=B5(this.range.getStartPosition(),P5(s.substring(0,n))),r=this.text.substring(n),h=Ls.fromPositions(o,this.range.getEndPosition());return new u3(h,r)}augments(t){return this.text.startsWith(t.text)&&(i=this.range,(e=t.range).getStartPosition().equals(i.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(i.getEndPosition()));var i,e}computeGhostText(t,i,e,s=0){let n=this.removeCommonPrefix(t);if(n.range.endLineNumber!==n.range.startLineNumber)return;const o=t.getLineContent(n.range.startLineNumber),r=eo(o).length;if(n.range.startColumn-1<=r){const t=eo(n.text).length,i=o.substring(n.range.startColumn-1,r),[e,s]=[n.range.getStartPosition(),n.range.getEndPosition()],h=e.column+i.length<=s.column?e.delta(0,i.length):s,c=Ls.fromPositions(h,s),a=n.text.startsWith(i)?n.text.substring(i.length):n.text.substring(t);n=new u3(c,a)}const h=t.getValueInRange(n.range),c=function(t,i){if((null==d3?void 0:d3.originalValue)===t&&(null==d3?void 0:d3.newValue)===i)return null==d3?void 0:d3.changes;{let e=p3(t,i,!0);if(e){const s=f3(e);if(s>0){const n=p3(t,i,!1);n&&f3(n)0===t.originalLength));if(t.length>1||1===t.length&&t[0].originalStart!==h.length)return}const u=n.text.length-s;for(const t of c){const s=n.range.startColumn+t.originalStart+t.originalLength;if("subwordSmart"===i&&e&&e.lineNumber===n.range.startLineNumber&&s0)return;if(0===t.modifiedLength)continue;const o=t.modifiedStart+t.modifiedLength,r=Math.max(t.modifiedStart,Math.min(o,u)),h=n.text.substring(t.modifiedStart,r),c=n.text.substring(r,Math.max(t.modifiedStart,o));if(h.length>0){const t=to(h);l.push(new W5(s,t,!1))}if(c.length>0){const t=to(c);l.push(new W5(s,t,!0))}}return new $5(a,l)}}let d3;function f3(t){let i=0;for(const e of t)i+=e.originalLength;return i}function p3(t,i,e){if(t.length>5e3||i.length>5e3)return;function s(t){let i=0;for(let e=0,s=t.length;ei&&(i=s)}return i}const n=Math.max(s(t),s(i));function o(t){if(t<0)throw new Error("unexpected");return n+t+1}function r(t){let i=0,s=0;const n=new Int32Array(t.length);for(let r=0,h=t.length;rh},{getElements:()=>c}).ComputeDiff(!1).changes}var g3=function(t,i){return function(e,s){i(e,s,t)}};let m3=class extends ie{constructor(t,i,e,s,n){super(),this.textModel=t,this.versionId=i,this._debounceValue=e,this.languageFeaturesService=s,this.languageConfigurationService=n,this._updateOperation=this._register(new ee),this.inlineCompletions=OV("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=OV("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent((()=>{this._updateOperation.clear()})))}fetch(t,i,e){var s,n;const o=new w3(t,i,this.textModel.getVersionId()),r=i.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if(null===(s=this._updateOperation.value)||void 0===s?void 0:s.request.satisfies(o))return this._updateOperation.value.promise;if(null===(n=r.get())||void 0===n?void 0:n.request.satisfies(o))return Promise.resolve(!0);const h=!!this._updateOperation.value;this._updateOperation.clear();const c=new Se,a=(async()=>{var s;if((h||i.triggerKind===Ws.Automatic)&&await(s=this._debounceValue.get(this.textModel),new Promise((t=>{let i;setTimeout((()=>{i&&i.dispose(),t()}),s)}))),c.token.isCancellationRequested||this.textModel.getVersionId()!==o.versionId)return!1;const n=new Date,a=await r3(this.languageFeaturesService.inlineCompletionsProvider,t,this.textModel,i,c.token,this.languageConfigurationService);if(c.token.isCancellationRequested||this.textModel.getVersionId()!==o.versionId)return!1;const l=new Date;this._debounceValue.update(this.textModel,l.getTime()-n.getTime());const u=new b3(a,o,this.textModel,this.versionId);if(e){const i=e.toInlineCompletion(void 0);e.canBeReused(this.textModel,t)&&!a.has(i)&&u.prepend(e.inlineCompletion,i.range,!0)}return this._updateOperation.clear(),kV((t=>{r.set(u,t)})),!0})(),l=new v3(o,c,a);return this._updateOperation.value=l,a}clear(t){this._updateOperation.clear(),this.inlineCompletions.set(void 0,t),this.suggestWidgetInlineCompletions.set(void 0,t)}clearSuggestWidgetInlineCompletions(t){var i;(null===(i=this._updateOperation.value)||void 0===i?void 0:i.request.context.selectedSuggestionInfo)&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,t)}cancelUpdate(){this._updateOperation.clear()}};m3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([g3(3,Cg),g3(4,tf)],m3);class w3{constructor(t,i,e){this.position=t,this.context=i,this.versionId=e}satisfies(t){return this.position.equals(t.position)&&(e=t.context.selectedSuggestionInfo,(i=this.context.selectedSuggestionInfo)&&e?((t,i)=>t.equals(i))(i,e):i===e)&&(t.context.triggerKind===Ws.Automatic||this.context.triggerKind===Ws.Explicit)&&this.versionId===t.versionId;var i,e}}class v3{constructor(t,i,e){this.request=t,this.cancellationTokenSource=i,this.promise=e}dispose(){this.cancellationTokenSource.cancel()}}class b3{get inlineCompletions(){return this._inlineCompletions}constructor(t,i,e,s){this.inlineCompletionProviderResult=t,this.request=i,this.textModel=e,this.versionId=s,this._refCount=1,this._prependedInlineCompletionItems=[],this._rangeVersionIdValue=0,this._rangeVersionId=NV(this,(t=>{this.versionId.read(t);let i=!1;for(const t of this._inlineCompletions)i=i||t._updateRange(this.textModel);return i&&this._rangeVersionIdValue++,this._rangeVersionIdValue}));const n=e.deltaDecorations([],t.completions.map((t=>({range:t.range,options:{description:"inline-completion-tracking-range"}}))));this._inlineCompletions=t.completions.map(((t,i)=>new y3(t,n[i],this._rangeVersionId)))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,0===this._refCount){setTimeout((()=>{this.textModel.isDisposed()||this.textModel.deltaDecorations(this._inlineCompletions.map((t=>t.decorationId)),[])}),0),this.inlineCompletionProviderResult.dispose();for(const t of this._prependedInlineCompletionItems)t.source.removeRef()}}prepend(t,i,e){e&&t.source.addRef();const s=this.textModel.deltaDecorations([],[{range:i,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new y3(t,s,this._rangeVersionId,i)),this._prependedInlineCompletionItems.push(t)}}class y3{get forwardStable(){var t;return null!==(t=this.inlineCompletion.source.inlineCompletions.enableForwardStability)&&void 0!==t&&t}constructor(t,i,e,s){this.inlineCompletion=t,this.decorationId=i,this.rangeVersion=e,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._isValid=!0,this._updatedRange=null!=s?s:t.range}toInlineCompletion(t){return this.inlineCompletion.withRange(this._getUpdatedRange(t))}toSingleTextEdit(t){return new u3(this._getUpdatedRange(t),this.inlineCompletion.insertText)}isVisible(t,i,e){const s=this._toFilterTextReplacement(e).removeCommonPrefix(t);if(!this._isValid||!this.inlineCompletion.range.getStartPosition().equals(this._getUpdatedRange(e).getStartPosition())||i.lineNumber!==s.range.startLineNumber)return!1;const n=t.getValueInRange(s.range,1),o=s.text,r=Math.max(0,i.column-s.range.startColumn);let h=o.substring(0,r),c=o.substring(r),a=n.substring(0,r),l=n.substring(r);const u=t.getLineIndentColumn(s.range.startLineNumber);return s.range.startColumn<=u&&(a=a.trimStart(),0===a.length&&(l=l.trimStart()),h=h.trimStart(),0===h.length&&(c=c.trimStart())),h.startsWith(a)&&!!jI(l,c)}canBeReused(t,i){return this._isValid&&this._getUpdatedRange(void 0).containsPosition(i)&&this.isVisible(t,i,void 0)&&!this._isSmallerThanOriginal(void 0)}_toFilterTextReplacement(t){return new u3(this._getUpdatedRange(t),this.inlineCompletion.filterText)}_isSmallerThanOriginal(t){return k3(this._getUpdatedRange(t)).isBefore(k3(this.inlineCompletion.range))}_getUpdatedRange(t){return this.rangeVersion.read(t),this._updatedRange}_updateRange(t){const i=t.getDecorationRange(this.decorationId);return i?!this._updatedRange.equalsRange(i)&&(this._updatedRange=i,!0):(this._isValid=!1,!0)}}function k3(t){return t.startLineNumber===t.endLineNumber?new Ms(1,1+t.endColumn-t.startColumn):new Ms(1+t.endLineNumber-t.startLineNumber,t.endColumn)}const x3={Visible:z2,HasFocusedSuggestion:new ah("suggestWidgetHasFocusedSuggestion",!1,rt(0,"Whether any suggestion is focused")),DetailsVisible:new ah("suggestWidgetDetailsVisible",!1,rt(0,"Whether suggestion details are visible")),MultipleSuggestions:new ah("suggestWidgetMultipleSuggestions",!1,rt(0,"Whether there are multiple suggestions to pick from")),MakesTextEdit:new ah("suggestionMakesTextEdit",!0,rt(0,"Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new ah("acceptSuggestionOnEnter",!0,rt(0,"Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new ah("suggestionHasInsertAndReplaceRange",!1,rt(0,"Whether the current suggestion has insert and replace behaviour")),InsertMode:new ah("suggestionInsertMode",void 0,{type:"string",description:rt(0,"Whether the default behaviour is to insert or replace")}),CanResolve:new ah("suggestionCanResolve",!1,rt(0,"Whether the current suggestion supports to resolve further details"))},C3=new Oh("suggestWidgetStatusBar");class S3{constructor(t,i,e,s){var n;this.position=t,this.completion=i,this.container=e,this.provider=s,this.isInvalid=!1,this.score=C_.Default,this.distance=0,this.textLabel="string"==typeof i.label?i.label:null===(n=i.label)||void 0===n?void 0:n.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=i.sortText&&i.sortText.toLowerCase(),this.filterTextLow=i.filterText&&i.filterText.toLowerCase(),this.extensionId=i.extensionId,Ls.isIRange(i.range)?(this.editStart=new Ms(i.range.startLineNumber,i.range.startColumn),this.editInsertEnd=new Ms(i.range.endLineNumber,i.range.endColumn),this.editReplaceEnd=new Ms(i.range.endLineNumber,i.range.endColumn),this.isInvalid=this.isInvalid||Ls.spansMultipleLines(i.range)||i.range.startLineNumber!==t.lineNumber):(this.editStart=new Ms(i.range.insert.startLineNumber,i.range.insert.startColumn),this.editInsertEnd=new Ms(i.range.insert.endLineNumber,i.range.insert.endColumn),this.editReplaceEnd=new Ms(i.range.replace.endLineNumber,i.range.replace.endColumn),this.isInvalid=this.isInvalid||Ls.spansMultipleLines(i.range.insert)||Ls.spansMultipleLines(i.range.replace)||i.range.insert.startLineNumber!==t.lineNumber||i.range.replace.startLineNumber!==t.lineNumber||i.range.insert.startColumn!==i.range.replace.startColumn),"function"!=typeof s.resolveCompletionItem&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return void 0!==this._resolveDuration}get resolveDuration(){return void 0!==this._resolveDuration?this._resolveDuration:-1}async resolve(t){if(!this._resolveCache){const i=t.onCancellationRequested((()=>{this._resolveCache=void 0,this._resolveDuration=void 0})),e=new he(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,t)).then((t=>{Object.assign(this.completion,t),this._resolveDuration=e.elapsed()}),(t=>{zi(t)&&(this._resolveCache=void 0,this._resolveDuration=void 0)})).finally((()=>{i.dispose()}))}return this._resolveCache}}class D3{constructor(t=2,i=new Set,e=new Set,s=new Map,n=!0){this.snippetSortOrder=t,this.kindFilter=i,this.providerFilter=e,this.providerItemsToReuse=s,this.showDeprecated=n}}D3.default=new D3;class E3{constructor(t,i,e,s){this.items=t,this.needsClipboard=i,this.durations=e,this.disposable=s}}async function A3(t,i,e,s=D3.default,n={triggerKind:0},o=xe.None){const r=new he;e=e.clone();const h=i.getWordAtPosition(e),c=h?new Ls(e.lineNumber,h.startColumn,e.lineNumber,h.endColumn):Ls.fromPositions(e),a={replace:c,insert:c.setEndPosition(e.lineNumber,e.column)},l=[],u=new te,d=[];let f=!1;const p=(t,i,n)=>{var o,r,h;let c=!1;if(!i)return c;for(const n of i.suggestions)if(!s.kindFilter.has(n.kind)){if(!s.showDeprecated&&(null===(o=null==n?void 0:n.tags)||void 0===o?void 0:o.includes(1)))continue;n.range||(n.range=a),n.sortText||(n.sortText="string"==typeof n.label?n.label:n.label.label),!f&&n.insertTextRules&&4&n.insertTextRules&&(f=o3.guessNeedsClipboard(n.insertText)),l.push(new S3(e,n,i,t)),c=!0}return Qi(i)&&u.add(i),d.push({providerName:null!==(r=t._debugDisplayName)&&void 0!==r?r:"unknown_provider",elapsedProvider:null!==(h=i.duration)&&void 0!==h?h:-1,elapsedOverall:n.elapsed()}),c},g=(async()=>{})();for(const r of t.orderedGroups(i)){let t=!1;if(await Promise.all(r.map((async r=>{if(s.providerItemsToReuse.has(r)){const i=s.providerItemsToReuse.get(r);return i.forEach((t=>l.push(t))),void(t=t||i.length>0)}if(!(s.providerFilter.size>0)||s.providerFilter.has(r))try{const s=new he,h=await r.provideCompletionItems(i,e,n,o);t=p(r,h,s)||t}catch(t){$i(t)}}))),t||o.isCancellationRequested)break}return await g,o.isCancellationRequested?(u.dispose(),Promise.reject(new Hi)):new E3(l.sort(L3.get(s.snippetSortOrder)),f,{entries:d,elapsed:r.elapsed()},u)}function M3(t,i){if(t.sortTextLow&&i.sortTextLow){if(t.sortTextLowi.sortTextLow)return 1}return t.textLabeli.textLabel?1:t.completion.kind-i.completion.kind}const L3=new Map;L3.set(0,(function(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return-1;if(27===i.completion.kind)return 1}return M3(t,i)})),L3.set(2,(function(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return 1;if(27===i.completion.kind)return-1}return M3(t,i)})),L3.set(1,M3),Er.registerCommand("_executeCompletionItemProvider",(async(t,...i)=>{const[e,s,n,o]=i;K(ws.isUri(e)),K(Ms.isIPosition(s)),K("string"==typeof n||!n),K("number"==typeof o||!o);const{completionProvider:r}=t.get(Cg),h=await t.get(mr).createModelReference(e);try{const t={incomplete:!1,suggestions:[]},i=[],e=h.object.textEditorModel.validatePosition(s),c=await A3(r,h.object.textEditorModel,e,void 0,{triggerCharacter:null!=n?n:void 0,triggerKind:n?1:0});for(const e of c.items)i.length<(null!=o?o:0)&&i.push(e.resolve(xe.None)),t.incomplete=t.incomplete||e.container.incomplete,t.suggestions.push(e.completion);try{return await Promise.all(i),t}finally{setTimeout((()=>c.disposable.dispose()),100)}}finally{h.dispose()}}));class F3{static isAllOff(t){return"off"===t.other&&"off"===t.comments&&"off"===t.strings}static isAllOn(t){return"on"===t.other&&"on"===t.comments&&"on"===t.strings}static valueFor(t,i){switch(i){case 1:return t.comments;case 2:return t.strings;default:return t.other}}}function T3(t,i=Ct){return function(t,i=Ct){return!!i&&pA(t.charCodeAt(0))&&58===t.charCodeAt(1)}(t,i)?t.charAt(0).toUpperCase()+t.slice(1):t}Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,CURRENT_SECONDS_UNIX:!0,CURRENT_TIMEZONE_OFFSET:!0,SELECTION:!0,CLIPBOARD:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0,CURSOR_INDEX:!0,CURSOR_NUMBER:!0,RELATIVE_FILEPATH:!0,BLOCK_COMMENT_START:!0,BLOCK_COMMENT_END:!0,LINE_COMMENT:!0,WORKSPACE_NAME:!0,WORKSPACE_FOLDER:!0,RANDOM:!0,RANDOM_HEX:!0,UUID:!0});class R3{constructor(t){this._delegates=t}resolve(t){for(const i of this._delegates){const e=i.resolve(t);if(void 0!==e)return e}}}class O3{constructor(t,i,e,s){this._model=t,this._selection=i,this._selectionIdx=e,this._overtypingCapturer=s}resolve(t){const{name:i}=t;if("SELECTION"===i||"TM_SELECTED_TEXT"===i){let i=this._model.getValueInRange(this._selection)||void 0,e=this._selection.startLineNumber!==this._selection.endLineNumber;if(!i&&this._overtypingCapturer){const t=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);t&&(i=t.value,e=t.multiline)}if(i&&e&&t.snippet){const e=eo(this._model.getLineContent(this._selection.startLineNumber),0,this._selection.startColumn-1);let s=e;t.snippet.walk((i=>i!==t&&(i instanceof Q5&&(s=eo(to(i.value).pop())),!0)));const n=po(s,e);i=i.replace(/(\r\n|\r|\n)(.*)/g,((t,i,e)=>`${i}${s.substr(n)}${e}`))}return i}if("TM_CURRENT_LINE"===i)return this._model.getLineContent(this._selection.positionLineNumber);if("TM_CURRENT_WORD"===i){const t=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return t&&t.word||void 0}return"TM_LINE_INDEX"===i?String(this._selection.positionLineNumber-1):"TM_LINE_NUMBER"===i?String(this._selection.positionLineNumber):"CURSOR_INDEX"===i?String(this._selectionIdx):"CURSOR_NUMBER"===i?String(this._selectionIdx+1):void 0}}class I3{constructor(t,i){this._labelService=t,this._model=i}resolve(t){const{name:i}=t;if("TM_FILENAME"===i)return cs(this._model.uri.fsPath);if("TM_FILENAME_BASE"===i){const t=cs(this._model.uri.fsPath),i=t.lastIndexOf(".");return i<=0?t:t.slice(0,i)}return"TM_DIRECTORY"===i?"."===hs(this._model.uri.fsPath)?"":this._labelService.getUriLabel(xA(this._model.uri)):"TM_FILEPATH"===i?this._labelService.getUriLabel(this._model.uri):"RELATIVE_FILEPATH"===i?this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0}):void 0}}class _3{constructor(t,i,e,s){this._readClipboardText=t,this._selectionIdx=i,this._selectionCount=e,this._spread=s}resolve(t){if("CLIPBOARD"!==t.name)return;const i=this._readClipboardText();if(i){if(this._spread){const t=i.split(/\r\n|\n|\r/).filter((t=>!Un(t)));if(t.length===this._selectionCount)return t[this._selectionIdx]}return i}}}let N3=class{constructor(t,i,e){this._model=t,this._selection=i,this._languageConfigurationService=e}resolve(t){const{name:i}=t,e=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),s=this._languageConfigurationService.getLanguageConfiguration(e).comments;if(s)return"LINE_COMMENT"===i?s.lineCommentToken||void 0:"BLOCK_COMMENT_START"===i?s.blockCommentStartToken||void 0:"BLOCK_COMMENT_END"===i&&s.blockCommentEndToken||void 0}};N3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,tf)],N3);class B3{constructor(){this._date=new Date}resolve(t){const{name:i}=t;if("CURRENT_YEAR"===i)return String(this._date.getFullYear());if("CURRENT_YEAR_SHORT"===i)return String(this._date.getFullYear()).slice(-2);if("CURRENT_MONTH"===i)return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if("CURRENT_DATE"===i)return String(this._date.getDate().valueOf()).padStart(2,"0");if("CURRENT_HOUR"===i)return String(this._date.getHours().valueOf()).padStart(2,"0");if("CURRENT_MINUTE"===i)return String(this._date.getMinutes().valueOf()).padStart(2,"0");if("CURRENT_SECOND"===i)return String(this._date.getSeconds().valueOf()).padStart(2,"0");if("CURRENT_DAY_NAME"===i)return B3.dayNames[this._date.getDay()];if("CURRENT_DAY_NAME_SHORT"===i)return B3.dayNamesShort[this._date.getDay()];if("CURRENT_MONTH_NAME"===i)return B3.monthNames[this._date.getMonth()];if("CURRENT_MONTH_NAME_SHORT"===i)return B3.monthNamesShort[this._date.getMonth()];if("CURRENT_SECONDS_UNIX"===i)return String(Math.floor(this._date.getTime()/1e3));if("CURRENT_TIMEZONE_OFFSET"===i){const t=this._date.getTimezoneOffset(),i=t>0?"-":"+",e=Math.trunc(Math.abs(t/60)),s=e<10?"0"+e:e,n=Math.abs(t)-60*e;return i+s+":"+(n<10?"0"+n:n)}}}B3.dayNames=[rt(0,"Sunday"),rt(0,"Monday"),rt(0,"Tuesday"),rt(0,"Wednesday"),rt(0,"Thursday"),rt(0,"Friday"),rt(0,"Saturday")],B3.dayNamesShort=[rt(0,"Sun"),rt(0,"Mon"),rt(0,"Tue"),rt(0,"Wed"),rt(0,"Thu"),rt(0,"Fri"),rt(0,"Sat")],B3.monthNames=[rt(0,"January"),rt(0,"February"),rt(0,"March"),rt(0,"April"),rt(0,"May"),rt(0,"June"),rt(0,"July"),rt(0,"August"),rt(0,"September"),rt(0,"October"),rt(0,"November"),rt(0,"December")],B3.monthNamesShort=[rt(0,"Jan"),rt(0,"Feb"),rt(0,"Mar"),rt(0,"Apr"),rt(0,"May"),rt(0,"Jun"),rt(0,"Jul"),rt(0,"Aug"),rt(0,"Sep"),rt(0,"Oct"),rt(0,"Nov"),rt(0,"Dec")];class P3{constructor(t){this._workspaceService=t}resolve(t){if(!this._workspaceService)return;const i="string"==typeof(e=this._workspaceService.getWorkspace())||void 0===e?"string"==typeof e?{id:cs(e)}:YO:e.configuration?{id:e.id,configPath:e.configuration}:1===e.folders.length?{id:e.id,uri:e.folders[0].uri}:{id:e.id};var e,s;return"string"!=typeof(null==(s=i)?void 0:s.id)||JO(s)||function(t){return"string"==typeof(null==t?void 0:t.id)&&ws.isUri(t.configPath)}(s)?"WORKSPACE_NAME"===t.name?this._resolveWorkspaceName(i):"WORKSPACE_FOLDER"===t.name?this._resoveWorkspacePath(i):void 0:void 0}_resolveWorkspaceName(t){if(JO(t))return cs(t.uri.path);let i=cs(t.configPath.path);return i.endsWith("code-workspace")&&(i=i.substr(0,i.length-14-1)),i}_resoveWorkspacePath(t){if(JO(t))return T3(t.uri.fsPath);const i=cs(t.configPath.path);let e=t.configPath.fsPath;return e.endsWith(i)&&(e=e.substr(0,e.length-i.length-1)),e?T3(e):"/"}}class $3{resolve(t){const{name:i}=t;return"RANDOM"===i?Math.random().toString().slice(-6):"RANDOM_HEX"===i?Math.random().toString(16).slice(-6):"UUID"===i?u1():void 0}}var W3;class j3{constructor(t,i,e){this._editor=t,this._snippet=i,this._snippetLineLeadingWhitespace=e,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=p(i.placeholders,Y5.compareByIndex),this._placeholderGroupsIdx=-1}initialize(t){this._offset=t.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(-1===this._offset)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const t=this._editor.getModel();this._editor.changeDecorations((i=>{for(const e of this._snippet.placeholders){const s=this._snippet.offset(e),n=this._snippet.fullLen(e),o=Ls.fromPositions(t.getPositionAt(this._offset+s),t.getPositionAt(this._offset+s+n)),r=i.addDecoration(o,e.isFinalTabstop?j3._decor.inactiveFinal:j3._decor.inactive);this._placeholderDecorations.set(e,r)}}))}move(t){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const t=[];for(const i of this._placeholderGroups[this._placeholderGroupsIdx])if(i.transform){const e=this._placeholderDecorations.get(i),s=this._editor.getModel().getDecorationRange(e),n=this._editor.getModel().getValueInRange(s),o=i.transform.resolve(n).split(/\r\n|\r|\n/);for(let t=1;t0&&this._editor.executeEdits("snippet.placeholderTransform",t)}let i=!1;!0===t&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,i=!0);const e=this._editor.getModel().changeDecorations((t=>{const e=new Set,s=[];for(const n of this._placeholderGroups[this._placeholderGroupsIdx]){const o=this._placeholderDecorations.get(n),r=this._editor.getModel().getDecorationRange(o);s.push(new Fs(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn)),i=i&&this._hasPlaceholderBeenCollapsed(n),t.changeDecorationOptions(o,n.isFinalTabstop?j3._decor.activeFinal:j3._decor.active),e.add(n);for(const i of this._snippet.enclosingPlaceholders(n)){const s=this._placeholderDecorations.get(i);t.changeDecorationOptions(s,i.isFinalTabstop?j3._decor.activeFinal:j3._decor.active),e.add(i)}}for(const[i,s]of this._placeholderDecorations)e.has(i)||t.changeDecorationOptions(s,i.isFinalTabstop?j3._decor.inactiveFinal:j3._decor.inactive);return s}));return i?this.move(t):null!=e?e:[]}_hasPlaceholderBeenCollapsed(t){let i=t;for(;i;){if(i instanceof Y5){const t=this._placeholderDecorations.get(i);if(this._editor.getModel().getDecorationRange(t).isEmpty()&&i.toString().length>0)return!0}i=i.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||0===this._placeholderGroups.length}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(0===this._snippet.placeholders.length)return!0;if(1===this._snippet.placeholders.length){const[t]=this._snippet.placeholders;if(t.isFinalTabstop&&this._snippet.rightMostDescendant===t)return!0}return!1}computePossibleSelections(){const t=new Map;for(const i of this._placeholderGroups){let e;for(const s of i){if(s.isFinalTabstop)break;e||(e=[],t.set(s.index,e));const i=this._placeholderDecorations.get(s),n=this._editor.getModel().getDecorationRange(i);if(!n){t.delete(s.index);break}e.push(n)}}return t}get activeChoice(){if(!this._placeholderDecorations)return;const t=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(null==t?void 0:t.choice))return;const i=this._placeholderDecorations.get(t);if(!i)return;const e=this._editor.getModel().getDecorationRange(i);return e?{range:e,choice:t.choice}:void 0}get hasChoice(){let t=!1;return this._snippet.walk((i=>(t=i instanceof X5,!t))),t}merge(t){const i=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations((e=>{for(const s of this._placeholderGroups[this._placeholderGroupsIdx]){const n=t.shift();console.assert(-1!==n._offset),console.assert(!n._placeholderDecorations);const o=n._snippet.placeholderInfo.last.index;for(const t of n._snippet.placeholderInfo.all)t.index=t.isFinalTabstop?s.index+(o+1)/this._nestingLevel:s.index+t.index/this._nestingLevel;this._snippet.replace(s,n._snippet.children);const r=this._placeholderDecorations.get(s);e.removeDecoration(r),this._placeholderDecorations.delete(s);for(const t of n._snippet.placeholders){const s=n._snippet.offset(t),o=n._snippet.fullLen(t),r=Ls.fromPositions(i.getPositionAt(n._offset+s),i.getPositionAt(n._offset+s+o)),h=e.addDecoration(r,j3._decor.inactive);this._placeholderDecorations.set(t,h)}}this._placeholderGroups=p(this._snippet.placeholders,Y5.compareByIndex)}))}}j3._decor={active:ML.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:ML.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:ML.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:ML.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};const z3={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let H3=W3=class{static adjustWhitespace(t,i,e,s,n){const o=eo(t.getLineContent(i.lineNumber),0,i.column-1);let r;return s.walk((i=>{if(!(i instanceof Q5)||i.parent instanceof X5)return!0;if(n&&!n.has(i))return!0;const h=i.value.split(/\r\n|\r|\n/);if(e){const e=s.offset(i);if(0===e)h[0]=t.normalizeIndentation(h[0]);else{r=null!=r?r:s.toString();const i=r.charCodeAt(e-1);10!==i&&13!==i||(h[0]=t.normalizeIndentation(o+h[0]))}for(let i=1;it.get(QO))),f=t.invokeWithinContext((t=>new I3(t.get(WO),u))),p=()=>r,g=u.getValueInRange(W3.adjustSelection(u,t.getSelection(),e,0)),m=u.getValueInRange(W3.adjustSelection(u,t.getSelection(),0,s)),w=u.getLineFirstNonWhitespaceColumn(t.getSelection().positionLineNumber),v=t.getSelections().map(((t,i)=>({selection:t,idx:i}))).sort(((t,i)=>Ls.compareRangesUsingStarts(t.selection,i.selection)));for(const{selection:r,idx:b}of v){let y=W3.adjustSelection(u,r,e,0),k=W3.adjustSelection(u,r,0,s);g!==u.getValueInRange(y)&&(y=r),m!==u.getValueInRange(k)&&(k=r);const x=r.setStartPosition(y.startLineNumber,y.startColumn).setEndPosition(k.endLineNumber,k.endColumn),C=(new o3).parse(i,!0,n),S=x.getStartPosition(),D=W3.adjustWhitespace(u,S,o||b>0&&w!==u.getLineFirstNonWhitespaceColumn(r.positionLineNumber),C);C.resolveVariables(new R3([f,new _3(p,b,v.length,"spread"===t.getOption(78)),new O3(u,r,b,h),new N3(u,r,c),new B3,new P3(d),new $3])),a[b]=gO.replace(x,C.toString()),a[b].identifier={major:b,minor:0},a[b]._isTracked=!0,l[b]=new j3(t,C,D)}return{edits:a,snippets:l}}static createEditsAndSnippetsFromEdits(t,i,e,s,n,o,r){if(!t.hasModel()||0===i.length)return{edits:[],snippets:[]};const h=[],c=t.getModel(),a=new o3,l=new n3,u=new R3([t.invokeWithinContext((t=>new I3(t.get(WO),c))),new _3((()=>n),0,t.getSelections().length,"spread"===t.getOption(78)),new O3(c,t.getSelection(),0,o),new N3(c,t.getSelection(),r),new B3,new P3(t.invokeWithinContext((t=>t.get(QO)))),new $3]);i=i.sort(((t,i)=>Ls.compareRangesUsingStarts(t.range,i.range)));let d=0;for(let t=0;t0){const s=Ls.fromPositions(i[t-1].range.getEndPosition(),e.getStartPosition()),n=new Q5(c.getValueInRange(s));l.appendChild(n),d+=n.value.length}const n=a.parseFragment(s,l);W3.adjustWhitespace(c,e.getStartPosition(),!0,l,new Set(n)),l.resolveVariables(u);const o=l.toString(),r=o.slice(d);d=o.length;const f=gO.replace(e,r);f.identifier={major:t,minor:0},f._isTracked=!0,h.push(f)}return a.ensureFinalTabstop(l,e,!0),{edits:h,snippets:[new j3(t,l,"")]}}constructor(t,i,e=z3,s){this._editor=t,this._template=i,this._options=e,this._languageConfigurationService=s,this._templateMerges=[],this._snippets=[]}dispose(){Ji(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:t,snippets:i}="string"==typeof this._template?W3.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):W3.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=i,this._editor.executeEdits("snippet",t,(t=>{const e=t.filter((t=>!!t.identifier));for(let t=0;tFs.fromPositions(t.range.getEndPosition())))})),this._editor.revealRange(this._editor.getSelections()[0])}merge(t,i=z3){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,t]);const{edits:e,snippets:s}=W3.createEditsAndSnippetsFromSelections(this._editor,t,i.overwriteBefore,i.overwriteAfter,!0,i.adjustWhitespace,i.clipboardText,i.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",e,(t=>{const i=t.filter((t=>!!t.identifier));for(let t=0;tFs.fromPositions(t.range.getEndPosition())))}))}next(){const t=this._move(!0);this._editor.setSelections(t),this._editor.revealPositionInCenterIfOutsideViewport(t[0].getPosition())}prev(){const t=this._move(!1);this._editor.setSelections(t),this._editor.revealPositionInCenterIfOutsideViewport(t[0].getPosition())}_move(t){const i=[];for(const e of this._snippets){const s=e.move(t);i.push(...s)}return i}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 t=this._editor.getSelections();if(t.length{t.push(...s.get(i))}))}t.sort(Ls.compareRangesUsingStarts);for(const[e,s]of i)if(s.length===t.length){s.sort(Ls.compareRangesUsingStarts);for(let n=0;n0}};H3=W3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,tf)],H3);var V3,U3=function(t,i){return function(e,s){i(e,s,t)}};const q3={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let K3=V3=class{static get(t){return t.getContribution(V3.ID)}constructor(t,i,e,s,n){this._editor=t,this._logService=i,this._languageFeaturesService=e,this._languageConfigurationService=n,this._snippetListener=new te,this._modelVersionId=-1,this._inSnippet=V3.InSnippetMode.bindTo(s),this._hasNextTabstop=V3.HasNextTabstop.bindTo(s),this._hasPrevTabstop=V3.HasPrevTabstop.bindTo(s)}dispose(){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),null===(t=this._session)||void 0===t||t.dispose(),this._snippetListener.dispose()}insert(t,i){try{this._doInsert(t,void 0===i?q3:{...q3,...i})}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",t),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(t,i){var e;if(this._editor.hasModel()){if(this._snippetListener.clear(),i.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&"string"!=typeof t&&this.cancel(),this._session?(K("string"==typeof t),this._session.merge(t,i)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new H3(this._editor,t,i,this._languageConfigurationService),this._session.insert()),i.undoStopAfter&&this._editor.getModel().pushStackElement(),null===(e=this._session)||void 0===e?void 0:e.hasChoice){const t={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(t,i)=>{if(!this._session||t!==this._editor.getModel()||!Ms.equals(this._editor.getPosition(),i))return;const{activeChoice:e}=this._session;if(!e||0===e.choice.options.length)return;const s=t.getValueInRange(e.range),n=Boolean(e.choice.options.find((t=>t.value===s))),o=[];for(let t=0;t{s||(e=this._languageFeaturesService.completionProvider.register({language:i.getLanguageId(),pattern:i.uri.fsPath,scheme:i.uri.scheme,exclusive:!0},t),this._snippetListener.add(e),s=!0)},disable:()=>{null==e||e.dispose(),s=!1}}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent((t=>t.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())return void(this._currentChoice=void 0);const{activeChoice:i}=this._session;if(!i||!this._choiceCompletions)return null===(t=this._choiceCompletions)||void 0===t||t.disable(),void(this._currentChoice=void 0);this._currentChoice!==i.choice&&(this._currentChoice=i.choice,this._choiceCompletions.enable(),queueMicrotask((()=>{!function(t,i){var e;null===(e=t.getContribution("editor.contrib.suggestController"))||void 0===e||e.triggerSuggest((new Set).add(i),void 0,!0)}(this._editor,this._choiceCompletions.provider)})))}finish(){for(;this._inSnippet.get();)this.next()}cancel(t=!1){var i;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,null===(i=this._session)||void 0===i||i.dispose(),this._session=void 0,this._modelVersionId=-1,t&&this._editor.setSelections([this._editor.getSelection()])}prev(){var t;null===(t=this._session)||void 0===t||t.prev(),this._updateState()}next(){var t;null===(t=this._session)||void 0===t||t.next(),this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}};K3.ID="snippetController2",K3.InSnippetMode=new ah("inSnippetMode",!1,rt(0,"Whether the editor in current in snippet mode")),K3.HasNextTabstop=new ah("hasNextTabstop",!1,rt(0,"Whether there is a next tab stop when in snippet mode")),K3.HasPrevTabstop=new ah("hasPrevTabstop",!1,rt(0,"Whether there is a previous tab stop when in snippet mode")),K3=V3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([U3(1,zh),U3(2,Cg),U3(3,lh),U3(4,tf)],K3),uu(K3.ID,K3,4);const G3=su.bindToContribution(K3.get);cu(new G3({id:"jumpToNextSnippetPlaceholder",precondition:Hr.and(K3.InSnippetMode,K3.HasNextTabstop),handler:t=>t.next(),kbOpts:{weight:130,kbExpr:XC.editorTextFocus,primary:2}})),cu(new G3({id:"jumpToPrevSnippetPlaceholder",precondition:Hr.and(K3.InSnippetMode,K3.HasPrevTabstop),handler:t=>t.prev(),kbOpts:{weight:130,kbExpr:XC.editorTextFocus,primary:1026}})),cu(new G3({id:"leaveSnippet",precondition:K3.InSnippetMode,handler:t=>t.cancel(!0),kbOpts:{weight:130,kbExpr:XC.editorTextFocus,primary:9,secondary:[1033]}})),cu(new G3({id:"acceptSnippet",precondition:K3.InSnippetMode,handler:t=>t.finish()}));var Z3,Q3=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t[t.Undo=0]="Undo",t[t.Redo=1]="Redo",t[t.AcceptWord=2]="AcceptWord",t[t.Other=3]="Other"}(Z3||(Z3={}));let J3=class extends ie{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(t,i,e,s,n,o,r,h,c,a,l,u){let d;super(),this.textModel=t,this.selectedSuggestItem=i,this.cursorPosition=e,this.textModelVersionId=s,this._debounceValue=n,this._suggestPreviewEnabled=o,this._suggestPreviewMode=r,this._inlineSuggestMode=h,this._enabled=c,this._instantiationService=a,this._commandService=l,this._languageConfigurationService=u,this._source=this._register(this._instantiationService.createInstance(m3,this.textModel,this.textModelVersionId,this._debounceValue)),this._isActive=TV(this,!1),this._forceUpdateSignal=YV("forceUpdate"),this._selectedInlineCompletionId=TV(this,void 0),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([Z3.Redo,Z3.Undo,Z3.AcceptWord]),this._fetchInlineCompletions=function(t,i){var e;return new WV(t.owner,t.debugName,i,t.createEmptyChangeSummary,t.handleChange,void 0,null!==(e=t.equalityComparer)&&void 0!==e?e:_V)}({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:Ws.Automatic}),handleChange:(t,i)=>(t.didChange(this.textModelVersionId)&&this._preserveCurrentCompletionReasons.has(t.change)?i.preserveCurrentCompletion=!0:t.didChange(this._forceUpdateSignal)&&(i.inlineCompletionTriggerKind=t.change),!0)},((t,i)=>{if(this._forceUpdateSignal.read(t),!(this._enabled.read(t)&&this.selectedSuggestItem.read(t)||this._isActive.read(t)))return void this._source.cancelUpdate();this.textModelVersionId.read(t);const e=this.selectedInlineCompletion.get(),s=i.preserveCurrentCompletion||(null==e?void 0:e.forwardStable)?e:void 0,n=this._source.suggestWidgetInlineCompletions.get(),o=this.selectedSuggestItem.read(t);if(n&&!o){const t=this._source.inlineCompletions.get();kV((i=>{(!t||n.request.versionId>t.request.versionId)&&this._source.inlineCompletions.set(n.clone(),i),this._source.clearSuggestWidgetInlineCompletions(i)}))}const r=this.cursorPosition.read(t),h={triggerKind:i.inlineCompletionTriggerKind,selectedSuggestionInfo:null==o?void 0:o.toSelectedSuggestionInfo()};return this._source.fetch(r,h,s)})),this._filteredInlineCompletionItems=NV(this,(t=>{const i=this._source.inlineCompletions.read(t);if(!i)return[];const e=this.cursorPosition.read(t),s=i.inlineCompletions.filter((i=>i.isVisible(this.textModel,e,t)));return s})),this.selectedInlineCompletionIndex=NV(this,(t=>{const i=this._selectedInlineCompletionId.read(t),e=this._filteredInlineCompletionItems.read(t),s=void 0===this._selectedInlineCompletionId?-1:e.findIndex((t=>t.semanticId===i));return-1===s?(this._selectedInlineCompletionId.set(void 0,void 0),0):s})),this.selectedInlineCompletion=NV(this,(t=>this._filteredInlineCompletionItems.read(t)[this.selectedInlineCompletionIndex.read(t)])),this.lastTriggerKind=this._source.inlineCompletions.map(this,(t=>null==t?void 0:t.request.context.triggerKind)),this.inlineCompletionsCount=NV(this,(t=>this.lastTriggerKind.read(t)===Ws.Explicit?this._filteredInlineCompletionItems.read(t).length:void 0)),this.state=BV({owner:this,equalityComparer:(t,i)=>t&&i?z5(t.ghostText,i.ghostText)&&t.inlineCompletion===i.inlineCompletion&&t.suggestItem===i.suggestItem:t===i},(t=>{var i;const e=this.textModel,s=this.selectedSuggestItem.read(t);if(s){const n=s.toSingleTextEdit().removeCommonPrefix(e),o=this._computeAugmentedCompletion(n,t);if(!this._suggestPreviewEnabled.read(t)&&!o)return;const r=null!==(i=null==o?void 0:o.edit)&&void 0!==i?i:n,h=o?o.edit.text.length-n.text.length:0,c=this._suggestPreviewMode.read(t),a=this.cursorPosition.read(t),l=r.computeGhostText(e,c,a,h);return{ghostText:null!=l?l:new $5(r.range.endLineNumber,[]),inlineCompletion:null==o?void 0:o.completion,suggestItem:s}}{if(!this._isActive.read(t))return;const i=this.selectedInlineCompletion.read(t);if(!i)return;const s=i.toSingleTextEdit(t),n=this._inlineSuggestMode.read(t),o=this.cursorPosition.read(t),r=s.computeGhostText(e,n,o);return r?{ghostText:r,inlineCompletion:i,suggestItem:void 0}:void 0}})),this.ghostText=BV({owner:this,equalityComparer:z5},(t=>{const i=this.state.read(t);if(i)return i.ghostText})),this._register(tU(this._fetchInlineCompletions)),this._register(jV((t=>{var i,e;const s=this.state.read(t),n=null==s?void 0:s.inlineCompletion;if((null==n?void 0:n.semanticId)!==(null==d?void 0:d.semanticId)&&(d=n,n)){const t=n.inlineCompletion,s=t.source;null===(e=(i=s.provider).handleItemDidShow)||void 0===e||e.call(i,s.inlineCompletions,t.sourceInlineCompletion,t.insertText)}})))}async trigger(t){this._isActive.set(!0,t),await this._fetchInlineCompletions.get()}async triggerExplicitly(t){CV(t,(t=>{this._isActive.set(!0,t),this._forceUpdateSignal.trigger(t,Ws.Explicit)})),await this._fetchInlineCompletions.get()}stop(t){CV(t,(t=>{this._isActive.set(!1,t),this._source.clear(t)}))}_computeAugmentedCompletion(t,i){const e=this.textModel,s=this._source.suggestWidgetInlineCompletions.read(i);return function(t,i){for(const e of t){const t=i(e);if(void 0!==t)return t}}(s?s.inlineCompletions:[this.selectedInlineCompletion.read(i)].filter(U),(s=>{let n=s.toSingleTextEdit(i);return n=n.removeCommonPrefix(e,Ls.fromPositions(n.range.getStartPosition(),t.range.getEndPosition())),n.augments(t)?{edit:n,completion:s}:void 0}))}async _deltaSelectedInlineCompletionIndex(t){await this.triggerExplicitly();const i=this._filteredInlineCompletionItems.get()||[];if(i.length>0){const e=(this.selectedInlineCompletionIndex.get()+t+i.length)%i.length;this._selectedInlineCompletionId.set(i[e].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(t){var i;if(t.getModel()!==this.textModel)throw new Gi;const e=this.state.get();if(!e||e.ghostText.isEmpty()||!e.inlineCompletion)return;const s=e.inlineCompletion.toInlineCompletion(void 0);t.pushUndoStop(),s.snippetInfo?(t.executeEdits("inlineSuggestion.accept",[gO.replaceMove(s.range,""),...s.additionalTextEdits]),t.setPosition(s.snippetInfo.range.getStartPosition()),null===(i=K3.get(t))||void 0===i||i.insert(s.snippetInfo.snippet,{undoStopBefore:!1})):t.executeEdits("inlineSuggestion.accept",[gO.replaceMove(s.range,s.insertText),...s.additionalTextEdits]),s.command&&s.source.addRef(),kV((t=>{this._source.clear(t),this._isActive.set(!1,t)})),s.command&&(await this._commandService.executeCommand(s.command.id,...s.command.arguments||[]).then(void 0,$i),s.source.removeRef())}async acceptNextWord(t){await this._acceptNext(t,((t,i)=>{const e=this.textModel.getLanguageIdAtPosition(t.lineNumber,t.column),s=this._languageConfigurationService.getLanguageConfiguration(e),n=new RegExp(s.wordDefinition.source,s.wordDefinition.flags.replace("g","")),o=i.match(n);let r=0;r=o&&void 0!==o.index?0===o.index?o[0].length:o.index:i.length;const h=/\s+/g.exec(i);return h&&void 0!==h.index&&h.index+h[0].length{const e=i.match(/\n/);return e&&void 0!==e.index?e.index+1:i.length}))}async _acceptNext(t,i){if(t.getModel()!==this.textModel)throw new Gi;const e=this.state.get();if(!e||e.ghostText.isEmpty()||!e.inlineCompletion)return;const s=e.ghostText,n=e.inlineCompletion.toInlineCompletion(void 0);if(n.snippetInfo||n.filterText!==n.insertText)return void await this.accept(t);const o=s.parts[0],r=new Ms(s.lineNumber,o.column),h=o.lines.join("\n"),c=i(r,h);if(c===h.length&&1===s.parts.length)return void this.accept(t);const a=h.substring(0,c);n.source.addRef();try{this._isAcceptingPartially=!0;try{t.pushUndoStop(),t.executeEdits("inlineSuggestion.accept",[gO.replace(Ls.fromPositions(r),a)]);const i=P5(a);t.setPosition(B5(r,i))}finally{this._isAcceptingPartially=!1}if(n.source.provider.handlePartialAccept){const i=Ls.fromPositions(n.range.getStartPosition(),B5(r,P5(a))),e=t.getModel().getValueInRange(i,1);n.source.provider.handlePartialAccept(n.source.inlineCompletions,n.sourceInlineCompletion,e.length)}}finally{n.source.removeRef()}}handleSuggestAccepted(t){var i,e;const s=t.toSingleTextEdit().removeCommonPrefix(this.textModel),n=this._computeAugmentedCompletion(s,void 0);if(!n)return;const o=n.completion.inlineCompletion;null===(e=(i=o.source.provider).handlePartialAccept)||void 0===e||e.call(i,o.source.inlineCompletions,o.sourceInlineCompletion,s.text.length)}};J3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Q3(9,dr),Q3(10,Dr),Q3(11,tf)],J3);var Y3,X3=function(t,i){return function(e,s){i(e,s,t)}};class t6{constructor(t){this.name=t}select(t,i,e){if(0===e.length)return 0;const s=e[0].score[0];for(let t=0;tthis._saveState()),500),this._disposables.add(t.onWillSaveState((t=>{t.reason===LB.SHUTDOWN&&this._saveState()})))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(t,i,e){this._withStrategy(t,i).memorize(t,i,e),this._persistSoon.schedule()}select(t,i,e){return this._withStrategy(t,i).select(t,i,e)}_withStrategy(t,i){var e;const s=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:t.getLanguageIdAtPosition(i.lineNumber,i.column),resource:t.uri});if((null===(e=this._strategy)||void 0===e?void 0:e.name)!==s){this._saveState();const t=Y3._strategyCtors.get(s)||i6;this._strategy=new t;try{const t=this._configService.getValue("editor.suggest.shareSuggestSelections"),i=this._storageService.get(`${Y3._storagePrefix}/${s}`,t?0:1);i&&this._strategy.fromJSON(JSON.parse(i))}catch(t){}}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(`${Y3._storagePrefix}/${this._strategy.name}`,i,t,1)}}};e6._strategyCtors=new Map([["recentlyUsedByPrefix",class extends t6{constructor(){super("recentlyUsedByPrefix"),this._trie=ZO.forStrings(),this._seq=0}memorize(t,i,e){const{word:s}=t.getWordUntilPosition(i),n=`${t.getLanguageId()}/${s}`;this._trie.set(n,{type:e.completion.kind,insertText:e.completion.insertText,touch:this._seq++})}select(t,i,e){const{word:s}=t.getWordUntilPosition(i);if(!s)return super.select(t,i,e);const n=`${t.getLanguageId()}/${s}`;let o=this._trie.get(n);if(o||(o=this._trie.findSubstr(n)),o)for(let t=0;tt.push([e,i]))),t.sort(((t,i)=>-(t[1].touch-i[1].touch))).forEach(((t,i)=>t[1].touch=i)),t.slice(0,200)}fromJSON(t){if(this._trie.clear(),t.length>0){this._seq=t[0][1].touch+1;for(const[i,e]of t)e.type="number"==typeof e.type?e.type:$s.fromString(e.type),this._trie.set(i,e)}}}],["recentlyUsed",class extends t6{constructor(){super("recentlyUsed"),this._cache=new Up(300,.66),this._seq=0}memorize(t,i,e){const s=`${t.getLanguageId()}/${e.textLabel}`;this._cache.set(s,{touch:this._seq++,type:e.completion.kind,insertText:e.completion.insertText})}select(t,i,e){if(0===e.length)return 0;const s=t.getLineContent(i.lineNumber).substr(i.column-10,i.column-1);if(/\s$/.test(s))return super.select(t,i,e);const n=e[0].score[0];let o=-1,r=-1;for(let i=0;ir&&n.type===e[i].completion.kind&&n.insertText===e[i].completion.insertText&&(r=n.touch,o=i),e[i].completion.preselect)return i}return-1!==o?o:0}toJSON(){return this._cache.toJSON()}fromJSON(t){this._cache.clear();for(const[i,e]of t)e.touch=0,e.type="number"==typeof e.type?e.type:$s.fromString(e.type),this._cache.set(i,e);this._seq=this._cache.size}}],["first",i6]]),e6._storagePrefix="suggest/memories",e6=Y3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([X3(0,MB),X3(1,gd)],e6);const s6=fr("ISuggestMemories");Sd(s6,e6,1);var n6;let o6=n6=class{constructor(t,i){this._editor=t,this._enabled=!1,this._ckAtEnd=n6.AtEnd.bindTo(i),this._configListener=this._editor.onDidChangeConfiguration((t=>t.hasChanged(122)&&this._update())),this._update()}dispose(){var t;this._configListener.dispose(),null===(t=this._selectionListener)||void 0===t||t.dispose(),this._ckAtEnd.reset()}_update(){const t="on"===this._editor.getOption(122);if(this._enabled!==t)if(this._enabled=t,this._enabled){const t=()=>{if(!this._editor.hasModel())return void this._ckAtEnd.set(!1);const t=this._editor.getModel(),i=this._editor.getSelection(),e=t.getWordAtPosition(i.getStartPosition());this._ckAtEnd.set(!!e&&e.endColumn===i.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};o6.AtEnd=new ah("atEndOfWord",!1),o6=n6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,lh)],o6);var r6;let h6=r6=class{constructor(t,i){this._editor=t,this._index=0,this._ckOtherSuggestions=r6.OtherSuggestions.bindTo(i)}dispose(){this.reset()}reset(){var t;this._ckOtherSuggestions.reset(),null===(t=this._listener)||void 0===t||t.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:t,index:i},e){0!==t.items.length&&r6._moveIndex(!0,t,i)!==i?(this._acceptNext=e,this._model=t,this._index=i,this._listener=this._editor.onDidChangeCursorPosition((()=>{this._ignore||this.reset()})),this._ckOtherSuggestions.set(!0)):this.reset()}static _moveIndex(t,i,e){let s=e;for(let n=i.items.length;n>0&&(s=(s+i.items.length+(t?1:-1))%i.items.length,s!==e)&&i.items[s].completion.additionalTextEdits;n--);return s}next(){this._move(!0)}prev(){this._move(!1)}_move(t){if(this._model)try{this._ignore=!0,this._index=r6._moveIndex(t,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};h6.OtherSuggestions=new ah("hasOtherSuggestions",!1),h6=r6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,lh)],h6);class c6{constructor(t,i,e,s){this._disposables=new te,this._disposables.add(e.onDidSuggest((t=>{0===t.completionModel.items.length&&this.reset()}))),this._disposables.add(e.onDidCancel((()=>{this.reset()}))),this._disposables.add(i.onDidShow((()=>this._onItem(i.getFocusedItem())))),this._disposables.add(i.onDidFocus(this._onItem,this)),this._disposables.add(i.onDidHide(this.reset,this)),this._disposables.add(t.onWillType((n=>{if(this._active&&!i.isFrozen()&&0!==e.state){const i=n.charCodeAt(n.length-1);this._active.acceptCharacters.has(i)&&t.getOption(0)&&s(this._active.item)}})))}_onItem(t){if(!t||!y(t.item.completion.commitCharacters))return void this.reset();if(this._active&&this._active.item.item===t.item)return;const i=new Af;for(const e of t.item.completion.commitCharacters)e.length>0&&i.add(e.charCodeAt(0));this._active={acceptCharacters:i,item:t}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}class a6{async provideSelectionRanges(t,i){const e=[];for(const s of i){const i=[];e.push(i);const n=new Map;await new Promise((i=>a6._bracketsRightYield(i,0,t,s,n))),await new Promise((e=>a6._bracketsLeftYield(e,0,t,s,n,i)))}return e}static _bracketsRightYield(t,i,e,s,n){const o=new Map,r=Date.now();for(;;){if(i>=a6._maxRounds){t();break}if(!s){t();break}const h=e.bracketPairs.findNextBracket(s);if(!h){t();break}if(Date.now()-r>a6._maxDuration){setTimeout((()=>a6._bracketsRightYield(t,i+1,e,s,n)));break}if(h.bracketInfo.isOpeningBracket){const t=h.bracketInfo.bracketText,i=o.has(t)?o.get(t):0;o.set(t,i+1)}else{const t=h.bracketInfo.getOpeningBrackets()[0].bracketText;let i=o.has(t)?o.get(t):0;if(i-=1,o.set(t,Math.max(0,i)),i<0){let i=n.get(t);i||(i=new qt,n.set(t,i)),i.push(h.range)}}s=h.range.getEndPosition()}}static _bracketsLeftYield(t,i,e,s,n,o){const r=new Map,h=Date.now();for(;;){if(i>=a6._maxRounds&&0===n.size){t();break}if(!s){t();break}const c=e.bracketPairs.findPrevBracket(s);if(!c){t();break}if(Date.now()-h>a6._maxDuration){setTimeout((()=>a6._bracketsLeftYield(t,i+1,e,s,n,o)));break}if(c.bracketInfo.isOpeningBracket){const t=c.bracketInfo.bracketText;let i=r.has(t)?r.get(t):0;if(i-=1,r.set(t,Math.max(0,i)),i<0){const i=n.get(t);if(i){const s=i.shift();0===i.size&&n.delete(t);const r=Ls.fromPositions(c.range.getEndPosition(),s.getStartPosition()),h=Ls.fromPositions(c.range.getStartPosition(),s.getEndPosition());o.push({range:r}),o.push({range:h}),a6._addBracketLeading(e,h,o)}}}else{const t=c.bracketInfo.getOpeningBrackets()[0].bracketText,i=r.has(t)?r.get(t):0;r.set(t,i+1)}s=c.range.getStartPosition()}}static _addBracketLeading(t,i,e){if(i.startLineNumber===i.endLineNumber)return;const s=i.startLineNumber,n=t.getLineFirstNonWhitespaceColumn(s);0!==n&&n!==i.startColumn&&(e.push({range:Ls.fromPositions(new Ms(s,n),i.getEndPosition())}),e.push({range:Ls.fromPositions(new Ms(s,1),i.getEndPosition())}));const o=s-1;if(o>0){const s=t.getLineFirstNonWhitespaceColumn(o);s===i.startColumn&&s!==t.getLineLastNonWhitespaceColumn(o)&&(e.push({range:Ls.fromPositions(new Ms(o,s),i.getEndPosition())}),e.push({range:Ls.fromPositions(new Ms(o,1),i.getEndPosition())}))}}}a6._maxDuration=30,a6._maxRounds=2;class l6{static async create(t,i){if(!i.getOption(117).localityBonus)return l6.None;if(!i.hasModel())return l6.None;const e=i.getModel(),s=i.getPosition();if(!t.canComputeWordRanges(e.uri))return l6.None;const[n]=await(new a6).provideSelectionRanges(e,[s]);if(0===n.length)return l6.None;const o=await t.computeWordRanges(e.uri,n[0].range);if(!o)return l6.None;const r=e.getWordUntilPosition(s);return delete o[r.word],new class extends l6{distance(t,e){if(!s.equals(i.getPosition()))return 0;if(17===e.kind)return 2<<20;const r=o["string"==typeof e.label?e.label:e.label.label];if(b(r))return 2<<20;const h=d(r,Ls.fromPositions(t),Ls.compareRangesUsingStarts),c=h>=0?r[h]:r[Math.max(0,~h-1)];let a=n.length;for(const t of n){if(!Ls.containsRange(t.range,c))break;a-=1}return a}}}}l6.None=new class extends l6{distance(){return 0}};class u6{constructor(t,i){this.leadingLineContent=t,this.characterCountDelta=i}}class d6{constructor(t,i,e,s,n,o,r=S_.default,h){this.clipboardText=h,this._snippetCompareFn=d6._compareCompletionItems,this._items=t,this._column=i,this._wordDistance=s,this._options=n,this._refilterKind=1,this._lineContext=e,this._fuzzyScoreOptions=r,"top"===o?this._snippetCompareFn=d6._compareCompletionItemsSnippetsUp:"bottom"===o&&(this._snippetCompareFn=d6._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(t){this._lineContext.leadingLineContent===t.leadingLineContent&&this._lineContext.characterCountDelta===t.characterCountDelta||(this._refilterKind=this._lineContext.characterCountDelta0&&e[0].container.incomplete&&t.add(i);return t}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){0!==this._refilterKind&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const t=[],{leadingLineContent:i,characterCountDelta:e}=this._lineContext;let s="",n="";const o=1===this._refilterKind?this._items:this._filteredItems,r=[],h=!this._options.filterGraceful||o.length>2e3?D_:A_;for(let c=0;c=d)a.score=C_.Default;else if("string"==typeof a.completion.filterText){const i=h(s,n,t,a.completion.filterText,a.filterTextLow,0,this._fuzzyScoreOptions);if(!i)continue;0===ro(a.completion.filterText,a.textLabel)?a.score=i:(a.score=l_(s,n,t,a.textLabel,a.labelLow,0),a.score[0]=i[0])}else{const i=h(s,n,t,a.textLabel,a.labelLow,0,this._fuzzyScoreOptions);if(!i)continue;a.score=i}}a.idx=c,a.distance=this._wordDistance.distance(a.position,a.completion),r.push(a),t.push(a.textLabel.length)}this._filteredItems=r.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:t.length?f(t.length-.85,t,((t,i)=>t-i)):0}}static _compareCompletionItems(t,i){return t.score[0]>i.score[0]?-1:t.score[0]i.distance?1:t.idxi.idx?1:0}static _compareCompletionItemsSnippetsDown(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return 1;if(27===i.completion.kind)return-1}return d6._compareCompletionItems(t,i)}static _compareCompletionItemsSnippetsUp(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return-1;if(27===i.completion.kind)return 1}return d6._compareCompletionItems(t,i)}}var f6,p6=function(t,i){return function(e,s){i(e,s,t)}};class g6{static shouldAutoTrigger(t){if(!t.hasModel())return!1;const i=t.getModel(),e=t.getPosition();i.tokenization.tokenizeIfCheap(e.lineNumber);const s=i.getWordAtPosition(e);return!(!s||s.endColumn!==e.column&&s.startColumn+1!==e.column||!isNaN(Number(s.word)))}constructor(t,i,e){this.leadingLineContent=t.getLineContent(i.lineNumber).substr(0,i.column-1),this.leadingWord=t.getWordUntilPosition(i),this.lineNumber=i.lineNumber,this.column=i.column,this.triggerOptions=e}}let m6=f6=class{constructor(t,i,e,s,n,o,r,h,c){this._editor=t,this._editorWorkerService=i,this._clipboardService=e,this._telemetryService=s,this._logService=n,this._contextKeyService=o,this._configurationService=r,this._languageFeaturesService=h,this._envService=c,this._toDispose=new te,this._triggerCharacterListener=new te,this._triggerQuickSuggest=new fc,this._triggerState=void 0,this._completionDisposables=new te,this._onDidCancel=new fe,this._onDidTrigger=new fe,this._onDidSuggest=new fe,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Fs(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 a=!1;this._toDispose.add(this._editor.onDidCompositionStart((()=>{a=!0}))),this._toDispose.add(this._editor.onDidCompositionEnd((()=>{a=!1,this._onCompositionEnd()}))),this._toDispose.add(this._editor.onDidChangeCursorSelection((t=>{a||this._onCursorChange(t)}))),this._toDispose.add(this._editor.onDidChangeModelContent((()=>{a||void 0===this._triggerState||this._refilterCompletionItems()}))),this._updateTriggerCharacters()}dispose(){Ji(this._triggerCharacterListener),Ji([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(90)||!this._editor.hasModel()||!this._editor.getOption(120))return;const t=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const e of i.triggerCharacters||[]){let s=t.get(e);s||(s=new Set,s.add(void 0),t.set(e,s)),s.add(i)}const i=i=>{var e;if(!function(t,i){if(!Boolean(i.getContextKeyValue("inlineSuggestionVisible")))return!0;const e=i.getContextKeyValue(O5.suppressSuggestions.key);return void 0!==e?!e:!t.getOption(62).suppressSuggestions}(this._editor,this._contextKeyService))return;if(g6.shouldAutoTrigger(this._editor))return;if(!i){const t=this._editor.getPosition();i=this._editor.getModel().getLineContent(t.lineNumber).substr(0,t.column-1)}let s="";wo(i.charCodeAt(i.length-1))?mo(i.charCodeAt(i.length-2))&&(s=i.substr(i.length-2)):s=i.charAt(i.length-1);const n=t.get(s);if(n){const t=new Map;if(this._completionModel)for(const[i,e]of this._completionModel.getItemsByProvider())n.has(i)||t.set(i,e);this.trigger({auto:!0,triggerKind:1,triggerCharacter:s,retrigger:Boolean(this._completionModel),clipboardText:null===(e=this._completionModel)||void 0===e?void 0:e.clipboardText,completionOptions:{providerFilter:n,providerItemsToReuse:t}})}};this._triggerCharacterListener.add(this._editor.onDidType(i)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd((()=>i())))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(t=!1){var i;void 0!==this._triggerState&&(this._triggerQuickSuggest.cancel(),null===(i=this._requestToken)||void 0===i||i.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:t}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){void 0!==this._triggerState&&(this._editor.hasModel()&&this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.trigger({auto:this._triggerState.auto,retrigger:!0}):this.cancel())}_onCursorChange(t){if(!this._editor.hasModel())return;const i=this._currentSelection;this._currentSelection=this._editor.getSelection(),!t.selection.isEmpty()||0!==t.reason&&3!==t.reason||"keyboard"!==t.source&&"deleteLeft"!==t.source?this.cancel():void 0===this._triggerState&&0===t.reason?(i.containsRange(this._currentSelection)||i.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():void 0!==this._triggerState&&3===t.reason&&this._refilterCompletionItems()}_onCompositionEnd(){void 0===this._triggerState?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var t;F3.isAllOff(this._editor.getOption(88))||this._editor.getOption(117).snippetsPreventQuickSuggestions&&(null===(t=K3.get(this._editor))||void 0===t?void 0:t.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet((()=>{if(void 0!==this._triggerState)return;if(!g6.shouldAutoTrigger(this._editor))return;if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const t=this._editor.getModel(),i=this._editor.getPosition(),e=this._editor.getOption(88);if(!F3.isAllOff(e)){if(!F3.isAllOn(e)){t.tokenization.tokenizeIfCheap(i.lineNumber);const s=t.tokenization.getLineTokens(i.lineNumber),n=s.getStandardTokenType(s.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if("on"!==F3.valueFor(e,n))return}(function(t,i){if(!Boolean(i.getContextKeyValue(O5.inlineSuggestionVisible.key)))return!0;const e=i.getContextKeyValue(O5.suppressSuggestions.key);return void 0!==e?!e:!t.getOption(62).suppressSuggestions})(this._editor,this._contextKeyService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}}),this._editor.getOption(89)))}_refilterCompletionItems(){K(this._editor.hasModel()),K(void 0!==this._triggerState);const t=this._editor.getModel(),i=this._editor.getPosition(),e=new g6(t,i,{...this._triggerState,refilter:!0});this._onNewContext(e)}trigger(t){var i,e,s,n,o,r;if(!this._editor.hasModel())return;const h=this._editor.getModel(),c=new g6(h,this._editor.getPosition(),t);this.cancel(t.retrigger),this._triggerState=t,this._onDidTrigger.fire({auto:t.auto,shy:null!==(i=t.shy)&&void 0!==i&&i,position:this._editor.getPosition()}),this._context=c;let a={triggerKind:null!==(e=t.triggerKind)&&void 0!==e?e:0};t.triggerCharacter&&(a={triggerKind:1,triggerCharacter:t.triggerCharacter}),this._requestToken=new Se;let l=1;switch(this._editor.getOption(111)){case"top":l=0;break;case"bottom":l=2}const{itemKind:u,showDeprecated:d}=f6._createSuggestFilter(this._editor),f=new D3(l,null!==(n=null===(s=t.completionOptions)||void 0===s?void 0:s.kindFilter)&&void 0!==n?n:u,null===(o=t.completionOptions)||void 0===o?void 0:o.providerFilter,null===(r=t.completionOptions)||void 0===r?void 0:r.providerItemsToReuse,d),p=l6.create(this._editorWorkerService,this._editor),g=A3(this._languageFeaturesService.completionProvider,h,this._editor.getPosition(),f,a,this._requestToken.token);Promise.all([g,p]).then((async([i,e])=>{var s;if(null===(s=this._requestToken)||void 0===s||s.dispose(),!this._editor.hasModel())return;let n=null==t?void 0:t.clipboardText;if(!n&&i.needsClipboard&&(n=await this._clipboardService.readText()),void 0===this._triggerState)return;const o=this._editor.getModel(),r=new g6(o,this._editor.getPosition(),t),h={...S_.default,firstMatchCanBeWeak:!this._editor.getOption(117).matchOnWordStartOnly};if(this._completionModel=new d6(i.items,this._context.column,{leadingLineContent:r.leadingLineContent,characterCountDelta:r.column-this._context.column},e,this._editor.getOption(117),this._editor.getOption(111),h,n),this._completionDisposables.add(i.disposable),this._onNewContext(r),this._reportDurationsTelemetry(i.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const t of i.items)t.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${t.provider._debugDisplayName}`,t.completion)})).catch(Pi)}_reportDurationsTelemetry(t){this._telemetryGate++%230==0&&setTimeout((()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(t)}),this._logService.debug("suggest.durations.json",t)}))}static _createSuggestFilter(t){const i=new Set;"none"===t.getOption(111)&&i.add(27);const e=t.getOption(117);return e.showMethods||i.add(0),e.showFunctions||i.add(1),e.showConstructors||i.add(2),e.showFields||i.add(3),e.showVariables||i.add(4),e.showClasses||i.add(5),e.showStructs||i.add(6),e.showInterfaces||i.add(7),e.showModules||i.add(8),e.showProperties||i.add(9),e.showEvents||i.add(10),e.showOperators||i.add(11),e.showUnits||i.add(12),e.showValues||i.add(13),e.showConstants||i.add(14),e.showEnums||i.add(15),e.showEnumMembers||i.add(16),e.showKeywords||i.add(17),e.showWords||i.add(18),e.showColors||i.add(19),e.showFiles||i.add(20),e.showReferences||i.add(21),e.showColors||i.add(22),e.showFolders||i.add(23),e.showTypeParameters||i.add(24),e.showSnippets||i.add(27),e.showUsers||i.add(25),e.showIssues||i.add(26),{itemKind:i,showDeprecated:e.showDeprecated}}_onNewContext(t){if(this._context)if(t.lineNumber===this._context.lineNumber)if(eo(t.leadingLineContent)===eo(this._context.leadingLineContent)){if(t.columnthis._context.leadingWord.startColumn){if(g6.shouldAutoTrigger(this._editor)&&this._context){const t=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:t}})}}else if(t.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&0!==t.leadingWord.word.length){const t=new Map,i=new Set;for(const[e,s]of this._completionModel.getItemsByProvider())s.length>0&&s[0].container.incomplete?i.add(e):t.set(e,s);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:i,providerItemsToReuse:t}})}else{const i=this._completionModel.lineContext;let e=!1;if(this._completionModel.lineContext={leadingLineContent:t.leadingLineContent,characterCountDelta:t.column-this._context.column},0===this._completionModel.items.length){const s=g6.shouldAutoTrigger(this._editor);if(!this._context)return void this.cancel();if(s&&this._context.leadingWord.endColumn0,e&&0===t.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:t.triggerOptions,isFrozen:e})}}else this.cancel();else this.cancel()}};m6=f6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([p6(1,bP),p6(2,kH),p6(3,jh),p6(4,zh),p6(5,lh),p6(6,gd),p6(7,Cg),p6(8,pR)],m6);class w6{constructor(t,i){this._disposables=new te,this._lastOvertyped=[],this._locked=!1,this._disposables.add(t.onWillType((()=>{if(this._locked||!t.hasModel())return;const i=t.getSelections(),e=i.length;let s=!1;for(let t=0;tw6._maxSelectionLength)return;this._lastOvertyped[t]={value:n.getValueInRange(e),multiline:e.startLineNumber!==e.endLineNumber}}}))),this._disposables.add(i.onDidTrigger((()=>{this._locked=!0}))),this._disposables.add(i.onDidCancel((()=>{this._locked=!1})))}getLastOvertypedInfo(t){if(t>=0&&tt instanceof Ph?e.createInstance(b6,t,void 0):void 0;this._leftActions=new XB(this.element,{actionViewItemProvider:o}),this._rightActions=new XB(this.element,{actionViewItemProvider:o}),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 t=this._menuService.createMenu(this._menuId,this._contextKeyService),i=()=>{const i=[],e=[];for(const[s,n]of t.getActions())"left"===s?i.push(...n):e.push(...n);this._leftActions.clear(),this._leftActions.push(i),this._rightActions.clear(),this._rightActions.push(e)};this._menuDisposables.add(t.onDidChange((()=>i()))),this._menuDisposables.add(t)}hide(){this._menuDisposables.clear()}};y6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([v6(2,dr),v6(3,Ih),v6(4,lh)],y6);function k6(t){return!!t&&Boolean(t.completion.documentation||t.completion.detail&&t.completion.detail!==t.completion.label)}let x6=class{constructor(t,i){this._editor=t,this._onDidClose=new fe,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new fe,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new te,this._renderDisposeable=new te,this._borderWidth=1,this._size=new sl(330,0),this.domNode=Wl(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=i.createInstance(uQ,{editor:t}),this._body=Wl(".body"),this._scrollbar=new Rk(this._body,{alwaysConsumeMouseWheel:!0}),Il(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=Il(this._body,Wl(".header")),this._close=Il(this._header,Wl("span"+Sr.asCSSSelector(Is.close))),this._close.title=rt(0,"Close"),this._type=Il(this._header,Wl("p.type")),this._docs=Il(this._body,Wl("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._configureFont()})))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const t=this._editor.getOptions(),i=t.get(50),e=i.getMassagedFontFamily(),s=t.get(118)||i.fontSize,n=t.get(119)||i.lineHeight,o=i.fontWeight,r=`${n}px`;this.domNode.style.fontSize=`${s}px`,this.domNode.style.lineHeight=""+n/s,this.domNode.style.fontWeight=o,this.domNode.style.fontFeatureSettings=i.fontFeatureSettings,this._type.style.fontFamily=e,this._close.style.height=r,this._close.style.width=r}getLayoutInfo(){const t=this._editor.getOption(119)||this._editor.getOption(50).lineHeight,i=this._borderWidth;return{lineHeight:t,borderWidth:i,borderHeight:2*i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=rt(0,"Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,2*this.getLayoutInfo().lineHeight),this._onDidChangeContents.fire(this)}renderItem(t,i){var e,s;this._renderDisposeable.clear();let{detail:n,documentation:o}=t.completion;if(i){let i="";i+=`score: ${t.score[0]}\n`,i+=`prefix: ${null!==(e=t.word)&&void 0!==e?e:"(no prefix)"}\n`,i+=`word: ${t.completion.filterText?t.completion.filterText+" (filterText)":t.textLabel}\n`,i+=`distance: ${t.distance} (localityBonus-setting)\n`,i+=`index: ${t.idx}, based on ${t.completion.sortText&&`sortText: "${t.completion.sortText}"`||"label"}\n`,i+=`commit_chars: ${null===(s=t.completion.commitCharacters)||void 0===s?void 0:s.join("")}\n`,o=(new B_).appendCodeblock("empty",i),n=`Provider: ${t.provider._debugDisplayName}`}if(i||k6(t)){if(this.domNode.classList.remove("no-docs","no-type"),n){const t=n.length>1e5?`${n.substr(0,1e5)}…`:n;this._type.textContent=t,this._type.title=t,jl(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gim.test(t))}else Ha(this._type),this._type.title="",zl(this._type),this.domNode.classList.add("no-type");if(Ha(this._docs),"string"==typeof o)this._docs.classList.remove("markdown-docs"),this._docs.textContent=o;else if(o){this._docs.classList.add("markdown-docs"),Ha(this._docs);const t=this._markdownRenderer.render(o);this._docs.appendChild(t.element),this._renderDisposeable.add(t),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=t=>{t.preventDefault(),t.stopPropagation()},this._close.onclick=t=>{t.preventDefault(),t.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}else this.clearContents()}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get size(){return this._size}layout(t,i){const e=new sl(t,i);sl.equals(e,this._size)||(this._size=e,function(t,i,e){"number"==typeof i&&(t.style.width=`${i}px`),"number"==typeof e&&(t.style.height=`${e}px`)}(this.domNode,t,i)),this._scrollbar.scanDomNode()}scrollDown(t=8){this._body.scrollTop+=t}scrollUp(t=8){this._body.scrollTop-=t}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(t){this._borderWidth=t}get borderWidth(){return this._borderWidth}};x6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,dr)],x6);class C6{constructor(t,i){let e,s;this.widget=t,this._editor=i,this._disposables=new te,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new SX,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(t.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let n=0,o=0;this._disposables.add(this._resizable.onDidWillResize((()=>{e=this._topLeft,s=this._resizable.size}))),this._disposables.add(this._resizable.onDidResize((t=>{if(e&&s){this.widget.layout(t.dimension.width,t.dimension.height);let i=!1;t.west&&(o=s.width-t.dimension.width,i=!0),t.north&&(n=s.height-t.dimension.height,i=!0),i&&this._applyTopLeft({top:e.top+n,left:e.left+o})}t.done&&(e=void 0,s=void 0,n=0,o=0,this._userSize=t.dimension)}))),this._disposables.add(this.widget.onDidChangeContents((()=>{var t;this._anchorBox&&this._placeAtAnchor(this._anchorBox,null!==(t=this._userSize)&&void 0!==t?t: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 null}show(){this._added||(this._editor.addOverlayWidget(this),this.getDomNode().style.position="fixed",this._added=!0)}hide(t=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),t&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(t,i){var e;const s=t.getBoundingClientRect();this._anchorBox=s,this._preferAlignAtTop=i,this._placeAtAnchor(this._anchorBox,null!==(e=this._userSize)&&void 0!==e?e:this.widget.size,i)}_placeAtAnchor(t,i,e){var s;const n=il(this.getDomNode().ownerDocument.body),o=this.widget.getLayoutInfo(),r=new sl(220,2*o.lineHeight),h=t.top,c=function(){const e=n.width-(t.left+t.width+o.borderWidth+o.horizontalPadding),s=-o.borderWidth+t.left+t.width,c=new sl(e,n.height-t.top-o.borderHeight-o.verticalPadding),a=c.with(void 0,t.top+t.height-o.borderHeight-o.verticalPadding);return{top:h,left:s,fit:e-i.width,maxSizeTop:c,maxSizeBottom:a,minSize:r.with(Math.min(e,r.width))}}(),a=[c,function(){const e=t.left-o.borderWidth-o.horizontalPadding,s=Math.max(o.horizontalPadding,t.left-i.width-o.borderWidth),c=new sl(e,n.height-t.top-o.borderHeight-o.verticalPadding),a=c.with(void 0,t.top+t.height-o.borderHeight-o.verticalPadding);return{top:h,left:s,fit:e-i.width,maxSizeTop:c,maxSizeBottom:a,minSize:r.with(Math.min(e,r.width))}}(),function(){const e=t.left,s=-o.borderWidth+t.top+t.height,h=new sl(t.width-o.borderHeight,n.height-t.top-t.height-o.verticalPadding);return{top:s,left:e,fit:h.height-i.height,maxSizeBottom:h,maxSizeTop:h,minSize:r.with(h.width)}}()],l=null!==(s=a.find((t=>t.fit>=0)))&&void 0!==s?s:a.sort(((t,i)=>i.fit-t.fit))[0],u=t.top+t.height-o.borderHeight;let d,f=i.height;const p=Math.max(l.maxSizeTop.height,l.maxSizeBottom.height);let g;f>p&&(f=p),e?f<=l.maxSizeTop.height?(d=!0,g=l.maxSizeTop):(d=!1,g=l.maxSizeBottom):f<=l.maxSizeBottom.height?(d=!1,g=l.maxSizeBottom):(d=!0,g=l.maxSizeTop),this._applyTopLeft({left:l.left,top:d?l.top:u-f}),this.getDomNode().style.position="fixed",this._resizable.enableSashes(!d,l===c,d,l!==c),this._resizable.minSize=l.minSize,this._resizable.maxSize=g,this._resizable.layout(f,Math.min(g.width,i.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(t){this._topLeft=t,this.getDomNode().style.left=`${this._topLeft.left}px`,this.getDomNode().style.top=`${this._topLeft.top}px`}}var S6;!function(t){t[t.FILE=0]="FILE",t[t.FOLDER=1]="FOLDER",t[t.ROOT_FOLDER=2]="ROOT_FOLDER"}(S6||(S6={}));const D6=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function E6(t,i,e,s){const n=s===S6.ROOT_FOLDER?["rootfolder-icon"]:s===S6.FOLDER?["folder-icon"]:["file-icon"];if(e){let o;if(e.scheme===xa.data)o=LA.parseMetaData(e).get(LA.META_DATA_LABEL);else{const t=e.path.match(D6);t?(o=A6(t[2].toLowerCase()),t[1]&&n.push(`${A6(t[1].toLowerCase())}-name-dir-icon`)):o=A6(e.authority.toLowerCase())}if(s===S6.ROOT_FOLDER)n.push(`${o}-root-name-folder-icon`);else if(s===S6.FOLDER)n.push(`${o}-name-folder-icon`);else{if(o){if(n.push(`${o}-name-file-icon`),n.push("name-file-icon"),o.length<=255){const t=o.split(".");for(let i=1;i{const t=this._editor.getOptions(),i=t.get(50),n=i.getMassagedFontFamily(),o=i.fontFeatureSettings,h=t.get(118)||i.fontSize,c=t.get(119)||i.lineHeight,a=i.fontWeight,l=`${c}px`,u=`${i.letterSpacing}px`;e.style.fontSize=`${h}px`,e.style.fontWeight=a,e.style.letterSpacing=u,r.style.fontFamily=n,r.style.fontFeatureSettings=o,r.style.lineHeight=l,s.style.height=l,s.style.width=l,p.style.height=l,p.style.width=l};return g(),i.add(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(50)||t.hasChanged(118)||t.hasChanged(119))&&g()}))),{root:e,left:c,right:a,icon:s,colorspan:n,iconLabel:l,iconContainer:h,parametersLabel:u,qualifierLabel:d,detailsLabel:f,readMore:p,disposables:i}}renderElement(t,i,e){const{completion:s}=t;e.root.id=F6(i),e.colorspan.style.backgroundColor="";const n={labelEscapeNewLines:!0,matches:u_(t.score)},o=[];if(19===s.kind&&R6.extract(t,o))e.icon.className="icon customcolor",e.iconContainer.className="icon hide",e.colorspan.style.backgroundColor=o[0];else if(20===s.kind&&this._themeService.getFileIconTheme().hasFileIcons){e.icon.className="icon hide",e.iconContainer.className="icon hide";const i=E6(this._modelService,this._languageService,ws.from({scheme:"fake",path:t.textLabel}),S6.FILE),o=E6(this._modelService,this._languageService,ws.from({scheme:"fake",path:s.detail}),S6.FILE);n.extraClasses=i.length>o.length?i:o}else 23===s.kind&&this._themeService.getFileIconTheme().hasFolderIcons?(e.icon.className="icon hide",e.iconContainer.className="icon hide",n.extraClasses=[E6(this._modelService,this._languageService,ws.from({scheme:"fake",path:t.textLabel}),S6.FOLDER),E6(this._modelService,this._languageService,ws.from({scheme:"fake",path:s.detail}),S6.FOLDER)].flat()):(e.icon.className="icon hide",e.iconContainer.className="",e.iconContainer.classList.add("suggest-icon",...Sr.asClassNameArray($s.toIcon(s.kind))));s.tags&&s.tags.indexOf(1)>=0&&(n.extraClasses=(n.extraClasses||[]).concat(["deprecated"]),n.matches=[]),e.iconLabel.setLabel(t.textLabel,void 0,n),"string"==typeof s.label?(e.parametersLabel.textContent="",e.detailsLabel.textContent=I6(s.detail||""),e.root.classList.add("string-label")):(e.parametersLabel.textContent=I6(s.label.detail||""),e.detailsLabel.textContent=I6(s.label.description||""),e.root.classList.remove("string-label")),this._editor.getOption(117).showInlineDetails?jl(e.detailsLabel):zl(e.detailsLabel),k6(t)?(e.right.classList.add("can-expand-details"),jl(e.readMore),e.readMore.onmousedown=t=>{t.stopPropagation(),t.preventDefault()},e.readMore.onclick=t=>{t.stopPropagation(),t.preventDefault(),this._onDidToggleDetails.fire()}):(e.right.classList.remove("can-expand-details"),zl(e.readMore),e.readMore.onmousedown=null,e.readMore.onclick=null)}disposeTemplate(t){t.disposables.dispose()}};function I6(t){return t.replace(/\r\n|\r|\n/g,"")}O6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([L6(1,gr),L6(2,kd),L6(3,tx)],O6);var _6,N6=function(t,i){return function(e,s){i(e,s,t)}};fw("editorSuggestWidget.background",{dark:dv,light:dv,hcDark:dv,hcLight:dv},rt(0,"Background color of the suggest widget.")),fw("editorSuggestWidget.border",{dark:pv,light:pv,hcDark:pv,hcLight:pv},rt(0,"Border color of the suggest widget."));const B6=fw("editorSuggestWidget.foreground",{dark:uv,light:uv,hcDark:uv,hcLight:uv},rt(0,"Foreground color of the suggest widget."));fw("editorSuggestWidget.selectedForeground",{dark:Ab,light:Ab,hcDark:Ab,hcLight:Ab},rt(0,"Foreground color of the selected entry in the suggest widget.")),fw("editorSuggestWidget.selectedIconForeground",{dark:Mb,light:Mb,hcDark:Mb,hcLight:Mb},rt(0,"Icon foreground color of the selected entry in the suggest widget."));const P6=fw("editorSuggestWidget.selectedBackground",{dark:Lb,light:Lb,hcDark:Lb,hcLight:Lb},rt(0,"Background color of the selected entry in the suggest widget."));fw("editorSuggestWidget.highlightForeground",{dark:ub,light:ub,hcDark:ub,hcLight:ub},rt(0,"Color of the match highlights in the suggest widget.")),fw("editorSuggestWidget.focusHighlightForeground",{dark:db,light:db,hcDark:db,hcLight:db},rt(0,"Color of the match highlights in the suggest widget when an item is focused.")),fw("editorSuggestWidgetStatus.foreground",{dark:uy(B6,.5),light:uy(B6,.5),hcDark:uy(B6,.5),hcLight:uy(B6,.5)},rt(0,"Foreground color of the suggest widget status."));class $6{constructor(t,i){this._service=t,this._key=`suggestWidget.size/${i.getEditorType()}/${i instanceof qJ}`}restore(){var t;const i=null!==(t=this._service.get(this._key,0))&&void 0!==t?t:"";try{const t=JSON.parse(i);if(sl.is(t))return sl.lift(t)}catch(t){}}store(t){this._service.store(this._key,JSON.stringify(t),0,1)}reset(){this._service.remove(this._key,0)}}let W6=_6=class{constructor(t,i,e,s,n){this.editor=t,this._storageService=i,this._state=0,this._isAuto=!1,this._pendingLayout=new ee,this._pendingShowDetails=new ee,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new fc,this._disposables=new te,this._onDidSelect=new ge,this._onDidFocus=new ge,this._onDidHide=new fe,this._onDidShow=new fe,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new fe,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new SX,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new j6(this,t),this._persistedSize=new $6(i,t);class o{constructor(t,i,e=!1,s=!1){this.persistedSize=t,this.currentSize=i,this.persistHeight=e,this.persistWidth=s}}let r;this._disposables.add(this.element.onDidWillResize((()=>{this._contentWidget.lockPreference(),r=new o(this._persistedSize.restore(),this.element.size)}))),this._disposables.add(this.element.onDidResize((t=>{var i,e,s,n;if(this._resize(t.dimension.width,t.dimension.height),r&&(r.persistHeight=r.persistHeight||!!t.north||!!t.south,r.persistWidth=r.persistWidth||!!t.east||!!t.west),t.done){if(r){const{itemHeight:t,defaultSize:o}=this.getLayoutInfo(),h=Math.round(t/2);let{width:c,height:a}=this.element.size;(!r.persistHeight||Math.abs(r.currentSize.height-a)<=h)&&(a=null!==(e=null===(i=r.persistedSize)||void 0===i?void 0:i.height)&&void 0!==e?e:o.height),(!r.persistWidth||Math.abs(r.currentSize.width-c)<=h)&&(c=null!==(n=null===(s=r.persistedSize)||void 0===s?void 0:s.width)&&void 0!==n?n:o.width),this._persistedSize.store(new sl(c,a))}this._contentWidget.unlockPreference(),r=void 0}}))),this._messageElement=Il(this.element.domNode,Wl(".message")),this._listElement=Il(this.element.domNode,Wl(".tree"));const h=this._disposables.add(n.createInstance(x6,this.editor));h.onDidClose(this.toggleDetails,this,this._disposables),this._details=new C6(h,this.editor);const c=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(117).showIcons);c();const a=n.createInstance(O6,this.editor);this._disposables.add(a),this._disposables.add(a.onDidToggleDetails((()=>this.toggleDetails()))),this._list=new lB("SuggestWidget",this._listElement,{getHeight:()=>this.getLayoutInfo().itemHeight,getTemplateId:()=>"suggestion"},[a],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>rt(0,"Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:t=>{let i=t.textLabel;if("string"!=typeof t.completion.label){const{detail:e,description:s}=t.completion.label;e&&s?i=rt(0,"{0} {1}, {2}",i,e,s):e?i=rt(0,"{0} {1}",i,e):s&&(i=rt(0,"{0}, {1}",i,s))}if(!t.isResolved||!this._isDetailsVisible())return i;const{documentation:e,detail:s}=t.completion;return rt(0,"{0}, docs: {1}",i,Kn("{0}{1}",s||"",e?"string"==typeof e?e:e.value:""))}}}),this._list.style($B({listInactiveFocusBackground:P6,listInactiveFocusOutline:bw})),this._status=n.createInstance(y6,this.element.domNode,C3);const l=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(117).showStatusBar);l(),this._disposables.add(s.onDidColorThemeChange((t=>this._onThemeChange(t)))),this._onThemeChange(s.getColorTheme()),this._disposables.add(this._list.onMouseDown((t=>this._onListMouseDownOrTap(t)))),this._disposables.add(this._list.onTap((t=>this._onListMouseDownOrTap(t)))),this._disposables.add(this._list.onDidChangeSelection((t=>this._onListSelection(t)))),this._disposables.add(this._list.onDidChangeFocus((t=>this._onListFocus(t)))),this._disposables.add(this.editor.onDidChangeCursorSelection((()=>this._onCursorSelectionChanged()))),this._disposables.add(this.editor.onDidChangeConfiguration((t=>{t.hasChanged(117)&&(l(),c())}))),this._ctxSuggestWidgetVisible=x3.Visible.bindTo(e),this._ctxSuggestWidgetDetailsVisible=x3.DetailsVisible.bindTo(e),this._ctxSuggestWidgetMultipleSuggestions=x3.MultipleSuggestions.bindTo(e),this._ctxSuggestWidgetHasFocusedSuggestion=x3.HasFocusedSuggestion.bindTo(e),this._disposables.add(Ka(this._details.widget.domNode,"keydown",(t=>{this._onDetailsKeydown.fire(t)}))),this._disposables.add(this.editor.onMouseDown((t=>this._onEditorMouseDown(t))))}dispose(){var t;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),null===(t=this._loadingTimeout)||void 0===t||t.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(t){this._details.widget.domNode.contains(t.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(t.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){0!==this._state&&this._contentWidget.layout()}_onListMouseDownOrTap(t){void 0!==t.element&&void 0!==t.index&&(t.browserEvent.preventDefault(),t.browserEvent.stopPropagation(),this._select(t.element,t.index))}_onListSelection(t){t.elements.length&&this._select(t.elements[0],t.indexes[0])}_select(t,i){const e=this._completionModel;e&&(this._onDidSelect.fire({item:t,index:i,model:e}),this.editor.focus())}_onThemeChange(t){this._details.widget.borderWidth=Hy(t.type)?2:1}_onListFocus(t){var i;if(this._ignoreFocusEvents)return;if(!t.elements.length)return this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),void this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const e=t.elements[0],s=t.indexes[0];e!==this._focusedItem&&(null===(i=this._currentSuggestionDetails)||void 0===i||i.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=e,this._list.reveal(s),this._currentSuggestionDetails=oc((async t=>{const i=uc((()=>{this._isDetailsVisible()&&this.showDetails(!0)}),250),s=t.onCancellationRequested((()=>i.dispose()));try{return await e.resolve(t)}finally{i.dispose(),s.dispose()}})),this._currentSuggestionDetails.then((()=>{s>=this._list.length||e!==this._list.element(s)||(this._ignoreFocusEvents=!0,this._list.splice(s,1,[e]),this._list.setFocus([s]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:F6(s)}))})).catch(Pi)),this._onDidFocus.fire({item:e,index:s,model:this._completionModel})}_setState(t){if(this._state!==t)switch(this._state=t,this.element.domNode.classList.toggle("frozen",4===t),this.element.domNode.classList.remove("message"),t){case 0:zl(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=_6.LOADING_MESSAGE,zl(this._listElement,this._status.element),jl(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Wm(_6.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=_6.NO_SUGGESTIONS_MESSAGE,zl(this._listElement,this._status.element),jl(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Wm(_6.NO_SUGGESTIONS_MESSAGE);break;case 3:case 4:zl(this._messageElement),jl(this._listElement,this._status.element),this._show();break;case 5:zl(this._messageElement),jl(this._listElement,this._status.element),this._details.show(),this._show()}}_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(t,i){0===this._state&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!t,this._isAuto||(this._loadingTimeout=uc((()=>this._setState(1)),i)))}showSuggestions(t,i,e,s,n){var o,r;if(this._contentWidget.setPosition(this.editor.getPosition()),null===(o=this._loadingTimeout)||void 0===o||o.dispose(),null===(r=this._currentSuggestionDetails)||void 0===r||r.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==t&&(this._completionModel=t),e&&2!==this._state&&0!==this._state)return void this._setState(4);const h=this._completionModel.items.length,c=0===h;if(this._ctxSuggestWidgetMultipleSuggestions.set(h>1),c)return this._setState(s?0:2),void(this._completionModel=void 0);this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(e?4:3),this._list.reveal(i,0),this._list.setFocus(n?[]:[i])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=Qa(Ba(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(0!==this._state&&2!==this._state&&1!==this._state&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){5===this._state?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):3===this._state&&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")):!k6(this._list.getFocusedElements()[0])&&!this._explainMode||3!==this._state&&5!==this._state&&4!==this._state||(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(t){this._pendingShowDetails.value=Qa(Ba(this.element.domNode),(()=>{this._pendingShowDetails.clear(),this._details.show(),t?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._positionDetails(),this.editor.focus(),this.element.domNode.classList.add("shows-details")}))}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var t;this._pendingLayout.clear(),this._pendingShowDetails.clear(),null===(t=this._loadingTimeout)||void 0===t||t.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const i=this._persistedSize.restore(),e=Math.ceil(4.3*this.getLayoutInfo().itemHeight);i&&i.heightc&&(h=c);const a=this._completionModel?this._completionModel.stats.pLabelLen*o.typicalHalfwidthCharacterWidth:h,l=o.statusBarHeight+this._list.contentHeight+o.borderHeight,u=o.itemHeight+o.statusBarHeight,d=ol(this.editor.getDomNode()),f=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),p=Math.min(n.height-(d.top+f.top+f.height)-o.verticalPadding,l),g=d.top+f.top-o.verticalPadding,m=Math.min(g,l);let w=Math.min(Math.max(m,p)+o.borderHeight,l);r===(null===(i=this._cappedHeight)||void 0===i?void 0:i.capped)&&(r=this._cappedHeight.wanted),rw&&(r=w),r>p||this._forceRenderingAbove&&g>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),w=m):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),w=p),this.element.preferredSize=new sl(a,o.defaultSize.height),this.element.maxSize=new sl(c,w),this.element.minSize=new sl(220,u),this._cappedHeight=r===l?{wanted:null!==(s=null===(e=this._cappedHeight)||void 0===e?void 0:e.wanted)&&void 0!==s?s:t.height,capped:r}:void 0}this._resize(h,r)}_resize(t,i){const{width:e,height:s}=this.element.maxSize;t=Math.min(e,t),i=Math.min(s,i);const{statusBarHeight:n}=this.getLayoutInfo();this._list.layout(i-n,t),this._listElement.style.height=i-n+"px",this.element.layout(i,t),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var t;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,2===(null===(t=this._contentWidget.getPosition())||void 0===t?void 0:t.preference[0]))}getLayoutInfo(){const t=this.editor.getOption(50),i=uR(this.editor.getOption(119)||t.lineHeight,8,1e3),e=this.editor.getOption(117).showStatusBar&&2!==this._state&&1!==this._state?i:0,s=this._details.widget.borderWidth,n=2*s;return{itemHeight:i,statusBarHeight:e,borderWidth:s,borderHeight:n,typicalHalfwidthCharacterWidth:t.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new sl(430,e+12*i+n)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(t){this._storageService.store("expandSuggestionDocs",t,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};W6.LOADING_MESSAGE=rt(0,"Loading..."),W6.NO_SUGGESTIONS_MESSAGE=rt(0,"No suggestions."),W6=_6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([N6(1,MB),N6(2,lh),N6(3,tx),N6(4,dr)],W6);class j6{constructor(t,i){this._widget=t,this._editor=i,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?{position:this._position,preference:[this._preference]}:null}beforeRender(){const{height:t,width:i}=this._widget.element.size,{borderWidth:e,horizontalPadding:s}=this._widget.getLayoutInfo();return new sl(i+2*e+s,t+2*e)}afterRender(t){this._widget._afterRender(t)}setPreference(t){this._preferenceLocked||(this._preference=t)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(t){this._position=t}}var z6,H6=function(t,i){return function(e,s){i(e,s,t)}};class V6{constructor(t,i){if(this._model=t,this._position=i,t.getLineMaxColumn(i.lineNumber)!==i.column){const e=t.getOffsetAt(i),s=t.getPositionAt(e+1);this._marker=t.deltaDecorations([],[{range:Ls.fromPositions(i,s),options:{description:"suggest-line-suffix",stickiness:1}}])}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.deltaDecorations(this._marker,[])}delta(t){if(this._model.isDisposed()||this._position.lineNumber!==t.lineNumber)return 0;if(this._marker){const i=this._model.getDecorationRange(this._marker[0]);return this._model.getOffsetAt(i.getStartPosition())-this._model.getOffsetAt(t)}return this._model.getLineMaxColumn(t.lineNumber)-t.column}}let U6=z6=class{static get(t){return t.getContribution(z6.ID)}constructor(t,i,e,s,n,o,r){this._memoryService=i,this._commandService=e,this._contextKeyService=s,this._instantiationService=n,this._logService=o,this._telemetryService=r,this._lineSuffix=new ee,this._toDispose=new te,this._selectors=new q6((t=>t.priority)),this._onWillInsertSuggestItem=new fe,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=t,this.model=n.createInstance(m6,this.editor),this._selectors.register({priority:0,select:(t,i,e)=>this._memoryService.select(t,i,e)});const h=x3.InsertMode.bindTo(s);h.set(t.getOption(117).insertMode),this._toDispose.add(this.model.onDidTrigger((()=>h.set(t.getOption(117).insertMode)))),this.widget=this._toDispose.add(new Za(Ba(t.getDomNode()),(()=>{const t=this._instantiationService.createInstance(W6,this.editor);this._toDispose.add(t),this._toDispose.add(t.onDidSelect((t=>this._insertSuggestion(t,0)),this));const i=new c6(this.editor,t,this.model,(t=>this._insertSuggestion(t,2)));this._toDispose.add(i);const e=x3.MakesTextEdit.bindTo(this._contextKeyService),s=x3.HasInsertAndReplaceRange.bindTo(this._contextKeyService),n=x3.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(Xi((()=>{e.reset(),s.reset(),n.reset()}))),this._toDispose.add(t.onDidFocus((({item:t})=>{const i=this.editor.getPosition(),o=t.editStart.column,r=i.column;let h=!0;"smart"!==this.editor.getOption(1)||2!==this.model.state||t.completion.additionalTextEdits||4&t.completion.insertTextRules||r-o!==t.completion.insertText.length||(h=this.editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:o,endLineNumber:i.lineNumber,endColumn:r})!==t.completion.insertText),e.set(h),s.set(!Ms.equals(t.editInsertEnd,t.editReplaceEnd)),n.set(Boolean(t.provider.resolveCompletionItem)||Boolean(t.completion.documentation)||t.completion.detail!==t.completion.label)}))),this._toDispose.add(t.onDetailsKeyDown((t=>{t.toKeyCodeChord().equals(new vh(!0,!1,!1,!1,33))||St&&t.toKeyCodeChord().equals(new vh(!1,!1,!1,!0,33))?t.stopPropagation():t.toKeyCodeChord().isModifierKey()||this.editor.focus()}))),t}))),this._overtypingCapturer=this._toDispose.add(new Za(Ba(t.getDomNode()),(()=>this._toDispose.add(new w6(this.editor,this.model))))),this._alternatives=this._toDispose.add(new Za(Ba(t.getDomNode()),(()=>this._toDispose.add(new h6(this.editor,this._contextKeyService))))),this._toDispose.add(n.createInstance(o6,t)),this._toDispose.add(this.model.onDidTrigger((t=>{this.widget.value.showTriggered(t.auto,t.shy?250:50),this._lineSuffix.value=new V6(this.editor.getModel(),t.position)}))),this._toDispose.add(this.model.onDidSuggest((t=>{if(t.triggerOptions.shy)return;let i=-1;for(const e of this._selectors.itemsOrderedByPriorityDesc)if(i=e.select(this.editor.getModel(),this.editor.getPosition(),t.completionModel.items),-1!==i)break;-1===i&&(i=0);let e=!1;if(t.triggerOptions.auto){const i=this.editor.getOption(117);"never"===i.selectionMode||"always"===i.selectionMode?e="never"===i.selectionMode:"whenTriggerCharacter"===i.selectionMode?e=1!==t.triggerOptions.triggerKind:"whenQuickSuggestion"===i.selectionMode&&(e=1===t.triggerOptions.triggerKind&&!t.triggerOptions.refilter)}this.widget.value.showSuggestions(t.completionModel,i,t.isFrozen,t.triggerOptions.auto,e)}))),this._toDispose.add(this.model.onDidCancel((t=>{t.retrigger||this.widget.value.hideWidget()}))),this._toDispose.add(this.editor.onDidBlurEditorWidget((()=>{this.model.cancel(),this.model.clear()})));const c=x3.AcceptSuggestionsOnEnter.bindTo(s),a=()=>{const t=this.editor.getOption(1);c.set("on"===t||"smart"===t)};this._toDispose.add(this.editor.onDidChangeConfiguration((()=>a()))),a()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(t,i){if(!t||!t.item)return this._alternatives.value.reset(),this.model.cancel(),void this.model.clear();if(!this.editor.hasModel())return;const e=K3.get(this.editor);if(!e)return;this._onWillInsertSuggestItem.fire({item:t.item});const s=this.editor.getModel(),n=s.getAlternativeVersionId(),{item:o}=t,r=[],h=new Se;1&i||this.editor.pushUndoStop();const c=this.getOverwriteInfo(o,Boolean(8&i));this._memoryService.memorize(s,this.editor.getPosition(),o);const a=o.isResolved;let l=-1,u=-1;if(Array.isArray(o.completion.additionalTextEdits)){this.model.cancel();const t=eU.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",o.completion.additionalTextEdits.map((t=>gO.replaceMove(Ls.lift(t.range),t.text)))),t.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!a){const t=new he;let e;const n=s.onDidChangeContent((t=>{if(t.isFlush)return h.cancel(),void n.dispose();for(const i of t.changes){const t=Ls.getEndPosition(i.range);e&&!Ms.isBefore(t,e)||(e=t)}})),c=i;i|=2;let a=!1;const l=this.editor.onWillType((()=>{l.dispose(),a=!0,2&c||this.editor.pushUndoStop()}));r.push(o.resolve(h.token).then((()=>{if(!o.completion.additionalTextEdits||h.token.isCancellationRequested)return;if(e&&o.completion.additionalTextEdits.some((t=>Ms.isBefore(e,Ls.getStartPosition(t.range)))))return!1;a&&this.editor.pushUndoStop();const t=eU.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",o.completion.additionalTextEdits.map((t=>gO.replaceMove(Ls.lift(t.range),t.text)))),t.restoreRelativeVerticalPositionOfCursor(this.editor),!a&&2&c||this.editor.pushUndoStop(),!0})).then((i=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",t.elapsed(),i),u=!0===i?1:!1===i?0:-2})).finally((()=>{n.dispose(),l.dispose()})))}let{insertText:d}=o.completion;if(4&o.completion.insertTextRules||(d=o3.escape(d)),this.model.cancel(),e.insert(d,{overwriteBefore:c.overwriteBefore,overwriteAfter:c.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(1&o.completion.insertTextRules),clipboardText:t.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),2&i||this.editor.pushUndoStop(),o.completion.command)if(o.completion.command.id===K6.id)this.model.trigger({auto:!0,retrigger:!0});else{const t=new he;r.push(this._commandService.executeCommand(o.completion.command.id,...o.completion.command.arguments?[...o.completion.command.arguments]:[]).catch((t=>{o.completion.extensionId?$i(t):Pi(t)})).finally((()=>{l=t.elapsed()})))}4&i&&this._alternatives.value.set(t,(t=>{for(h.cancel();s.canUndo();){n!==s.getAlternativeVersionId()&&s.undo(),this._insertSuggestion(t,3|(8&i?8:0));break}})),this._alertCompletionItem(o),Promise.all(r).finally((()=>{this._reportSuggestionAcceptedTelemetry(o,s,a,l,u),this.model.clear(),h.dispose()}))}_reportSuggestionAcceptedTelemetry(t,i,e,s,n){var o,r,h;0!==Math.floor(100*Math.random())&&this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:null!==(r=null===(o=t.extensionId)||void 0===o?void 0:o.value)&&void 0!==r?r:"unknown",providerId:null!==(h=t.provider._debugDisplayName)&&void 0!==h?h:"unknown",kind:t.completion.kind,basenameHash:La(yA(i.uri)).toString(16),languageId:i.getLanguageId(),fileExtension:kA(i.uri),resolveInfo:t.provider.resolveCompletionItem?e?1:0:-1,resolveDuration:t.resolveDuration,commandDuration:s,additionalEditsAsync:n})}getOverwriteInfo(t,i){K(this.editor.hasModel());let e="replace"===this.editor.getOption(117).insertMode;i&&(e=!e);const s=(e?t.editReplaceEnd.column:t.editInsertEnd.column)-t.position.column;return{overwriteBefore:t.position.column-t.editStart.column+(this.editor.getPosition().column-t.position.column),overwriteAfter:s+(this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0)}}_alertCompletionItem(t){y(t.completion.additionalTextEdits)&&$m(rt(0,"Accepting '{0}' made {1} additional edits",t.textLabel,t.completion.additionalTextEdits.length))}triggerSuggest(t,i,e){this.editor.hasModel()&&(this.model.trigger({auto:null!=i&&i,completionOptions:{providerFilter:t,kindFilter:e?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(t){if(!this.editor.hasModel())return;const i=this.editor.getPosition(),e=()=>{i.equals(this.editor.getPosition())&&this._commandService.executeCommand(t.fallback)},s=t=>{if(4&t.completion.insertTextRules||t.completion.additionalTextEdits)return!0;const i=this.editor.getPosition(),e=t.editStart.column,s=i.column;return s-e!==t.completion.insertText.length||this.editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:e,endLineNumber:i.lineNumber,endColumn:s})!==t.completion.insertText};ce.once(this.model.onDidTrigger)((()=>{const t=[];ce.any(this.model.onDidTrigger,this.model.onDidCancel)((()=>{Ji(t),e()}),void 0,t),this.model.onDidSuggest((({completionModel:i})=>{if(Ji(t),0===i.items.length)return void e();const n=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),i.items),o=i.items[n];s(o)?(this.editor.pushUndoStop(),this._insertSuggestion({index:n,item:o,model:i},7)):e()}),void 0,t)})),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(i,0),this.editor.focus()}acceptSelectedSuggestion(t,i){const e=this.widget.value.getFocusedItem();let s=0;t&&(s|=4),i&&(s|=8),this._insertSuggestion(e,s)}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(t){return this._selectors.register(t)}};U6.ID="editor.contrib.suggestController",U6=z6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([H6(1,s6),H6(2,Dr),H6(3,lh),H6(4,dr),H6(5,zh),H6(6,jh)],U6);class q6{constructor(t){this.prioritySelector=t,this._items=new Array}register(t){if(-1!==this._items.indexOf(t))throw new Error("Value is already registered");return this._items.push(t),this._items.sort(((t,i)=>this.prioritySelector(i)-this.prioritySelector(t))),{dispose:()=>{const i=this._items.indexOf(t);i>=0&&this._items.splice(i,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class K6 extends nu{constructor(){super({id:K6.id,label:rt(0,"Trigger Suggest"),alias:"Trigger Suggest",precondition:Hr.and(XC.writable,XC.hasCompletionItemProvider,x3.Visible.toNegated()),kbOpts:{kbExpr:XC.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(t,i,e){const s=U6.get(i);if(!s)return;let n;e&&"object"==typeof e&&!0===e.auto&&(n=!0),s.triggerSuggest(void 0,n,void 0)}}K6.id="editor.action.triggerSuggest",uu(U6.ID,U6,2),au(K6);const G6=190,Z6=su.bindToContribution(U6.get);cu(new Z6({id:"acceptSelectedSuggestion",precondition:Hr.and(x3.Visible,x3.HasFocusedSuggestion),handler(t){t.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:Hr.and(x3.Visible,XC.textInputFocus),weight:G6},{primary:3,kbExpr:Hr.and(x3.Visible,XC.textInputFocus,x3.AcceptSuggestionsOnEnter,x3.MakesTextEdit),weight:G6}],menuOpts:[{menuId:C3,title:rt(0,"Insert"),group:"left",order:1,when:x3.HasInsertAndReplaceRange.toNegated()},{menuId:C3,title:rt(0,"Insert"),group:"left",order:1,when:Hr.and(x3.HasInsertAndReplaceRange,x3.InsertMode.isEqualTo("insert"))},{menuId:C3,title:rt(0,"Replace"),group:"left",order:1,when:Hr.and(x3.HasInsertAndReplaceRange,x3.InsertMode.isEqualTo("replace"))}]})),cu(new Z6({id:"acceptAlternativeSelectedSuggestion",precondition:Hr.and(x3.Visible,XC.textInputFocus,x3.HasFocusedSuggestion),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:1027,secondary:[1026]},handler(t){t.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:C3,group:"left",order:2,when:Hr.and(x3.HasInsertAndReplaceRange,x3.InsertMode.isEqualTo("insert")),title:rt(0,"Replace")},{menuId:C3,group:"left",order:2,when:Hr.and(x3.HasInsertAndReplaceRange,x3.InsertMode.isEqualTo("replace")),title:rt(0,"Insert")}]})),Er.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),cu(new Z6({id:"hideSuggestWidget",precondition:x3.Visible,handler:t=>t.cancelSuggestWidget(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:9,secondary:[1033]}})),cu(new Z6({id:"selectNextSuggestion",precondition:Hr.and(x3.Visible,Hr.or(x3.MultipleSuggestions,x3.HasFocusedSuggestion.negate())),handler:t=>t.selectNextSuggestion(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),cu(new Z6({id:"selectNextPageSuggestion",precondition:Hr.and(x3.Visible,Hr.or(x3.MultipleSuggestions,x3.HasFocusedSuggestion.negate())),handler:t=>t.selectNextPageSuggestion(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:12,secondary:[2060]}})),cu(new Z6({id:"selectLastSuggestion",precondition:Hr.and(x3.Visible,Hr.or(x3.MultipleSuggestions,x3.HasFocusedSuggestion.negate())),handler:t=>t.selectLastSuggestion()})),cu(new Z6({id:"selectPrevSuggestion",precondition:Hr.and(x3.Visible,Hr.or(x3.MultipleSuggestions,x3.HasFocusedSuggestion.negate())),handler:t=>t.selectPrevSuggestion(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),cu(new Z6({id:"selectPrevPageSuggestion",precondition:Hr.and(x3.Visible,Hr.or(x3.MultipleSuggestions,x3.HasFocusedSuggestion.negate())),handler:t=>t.selectPrevPageSuggestion(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:11,secondary:[2059]}})),cu(new Z6({id:"selectFirstSuggestion",precondition:Hr.and(x3.Visible,Hr.or(x3.MultipleSuggestions,x3.HasFocusedSuggestion.negate())),handler:t=>t.selectFirstSuggestion()})),cu(new Z6({id:"focusSuggestion",precondition:Hr.and(x3.Visible,x3.HasFocusedSuggestion.negate()),handler:t=>t.focusSuggestion(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),cu(new Z6({id:"focusAndAcceptSuggestion",precondition:Hr.and(x3.Visible,x3.HasFocusedSuggestion.negate()),handler:t=>{t.focusSuggestion(),t.acceptSelectedSuggestion(!0,!1)}})),cu(new Z6({id:"toggleSuggestionDetails",precondition:Hr.and(x3.Visible,x3.HasFocusedSuggestion),handler:t=>t.toggleSuggestionDetails(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:C3,group:"right",order:1,when:Hr.and(x3.DetailsVisible,x3.CanResolve),title:rt(0,"show less")},{menuId:C3,group:"right",order:1,when:Hr.and(x3.DetailsVisible.toNegated(),x3.CanResolve),title:rt(0,"show more")}]})),cu(new Z6({id:"toggleExplainMode",precondition:x3.Visible,handler:t=>t.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),cu(new Z6({id:"toggleSuggestionFocus",precondition:x3.Visible,handler:t=>t.toggleSuggestionFocus(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:2570,mac:{primary:778}}})),cu(new Z6({id:"insertBestCompletion",precondition:Hr.and(XC.textInputFocus,Hr.equals("config.editor.tabCompletion","on"),o6.AtEnd,x3.Visible.toNegated(),h6.OtherSuggestions.toNegated(),K3.InSnippetMode.toNegated()),handler:(t,i)=>{t.triggerSuggestAndAcceptBest($(i)?{fallback:"tab",...i}:{fallback:"tab"})},kbOpts:{weight:G6,primary:2}})),cu(new Z6({id:"insertNextSuggestion",precondition:Hr.and(XC.textInputFocus,Hr.equals("config.editor.tabCompletion","on"),h6.OtherSuggestions,x3.Visible.toNegated(),K3.InSnippetMode.toNegated()),handler:t=>t.acceptNextSuggestion(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:2}})),cu(new Z6({id:"insertPrevSuggestion",precondition:Hr.and(XC.textInputFocus,Hr.equals("config.editor.tabCompletion","on"),h6.OtherSuggestions,x3.Visible.toNegated(),K3.InSnippetMode.toNegated()),handler:t=>t.acceptPrevSuggestion(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:1026}})),au(class extends nu{constructor(){super({id:"editor.action.resetSuggestSize",label:rt(0,"Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(t,i){var e;null===(e=U6.get(i))||void 0===e||e.resetWidgetSize()}});class Q6 extends ie{get selectedItem(){return this._selectedItem}constructor(t,i,e,s){super(),this.editor=t,this.suggestControllerPreselector=i,this.checkModelVersion=e,this.onWillAccept=s,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._selectedItem=TV(this,void 0),this._register(t.onKeyDown((t=>{t.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))}))),this._register(t.onKeyUp((t=>{t.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))})));const n=U6.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(t,i,e)=>{var s;kV((t=>this.checkModelVersion(t)));const o=this.editor.getModel();if(!o)return-1;const r=null===(s=this.suggestControllerPreselector())||void 0===s?void 0:s.removeCommonPrefix(o);if(!r)return-1;const h=Ms.lift(i),c=dp(e.map(((t,i)=>{const e=J6.fromSuggestion(n,o,h,t,this.isShiftKeyPressed).toSingleTextEdit().removeCommonPrefix(o);return{index:i,valid:r.augments(e),prefixLength:e.text.length,suggestItem:t}})).filter((t=>t&&t.valid&&t.prefixLength>0)),R((t=>t.prefixLength),O));return c?c.index:-1}}));let t=!1;const i=()=>{t||(t=!0,this._register(n.widget.value.onDidShow((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))),this._register(n.widget.value.onDidHide((()=>{this.isSuggestWidgetVisible=!1,this.update(!1)}))),this._register(n.widget.value.onDidFocus((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))))};this._register(ce.once(n.model.onDidTrigger)((()=>{i()}))),this._register(n.onWillInsertSuggestItem((t=>{const i=this.editor.getPosition(),e=this.editor.getModel();if(!i||!e)return;const s=J6.fromSuggestion(n,e,i,t.item,this.isShiftKeyPressed);this.onWillAccept(s)})))}this.update(this._isActive)}update(t){const i=this.getSuggestItemInfo();var e,s;this._isActive===t&&((e=this._currentSuggestItemInfo)===(s=i)||e&&s&&e.equals(s))||(this._isActive=t,this._currentSuggestItemInfo=i,kV((t=>{this.checkModelVersion(t),this._selectedItem.set(this._isActive?this._currentSuggestItemInfo:void 0,t)})))}getSuggestItemInfo(){const t=U6.get(this.editor);if(!t||!this.isSuggestWidgetVisible)return;const i=t.widget.value.getFocusedItem(),e=this.editor.getPosition(),s=this.editor.getModel();return i&&e&&s?J6.fromSuggestion(t,s,e,i.item,this.isShiftKeyPressed):void 0}stopForceRenderingAbove(){const t=U6.get(this.editor);null==t||t.stopForceRenderingAbove()}forceRenderingAbove(){const t=U6.get(this.editor);null==t||t.forceRenderingAbove()}}class J6{static fromSuggestion(t,i,e,s,n){let{insertText:o}=s.completion,r=!1;if(4&s.completion.insertTextRules){const t=(new o3).parse(o);t.children.length<100&&H3.adjustWhitespace(i,e,!0,t),o=t.toString(),r=!0}const h=t.getOverwriteInfo(s,n);return new J6(Ls.fromPositions(e.delta(0,-h.overwriteBefore),e.delta(0,Math.max(h.overwriteAfter,0))),o,s.completion.kind,r)}constructor(t,i,e,s){this.range=t,this.insertText=i,this.completionItemKind=e,this.isSnippetText=s}equals(t){return this.range.equalsRange(t.range)&&this.insertText===t.insertText&&this.completionItemKind===t.completionItemKind&&this.isSnippetText===t.isSnippetText}toSelectedSuggestionInfo(){return new Hs(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new u3(this.range,this.insertText)}}var Y6,X6=function(t,i){return function(e,s){i(e,s,t)}};let t9=Y6=class extends ie{static get(t){return t.getContribution(Y6.ID)}constructor(t,i,e,s,n,o,r,h,c){super(),this.editor=t,this._instantiationService=i,this._contextKeyService=e,this._configurationService=s,this._commandService=n,this._debounceService=o,this._languageFeaturesService=r,this._audioCueService=h,this._keybindingService=c,this.model=OV("inlineCompletionModel",void 0),this._textModelVersionId=TV(this,-1),this._cursorPosition=TV(this,new Ms(1,1)),this._suggestWidgetAdaptor=this._register(new Q6(this.editor,(()=>{var t,i;return null===(i=null===(t=this.model.get())||void 0===t?void 0:t.selectedInlineCompletion.get())||void 0===i?void 0:i.toSingleTextEdit(void 0)}),(t=>this.updateObservables(t,Z3.Other)),(t=>{kV((i=>{var e;this.updateObservables(i,Z3.Other),null===(e=this.model.get())||void 0===e||e.handleSuggestAccepted(t)}))}))),this._enabled=GV(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(62).enabled)),this._ghostTextWidget=this._register(this._instantiationService.createInstance(V5,this.editor,{ghostText:this.model.map(((t,i)=>null==t?void 0:t.ghostText.read(i))),minReservedLineCount:qV(0),targetTextModel:this.model.map((t=>null==t?void 0:t.textModel))})),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this._playAudioCueSignal=YV(this),this._isReadonly=GV(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(90))),this._textModel=GV(this.editor.onDidChangeModel,(()=>this.editor.getModel())),this._textModelIfWritable=NV((t=>this._isReadonly.read(t)?void 0:this._textModel.read(t))),this._register(new O5(this._contextKeyService,this.model)),this._register(jV((e=>{const s=this._textModelIfWritable.read(e);kV((e=>{if(this.model.set(void 0,e),this.updateObservables(e,Z3.Other),s){const n=i.createInstance(J3,s,this._suggestWidgetAdaptor.selectedItem,this._cursorPosition,this._textModelVersionId,this._debounceValue,GV(t.onDidChangeConfiguration,(()=>t.getOption(117).preview)),GV(t.onDidChangeConfiguration,(()=>t.getOption(117).previewMode)),GV(t.onDidChangeConfiguration,(()=>t.getOption(62).mode)),this._enabled);this.model.set(n,e)}}))})));const a=t=>{var i;return t.isUndoing?Z3.Undo:t.isRedoing?Z3.Redo:(null===(i=this.model.get())||void 0===i?void 0:i.isAcceptingPartially)?Z3.AcceptWord:Z3.Other};let l;this._register(t.onDidChangeModelContent((t=>kV((i=>this.updateObservables(i,a(t))))))),this._register(t.onDidChangeCursorPosition((t=>kV((i=>{var e;this.updateObservables(i,Z3.Other),3!==t.reason&&"api"!==t.source||null===(e=this.model.get())||void 0===e||e.stop(i)}))))),this._register(t.onDidType((()=>kV((t=>{var i;this.updateObservables(t,Z3.Other),this._enabled.get()&&(null===(i=this.model.get())||void 0===i||i.trigger(t))}))))),this._register(this._commandService.onDidExecuteCommand((i=>{new Set([cS.Tab.id,cS.DeleteLeft.id,cS.DeleteRight.id,M0,"acceptSelectedSuggestion"]).has(i.commandId)&&t.hasTextFocus()&&this._enabled.get()&&kV((t=>{var i;null===(i=this.model.get())||void 0===i||i.trigger(t)}))}))),this._register(this.editor.onDidBlurEditorWidget((()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||t.getOption(62).keepOnBlur||B0.dropDownVisible||kV((t=>{var i;null===(i=this.model.get())||void 0===i||i.stop(t)}))}))),this._register(jV((t=>{var i;const e=null===(i=this.model.read(t))||void 0===i?void 0:i.state.read(t);(null==e?void 0:e.suggestItem)?e.ghostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()}))),this._register(Xi((()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}))),this._register(HV({handleChange:t=>(t.didChange(this._playAudioCueSignal)&&(l=void 0),!0)},(async t=>{this._playAudioCueSignal.read(t);const i=this.model.read(t),e=null==i?void 0:i.state.read(t);if(i&&e&&e.inlineCompletion){if(e.inlineCompletion.semanticId!==l){l=e.inlineCompletion.semanticId;const t=i.textModel.getLineContent(e.ghostText.lineNumber);this._audioCueService.playAudioCue(qH.inlineSuggestion).then((()=>{this.editor.getOption(8)&&this.provideScreenReaderUpdate(e.ghostText.renderForScreenReader(t))}))}}else l=void 0}))),this._register(new I0(this.editor,this.model,this._instantiationService)),this._register(this._configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}))),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAudioCue(t){this._playAudioCueSignal.trigger(t)}provideScreenReaderUpdate(t){const i=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),e=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let s;!i&&e&&this.editor.getOption(147)&&(s=rt(0,"Inspect this in the accessible view ({0})",e.getAriaLabel())),$m(s?t+", "+s:t)}updateObservables(t,i){var e,s;const n=this.editor.getModel();this._textModelVersionId.set(null!==(e=null==n?void 0:n.getVersionId())&&void 0!==e?e:-1,t,i),this._cursorPosition.set(null!==(s=this.editor.getPosition())&&void 0!==s?s:new Ms(1,1),t)}shouldShowHoverAt(t){var i;const e=null===(i=this.model.get())||void 0===i?void 0:i.ghostText.get();return!!e&&e.parts.some((i=>t.containsPosition(new Ms(e.lineNumber,i.column))))}shouldShowHoverAtViewZone(t){return this._ghostTextWidget.ownsViewZone(t)}};t9.ID="editor.contrib.inlineCompletionsController",t9=Y6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([X6(1,dr),X6(2,lh),X6(3,gd),X6(4,Dr),X6(5,mR),X6(6,Cg),X6(7,HH),X6(8,rC)],t9);class i9 extends nu{constructor(){super({id:i9.ID,label:rt(0,"Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:Hr.and(XC.writable,O5.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(t,i){var e;const s=t9.get(i);null===(e=null==s?void 0:s.model.get())||void 0===e||e.next()}}i9.ID=F0;class e9 extends nu{constructor(){super({id:e9.ID,label:rt(0,"Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:Hr.and(XC.writable,O5.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(t,i){var e;const s=t9.get(i);null===(e=null==s?void 0:s.model.get())||void 0===e||e.previous()}}e9.ID=L0;class s9 extends nu{constructor(){super({id:s9.ID,label:rt(0,"Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:O5.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(t,i){const e=t9.get(i);kV((t=>{var i;null===(i=null==e?void 0:e.model.get())||void 0===i||i.stop(t)}))}}s9.ID="editor.action.inlineSuggest.hide";class n9 extends $h{constructor(){super({id:n9.ID,title:rt(0,"Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:Oh.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:Hr.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(t,i){const e=t.get(gd),s=e.getValue("editor.inlineSuggest.showToolbar");e.updateValue("editor.inlineSuggest.showToolbar","always"===s?"onHover":"always")}}n9.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";var o9=function(t,i){return function(e,s){i(e,s,t)}};class r9{constructor(t,i,e){this.owner=t,this.range=i,this.controller=e}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}let h9=class{constructor(t,i,e,s,n,o){this._editor=t,this._languageService=i,this._openerService=e,this.accessibilityService=s,this._instantiationService=n,this._telemetryService=o,this.hoverOrdinal=4}suggestHoverAnchor(t){const i=t9.get(this._editor);if(!i)return null;const e=t.target;if(8===e.type){const s=e.detail;if(i.shouldShowHoverAtViewZone(s.viewZoneId))return new xX(1e3,this,Ls.fromPositions(this._editor.getModel().validatePosition(s.positionBefore||s.position)),t.event.posx,t.event.posy,!1)}return 7===e.type&&i.shouldShowHoverAt(e.range)||6===e.type&&e.detail.mightBeForeignElement&&i.shouldShowHoverAt(e.range)?new xX(1e3,this,e.range,t.event.posx,t.event.posy,!1):null}computeSync(t,i){if("onHover"!==this._editor.getOption(62).showToolbar)return[];const e=t9.get(this._editor);return e&&e.shouldShowHoverAt(t.range)?[new r9(this,t.range,e)]:[]}renderHoverParts(t,i){const e=new te,s=i[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&this.renderScreenReaderText(t,s,e);const n=s.controller.model.get(),o=this._instantiationService.createInstance(B0,this._editor,!1,qV(null),n.selectedInlineCompletionIndex,n.inlineCompletionsCount,n.selectedInlineCompletion.map((t=>{var i;return null!==(i=null==t?void 0:t.inlineCompletion.source.inlineCompletions.commands)&&void 0!==i?i:[]})));return t.fragment.appendChild(o.getDomNode()),n.triggerExplicitly(),e.add(o),e}renderScreenReaderText(t,i,e){const s=Wl,n=s("div.hover-row.markdown-hover"),o=Il(n,s("div.hover-contents",{"aria-live":"assertive"})),r=e.add(new uQ({editor:this._editor},this._languageService,this._openerService));e.add(jV((s=>{var n;const h=null===(n=i.controller.model.read(s))||void 0===n?void 0:n.ghostText.read(s);if(h){const i=this._editor.getModel().getLineContent(h.lineNumber);(i=>{e.add(r.onDidRenderAsync((()=>{o.className="hover-contents code-hover-contents",t.onContentsChanged()})));const s=rt(0,"Suggestion:"),n=e.add(r.render((new B_).appendText(s).appendCodeblock("text",i)));o.replaceChildren(n.element)})(h.renderForScreenReader(i))}else Nl(o)}))),t.fragment.appendChild(n)}};function c9(t,i){let e=0;for(let s=0;s=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([o9(1,kd),o9(2,fP),o9(3,Qm),o9(4,dr),o9(5,jh)],h9),uu(t9.ID,t9,3),au(class extends nu{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:rt(0,"Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:XC.writable})}async run(t,i){const e=t9.get(i);await async function(t){const i=new SV(t,void 0);try{await t(i)}finally{i.finish()}}((async t=>{var i;await(null===(i=null==e?void 0:e.model.get())||void 0===i?void 0:i.triggerExplicitly(t)),null==e||e.playAudioCue(t)}))}}),au(i9),au(e9),au(class extends nu{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:rt(0,"Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:Hr.and(XC.writable,O5.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:Hr.and(XC.writable,O5.inlineSuggestionVisible)},menuOpts:[{menuId:Oh.InlineSuggestionToolbar,title:rt(0,"Accept Word"),group:"primary",order:2}]})}async run(t,i){var e;const s=t9.get(i);await(null===(e=null==s?void 0:s.model.get())||void 0===e?void 0:e.acceptNextWord(s.editor))}}),au(class extends nu{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:rt(0,"Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:Hr.and(XC.writable,O5.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:Oh.InlineSuggestionToolbar,title:rt(0,"Accept Line"),group:"secondary",order:2}]})}async run(t,i){var e;const s=t9.get(i);await(null===(e=null==s?void 0:s.model.get())||void 0===e?void 0:e.acceptNextLine(s.editor))}}),au(class extends nu{constructor(){super({id:M0,label:rt(0,"Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:O5.inlineSuggestionVisible,menuOpts:[{menuId:Oh.InlineSuggestionToolbar,title:rt(0,"Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:Hr.and(O5.inlineSuggestionVisible,XC.tabMovesFocus.toNegated(),O5.inlineSuggestionHasIndentationLessThanTabSize,x3.Visible.toNegated(),XC.hoverFocused.toNegated())}})}async run(t,i){var e;const s=t9.get(i);s&&(null===(e=s.model.get())||void 0===e||e.accept(s.editor),s.editor.focus())}}),au(s9),Wh(n9),CX.register(h9);function l9(t,i,e,s,n){if(1===t.getLineCount()&&1===t.getLineMaxColumn(1))return[];const o=i.getLanguageConfiguration(t.getLanguageId()).indentationRules;if(!o)return[];for(s=Math.min(s,t.getLineCount());e<=s&&o.unIndentedLinePattern;){const i=t.getLineContent(e);if(!o.unIndentedLinePattern.test(i))break;e++}if(e>s-1)return[];const{tabSize:r,indentSize:h,insertSpaces:c}=t.getOptions(),a=(t,i)=>WC.shiftIndent(t,t.length+(i=i||1),r,h,c),l=(t,i)=>WC.unshiftIndent(t,t.length+(i=i||1),r,h,c),u=[];let d;const f=t.getLineContent(e);let p=f;if(null!=n){d=n;const t=eo(f);p=d+f.substring(t.length),o.decreaseIndentPattern&&o.decreaseIndentPattern.test(p)&&(d=l(d),p=d+f.substring(t.length)),f!==p&&u.push(gO.replaceMove(new Fs(e,1,e,t.length+1),uC(d,h,c)))}else d=eo(f);let g=d;o.increaseIndentPattern&&o.increaseIndentPattern.test(p)?(g=a(g),d=a(d)):o.indentNextLinePattern&&o.indentNextLinePattern.test(p)&&(g=a(g));for(let i=++e;i<=s;i++){const e=t.getLineContent(i),s=eo(e),n=g+e.substring(s.length);o.decreaseIndentPattern&&o.decreaseIndentPattern.test(n)&&(g=l(g),d=l(d)),s!==g&&u.push(gO.replaceMove(new Fs(i,1,i,s.length+1),uC(g,h,c))),o.unIndentedLinePattern&&o.unIndentedLinePattern.test(e)||(o.increaseIndentPattern&&o.increaseIndentPattern.test(n)?(d=a(d),g=d):g=o.indentNextLinePattern&&o.indentNextLinePattern.test(n)?a(g):d)}return u}class u9 extends nu{constructor(){super({id:u9.ID,label:rt(0,"Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:XC.writable})}run(t,i){const e=i.getModel();if(!e)return;const s=e.getOptions(),n=i.getSelection();if(!n)return;const o=new k9(n,s.tabSize);i.pushUndoStop(),i.executeCommands(this.id,[o]),i.pushUndoStop(),e.updateOptions({insertSpaces:!0})}}u9.ID="editor.action.indentationToSpaces";class d9 extends nu{constructor(){super({id:d9.ID,label:rt(0,"Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:XC.writable})}run(t,i){const e=i.getModel();if(!e)return;const s=e.getOptions(),n=i.getSelection();if(!n)return;const o=new x9(n,s.tabSize);i.pushUndoStop(),i.executeCommands(this.id,[o]),i.pushUndoStop(),e.updateOptions({insertSpaces:!1})}}d9.ID="editor.action.indentationToTabs";class f9 extends nu{constructor(t,i,e){super(e),this.insertSpaces=t,this.displaySizeOnly=i}run(t,i){const e=t.get(Ij),s=t.get(gr),n=i.getModel();if(!n)return;const o=s.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget),r=n.getOptions(),h=[1,2,3,4,5,6,7,8].map((t=>({id:t.toString(),label:t.toString(),description:t===o.tabSize&&t===r.tabSize?rt(0,"Configured Tab Size"):t===o.tabSize?rt(0,"Default Tab Size"):t===r.tabSize?rt(0,"Current Tab Size"):void 0}))),c=Math.min(n.getOptions().tabSize-1,7);setTimeout((()=>{e.pick(h,{placeHolder:rt(0,"Select Tab Size for Current File"),activeItem:h[c]}).then((t=>{if(t&&n&&!n.isDisposed()){const i=parseInt(t.label,10);n.updateOptions(this.displaySizeOnly?{tabSize:i}:{tabSize:i,indentSize:i,insertSpaces:this.insertSpaces})}}))}),50)}}class p9 extends f9{constructor(){super(!1,!1,{id:p9.ID,label:rt(0,"Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0})}}p9.ID="editor.action.indentUsingTabs";class g9 extends f9{constructor(){super(!0,!1,{id:g9.ID,label:rt(0,"Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0})}}g9.ID="editor.action.indentUsingSpaces";class m9 extends f9{constructor(){super(!0,!0,{id:m9.ID,label:rt(0,"Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0})}}m9.ID="editor.action.changeTabDisplaySize";class w9 extends nu{constructor(){super({id:w9.ID,label:rt(0,"Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0})}run(t,i){const e=t.get(gr),s=i.getModel();if(!s)return;const n=e.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget);s.detectIndentation(n.insertSpaces,n.tabSize)}}w9.ID="editor.action.detectIndentation";class v9{constructor(t,i){this._initialSelection=i,this._edits=[],this._selectionId=null;for(const i of t)i.range&&"string"==typeof i.text&&this._edits.push(i)}getEditOperations(t,i){for(const t of this._edits)i.addEditOperation(Ls.lift(t.range),t.text);let e=!1;Array.isArray(this._edits)&&1===this._edits.length&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(e=!0,this._selectionId=i.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(e=!0,this._selectionId=i.trackSelection(this._initialSelection,!1))),e||(this._selectionId=i.trackSelection(this._initialSelection))}computeCursorState(t,i){return i.getTrackedSelection(this._selectionId)}}let b9=class{constructor(t,i){this.editor=t,this._languageConfigurationService=i,this.callOnDispose=new te,this.callOnModel=new te,this.callOnDispose.add(t.onDidChangeConfiguration((()=>this.update()))),this.callOnDispose.add(t.onDidChangeModel((()=>this.update()))),this.callOnDispose.add(t.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:t})=>{this.trigger(t)})))}trigger(t){const i=this.editor.getSelections();if(null===i||i.length>1)return;const e=this.editor.getModel();if(!e)return;if(!e.tokenization.isCheapToTokenize(t.getStartPosition().lineNumber))return;const s=this.editor.getOption(12),{tabSize:n,indentSize:o,insertSpaces:r}=e.getOptions(),h=[],c={shiftIndent:t=>WC.shiftIndent(t,t.length+1,n,o,r),unshiftIndent:t=>WC.unshiftIndent(t,t.length+1,n,o,r)};let a=t.startLineNumber;for(;a<=t.endLineNumber&&this.shouldIgnoreLine(e,a);)a++;if(a>t.endLineNumber)return;let l=e.getLineContent(a);if(!/\S/.test(l.substring(0,t.startColumn-1))){const t=VC(s,e,e.getLanguageId(),a,c,this._languageConfigurationService);if(null!==t){const i=eo(l),s=c9(t,n);if(s!==c9(i,n)){const t=a9(s,n,r);h.push({range:new Ls(a,1,a,i.length+1),text:t}),l=t+l.substr(i.length)}else{const t=UC(e,a,this._languageConfigurationService);if(0===t||8===t)return}}}const u=a;for(;ae.tokenization.getLineTokens(t),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(t,i)=>e.getLanguageIdAtPosition(t,i)},getLineContent:t=>t===u?l:e.getLineContent(t)},e.getLanguageId(),a+1,c,this._languageConfigurationService);if(null!==i){const s=c9(i,n),o=c9(eo(e.getLineContent(a+1)),n);if(s!==o){const i=s-o;for(let s=a+1;s<=t.endLineNumber;s++){const t=eo(e.getLineContent(s)),o=a9(c9(t,n)+i,n,r);o!==t&&h.push({range:new Ls(s,1,s,t.length+1),text:o})}}}}if(h.length>0){this.editor.pushUndoStop();const t=new v9(h,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",t),this.editor.pushUndoStop()}}shouldIgnoreLine(t,i){t.tokenization.forceTokenization(i);const e=t.getLineFirstNonWhitespaceColumn(i);if(0===e)return!0;const s=t.tokenization.getLineTokens(i);if(s.getCount()>0){const t=s.findTokenIndexAtOffset(e);if(t>=0&&1===s.getStandardTokenType(t))return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};function y9(t,i,e,s){if(1===t.getLineCount()&&1===t.getLineMaxColumn(1))return;let n="";for(let t=0;t=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,tf)],b9);class k9{constructor(t,i){this.selection=t,this.tabSize=i,this.selectionId=null}getEditOperations(t,i){this.selectionId=i.trackSelection(this.selection),y9(t,i,this.tabSize,!0)}computeCursorState(t,i){return i.getTrackedSelection(this.selectionId)}}class x9{constructor(t,i){this.selection=t,this.tabSize=i,this.selectionId=null}getEditOperations(t,i){this.selectionId=i.trackSelection(this.selection),y9(t,i,this.tabSize,!1)}computeCursorState(t,i){return i.getTrackedSelection(this.selectionId)}}uu(b9.ID,b9,2),au(u9),au(d9),au(p9),au(g9),au(m9),au(w9),au(class extends nu{constructor(){super({id:"editor.action.reindentlines",label:rt(0,"Reindent Lines"),alias:"Reindent Lines",precondition:XC.writable})}run(t,i){const e=t.get(tf),s=i.getModel();if(!s)return;const n=l9(s,e,1,s.getLineCount());n.length>0&&(i.pushUndoStop(),i.executeEdits(this.id,n),i.pushUndoStop())}}),au(class extends nu{constructor(){super({id:"editor.action.reindentselectedlines",label:rt(0,"Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:XC.writable})}run(t,i){const e=t.get(tf),s=i.getModel();if(!s)return;const n=i.getSelections();if(null===n)return;const o=[];for(const t of n){let i=t.startLineNumber,n=t.endLineNumber;if(i!==n&&1===t.endColumn&&n--,1===i){if(i===n)continue}else i--;const r=l9(s,e,i,n);o.push(...r)}o.length>0&&(i.pushUndoStop(),i.executeEdits(this.id,o),i.pushUndoStop())}});class C9{constructor(t,i){this.range=t,this.direction=i}}class S9{constructor(t,i,e){this.hint=t,this.anchor=i,this.provider=e,this._isResolved=!1}with(t){const i=new S9(this.hint,t.anchor,this.provider);return i._isResolved=this._isResolved,i._currentResolve=this._currentResolve,i}async resolve(t){if("function"==typeof this.provider.resolveInlayHint){if(this._currentResolve){if(await this._currentResolve,t.isCancellationRequested)return;return this.resolve(t)}this._isResolved||(this._currentResolve=this._doResolve(t).finally((()=>this._currentResolve=void 0))),await this._currentResolve}}async _doResolve(t){var i,e;try{const s=await Promise.resolve(this.provider.resolveInlayHint(this.hint,t));this.hint.tooltip=null!==(i=null==s?void 0:s.tooltip)&&void 0!==i?i:this.hint.tooltip,this.hint.label=null!==(e=null==s?void 0:s.label)&&void 0!==e?e:this.hint.label,this._isResolved=!0}catch(t){$i(t),this._isResolved=!1}}}class D9{static async create(t,i,e,s){const n=[],o=t.ordered(i).reverse().map((t=>e.map((async e=>{try{const o=await t.provideInlayHints(i,e,s);(null==o?void 0:o.hints.length)&&n.push([o,t])}catch(t){$i(t)}}))));if(await Promise.all(o.flat()),s.isCancellationRequested||i.isDisposed())throw new Hi;return new D9(e,n,i)}constructor(t,i,e){this._disposables=new te,this.ranges=t,this.provider=new Set;const s=[];for(const[t,n]of i){this._disposables.add(t),this.provider.add(n);for(const i of t.hints){const t=e.validatePosition(i.position);let o="before";const r=D9._getRangeAtPosition(e,t);let h;r.getStartPosition().isBefore(t)?(h=Ls.fromPositions(r.getStartPosition(),t),o="after"):(h=Ls.fromPositions(t,r.getEndPosition()),o="before"),s.push(new S9(i,new C9(h,o),n))}}this.items=s.sort(((t,i)=>Ms.compare(t.hint.position,i.hint.position)))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(t,i){const e=i.lineNumber,s=t.getWordAtPosition(i);if(s)return new Ls(e,s.startColumn,e,s.endColumn);t.tokenization.tokenizeIfCheap(e);const n=t.tokenization.getLineTokens(e),o=i.column-1,r=n.findTokenIndexAtOffset(o);let h=n.getStartOffset(r),c=n.getEndOffset(r);return c-h==1&&(h===o&&r>1?(h=n.getStartOffset(r-1),c=n.getEndOffset(r-1)):c===o&&rRh(t)?t.command.id:u1())));for(const t of rX.all())d.has(t.desc.id)&&u.push(new wr(t.desc.id,Ph.label(t.desc,{renderShortTitle:!0}),void 0,!0,(async()=>{const e=await o.createModelReference(l.uri);try{const n=new oX(e.object.textEditorModel,Ls.getStartPosition(l.range)),o=s.item.anchor.range;await c.invokeFunction(t.runEditorCommand.bind(t),i,n,o)}finally{e.dispose()}})));if(s.part.command){const{command:t}=s.part;u.push(new br),u.push(new wr(t.id,t.title,void 0,!0,(async()=>{var i;try{await h.executeCommand(t.id,...null!==(i=t.arguments)&&void 0!==i?i:[])}catch(t){a.notify({severity:oT.Error,source:s.item.provider.displayName,message:t})}})))}const f=i.getOption(126);r.showContextMenu({domForShadowRoot:f&&null!==(n=i.getDomNode())&&void 0!==n?n:void 0,getAnchor:()=>{const t=ol(e);return{x:t.left,y:t.top+t.height+8}},getActions:()=>u,onHide:()=>{i.focus()},autoSelectFirstItem:!0})}async function A9(t,i,e,s){const n=t.get(mr),o=await n.createModelReference(s.uri);await e.invokeWithinContext((async t=>{const n=i.hasSideBySideModifier,r=t.get(lh),h=eY.inPeekEditor.getValue(r),c=!n&&e.getOption(87)&&!h;return new hX({openToSide:n,openInPeek:c,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(t,new oX(o.object.textEditorModel,Ls.getStartPosition(s.range)),Ls.lift(s.range))})),o.dispose()}var M9,L9=function(t,i){return function(e,s){i(e,s,t)}};class F9{constructor(){this._entries=new Up(50)}get(t){const i=F9._key(t);return this._entries.get(i)}set(t,i){const e=F9._key(t);this._entries.set(e,i)}static _key(t){return`${t.uri.toString()}/${t.getVersionId()}`}}const T9=fr("IInlayHintsCache");Sd(T9,F9,1);class R9{constructor(t,i){this.item=t,this.index=i}get part(){const t=this.item.hint.label;return"string"==typeof t?{label:t}:t[this.index]}}class O9{constructor(t,i){this.part=t,this.hasTriggerModifier=i}}let I9=M9=class{static get(t){var i;return null!==(i=t.getContribution(M9.ID))&&void 0!==i?i:void 0}constructor(t,i,e,s,n,o,r){this._editor=t,this._languageFeaturesService=i,this._inlayHintsCache=s,this._commandService=n,this._notificationService=o,this._instaService=r,this._disposables=new te,this._sessionDisposables=new te,this._decorationsMetadata=new Map,this._ruleFactory=new My(this._editor),this._activeRenderMode=0,this._debounceInfo=e.for(i.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(i.inlayHintsProvider.onDidChange((()=>this._update()))),this._disposables.add(t.onDidChangeModel((()=>this._update()))),this._disposables.add(t.onDidChangeModelLanguage((()=>this._update()))),this._disposables.add(t.onDidChangeConfiguration((t=>{t.hasChanged(139)&&this._update()}))),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const t=this._editor.getOption(139);if("off"===t.enabled)return;const i=this._editor.getModel();if(!i||!this._languageFeaturesService.inlayHintsProvider.has(i))return;const e=this._inlayHintsCache.get(i);let s;e&&this._updateHintsDecorators([i.getFullModelRange()],e),this._sessionDisposables.add(Xi((()=>{i.isDisposed()||this._cacheHintsForFastRestore(i)})));const n=new Set,o=new gc((async()=>{const t=Date.now();null==s||s.dispose(!0),s=new Se;const e=i.onWillDispose((()=>null==s?void 0:s.cancel()));try{const e=s.token,r=await D9.create(this._languageFeaturesService.inlayHintsProvider,i,this._getHintsRanges(),e);if(o.delay=this._debounceInfo.update(i,Date.now()-t),e.isCancellationRequested)return void r.dispose();for(const t of r.provider)"function"!=typeof t.onDidChangeInlayHints||n.has(t)||(n.add(t),this._sessionDisposables.add(t.onDidChangeInlayHints((()=>{o.isScheduled()||o.schedule()}))));this._sessionDisposables.add(r),this._updateHintsDecorators(r.ranges,r.items),this._cacheHintsForFastRestore(i)}catch(t){Pi(t)}finally{s.dispose(),e.dispose()}}),this._debounceInfo.get(i));if(this._sessionDisposables.add(o),this._sessionDisposables.add(Xi((()=>null==s?void 0:s.dispose(!0)))),o.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange((t=>{!t.scrollTopChanged&&o.isScheduled()||o.schedule()}))),this._sessionDisposables.add(this._editor.onDidChangeModelContent((()=>{const t=Math.max(o.delay,1250);o.schedule(t)}))),"on"===t.enabled)this._activeRenderMode=0;else{let i,e;"onUnlessPressed"===t.enabled?(i=0,e=1):(i=1,e=0),this._activeRenderMode=i,this._sessionDisposables.add(Zl.getInstance().event((t=>{if(!this._editor.hasModel())return;const s=t.altKey&&t.ctrlKey&&!t.shiftKey&&!t.metaKey?e:i;if(s!==this._activeRenderMode){this._activeRenderMode=s;const t=this._editor.getModel(),i=this._copyInlayHintsWithCurrentAnchor(t);this._updateHintsDecorators([t.getFullModelRange()],i),o.schedule(0)}})))}this._sessionDisposables.add(this._installDblClickGesture((()=>o.schedule(0)))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const t=new te,i=t.add(new VJ(this._editor)),e=new te;return t.add(e),t.add(i.onMouseMoveOrRelevantKeyDown((t=>{const[i]=t,s=this._getInlayHintLabelPart(i),n=this._editor.getModel();if(!s||!n)return void e.clear();const o=new Se;e.add(Xi((()=>o.dispose(!0)))),s.item.resolve(o.token),this._activeInlayHintPart=s.part.command||s.part.location?new O9(s,i.hasTriggerModifier):void 0;const r=n.validatePosition(s.item.hint.position).lineNumber,h=new Ls(r,1,r,n.getLineMaxColumn(r)),c=this._getInlineHintsForRange(h);this._updateHintsDecorators([h],c),e.add(Xi((()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([h],c)})))}))),t.add(i.onCancel((()=>e.clear()))),t.add(i.onExecute((async t=>{const i=this._getInlayHintLabelPart(t);if(i){const e=i.part;e.location?this._instaService.invokeFunction(A9,t,this._editor,e.location):qs.is(e.command)&&await this._invokeCommand(e.command,i.item)}}))),t}_getInlineHintsForRange(t){const i=new Set;for(const e of this._decorationsMetadata.values())t.containsRange(e.item.anchor.range)&&i.add(e.item);return Array.from(i)}_installDblClickGesture(t){return this._editor.onMouseUp((async i=>{if(2!==i.event.detail)return;const e=this._getInlayHintLabelPart(i);if(e&&(i.event.preventDefault(),await e.item.resolve(xe.None),y(e.item.hint.textEdits))){const i=e.item.hint.textEdits.map((t=>gO.replace(Ls.lift(t.range),t.text)));this._editor.executeEdits("inlayHint.default",i),t()}}))}_installContextMenu(){return this._editor.onContextMenu((async t=>{if(!(t.event.target instanceof HTMLElement))return;const i=this._getInlayHintLabelPart(t);i&&await this._instaService.invokeFunction(E9,this._editor,t.event.target,i)}))}_getInlayHintLabelPart(t){var i;if(6!==t.target.type)return;const e=null===(i=t.target.detail.injectedText)||void 0===i?void 0:i.options;return e instanceof AL&&(null==e?void 0:e.attachedData)instanceof R9?e.attachedData:void 0}async _invokeCommand(t,i){var e;try{await this._commandService.executeCommand(t.id,...null!==(e=t.arguments)&&void 0!==e?e:[])}catch(t){this._notificationService.notify({severity:oT.Error,source:i.provider.displayName,message:t})}}_cacheHintsForFastRestore(t){const i=this._copyInlayHintsWithCurrentAnchor(t);this._inlayHintsCache.set(t,i)}_copyInlayHintsWithCurrentAnchor(t){const i=new Map;for(const[e,s]of this._decorationsMetadata){if(i.has(s.item))continue;const n=t.getDecorationRange(e);if(n){const t=new C9(n,s.item.anchor.direction),e=s.item.with({anchor:t});i.set(s.item,e)}}return Array.from(i.values())}_getHintsRanges(){const t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),e=[];for(const s of i.sort(Ls.compareRangesUsingStarts)){const i=t.validateRange(new Ls(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));0!==e.length&&Ls.areIntersectingOrTouching(e[e.length-1],i)?e[e.length-1]=Ls.plusRange(e[e.length-1],i):e.push(i)}return e}_updateHintsDecorators(t,i){var e,s;const n=[],o=(t,i,e,s,o)=>{const r={content:e,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:i.className,cursorStops:s,attachedData:o};n.push({item:t,classNameRef:i,decoration:{range:t.anchor.range,options:{description:"InlayHint",showIfCollapsed:t.anchor.range.isEmpty(),collapseOnReplaceEdit:!t.anchor.range.isEmpty(),stickiness:0,[t.anchor.direction]:0===this._activeRenderMode?r:void 0}}})},r=(t,i)=>{const e=this._ruleFactory.createClassNameRef({width:(h/3|0)+"px",display:"inline-block"});o(t,e," ",i?$f.Right:$f.None)},{fontSize:h,fontFamily:c,padding:a,isUniform:l}=this._getLayoutInfo(),u="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(u,c);for(const t of i){t.hint.paddingLeft&&r(t,!1);const i="string"==typeof t.hint.label?[{label:t.hint.label}]:t.hint.label;for(let s=0;sM9._MAX_DECORATORS)break}const d=[];for(const i of t)for(const{id:t}of null!==(s=this._editor.getDecorationsInRange(i))&&void 0!==s?s:[]){const i=this._decorationsMetadata.get(t);i&&(d.push(t),i.classNameRef.dispose(),this._decorationsMetadata.delete(t))}const f=eU.capture(this._editor);this._editor.changeDecorations((t=>{const i=t.deltaDecorations(d,n.map((t=>t.decoration)));for(let t=0;te)&&(n=e);const o=t.fontFamily||s;return{fontSize:n,fontFamily:o,padding:i,isUniform:!i&&o===s&&n===e}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const t of this._decorationsMetadata.values())t.classNameRef.dispose();this._decorationsMetadata.clear()}};I9.ID="editor.contrib.InlayHints",I9._MAX_DECORATORS=1500,I9=M9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([L9(1,Cg),L9(2,mR),L9(3,T9),L9(4,Dr),L9(5,rT),L9(6,dr)],I9),Er.registerCommand("_executeInlayHintProvider",(async(t,...i)=>{const[e,s]=i;K(ws.isUri(e)),K(Ls.isIRange(s));const{inlayHintsProvider:n}=t.get(Cg),o=await t.get(mr).createModelReference(e);try{const t=await D9.create(n,o.object.textEditorModel,[Ls.lift(s)],xe.None),i=t.items.map((t=>t.hint));return setTimeout((()=>t.dispose()),0),i}finally{o.dispose()}}));var _9=function(t,i){return function(e,s){i(e,s,t)}};class N9 extends xX{constructor(t,i,e,s){super(10,i,t.item.anchor.range,e,s,!0),this.part=t}}let B9=class extends KX{constructor(t,i,e,s,n,o){super(t,i,e,s,o),this._resolverService=n,this.hoverOrdinal=6}suggestHoverAnchor(t){var i;if(!I9.get(this._editor))return null;if(6!==t.target.type)return null;const e=null===(i=t.target.detail.injectedText)||void 0===i?void 0:i.options;return e instanceof AL&&e.attachedData instanceof R9?new N9(e.attachedData,this,t.event.posx,t.event.posy):null}computeSync(){return[]}computeAsync(t,i,e){return t instanceof N9?new xc((async i=>{const{part:s}=t;if(await s.item.resolve(e),e.isCancellationRequested)return;let n,o;if("string"==typeof s.item.hint.tooltip?n=(new B_).appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(n=s.item.hint.tooltip),n&&i.emitOne(new qX(this,t.range,[n],!1,0)),y(s.item.hint.textEdits)&&i.emitOne(new qX(this,t.range,[(new B_).appendText(rt(0,"Double-click to insert"))],!1,10001)),"string"==typeof s.part.tooltip?o=(new B_).appendText(s.part.tooltip):s.part.tooltip&&(o=s.part.tooltip),o&&i.emitOne(new qX(this,t.range,[o],!1,1)),s.part.location||s.part.command){let e;const n=rt(0,"altKey"===this._editor.getOption(77)?St?"cmd + click":"ctrl + click":St?"option + click":"alt + click");s.part.location&&s.part.command?e=(new B_).appendText(rt(0,"Go to Definition ({0}), right click for more",n)):s.part.location?e=(new B_).appendText(rt(0,"Go to Definition ({0})",n)):s.part.command&&(e=new B_(`[${rt(0,"Execute Command")}](${r=s.part.command,ws.from({scheme:xa.command,path:r.id,query:r.arguments&&encodeURIComponent(JSON.stringify(r.arguments))}).toString()} "${s.part.command.title}") (${n})`,{isTrusted:!0})),e&&i.emitOne(new qX(this,t.range,[e],!1,1e4))}var r;const h=await this._resolveInlayHintLabelPartHover(s,e);for await(const t of h)i.emitOne(t)})):xc.EMPTY}async _resolveInlayHintLabelPartHover(t,i){if(!t.part.location)return xc.EMPTY;const{uri:e,range:s}=t.part.location,n=await this._resolverService.createModelReference(e);try{const e=n.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(e)?HX(this._languageFeaturesService.hoverProvider,e,new Ms(s.startLineNumber,s.startColumn),i).filter((t=>!P_(t.hover.contents))).map((i=>new qX(this,t.item.anchor.range,i.hover.contents,!1,2+i.ordinal))):xc.EMPTY}finally{n.dispose()}}};B9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([_9(1,kd),_9(2,fP),_9(3,gd),_9(4,mr),_9(5,Cg)],B9),uu(I9.ID,I9,1),CX.register(B9);class P9{constructor(t,i,e){this._editRange=t,this._originalSelection=i,this._text=e}getEditOperations(t,i){i.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(t,i){const e=i.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new Fs(e.endLineNumber,Math.min(this._originalSelection.positionColumn,e.endColumn),e.endLineNumber,Math.min(this._originalSelection.positionColumn,e.endColumn)):new Fs(e.endLineNumber,e.endColumn-this._text.length,e.endLineNumber,e.endColumn)}}var $9;let W9=$9=class{static get(t){return t.getContribution($9.ID)}constructor(t,i){this.editor=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(t,i){var e;null===(e=this.currentRequest)||void 0===e||e.cancel();const s=this.editor.getSelection(),n=this.editor.getModel();if(!n||!s)return;let o=s;if(o.startLineNumber!==o.endLineNumber)return;const r=new CK(this.editor,5),h=n.uri;return this.editorWorkerService.canNavigateValueSet(h)?(this.currentRequest=oc((()=>this.editorWorkerService.navigateValueSet(h,o,i))),this.currentRequest.then((i=>{var e;if(!i||!i.range||!i.value)return;if(!r.validate(this.editor))return;const s=Ls.lift(i.range);let n=i.range;const h=i.value.length-(o.endColumn-o.startColumn);n={startLineNumber:n.startLineNumber,startColumn:n.startColumn,endLineNumber:n.endLineNumber,endColumn:n.startColumn+i.value.length},h>1&&(o=new Fs(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn+h-1));const c=new P9(s,o,i.value);this.editor.pushUndoStop(),this.editor.executeCommand(t,c),this.editor.pushUndoStop(),this.decorations.set([{range:n,options:$9.DECORATION}]),null===(e=this.decorationRemover)||void 0===e||e.cancel(),this.decorationRemover=lc(350),this.decorationRemover.then((()=>this.decorations.clear())).catch(Pi)})).catch(Pi)):Promise.resolve(void 0)}};W9.ID="editor.contrib.inPlaceReplaceController",W9.DECORATION=ML.register({description:"in-place-replace",className:"valueSetReplacement"}),W9=$9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,bP)],W9),uu(W9.ID,W9,4),au(class extends nu{constructor(){super({id:"editor.action.inPlaceReplace.up",label:rt(0,"Replace with Previous Value"),alias:"Replace with Previous Value",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:3159,weight:100}})}run(t,i){const e=W9.get(i);return e?e.run(this.id,!1):Promise.resolve(void 0)}}),au(class extends nu{constructor(){super({id:"editor.action.inPlaceReplace.down",label:rt(0,"Replace with Next Value"),alias:"Replace with Next Value",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:3161,weight:100}})}run(t,i){const e=W9.get(i);return e?e.run(this.id,!0):Promise.resolve(void 0)}}),au(class extends nu{constructor(){super({id:"expandLineSelection",label:rt(0,"Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:2090}})}run(t,i,e){if(e=e||{},!i.hasModel())return;const s=i._getViewModel();s.model.pushStackElement(),s.setCursorStates(e.source,3,IC.expandLineSelection(s,s.getCursorStates())),s.revealPrimaryCursor(e.source,!0)}});class j9{constructor(t,i){this._selection=t,this._cursors=i,this._selectionId=null}getEditOperations(t,i){const e=function(t,i){i.sort(((t,i)=>t.lineNumber===i.lineNumber?t.column-i.column:t.lineNumber-i.lineNumber));for(let t=i.length-2;t>=0;t--)i[t].lineNumber===i[t+1].lineNumber&&i.splice(t,1);const e=[];let s=0,n=0;const o=i.length;for(let r=1,h=t.getLineCount();r<=h;r++){const h=t.getLineContent(r),c=h.length+1;let a=0;if(nt.tokenization.getLineTokens(i),getLanguageId:()=>t.getLanguageId(),getLanguageIdAtPosition:(i,e)=>t.getLanguageIdAtPosition(i,e)},getLineContent:null};if(s.startLineNumber===s.endLineNumber&&1===t.getLineMaxColumn(s.startLineNumber)){const e=s.startLineNumber,n=this._isMovingDown?e+1:e-1;1===t.getLineMaxColumn(n)?i.addEditOperation(new Ls(1,1,1,1),null):(i.addEditOperation(new Ls(e,1,e,1),t.getLineContent(n)),i.addEditOperation(new Ls(n,1,n,t.getLineMaxColumn(n)),null)),s=new Fs(n,1,n,1)}else{let e,o;if(this._isMovingDown){e=s.endLineNumber+1,o=t.getLineContent(e),i.addEditOperation(new Ls(e-1,t.getLineMaxColumn(e-1),e,t.getLineMaxColumn(e)),null);let a=o;if(this.shouldAutoIndent(t,s)){const l=this.matchEnterRule(t,h,n,e,s.startLineNumber-1);if(null!==l){const i=a9(l+c9(eo(t.getLineContent(e)),n),n,r);a=i+this.trimStart(o)}else{c.getLineContent=i=>t.getLineContent(i===s.startLineNumber?e:i);const i=VC(this._autoIndent,c,t.getLanguageIdAtPosition(e,1),s.startLineNumber,h,this._languageConfigurationService);if(null!==i){const s=eo(t.getLineContent(e)),h=c9(i,n);if(h!==c9(s,n)){const t=a9(h,n,r);a=t+this.trimStart(o)}}}i.addEditOperation(new Ls(s.startLineNumber,1,s.startLineNumber,1),a+"\n");const u=this.matchEnterRuleMovingDown(t,h,n,s.startLineNumber,e,a);if(null!==u)0!==u&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,u);else{c.getLineContent=i=>i===s.startLineNumber?a:t.getLineContent(i>=s.startLineNumber+1&&i<=s.endLineNumber+1?i-1:i);const o=VC(this._autoIndent,c,t.getLanguageIdAtPosition(e,1),s.startLineNumber+1,h,this._languageConfigurationService);if(null!==o){const e=eo(t.getLineContent(s.startLineNumber)),h=c9(o,n),c=c9(e,n);h!==c&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,h-c)}}}else i.addEditOperation(new Ls(s.startLineNumber,1,s.startLineNumber,1),a+"\n")}else if(e=s.startLineNumber-1,o=t.getLineContent(e),i.addEditOperation(new Ls(e,1,e+1,1),null),i.addEditOperation(new Ls(s.endLineNumber,t.getLineMaxColumn(s.endLineNumber),s.endLineNumber,t.getLineMaxColumn(s.endLineNumber)),"\n"+o),this.shouldAutoIndent(t,s)){c.getLineContent=i=>t.getLineContent(i===e?s.startLineNumber:i);const o=this.matchEnterRule(t,h,n,s.startLineNumber,s.startLineNumber-2);if(null!==o)0!==o&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,o);else{const o=VC(this._autoIndent,c,t.getLanguageIdAtPosition(s.startLineNumber,1),e,h,this._languageConfigurationService);if(null!==o){const e=eo(t.getLineContent(s.startLineNumber)),h=c9(o,n),c=c9(e,n);h!==c&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,h-c)}}}}this._selectionId=i.trackSelection(s)}buildIndentConverter(t,i,e){return{shiftIndent:s=>WC.shiftIndent(s,s.length+1,t,i,e),unshiftIndent:s=>WC.unshiftIndent(s,s.length+1,t,i,e)}}parseEnterResult(t,i,e,s,n){if(n){let o=n.indentation;n.indentAction===Ou.None||n.indentAction===Ou.Indent?o=n.indentation+n.appendText:n.indentAction===Ou.IndentOutdent?o=n.indentation:n.indentAction===Ou.Outdent&&(o=i.unshiftIndent(n.indentation)+n.appendText);const r=t.getLineContent(s);if(this.trimStart(r).indexOf(this.trimStart(o))>=0){const n=eo(t.getLineContent(s));let r=eo(o);const h=UC(t,s,this._languageConfigurationService);return null!==h&&2&h&&(r=i.unshiftIndent(r)),c9(r,e)-c9(n,e)}}return null}matchEnterRuleMovingDown(t,i,e,s,n,o){if(so(o)>=0){const o=t.getLineMaxColumn(n),r=NC(this._autoIndent,t,new Ls(n,o,n,o),this._languageConfigurationService);return this.parseEnterResult(t,i,e,s,r)}{let n=s-1;for(;n>=1&&!(so(t.getLineContent(n))>=0);)n--;if(n<1||s>t.getLineCount())return null;const o=t.getLineMaxColumn(n),r=NC(this._autoIndent,t,new Ls(n,o,n,o),this._languageConfigurationService);return this.parseEnterResult(t,i,e,s,r)}}matchEnterRule(t,i,e,s,n,o){let r=n;for(;r>=1;){let i;if(i=r===n&&void 0!==o?o:t.getLineContent(r),so(i)>=0)break;r--}if(r<1||s>t.getLineCount())return null;const h=t.getLineMaxColumn(r),c=NC(this._autoIndent,t,new Ls(r,h,r,h),this._languageConfigurationService);return this.parseEnterResult(t,i,e,s,c)}trimStart(t){return t.replace(/^\s+/,"")}shouldAutoIndent(t,i){if(this._autoIndent<4)return!1;if(!t.tokenization.isCheapToTokenize(i.startLineNumber))return!1;const e=t.getLanguageIdAtPosition(i.startLineNumber,1);return e===t.getLanguageIdAtPosition(i.endLineNumber,1)&&null!==this._languageConfigurationService.getLanguageConfiguration(e).indentRulesSupport}getIndentEditsOfMovingBlock(t,i,e,s,n,o){for(let r=e.startLineNumber;r<=e.endLineNumber;r++){const h=eo(t.getLineContent(r)),c=a9(c9(h,s)+o,s,n);c!==h&&(i.addEditOperation(new Ls(r,1,r,h.length+1),c),r===e.endLineNumber&&e.endColumn<=h.length+1&&""===c&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(t,i){let e=i.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(e=e.setEndPosition(e.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&e.startLineNumber=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,tf)],H9);class V9{static getCollator(){return V9._COLLATOR||(V9._COLLATOR=new Intl.Collator),V9._COLLATOR}constructor(t,i){this.selection=t,this.descending=i,this.selectionId=null}getEditOperations(t,i){const e=function(t,i,e){const s=U9(t,i,e);return s?gO.replace(new Ls(s.startLineNumber,1,s.endLineNumber,t.getLineMaxColumn(s.endLineNumber)),s.after.join("\n")):null}(t,this.selection,this.descending);e&&i.addEditOperation(e.range,e.text),this.selectionId=i.trackSelection(this.selection)}computeCursorState(t,i){return i.getTrackedSelection(this.selectionId)}static canRun(t,i,e){if(null===t)return!1;const s=U9(t,i,e);if(!s)return!1;for(let t=0,i=s.before.length;t=n)return null;const o=[];for(let i=s;i<=n;i++)o.push(t.getLineContent(i));let r=o.slice(0);return r.sort(V9.getCollator().compare),!0===e&&(r=r.reverse()),{startLineNumber:s,endLineNumber:n,before:o,after:r}}V9._COLLATOR=null;class q9 extends nu{constructor(t,i){super(i),this.down=t}run(t,i){if(!i.hasModel())return;const e=i.getSelections().map(((t,i)=>({selection:t,index:i,ignore:!1})));e.sort(((t,i)=>Ls.compareRangesUsingStarts(t.selection,i.selection)));let s=e[0];for(let t=1;tnew Ms(t.positionLineNumber,t.positionColumn))));const n=i.getSelection();if(null===n)return;const o=new j9(n,s);i.pushUndoStop(),i.executeCommands(this.id,[o]),i.pushUndoStop()}}Z9.ID="editor.action.trimTrailingWhitespace";class Q9 extends nu{run(t,i){if(!i.hasModel())return;const e=i.getSelection(),s=this._getRangesToDelete(i),n=[];for(let t=0,i=s.length-1;tgO.replace(t,"")));i.pushUndoStop(),i.executeEdits(this.id,r,o),i.pushUndoStop()}}class J9 extends nu{run(t,i){const e=i.getSelections();if(null===e)return;const s=i.getModel();if(null===s)return;const n=i.getOption(129),o=[];for(const t of e)if(t.isEmpty()){const e=t.getStartPosition(),r=i.getConfiguredWordAtPosition(e);if(!r)continue;const h=new Ls(e.lineNumber,r.startColumn,e.lineNumber,r.endColumn),c=s.getValueInRange(h);o.push(gO.replace(h,this._modifyText(c,n)))}else{const i=s.getValueInRange(t);o.push(gO.replace(t,this._modifyText(i,n)))}i.pushUndoStop(),i.executeEdits(this.id,o),i.pushUndoStop()}}class Y9{constructor(t,i){this._pattern=t,this._flags=i,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch(t){}}return this._actual}isSupported(){return null!==this.get()}}class X9 extends J9{constructor(){super({id:"editor.action.transformToTitlecase",label:rt(0,"Transform to Title Case"),alias:"Transform to Title Case",precondition:XC.writable})}_modifyText(t,i){const e=X9.titleBoundary.get();return e?t.toLocaleLowerCase().replace(e,(t=>t.toLocaleUpperCase())):t}}X9.titleBoundary=new Y9("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");class t7 extends J9{constructor(){super({id:"editor.action.transformToSnakecase",label:rt(0,"Transform to Snake Case"),alias:"Transform to Snake Case",precondition:XC.writable})}_modifyText(t,i){const e=t7.caseBoundary.get(),s=t7.singleLetters.get();return e&&s?t.replace(e,"$1_$2").replace(s,"$1_$2$3").toLocaleLowerCase():t}}t7.caseBoundary=new Y9("(\\p{Ll})(\\p{Lu})","gmu"),t7.singleLetters=new Y9("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");class i7 extends J9{constructor(){super({id:"editor.action.transformToCamelcase",label:rt(0,"Transform to Camel Case"),alias:"Transform to Camel Case",precondition:XC.writable})}_modifyText(t,i){const e=i7.wordBoundary.get();if(!e)return t;const s=t.split(e);return s.shift()+s.map((t=>t.substring(0,1).toLocaleUpperCase()+t.substring(1))).join("")}}i7.wordBoundary=new Y9("[_\\s-]","gm");class e7 extends J9{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every((t=>t.isSupported()))}constructor(){super({id:"editor.action.transformToKebabcase",label:rt(0,"Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:XC.writable})}_modifyText(t,i){const e=e7.caseBoundary.get(),s=e7.singleLetters.get(),n=e7.underscoreBoundary.get();return e&&s&&n?t.replace(n,"$1-$3").replace(e,"$1-$2").replace(s,"$1-$2").toLocaleLowerCase():t}}e7.caseBoundary=new Y9("(\\p{Ll})(\\p{Lu})","gmu"),e7.singleLetters=new Y9("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),e7.underscoreBoundary=new Y9("(\\S)(_)(\\S)","gm"),au(class extends q9{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:rt(0,"Copy Line Up"),alias:"Copy Line Up",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"2_line",title:rt(0,"&&Copy Line Up"),order:1}})}}),au(class extends q9{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:rt(0,"Copy Line Down"),alias:"Copy Line Down",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"2_line",title:rt(0,"Co&&py Line Down"),order:2}})}}),au(class extends nu{constructor(){super({id:"editor.action.duplicateSelection",label:rt(0,"Duplicate Selection"),alias:"Duplicate Selection",precondition:XC.writable,menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"2_line",title:rt(0,"&&Duplicate Selection"),order:5}})}run(t,i,e){if(!i.hasModel())return;const s=[],n=i.getSelections(),o=i.getModel();for(const t of n)if(t.isEmpty())s.push(new z9(t,!0));else{const i=new Fs(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn);s.push(new SC(i,o.getValueInRange(t)))}i.pushUndoStop(),i.executeCommands(this.id,s),i.pushUndoStop()}}),au(class extends K9{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:rt(0,"Move Line Up"),alias:"Move Line Up",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"2_line",title:rt(0,"Mo&&ve Line Up"),order:3}})}}),au(class extends K9{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:rt(0,"Move Line Down"),alias:"Move Line Down",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"2_line",title:rt(0,"Move &&Line Down"),order:4}})}}),au(class extends G9{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:rt(0,"Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:XC.writable})}}),au(class extends G9{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:rt(0,"Sort Lines Descending"),alias:"Sort Lines Descending",precondition:XC.writable})}}),au(class extends nu{constructor(){super({id:"editor.action.removeDuplicateLines",label:rt(0,"Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:XC.writable})}run(t,i){if(!i.hasModel())return;const e=i.getModel();if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return;const s=[],n=[];let o=0;for(const t of i.getSelections()){const i=new Set,r=[];for(let s=t.startLineNumber;s<=t.endLineNumber;s++){const t=e.getLineContent(s);i.has(t)||(r.push(t),i.add(t))}const h=new Fs(t.startLineNumber,1,t.endLineNumber,e.getLineMaxColumn(t.endLineNumber)),c=t.startLineNumber-o,a=new Fs(c,1,c+r.length-1,r[r.length-1].length);s.push(gO.replace(h,r.join("\n"))),n.push(a),o+=t.endLineNumber-t.startLineNumber+1-r.length}i.pushUndoStop(),i.executeEdits(this.id,s,n),i.pushUndoStop()}}),au(Z9),au(class extends nu{constructor(){super({id:"editor.action.deleteLines",label:rt(0,"Delete Line"),alias:"Delete Line",precondition:XC.writable,kbOpts:{kbExpr:XC.textInputFocus,primary:3113,weight:100}})}run(t,i){if(!i.hasModel())return;const e=this._getLinesToRemove(i),s=i.getModel();if(1===s.getLineCount()&&1===s.getLineMaxColumn(1))return;let n=0;const o=[],r=[];for(let t=0,i=e.length;t1&&(h-=1,a=s.getLineMaxColumn(h)),o.push(gO.replace(new Fs(h,a,c,l),"")),r.push(new Fs(h-n,i.positionColumn,h-n,i.positionColumn)),n+=i.endLineNumber-i.startLineNumber+1}i.pushUndoStop(),i.executeEdits(this.id,o,r),i.pushUndoStop()}_getLinesToRemove(t){const i=t.getSelections().map((t=>{let i=t.endLineNumber;return t.startLineNumbert.startLineNumber===i.startLineNumber?t.endLineNumber-i.endLineNumber:t.startLineNumber-i.startLineNumber));const e=[];let s=i[0];for(let t=1;t=i[t].startLineNumber?s.endLineNumber=i[t].endLineNumber:(e.push(s),s=i[t]);return e.push(s),e}}),au(class extends nu{constructor(){super({id:"editor.action.indentLines",label:rt(0,"Indent Line"),alias:"Indent Line",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:2142,weight:100}})}run(t,i){const e=i._getViewModel();e&&(i.pushUndoStop(),i.executeCommands(this.id,qC.indent(e.cursorConfig,i.getModel(),i.getSelections())),i.pushUndoStop())}}),au(class extends nu{constructor(){super({id:"editor.action.outdentLines",label:rt(0,"Outdent Line"),alias:"Outdent Line",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:2140,weight:100}})}run(t,i){cS.Outdent.runEditorCommand(t,i,null)}}),au(class extends nu{constructor(){super({id:"editor.action.insertLineBefore",label:rt(0,"Insert Line Above"),alias:"Insert Line Above",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:3075,weight:100}})}run(t,i){const e=i._getViewModel();e&&(i.pushUndoStop(),i.executeCommands(this.id,qC.lineInsertBefore(e.cursorConfig,i.getModel(),i.getSelections())))}}),au(class extends nu{constructor(){super({id:"editor.action.insertLineAfter",label:rt(0,"Insert Line Below"),alias:"Insert Line Below",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:2051,weight:100}})}run(t,i){const e=i._getViewModel();e&&(i.pushUndoStop(),i.executeCommands(this.id,qC.lineInsertAfter(e.cursorConfig,i.getModel(),i.getSelections())))}}),au(class extends Q9{constructor(){super({id:"deleteAllLeft",label:rt(0,"Delete All Left"),alias:"Delete All Left",precondition:XC.writable,kbOpts:{kbExpr:XC.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(t,i){let e=null;const s=[];let n=0;return i.forEach((i=>{let o;if(1===i.endColumn&&n>0){const t=i.startLineNumber-n;o=new Fs(t,i.startColumn,t,i.startColumn)}else o=new Fs(i.startLineNumber,i.startColumn,i.startLineNumber,i.startColumn);n+=i.endLineNumber-i.startLineNumber,i.intersectRanges(t)?e=o:s.push(o)})),e&&s.unshift(e),s}_getRangesToDelete(t){const i=t.getSelections();if(null===i)return[];let e=i;const s=t.getModel();return null===s?[]:(e.sort(Ls.compareRangesUsingStarts),e=e.map((t=>{if(t.isEmpty()){if(1===t.startColumn){const i=Math.max(1,t.startLineNumber-1),e=1===t.startLineNumber?1:s.getLineLength(i)+1;return new Ls(i,e,t.startLineNumber,1)}return new Ls(t.startLineNumber,1,t.startLineNumber,t.startColumn)}return new Ls(t.startLineNumber,1,t.endLineNumber,t.endColumn)})),e)}}),au(class extends Q9{constructor(){super({id:"deleteAllRight",label:rt(0,"Delete All Right"),alias:"Delete All Right",precondition:XC.writable,kbOpts:{kbExpr:XC.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(t,i){let e=null;const s=[];for(let n=0,o=i.length,r=0;n{if(t.isEmpty()){const e=i.getLineMaxColumn(t.startLineNumber);return t.startColumn===e?new Ls(t.startLineNumber,t.startColumn,t.startLineNumber+1,1):new Ls(t.startLineNumber,t.startColumn,t.startLineNumber,e)}return t}));return s.sort(Ls.compareRangesUsingStarts),s}}),au(class extends nu{constructor(){super({id:"editor.action.joinLines",label:rt(0,"Join Lines"),alias:"Join Lines",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(t,i){const e=i.getSelections();if(null===e)return;let s=i.getSelection();if(null===s)return;e.sort(Ls.compareRangesUsingStarts);const n=[],o=e.reduce(((t,i)=>t.isEmpty()?t.endLineNumber===i.startLineNumber?(s.equalsSelection(t)&&(s=i),i):i.startLineNumber>t.endLineNumber+1?(n.push(t),i):new Fs(t.startLineNumber,t.startColumn,i.endLineNumber,i.endColumn):i.startLineNumber>t.endLineNumber?(n.push(t),i):new Fs(t.startLineNumber,t.startColumn,i.endLineNumber,i.endColumn)));n.push(o);const r=i.getModel();if(null===r)return;const h=[],c=[];let a=s,l=0;for(let t=0,i=n.length;t=1){let t=!0;""===g&&(t=!1),!t||" "!==g.charAt(g.length-1)&&"\t"!==g.charAt(g.length-1)||(t=!1,g=g.replace(/[\s\uFEFF\xA0]+$/g," "));const s=i.substr(e-1);g+=(t?" ":"")+s,f=t?s.length+1:s.length}else f=0}const m=new Ls(e,o,u,d);if(!m.isEmpty()){let t;i.isEmpty()?(h.push(gO.replace(m,g)),t=new Fs(m.startLineNumber-l,g.length-f+1,e-l,g.length-f+1)):i.startLineNumber===i.endLineNumber?(h.push(gO.replace(m,g)),t=new Fs(i.startLineNumber-l,i.startColumn,i.endLineNumber-l,i.endColumn)):(h.push(gO.replace(m,g)),t=new Fs(i.startLineNumber-l,i.startColumn,i.startLineNumber-l,g.length-p)),null!==Ls.intersectRanges(m,s)?a=t:c.push(t)}l+=m.endLineNumber-m.startLineNumber}c.unshift(a),i.pushUndoStop(),i.executeEdits(this.id,h,c),i.pushUndoStop()}}),au(class extends nu{constructor(){super({id:"editor.action.transpose",label:rt(0,"Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:XC.writable})}run(t,i){const e=i.getSelections();if(null===e)return;const s=i.getModel();if(null===s)return;const n=[];for(let t=0,i=e.length;t=r){if(o.lineNumber===s.getLineCount())continue;const t=new Ls(o.lineNumber,Math.max(1,o.column-1),o.lineNumber+1,1),i=s.getValueInRange(t).split("").reverse().join("");n.push(new CC(new Fs(o.lineNumber,Math.max(1,o.column-1),o.lineNumber+1,1),i))}else{const t=new Ls(o.lineNumber,Math.max(1,o.column-1),o.lineNumber,o.column+1),i=s.getValueInRange(t).split("").reverse().join("");n.push(new AC(t,i,new Fs(o.lineNumber,o.column+1,o.lineNumber,o.column+1)))}}i.pushUndoStop(),i.executeCommands(this.id,n),i.pushUndoStop()}}),au(class extends J9{constructor(){super({id:"editor.action.transformToUppercase",label:rt(0,"Transform to Uppercase"),alias:"Transform to Uppercase",precondition:XC.writable})}_modifyText(t,i){return t.toLocaleUpperCase()}}),au(class extends J9{constructor(){super({id:"editor.action.transformToLowercase",label:rt(0,"Transform to Lowercase"),alias:"Transform to Lowercase",precondition:XC.writable})}_modifyText(t,i){return t.toLocaleLowerCase()}}),t7.caseBoundary.isSupported()&&t7.singleLetters.isSupported()&&au(t7),i7.wordBoundary.isSupported()&&au(i7),X9.titleBoundary.isSupported()&&au(X9),e7.isSupported()&&au(e7);var s7,n7=function(t,i){return function(e,s){i(e,s,t)}};const o7=new ah("LinkedEditingInputVisible",!1);let r7=s7=class extends ie{static get(t){return t.getContribution(s7.ID)}constructor(t,i,e,s,n){super(),this.languageConfigurationService=s,this._syncRangesToken=0,this._localToDispose=this._register(new te),this._editor=t,this._providers=e.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=o7.bindTo(i),this._debounceInformation=n.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 te),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequest=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel((()=>this.reinitialize(!0)))),this._register(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(69)||t.hasChanged(92))&&this.reinitialize(!1)}))),this._register(this._providers.onDidChange((()=>this.reinitialize(!1)))),this._register(this._editor.onDidChangeModelLanguage((()=>this.reinitialize(!0)))),this.reinitialize(!0)}reinitialize(t){const i=this._editor.getModel(),e=null!==i&&(this._editor.getOption(69)||this._editor.getOption(92))&&this._providers.has(i);if(e===this._enabled&&!t)return;if(this._enabled=e,this.clearRanges(),this._localToDispose.clear(),!e||null===i)return;this._localToDispose.add(ce.runAndSubscribe(i.onDidChangeLanguageConfiguration,(()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId()).getWordDefinition()})));const s=new cc(this._debounceInformation.get(i)),n=()=>{var t;this._rangeUpdateTriggerPromise=s.trigger((()=>this.updateRanges()),null!==(t=this._debounceDuration)&&void 0!==t?t:this._debounceInformation.get(i))},o=new cc(0),r=t=>{this._rangeSyncTriggerPromise=o.trigger((()=>this._syncRanges(t)))};this._localToDispose.add(this._editor.onDidChangeCursorPosition((()=>{n()}))),this._localToDispose.add(this._editor.onDidChangeModelContent((t=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const i=this._currentDecorations.getRange(0);if(i&&t.changes.every((t=>i.intersectRanges(t.range))))return void r(this._syncRangesToken)}n()}))),this._localToDispose.add({dispose:()=>{s.dispose(),o.dispose()}}),this.updateRanges()}_syncRanges(t){if(!this._editor.hasModel()||t!==this._syncRangesToken||0===this._currentDecorations.length)return;const i=this._editor.getModel(),e=this._currentDecorations.getRange(0);if(!e||e.startLineNumber!==e.endLineNumber)return this.clearRanges();const s=i.getValueInRange(e);if(this._currentWordPattern){const t=s.match(this._currentWordPattern);if((t?t[0].length:0)!==s.length)return this.clearRanges()}const n=[];for(let t=1,e=this._currentDecorations.length;t1)return void this.clearRanges();const e=this._editor.getModel(),s=e.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===s){if(i.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const t=this._currentDecorations.getRange(0);if(t&&t.containsPosition(i))return}}this.clearRanges(),this._currentRequestPosition=i,this._currentRequestModelVersion=s;const n=oc((async t=>{try{const o=new he(!1),r=await h7(this._providers,e,i,t);if(this._debounceInformation.update(e,o.elapsed()),n!==this._currentRequest)return;if(this._currentRequest=null,s!==e.getVersionId())return;let h=[];(null==r?void 0:r.ranges)&&(h=r.ranges),this._currentWordPattern=(null==r?void 0:r.wordPattern)||this._languageWordPattern;let c=!1;for(let t=0,e=h.length;t({range:t,options:s7.DECORATION})));this._visibleContextKey.set(!0),this._currentDecorations.set(a),this._syncRangesToken++}catch(t){zi(t)||Pi(t),this._currentRequest!==n&&this._currentRequest||this.clearRanges()}}));return this._currentRequest=n,n}};function h7(t,i,e,s){return dc(t.ordered(i).map((t=>async()=>{try{return await t.provideLinkedEditingRanges(i,e,s)}catch(t){return void $i(t)}})),(t=>!!t&&y(null==t?void 0:t.ranges)))}r7.ID="editor.contrib.linkedEditing",r7.DECORATION=ML.register({description:"linked-editing",stickiness:0,className:"linked-editing-decoration"}),r7=s7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([n7(1,lh),n7(2,Cg),n7(3,tf),n7(4,mR)],r7),cu(new(su.bindToContribution(r7.get))({id:"cancelLinkedEditingInput",precondition:o7,handler:t=>t.clearRanges(),kbOpts:{kbExpr:XC.editorTextFocus,weight:199,primary:9,secondary:[1033]}})),fw("editor.linkedEditingBackground",{dark:ug.fromHex("#f00").transparent(.3),light:ug.fromHex("#f00").transparent(.3),hcDark:ug.fromHex("#f00").transparent(.3),hcLight:ug.white},rt(0,"Background color when the editor auto renames on type.")),hu("_executeLinkedEditingProvider",((t,i,e)=>{const{linkedEditingRangeProvider:s}=t.get(Cg);return h7(s,i,e,xe.None)})),uu(r7.ID,r7,1),au(class extends nu{constructor(){super({id:"editor.action.linkedEditing",label:rt(0,"Start Linked Editing"),alias:"Start Linked Editing",precondition:Hr.and(XC.writable,XC.hasRenameProvider),kbOpts:{kbExpr:XC.editorTextFocus,primary:3132,weight:100}})}runCommand(t,i){const e=t.get(pr),[s,n]=Array.isArray(i)&&i||[void 0,void 0];return ws.isUri(s)&&Ms.isIPosition(n)?e.openCodeEditor({resource:s},e.getActiveCodeEditor()).then((t=>{t&&(t.setPosition(n),t.invokeWithinContext((i=>(this.reportTelemetry(i,t),this.run(i,t)))))}),Pi):super.runCommand(t,i)}run(t,i){const e=r7.get(i);return e?Promise.resolve(e.updateRanges(!0)):Promise.resolve()}});class c7{constructor(t,i){this._link=t,this._provider=i}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(t){return this._link.url?this._link.url:"function"==typeof this._provider.resolveLink?Promise.resolve(this._provider.resolveLink(this._link,t)).then((i=>(this._link=i||this._link,this._link.url?this.resolve(t):Promise.reject(new Error("missing"))))):Promise.reject(new Error("missing"))}}class a7{constructor(t){this._disposables=new te;let i=[];for(const[e,s]of t){const t=e.links.map((t=>new c7(t,s)));i=a7._union(i,t),Qi(e)&&this._disposables.add(e)}this.links=i}dispose(){this._disposables.dispose(),this.links.length=0}static _union(t,i){const e=[];let s,n,o,r;for(s=0,o=0,n=t.length,r=i.length;sPromise.resolve(t.provideLinks(i,e)).then((i=>{i&&(s[n]=[i,t])}),$i)));return Promise.all(n).then((()=>{const t=new a7(w(s));return e.isCancellationRequested?(t.dispose(),new a7([])):t}))}Er.registerCommand("_executeLinkProvider",(async(t,...i)=>{let[e,s]=i;K(e instanceof ws),"number"!=typeof s&&(s=0);const{linkProvider:n}=t.get(Cg),o=t.get(gr).getModel(e);if(!o)return[];const r=await l7(n,o,xe.None);if(!r)return[];for(let t=0;tthis.computeLinksNow()),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const o=this._register(new VJ(t));this._register(o.onMouseMoveOrRelevantKeyDown((([t,i])=>{this._onEditorMouseMove(t,i)}))),this._register(o.onExecute((t=>{this.onEditorMouseUp(t)}))),this._register(o.onCancel((()=>{this.cleanUpActiveLinkDecoration()}))),this._register(t.onDidChangeConfiguration((t=>{t.hasChanged(70)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))}))),this._register(t.onDidChangeModelContent((()=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))}))),this._register(t.onDidChangeModel((()=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)}))),this._register(t.onDidChangeModelLanguage((()=>{this.stop(),this.computeLinks.schedule(0)}))),this._register(this.providers.onDidChange((()=>{this.stop(),this.computeLinks.schedule(0)}))),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(70))return;const t=this.editor.getModel();if(!t.isTooLargeForSyncing()&&this.providers.has(t)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=oc((i=>l7(this.providers,t,i)));try{const i=new he(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(t,i.elapsed()),t.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){Pi(t)}finally{this.computePromise=null}}}updateDecorations(t){const i="altKey"===this.editor.getOption(77),e=[],s=Object.keys(this.currentOccurrences);for(const t of s)e.push(this.currentOccurrences[t].decorationId);const n=[];if(t)for(const e of t)n.push(m7.decoration(e,i));this.editor.changeDecorations((i=>{const s=i.deltaDecorations(e,n);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let i=0,e=s.length;i{i.activate(t,e),this.activeLinkDecorationId=i.decorationId}))}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const t="altKey"===this.editor.getOption(77);if(this.activeLinkDecorationId){const i=this.currentOccurrences[this.activeLinkDecorationId];i&&this.editor.changeDecorations((e=>{i.deactivate(e,t)})),this.activeLinkDecorationId=null}}onEditorMouseUp(t){if(!this.isEnabled(t))return;const i=this.getLinkOccurrence(t.target.position);i&&this.openLinkOccurrence(i,t.hasSideBySideModifier,!0)}openLinkOccurrence(t,i,e=!1){if(!this.openerService)return;const{link:s}=t;s.resolve(xe.None).then((t=>{if("string"==typeof t&&this.editor.hasModel()){const i=this.editor.getModel().uri;if(i.scheme===xa.file&&t.startsWith(`${xa.file}:`)){const e=ws.parse(t);if(e.scheme===xa.file){const s=gA(e);let n=null;s.startsWith("/./")?n=`.${s.substr(1)}`:s.startsWith("//./")&&(n=`.${s.substr(2)}`),n&&(t=CA(i,n))}}}return this.openerService.open(t,{openToSide:i,fromUserGesture:e,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})}),(t=>{const i=t instanceof Error?t.message:t;"invalid"===i?this.notificationService.warn(rt(0,"Failed to open this link because it is not well-formed: {0}",s.url.toString())):"missing"===i?this.notificationService.warn(rt(0,"Failed to open this link because its target is missing.")):Pi(t)}))}getLinkOccurrence(t){if(!this.editor.hasModel()||!t)return null;const i=this.editor.getModel().getDecorationsInRange({startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:t.lineNumber,endColumn:t.column},0,!0);for(const t of i){const i=this.currentOccurrences[t.id];if(i)return i}return null}isEnabled(t,i){return Boolean(6===t.target.type&&(t.hasTriggerModifier||i&&i.keyCodeIsTriggerKey))}stop(){var t;this.computeLinks.cancel(),this.activeLinksList&&(null===(t=this.activeLinksList)||void 0===t||t.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};f7.ID="editor.linkDetector",f7=u7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([d7(1,fP),d7(2,rT),d7(3,Cg),d7(4,mR)],f7);const p7=ML.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),g7=ML.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"});class m7{static decoration(t,i){return{range:t.range,options:m7._getOptions(t,i,!1)}}static _getOptions(t,i,e){const s={...e?g7:p7};return s.hoverMessage=function(t,i){const e=t.url&&/^command:/i.test(t.url.toString()),s=t.tooltip?t.tooltip:rt(0,e?"Execute command":"Follow link"),n=rt(0,i?St?"cmd + click":"ctrl + click":St?"option + click":"alt + click");if(t.url){let i="";if(/^command:/i.test(t.url.toString())){const e=t.url.toString().match(/^command:([^?#]+)/);e&&(i=rt(0,"Execute command {0}",e[1]))}return new B_("",!0).appendLink(t.url.toString(!0).replace(/ /g,"%20"),s,i).appendMarkdown(` (${n})`)}return(new B_).appendText(`${s} (${n})`)}(t,i),s}constructor(t,i){this.link=t,this.decorationId=i}activate(t,i){t.changeDecorationOptions(this.decorationId,m7._getOptions(this.link,i,!0))}deactivate(t,i){t.changeDecorationOptions(this.decorationId,m7._getOptions(this.link,i,!1))}}uu(f7.ID,f7,1),au(class extends nu{constructor(){super({id:"editor.action.openLink",label:rt(0,"Open Link"),alias:"Open Link",precondition:void 0})}run(t,i){const e=f7.get(i);if(!e)return;if(!i.hasModel())return;const s=i.getSelections();for(const t of s){const i=e.getLinkOccurrence(t.getEndPosition());i&&e.openLinkOccurrence(i,!1)}}});class w7 extends ie{constructor(t){super(),this._editor=t,this._register(this._editor.onMouseDown((t=>{const i=this._editor.getOption(116);i>=0&&6===t.target.type&&t.target.position.column>=i&&this._editor.updateOptions({stopRenderingLineAfter:-1})})))}}w7.ID="editor.contrib.longLinesHelper",uu(w7.ID,w7,2);const v7=fw("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},rt(0,"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);fw("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},rt(0,"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),fw("editor.wordHighlightTextBackground",{light:v7,dark:v7,hcDark:v7,hcLight:v7},rt(0,"Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const b7=fw("editor.wordHighlightBorder",{light:null,dark:null,hcDark:bw,hcLight:bw},rt(0,"Border color of a symbol during read-access, like reading a variable."));fw("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:bw,hcLight:bw},rt(0,"Border color of a symbol during write-access, like writing to a variable.")),fw("editor.wordHighlightTextBorder",{light:b7,dark:b7,hcDark:b7,hcLight:b7},rt(0,"Border color of a textual occurrence for a symbol."));const y7=fw("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},rt(0,"Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),k7=fw("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hcDark:"#C0A0C0CC",hcLight:"#C0A0C0CC"},rt(0,"Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),x7=fw("editorOverviewRuler.wordHighlightTextForeground",{dark:Jb,light:Jb,hcDark:Jb,hcLight:Jb},rt(0,"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),C7=ML.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:ix(k7),position:Nf.Center},minimap:{color:ix(Xb),position:Pf.Inline}}),S7=ML.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:ix(x7),position:Nf.Center},minimap:{color:ix(Xb),position:Pf.Inline}}),D7=ML.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:ix(Jb),position:Nf.Center},minimap:{color:ix(Xb),position:Pf.Inline}}),E7=ML.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),A7=ML.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:ix(y7),position:Nf.Center},minimap:{color:ix(Xb),position:Pf.Inline}});function M7(t){return t?E7:D7}ox(((t,i)=>{const e=t.getColor(Mv);e&&i.addRule(`.monaco-editor .selectionHighlight { background-color: ${e.transparent(.5)}; }`)}));var L7;function F7(t,i){const e=i.filter((i=>!t.find((t=>t.equals(i)))));if(e.length>=1){const t=e.map((t=>`line ${t.viewState.position.lineNumber} column ${t.viewState.position.column}`)).join(", ");Wm(rt(0,1===e.length?"Cursor added: {0}":"Cursors added: {0}",t))}}class T7{constructor(t,i,e){this.selections=t,this.revealRange=i,this.revealScrollType=e}}class R7{static create(t,i){if(!t.hasModel())return null;const e=i.getState();if(!t.hasTextFocus()&&e.isRevealed&&e.searchString.length>0)return new R7(t,i,!1,e.searchString,e.wholeWord,e.matchCase,null);let s,n,o=!1;const r=t.getSelections();1===r.length&&r[0].isEmpty()?(o=!0,s=!0,n=!0):(s=e.wholeWord,n=e.matchCase);const h=t.getSelection();let c,a=null;if(h.isEmpty()){const i=t.getConfiguredWordAtPosition(h.getStartPosition());if(!i)return null;c=i.word,a=new Fs(h.startLineNumber,i.startColumn,h.startLineNumber,i.endColumn)}else c=t.getModel().getValueInRange(h).replace(/\r\n/g,"\n");return new R7(t,i,o,c,s,n,a)}constructor(t,i,e,s,n,o,r){this._editor=t,this.findController=i,this.isDisconnectedFromFindController=e,this.searchText=s,this.wholeWord=n,this.matchCase=o,this.currentMatch=r}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const t=this._getNextMatch();if(!t)return null;const i=this._editor.getSelections();return new T7(i.concat(t),t,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const t=this._getNextMatch();if(!t)return null;const i=this._editor.getSelections();return new T7(i.slice(0,i.length-1).concat(t),t,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const t=this.currentMatch;return this.currentMatch=null,t}this.findController.highlightFindOptions();const t=this._editor.getSelections(),i=t[t.length-1],e=this._editor.getModel().findNextMatch(this.searchText,i.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(129):null,!1);return e?new Fs(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const t=this._getPreviousMatch();if(!t)return null;const i=this._editor.getSelections();return new T7(i.concat(t),t,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const t=this._getPreviousMatch();if(!t)return null;const i=this._editor.getSelections();return new T7(i.slice(0,i.length-1).concat(t),t,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const t=this.currentMatch;return this.currentMatch=null,t}this.findController.highlightFindOptions();const t=this._editor.getSelections(),i=t[t.length-1],e=this._editor.getModel().findPreviousMatch(this.searchText,i.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(129):null,!1);return e?new Fs(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn):null}selectAll(t){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();return this._editor.getModel().findMatches(this.searchText,t||!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(129):null,!1,1073741824)}}class O7 extends ie{static get(t){return t.getContribution(O7.ID)}constructor(t){super(),this._sessionDispose=this._register(new te),this._editor=t,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(t){if(!this._session){const i=R7.create(this._editor,t);if(!i)return;this._session=i;const e={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(e.wholeWordOverride=1,e.matchCaseOverride=1,e.isRegexOverride=2),t.getState().change(e,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection((()=>{this._ignoreSelectionChange||this._endSession()}))),this._sessionDispose.add(this._editor.onDidBlurEditorText((()=>{this._endSession()}))),this._sessionDispose.add(t.getState().onFindReplaceStateChange((t=>{(t.matchCase||t.wholeWord)&&this._endSession()})))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const t={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(t,!1)}this._session=null}_setSelections(t){this._ignoreSelectionChange=!0,this._editor.setSelections(t),this._ignoreSelectionChange=!1}_expandEmptyToWord(t,i){if(!i.isEmpty())return i;const e=this._editor.getConfiguredWordAtPosition(i.getStartPosition());return e?new Fs(i.startLineNumber,e.startColumn,i.startLineNumber,e.endColumn):i}_applySessionResult(t){t&&(this._setSelections(t.selections),t.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(t.revealRange,t.revealScrollType))}getSession(t){return this._session}addSelectionToNextFindMatch(t){if(this._editor.hasModel()){if(!this._session){const i=this._editor.getSelections();if(i.length>1){const e=t.getState().matchCase;if(!B7(this._editor.getModel(),i,e)){const t=this._editor.getModel(),e=[];for(let s=0,n=i.length;s0&&e.isRegex){i=this._editor.getModel().findMatches(e.searchString,!e.searchScope||e.searchScope,e.isRegex,e.matchCase,e.wholeWord?this._editor.getOption(129):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(t),!this._session)return;i=this._session.selectAll(e.searchScope)}if(i.length>0){const t=this._editor.getSelection();for(let e=0,s=i.length;enew Fs(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn))))}}}O7.ID="editor.contrib.multiCursorController";class I7 extends nu{run(t,i){const e=O7.get(i);if(!e)return;const s=i._getViewModel();if(s){const n=s.getCursorStates(),o=O4.get(i);if(o)this._run(e,o);else{const s=t.get(dr).createInstance(O4,i);this._run(e,s),s.dispose()}F7(n,s.getCursorStates())}}}class _7{constructor(t,i,e,s,n){this._model=t,this._searchText=i,this._matchCase=e,this._wordSeparators=s,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,n&&this._model===n._model&&this._searchText===n._searchText&&this._matchCase===n._matchCase&&this._wordSeparators===n._wordSeparators&&this._modelVersionId===n._modelVersionId&&(this._cachedFindMatches=n._cachedFindMatches)}findMatches(){return null===this._cachedFindMatches&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map((t=>t.range)),this._cachedFindMatches.sort(Ls.compareRangesUsingStarts)),this._cachedFindMatches}}let N7=L7=class extends ie{constructor(t,i){super(),this._languageFeaturesService=i,this.editor=t,this._isEnabled=t.getOption(107),this._decorations=t.createDecorationsCollection(),this.updateSoon=this._register(new gc((()=>this._update()),300)),this.state=null,this._register(t.onDidChangeConfiguration((()=>{this._isEnabled=t.getOption(107)}))),this._register(t.onDidChangeCursorSelection((t=>{this._isEnabled&&(t.selection.isEmpty()?3===t.reason?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())}))),this._register(t.onDidChangeModel((()=>{this._setState(null)}))),this._register(t.onDidChangeModelContent((()=>{this._isEnabled&&this.updateSoon.schedule()})));const e=O4.get(t);e&&this._register(e.getState().onFindReplaceStateChange((()=>{this._update()}))),this.updateSoon.schedule()}_update(){this._setState(L7._createState(this.state,this._isEnabled,this.editor))}static _createState(t,i,e){if(!i)return null;if(!e.hasModel())return null;const s=e.getSelection();if(s.startLineNumber!==s.endLineNumber)return null;const n=O7.get(e);if(!n)return null;const o=O4.get(e);if(!o)return null;let r=n.getSession(o);if(!r){const t=e.getSelections();if(t.length>1){const i=o.getState().matchCase;if(!B7(e.getModel(),t,i))return null}r=R7.create(e,o)}if(!r)return null;if(r.currentMatch)return null;if(/^[ \t]+$/.test(r.searchText))return null;if(r.searchText.length>200)return null;const h=o.getState(),c=h.matchCase;if(h.isRevealed){let t=h.searchString;c||(t=t.toLowerCase());let i=r.searchText;if(c||(i=i.toLowerCase()),t===i&&r.matchCase===h.matchCase&&r.wholeWord===h.wholeWord&&!h.isRegex)return null}return new _7(e.getModel(),r.searchText,r.matchCase,r.wholeWord?e.getOption(129):null,t)}_setState(t){if(this.state=t,!this.state)return void this._decorations.clear();if(!this.editor.hasModel())return;const i=this.editor.getModel();if(i.isTooLargeForTokenization())return;const e=this.state.findMatches(),s=this.editor.getSelections();s.sort(Ls.compareRangesUsingStarts);const n=[];for(let t=0,i=0,o=e.length,r=s.length;t=r)n.push(o),t++;else{const e=Ls.compareRangesUsingStarts(o,s[i]);e<0?(!s[i].isEmpty()&&Ls.areIntersecting(o,s[i])||n.push(o),t++):(e>0||t++,i++)}}const o="off"!==this.editor.getOption(80),r=this._languageFeaturesService.documentHighlightProvider.has(i)&&o,h=n.map((t=>({range:t,options:M7(r)})));this._decorations.set(h)}dispose(){this._setState(null),super.dispose()}};function B7(t,i,e){const s=P7(t,i[0],!e);for(let n=1,o=i.length;n=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,Cg)],N7),uu(O7.ID,O7,4),uu(N7.ID,N7,1),au(class extends nu{constructor(){super({id:"editor.action.insertCursorAbove",label:rt(0,"Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:XC.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"&&Add Cursor Above"),order:2}})}run(t,i,e){if(!i.hasModel())return;let s=!0;e&&!1===e.logicalLine&&(s=!1);const n=i._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const o=n.getCursorStates();n.setCursorStates(e.source,3,IC.addCursorUp(n,o,s)),n.revealTopMostCursor(e.source),F7(o,n.getCursorStates())}}),au(class extends nu{constructor(){super({id:"editor.action.insertCursorBelow",label:rt(0,"Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:XC.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"A&&dd Cursor Below"),order:3}})}run(t,i,e){if(!i.hasModel())return;let s=!0;e&&!1===e.logicalLine&&(s=!1);const n=i._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const o=n.getCursorStates();n.setCursorStates(e.source,3,IC.addCursorDown(n,o,s)),n.revealBottomMostCursor(e.source),F7(o,n.getCursorStates())}}),au(class extends nu{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:rt(0,"Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:XC.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(t,i,e){if(!t.isEmpty()){for(let s=t.startLineNumber;s1&&e.push(new Fs(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn))}}run(t,i){if(!i.hasModel())return;const e=i.getModel(),s=i.getSelections(),n=i._getViewModel(),o=n.getCursorStates(),r=[];s.forEach((t=>this.getCursorsForSelection(t,e,r))),r.length>0&&i.setSelections(r),F7(o,n.getCursorStates())}}),au(class extends I7{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:rt(0,"Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:2082,weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"Add &&Next Occurrence"),order:5}})}_run(t,i){t.addSelectionToNextFindMatch(i)}}),au(class extends I7{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:rt(0,"Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"Add P&&revious Occurrence"),order:6}})}_run(t,i){t.addSelectionToPreviousFindMatch(i)}}),au(class extends I7{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:rt(0,"Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:Be(2089,2082),weight:100}})}_run(t,i){t.moveSelectionToNextFindMatch(i)}}),au(class extends I7{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:rt(0,"Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(t,i){t.moveSelectionToPreviousFindMatch(i)}}),au(class extends I7{constructor(){super({id:"editor.action.selectHighlights",label:rt(0,"Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:3114,weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"Select All &&Occurrences"),order:7}})}_run(t,i){t.selectAll(i)}}),au(class extends I7{constructor(){super({id:"editor.action.changeAll",label:rt(0,"Change All Occurrences"),alias:"Change All Occurrences",precondition:Hr.and(XC.writable,XC.editorTextFocus),kbOpts:{kbExpr:XC.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(t,i){t.selectAll(i)}}),au(class extends nu{constructor(){super({id:"editor.action.addCursorsToBottom",label:rt(0,"Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(t,i){if(!i.hasModel())return;const e=i.getSelections(),s=i.getModel().getLineCount(),n=[];for(let t=e[0].startLineNumber;t<=s;t++)n.push(new Fs(t,e[0].startColumn,t,e[0].endColumn));const o=i._getViewModel(),r=o.getCursorStates();n.length>0&&i.setSelections(n),F7(r,o.getCursorStates())}}),au(class extends nu{constructor(){super({id:"editor.action.addCursorsToTop",label:rt(0,"Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(t,i){if(!i.hasModel())return;const e=i.getSelections(),s=[];for(let t=e[0].startLineNumber;t>=1;t--)s.push(new Fs(t,e[0].startColumn,t,e[0].endColumn));const n=i._getViewModel(),o=n.getCursorStates();s.length>0&&i.setSelections(s),F7(o,n.getCursorStates())}}),au(class extends nu{constructor(){super({id:"editor.action.focusNextCursor",label:rt(0,"Focus Next Cursor"),metadata:{description:rt(0,"Focuses the next cursor"),args:[]},alias:"Focus Next Cursor",precondition:void 0})}run(t,i,e){if(!i.hasModel())return;const s=i._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const n=Array.from(s.getCursorStates()),o=n.shift();o&&(n.push(o),s.setCursorStates(e.source,3,n),s.revealPrimaryCursor(e.source,!0),F7(n,s.getCursorStates()))}}),au(class extends nu{constructor(){super({id:"editor.action.focusPreviousCursor",label:rt(0,"Focus Previous Cursor"),metadata:{description:rt(0,"Focuses the previous cursor"),args:[]},alias:"Focus Previous Cursor",precondition:void 0})}run(t,i,e){if(!i.hasModel())return;const s=i._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const n=Array.from(s.getCursorStates()),o=n.pop();o&&(n.unshift(o),s.setCursorStates(e.source,3,n),s.revealPrimaryCursor(e.source,!0),F7(n,s.getCursorStates()))}});const $7={Visible:new ah("parameterHintsVisible",!1),MultipleSignatures:new ah("parameterHintsMultipleSignatures",!1)};async function W7(t,i,e,s,n){const o=t.ordered(i);for(const t of o)try{const o=await t.provideSignatureHelp(i,e,n,s);if(o)return o}catch(t){$i(t)}}var j7;Er.registerCommand("_executeSignatureHelpProvider",(async(t,...i)=>{const[e,s,n]=i;K(ws.isUri(e)),K(Ms.isIPosition(s)),K("string"==typeof n||!n);const o=t.get(Cg),r=await t.get(mr).createModelReference(e);try{const t=await W7(o.signatureHelpProvider,r.object.textEditorModel,Ms.lift(s),{triggerKind:js.Invoke,isRetrigger:!1,triggerCharacter:n},xe.None);if(!t)return;return setTimeout((()=>t.dispose()),0),t.value}finally{r.dispose()}})),function(t){t.Default={type:0},t.Pending=class{constructor(t,i){this.request=t,this.previouslyActiveHints=i,this.type=2}},t.Active=class{constructor(t){this.hints=t,this.type=1}}}(j7||(j7={}));class z7 extends ie{constructor(t,i,e=z7.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new fe),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=j7.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new ee),this.triggerChars=new Af,this.retriggerChars=new Af,this.triggerId=0,this.editor=t,this.providers=i,this.throttledDelayer=new cc(e),this._register(this.editor.onDidBlurEditorWidget((()=>this.cancel()))),this._register(this.editor.onDidChangeConfiguration((()=>this.onEditorConfigurationChange()))),this._register(this.editor.onDidChangeModel((()=>this.onModelChanged()))),this._register(this.editor.onDidChangeModelLanguage((()=>this.onModelChanged()))),this._register(this.editor.onDidChangeCursorSelection((t=>this.onCursorChange(t)))),this._register(this.editor.onDidChangeModelContent((()=>this.onModelContentChange()))),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType((t=>this.onDidType(t)))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(t){2===this._state.type&&this._state.request.cancel(),this._state=t}cancel(t=!1){this.state=j7.Default,this.throttledDelayer.cancel(),t||this._onChangedHints.fire(void 0)}trigger(t,i){const e=this.editor.getModel();if(!e||!this.providers.has(e))return;const s=++this.triggerId;this._pendingTriggers.push(t),this.throttledDelayer.trigger((()=>this.doTrigger(s)),i).catch(Pi)}next(){if(1!==this.state.type)return;const t=this.state.hints.signatures.length,i=this.state.hints.activeSignature,e=i%t==t-1,s=this.editor.getOption(85).cycle;!(t<2||e)||s?this.updateActiveSignature(e&&s?0:i+1):this.cancel()}previous(){if(1!==this.state.type)return;const t=this.state.hints.signatures.length,i=this.state.hints.activeSignature,e=0===i,s=this.editor.getOption(85).cycle;!(t<2||e)||s?this.updateActiveSignature(e&&s?t-1:i-1):this.cancel()}updateActiveSignature(t){1===this.state.type&&(this.state=new j7.Active({...this.state.hints,activeSignature:t}),this._onChangedHints.fire(this.state.hints))}async doTrigger(t){const i=1===this.state.type||2===this.state.type,e=this.getLastActiveHints();if(this.cancel(!0),0===this._pendingTriggers.length)return!1;const s=this._pendingTriggers.reduce(H7);this._pendingTriggers=[];const n={triggerKind:s.triggerKind,triggerCharacter:s.triggerCharacter,isRetrigger:i,activeSignatureHelp:e};if(!this.editor.hasModel())return!1;const o=this.editor.getModel(),r=this.editor.getPosition();this.state=new j7.Pending(oc((t=>W7(this.providers,o,r,n,t))),e);try{const i=await this.state.request;return t!==this.triggerId?(null==i||i.dispose(),!1):i&&i.value.signatures&&0!==i.value.signatures.length?(this.state=new j7.Active(i.value),this._lastSignatureHelpResult.value=i,this._onChangedHints.fire(this.state.hints),!0):(null==i||i.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1)}catch(i){return t===this.triggerId&&(this.state=j7.Default),Pi(i),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return 1===this.state.type||2===this.state.type||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const t=this.editor.getModel();if(t)for(const i of this.providers.ordered(t)){for(const t of i.signatureHelpTriggerCharacters||[])if(t.length){const i=t.charCodeAt(0);this.triggerChars.add(i),this.retriggerChars.add(i)}for(const t of i.signatureHelpRetriggerCharacters||[])t.length&&this.retriggerChars.add(t.charCodeAt(0))}}onDidType(t){if(!this.triggerOnType)return;const i=t.length-1,e=t.charCodeAt(i);(this.triggerChars.has(e)||this.isTriggered&&this.retriggerChars.has(e))&&this.trigger({triggerKind:js.TriggerCharacter,triggerCharacter:t.charAt(i)})}onCursorChange(t){"mouse"===t.source?this.cancel():this.isTriggered&&this.trigger({triggerKind:js.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:js.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(85).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}function H7(t,i){switch(i.triggerKind){case js.Invoke:return i;case js.ContentChange:return t;default:return i}}z7.DEFAULT_DELAY=120;var V7,U7=function(t,i){return function(e,s){i(e,s,t)}};const q7=Wl,K7=Vz("parameter-hints-next",Is.chevronDown,rt(0,"Icon for show next parameter hint.")),G7=Vz("parameter-hints-previous",Is.chevronUp,rt(0,"Icon for show previous parameter hint."));let Z7=V7=class extends ie{constructor(t,i,e,s,n){super(),this.editor=t,this.model=i,this.renderDisposeables=this._register(new te),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new uQ({editor:t},n,s)),this.keyVisible=$7.Visible.bindTo(e),this.keyMultipleSignatures=$7.MultipleSignatures.bindTo(e)}createParameterHintDOMNodes(){const t=q7(".editor-widget.parameter-hints-widget"),i=Il(t,q7(".phwrapper"));i.tabIndex=-1;const e=Il(i,q7(".controls")),s=Il(e,q7(".button"+Sr.asCSSSelector(G7))),n=Il(e,q7(".overloads")),o=Il(e,q7(".button"+Sr.asCSSSelector(K7)));this._register(Ua(s,"click",(t=>{Tl(t),this.previous()}))),this._register(Ua(o,"click",(t=>{Tl(t),this.next()})));const r=q7(".body"),h=new Rk(r,{alwaysConsumeMouseWheel:!0});this._register(h),i.appendChild(h.getDomNode());const c=Il(r,q7(".signature")),a=Il(r,q7(".docs"));t.style.userSelect="text",this.domNodes={element:t,signature:c,overloads:n,docs:a,scrollbar:h},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection((()=>{this.visible&&this.editor.layoutContentWidget(this)})));const l=()=>{if(!this.domNodes)return;const t=this.editor.getOption(50);this.domNodes.element.style.fontSize=`${t.fontSize}px`,this.domNodes.element.style.lineHeight=""+t.lineHeight/t.fontSize};l(),this._register(ce.chain(this.editor.onDidChangeConfiguration.bind(this.editor),(t=>t.filter((t=>t.hasChanged(50)))))(l)),this._register(this.editor.onDidLayoutChange((()=>this.updateMaxHeight()))),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout((()=>{var t;null===(t=this.domNodes)||void 0===t||t.element.classList.add("visible")}),100),this.editor.layoutContentWidget(this))}hide(){var t;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,null===(t=this.domNodes)||void 0===t||t.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(t){var i;if(this.renderDisposeables.clear(),!this.domNodes)return;const e=t.signatures.length>1;this.domNodes.element.classList.toggle("multiple",e),this.keyMultipleSignatures.set(e),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const s=t.signatures[t.activeSignature];if(!s)return;const n=Il(this.domNodes.signature,q7(".code")),o=this.editor.getOption(50);n.style.fontSize=`${o.fontSize}px`,n.style.fontFamily=o.fontFamily;const r=null!==(i=s.activeParameter)&&void 0!==i?i:t.activeParameter;s.parameters.length>0?this.renderParameters(n,s,r):Il(n,q7("span")).textContent=s.label;const h=s.parameters[r];if(null==h?void 0:h.documentation){const t=q7("span.documentation");if("string"==typeof h.documentation)t.textContent=h.documentation;else{const i=this.renderMarkdownDocs(h.documentation);t.appendChild(i.element)}Il(this.domNodes.docs,q7("p",{},t))}if(void 0===s.documentation);else if("string"==typeof s.documentation)Il(this.domNodes.docs,q7("p",{},s.documentation));else{const t=this.renderMarkdownDocs(s.documentation);Il(this.domNodes.docs,t.element)}const c=this.hasDocs(s,h);if(this.domNodes.signature.classList.toggle("has-docs",c),this.domNodes.docs.classList.toggle("empty",!c),this.domNodes.overloads.textContent=String(t.activeSignature+1).padStart(t.signatures.length.toString().length,"0")+"/"+t.signatures.length,h){let t="";const i=s.parameters[r];t=Array.isArray(i.label)?s.label.substring(i.label[0],i.label[1]):i.label,i.documentation&&(t+="string"==typeof i.documentation?`, ${i.documentation}`:`, ${i.documentation.value}`),s.documentation&&(t+="string"==typeof s.documentation?`, ${s.documentation}`:`, ${s.documentation.value}`),this.announcedLabel!==t&&($m(rt(0,"{0}, hint",t)),this.announcedLabel=t)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(t){const i=this.renderDisposeables.add(this.markdownRenderer.render(t,{asyncRenderCallback:()=>{var t;null===(t=this.domNodes)||void 0===t||t.scrollbar.scanDomNode()}}));return i.element.classList.add("markdown-docs"),i}hasDocs(t,i){return!!(i&&"string"==typeof i.documentation&&G(i.documentation).length>0||i&&"object"==typeof i.documentation&&G(i.documentation).value.length>0||t.documentation&&"string"==typeof t.documentation&&G(t.documentation).length>0||t.documentation&&"object"==typeof t.documentation&&G(t.documentation.value).length>0)}renderParameters(t,i,e){const[s,n]=this.getParameterLabelOffsets(i,e),o=document.createElement("span");o.textContent=i.label.substring(0,s);const r=document.createElement("span");r.textContent=i.label.substring(s,n),r.className="parameter active";const h=document.createElement("span");h.textContent=i.label.substring(n),Il(t,o,r,h)}getParameterLabelOffsets(t,i){const e=t.parameters[i];if(e){if(Array.isArray(e.label))return e.label;if(e.label.length){const i=new RegExp(`(\\W|^)${Zn(e.label)}(?=\\W|$)`,"g");i.test(t.label);const s=i.lastIndex-e.label.length;return s>=0?[s,i.lastIndex]:[0,0]}return[0,0]}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 V7.ID}updateMaxHeight(){if(!this.domNodes)return;const t=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=t;const i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}};Z7.ID="editor.widget.parameterHintsWidget",Z7=V7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([U7(2,lh),U7(3,fP),U7(4,kd)],Z7),fw("editorHoverWidget.highlightForeground",{dark:ub,light:ub,hcDark:ub,hcLight:ub},rt(0,"Foreground color of the active item in the parameter hint."));var Q7,J7=function(t,i){return function(e,s){i(e,s,t)}};let Y7=Q7=class extends ie{static get(t){return t.getContribution(Q7.ID)}constructor(t,i,e){super(),this.editor=t,this.model=this._register(new z7(t,e.signatureHelpProvider)),this._register(this.model.onChangedHints((t=>{var i;t?(this.widget.value.show(),this.widget.value.render(t)):null===(i=this.widget.rawValue)||void 0===i||i.hide()}))),this.widget=new Hn((()=>this._register(i.createInstance(Z7,this.editor,this.model))))}cancel(){this.model.cancel()}previous(){var t;null===(t=this.widget.rawValue)||void 0===t||t.previous()}next(){var t;null===(t=this.widget.rawValue)||void 0===t||t.next()}trigger(t){this.model.trigger(t,0)}};Y7.ID="editor.controller.parameterHints",Y7=Q7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([J7(1,dr),J7(2,Cg)],Y7),uu(Y7.ID,Y7,2),au(class extends nu{constructor(){super({id:"editor.action.triggerParameterHints",label:rt(0,"Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:XC.hasSignatureHelpProvider,kbOpts:{kbExpr:XC.editorTextFocus,primary:3082,weight:100}})}run(t,i){const e=Y7.get(i);null==e||e.trigger({triggerKind:js.Invoke})}});const X7=su.bindToContribution(Y7.get);cu(new X7({id:"closeParameterHints",precondition:$7.Visible,handler:t=>t.cancel(),kbOpts:{weight:175,kbExpr:XC.focus,primary:9,secondary:[1033]}})),cu(new X7({id:"showPrevParameterHint",precondition:Hr.and($7.Visible,$7.MultipleSignatures),handler:t=>t.previous(),kbOpts:{weight:175,kbExpr:XC.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),cu(new X7({id:"showNextParameterHint",precondition:Hr.and($7.Visible,$7.MultipleSignatures),handler:t=>t.next(),kbOpts:{weight:175,kbExpr:XC.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var t8=function(t,i){return function(e,s){i(e,s,t)}};const i8=new ah("renameInputVisible",!1,rt(0,"Whether the rename input widget is visible"));let e8=class{constructor(t,i,e,s,n){this._editor=t,this._acceptKeybindings=i,this._themeService=e,this._keybindingService=s,this._disposables=new te,this.allowEditorOverflow=!0,this._visibleContextKey=i8.bindTo(n),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._updateFont()}))),this._disposables.add(e.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._input=document.createElement("input"),this._input.className="rename-input",this._input.type="text",this._input.setAttribute("aria-label",rt(0,"Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._input),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(t){var i,e,s,n;if(!this._input||!this._domNode)return;const o=t.getColor(kw),r=t.getColor(xw);this._domNode.style.backgroundColor=String(null!==(i=t.getColor(dv))&&void 0!==i?i:""),this._domNode.style.boxShadow=o?` 0 0 8px 2px ${o}`:"",this._domNode.style.border=r?`1px solid ${r}`:"",this._domNode.style.color=String(null!==(e=t.getColor(Sw))&&void 0!==e?e:""),this._input.style.backgroundColor=String(null!==(s=t.getColor(Cw))&&void 0!==s?s:"");const h=t.getColor(Dw);this._input.style.borderWidth=h?"1px":"0px",this._input.style.borderStyle=h?"solid":"none",this._input.style.borderColor=null!==(n=null==h?void 0:h.toString())&&void 0!==n?n:"none"}_updateFont(){if(!this._input||!this._label)return;const t=this._editor.getOption(50);this._input.style.fontFamily=t.fontFamily,this._input.style.fontWeight=t.fontWeight,this._input.style.fontSize=`${t.fontSize}px`,this._label.style.fontSize=.8*t.fontSize+"px"}getPosition(){return this._visible?{position:this._position,preference:[2,1]}:null}beforeRender(){var t,i;const[e,s]=this._acceptKeybindings;return this._label.innerText=rt(0,"{0} to Rename, {1} to Preview",null===(t=this._keybindingService.lookupKeybinding(e))||void 0===t?void 0:t.getLabel(),null===(i=this._keybindingService.lookupKeybinding(s))||void 0===i?void 0:i.getLabel()),null}afterRender(t){t||this.cancelInput(!0)}acceptInput(t){var i;null===(i=this._currentAcceptInput)||void 0===i||i.call(this,t)}cancelInput(t){var i;null===(i=this._currentCancelInput)||void 0===i||i.call(this,t)}getInput(t,i,e,s,n,o){this._domNode.classList.toggle("preview",n),this._position=new Ms(t.startLineNumber,t.startColumn),this._input.value=i,this._input.setAttribute("selectionStart",e.toString()),this._input.setAttribute("selectionEnd",s.toString()),this._input.size=Math.max(1.1*(t.endColumn-t.startColumn),20);const r=new te;return new Promise((t=>{this._currentCancelInput=i=>(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,t(i),!0),this._currentAcceptInput=e=>{0!==this._input.value.trim().length&&this._input.value!==i?(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,t({newName:this._input.value,wantsPreview:n&&e})):this.cancelInput(!0)},r.add(o.onCancellationRequested((()=>this.cancelInput(!0)))),r.add(this._editor.onDidBlurEditorWidget((()=>{var t;return this.cancelInput(!(null===(t=this._domNode)||void 0===t?void 0:t.ownerDocument.hasFocus()))}))),this._show()})).finally((()=>{r.dispose(),this._hide()}))}_show(){this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout((()=>{this._input.focus(),this._input.setSelectionRange(parseInt(this._input.getAttribute("selectionStart")),parseInt(this._input.getAttribute("selectionEnd")))}),100)}_hide(){this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}};e8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([t8(2,tx),t8(3,rC),t8(4,lh)],e8);var s8,n8=function(t,i){return function(e,s){i(e,s,t)}};class o8{constructor(t,i,e){this.model=t,this.position=i,this._providerRenameIdx=0,this._providers=e.ordered(t)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(t){const i=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?i.join("\n"):void 0}:{range:Ls.fromPositions(this.position),text:"",rejectReason:i.length>0?i.join("\n"):void 0}}async provideRenameEdits(t,i){return this._provideRenameEdits(t,this._providerRenameIdx,[],i)}async _provideRenameEdits(t,i,e,s){const n=this._providers[i];if(!n)return{edits:[],rejectReason:e.join("\n")};const o=await n.provideRenameEdits(this.model,this.position,t,s);return o?o.rejectReason?this._provideRenameEdits(t,i+1,e.concat(o.rejectReason),s):o:this._provideRenameEdits(t,i+1,e.concat(rt(0,"No result.")),s)}}let r8=s8=class{static get(t){return t.getContribution(s8.ID)}constructor(t,i,e,s,n,o,r,h){this.editor=t,this._instaService=i,this._notificationService=e,this._bulkEditService=s,this._progressService=n,this._logService=o,this._configService=r,this._languageFeaturesService=h,this._disposableStore=new te,this._cts=new Se,this._renameInputField=this._disposableStore.add(this._instaService.createInstance(e8,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var t,i;if(this._cts.dispose(!0),this._cts=new Se,!this.editor.hasModel())return;const e=this.editor.getPosition(),s=new o8(this.editor.getModel(),e,this._languageFeaturesService.renameProvider);if(!s.hasProvider())return;const n=new SK(this.editor,5,void 0,this._cts.token);let o;try{const t=s.resolveRenameLocation(n.token);this._progressService.showWhile(t,250),o=await t}catch(i){return void(null===(t=mQ.get(this.editor))||void 0===t||t.showMessage(i||rt(0,"An unknown error occurred while resolving rename location"),e))}finally{n.dispose()}if(!o)return;if(o.rejectReason)return void(null===(i=mQ.get(this.editor))||void 0===i||i.showMessage(o.rejectReason,e));if(n.token.isCancellationRequested)return;const r=new SK(this.editor,5,o.range,this._cts.token),h=this.editor.getSelection();let c=0,a=o.text.length;Ls.isEmpty(h)||Ls.spansMultipleLines(h)||!Ls.containsRange(o.range,h)||(c=Math.max(0,h.startColumn-o.range.startColumn),a=Math.min(o.range.endColumn,h.endColumn)-o.range.startColumn);const l=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),u=await this._renameInputField.getInput(o.range,o.text,c,a,l,r.token);if("boolean"==typeof u)return u&&this.editor.focus(),void r.dispose();this.editor.focus();const d=rc(s.provideRenameEdits(u.newName,r.token),r.token).then((async t=>{t&&this.editor.hasModel()&&(t.rejectReason?this._notificationService.info(t.rejectReason):(this.editor.setSelection(Ls.fromPositions(this.editor.getSelection().getPosition())),this._bulkEditService.apply(t,{editor:this.editor,showPreview:u.wantsPreview,label:rt(0,"Renaming '{0}' to '{1}'",null==o?void 0:o.text,u.newName),code:"undoredo.rename",quotableLabel:rt(0,"Renaming {0} to {1}",null==o?void 0:o.text,u.newName),respectAutoSaveConfig:!0}).then((t=>{t.ariaSummary&&$m(rt(0,"Successfully renamed '{0}' to '{1}'. Summary: {2}",o.text,u.newName,t.ariaSummary))})).catch((t=>{this._notificationService.error(rt(0,"Rename failed to apply edits")),this._logService.error(t)}))))}),(t=>{this._notificationService.error(rt(0,"Rename failed to compute edits")),this._logService.error(t)})).finally((()=>{r.dispose()}));return this._progressService.showWhile(d,250),d}acceptRenameInput(t){this._renameInputField.acceptInput(t)}cancelRenameInput(){this._renameInputField.cancelInput(!0)}};r8.ID="editor.contrib.renameController",r8=s8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([n8(1,dr),n8(2,rT),n8(3,oO),n8(4,HO),n8(5,zh),n8(6,kg),n8(7,Cg)],r8),uu(r8.ID,r8,4),au(class extends nu{constructor(){super({id:"editor.action.rename",label:rt(0,"Rename Symbol"),alias:"Rename Symbol",precondition:Hr.and(XC.writable,XC.hasRenameProvider),kbOpts:{kbExpr:XC.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(t,i){const e=t.get(pr),[s,n]=Array.isArray(i)&&i||[void 0,void 0];return ws.isUri(s)&&Ms.isIPosition(n)?e.openCodeEditor({resource:s},e.getActiveCodeEditor()).then((t=>{t&&(t.setPosition(n),t.invokeWithinContext((i=>(this.reportTelemetry(i,t),this.run(i,t)))))}),Pi):super.runCommand(t,i)}run(t,i){const e=r8.get(i);return e?e.run():Promise.resolve()}});const h8=su.bindToContribution(r8.get);function c8(t){const i=new Uint32Array(function(t){let i=0;if(i+=2,"full"===t.type)i+=1+t.data.length;else{i+=1,i+=3*t.deltas.length;for(const e of t.deltas)e.data&&(i+=e.data.length)}return i}(t));let e=0;if(i[e++]=t.id,"full"===t.type)i[e++]=1,i[e++]=t.data.length,i.set(t.data,e),e+=t.data.length;else{i[e++]=2,i[e++]=t.deltas.length;for(const s of t.deltas)i[e++]=s.start,i[e++]=s.deleteCount,s.data?(i[e++]=s.data.length,i.set(s.data,e),e+=s.data.length):i[e++]=0}return function(t){const i=new Uint8Array(t.buffer,t.byteOffset,4*t.length);return Pt()||function(t){for(let i=0,e=t.length;it.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:Hr.and(XC.focus,Hr.not("isComposing")),primary:3}})),cu(new h8({id:"acceptRenameInputWithPreview",precondition:Hr.and(i8,Hr.has("config.editor.rename.enablePreview")),handler:t=>t.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:Hr.and(XC.focus,Hr.not("isComposing")),primary:1027}})),cu(new h8({id:"cancelRenameInput",precondition:i8,handler:t=>t.cancelRenameInput(),kbOpts:{weight:199,kbExpr:XC.focus,primary:9,secondary:[1033]}})),hu("_executeDocumentRenameProvider",(function(t,i,e,...s){const[n]=s;K("string"==typeof n);const{renameProvider:o}=t.get(Cg);return async function(t,i,e,s){const n=new o8(i,e,t),o=await n.resolveRenameLocation(xe.None);return(null==o?void 0:o.rejectReason)?{edits:[],rejectReason:o.rejectReason}:n.provideRenameEdits(s,xe.None)}(o,i,e,n)})),hu("_executePrepareRename",(async function(t,i,e){const{renameProvider:s}=t.get(Cg),n=new o8(i,e,s),o=await n.resolveRenameLocation(xe.None);if(null==o?void 0:o.rejectReason)throw new Error(o.rejectReason);return o})),Eh.as(Ld).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:rt(0,"Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});class u8{constructor(t,i,e){this.provider=t,this.tokens=i,this.error=e}}function d8(t,i){return t.has(i)}async function f8(t,i,e,s,n){const o=function(t,i){const e=t.orderedGroups(i);return e.length>0?e[0]:[]}(t,i),r=await Promise.all(o.map((async t=>{let o,r=null;try{o=await t.provideDocumentSemanticTokens(i,t===e?s:null,n)}catch(t){r=t,o=null}return o&&(a8(o)||l8(o))||(o=null),new u8(t,o,r)})));for(const t of r){if(t.error)throw t.error;if(t.tokens)return t}return r.length>0?r[0]:null}class p8{constructor(t,i){this.provider=t,this.tokens=i}}function g8(t,i){const e=t.orderedGroups(i);return e.length>0?e[0]:[]}async function m8(t,i,e,s){const n=g8(t,i),o=await Promise.all(n.map((async t=>{let n;try{n=await t.provideDocumentRangeSemanticTokens(i,e,s)}catch(t){$i(t),n=null}return n&&a8(n)||(n=null),new p8(t,n)})));for(const t of o)if(t.tokens)return t;return o.length>0?o[0]:null}Er.registerCommand("_provideDocumentSemanticTokensLegend",(async(t,...i)=>{const[e]=i;K(e instanceof ws);const s=t.get(gr).getModel(e);if(!s)return;const{documentSemanticTokensProvider:n}=t.get(Cg),o=function(t,i){const e=t.orderedGroups(i);return e.length>0?e[0]:null}(n,s);return o?o[0].getLegend():t.get(Dr).executeCommand("_provideDocumentRangeSemanticTokensLegend",e)})),Er.registerCommand("_provideDocumentSemanticTokens",(async(t,...i)=>{const[e]=i;K(e instanceof ws);const s=t.get(gr).getModel(e);if(!s)return;const{documentSemanticTokensProvider:n}=t.get(Cg);if(!d8(n,s))return t.get(Dr).executeCommand("_provideDocumentRangeSemanticTokens",e,s.getFullModelRange());const o=await f8(n,s,null,null,xe.None);if(!o)return;const{provider:r,tokens:h}=o;if(!h||!a8(h))return;const c=c8({id:0,type:"full",data:h.data});return h.resultId&&r.releaseDocumentSemanticTokens(h.resultId),c})),Er.registerCommand("_provideDocumentRangeSemanticTokensLegend",(async(t,...i)=>{const[e,s]=i;K(e instanceof ws);const n=t.get(gr).getModel(e);if(!n)return;const{documentRangeSemanticTokensProvider:o}=t.get(Cg),r=g8(o,n);if(0===r.length)return;if(1===r.length)return r[0].getLegend();if(!s||!Ls.isIRange(s))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();const h=await m8(o,n,Ls.lift(s),xe.None);return h?h.provider.getLegend():void 0})),Er.registerCommand("_provideDocumentRangeSemanticTokens",(async(t,...i)=>{const[e,s]=i;K(e instanceof ws),K(Ls.isIRange(s));const n=t.get(gr).getModel(e);if(!n)return;const{documentRangeSemanticTokensProvider:o}=t.get(Cg),r=await m8(o,n,Ls.lift(s),xe.None);return r&&r.tokens?c8({id:0,type:"full",data:r.tokens.data}):void 0}));const w8="editor.semanticHighlighting";function v8(t,i,e){var s;const n=null===(s=e.getValue(w8,{overrideIdentifier:t.getLanguageId(),resource:t.uri}))||void 0===s?void 0:s.enabled;return"boolean"==typeof n?n:i.getColorTheme().semanticHighlighting}var b8,y8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},k8=function(t,i){return function(e,s){i(e,s,t)}};let x8=class extends ie{constructor(t,i,e,s,n,o){super(),this._watchers=Object.create(null);const r=i=>{this._watchers[i.uri.toString()]=new C8(i,t,e,n,o)},h=(t,i)=>{i.dispose(),delete this._watchers[t.uri.toString()]},c=()=>{for(const t of i.getModels()){const i=this._watchers[t.uri.toString()];v8(t,e,s)?i||r(t):i&&h(t,i)}};this._register(i.onModelAdded((t=>{v8(t,e,s)&&r(t)}))),this._register(i.onModelRemoved((t=>{const i=this._watchers[t.uri.toString()];i&&h(t,i)}))),this._register(s.onDidChangeConfiguration((t=>{t.affectsConfiguration(w8)&&c()}))),this._register(e.onDidColorThemeChange(c))}dispose(){for(const t of Object.values(this._watchers))t.dispose();super.dispose()}};x8=y8([k8(0,LR),k8(1,gr),k8(2,tx),k8(3,gd),k8(4,mR),k8(5,Cg)],x8);let C8=b8=class extends ie{constructor(t,i,e,s,n){super(),this._semanticTokensStylingService=i,this._isDisposed=!1,this._model=t,this._provider=n.documentSemanticTokensProvider,this._debounceInformation=s.for(this._provider,"DocumentSemanticTokens",{min:b8.REQUEST_MIN_DELAY,max:b8.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new gc((()=>this._fetchDocumentSemanticTokensNow()),b8.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 o=()=>{Ji(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const i of this._provider.all(t))"function"==typeof i.onDidChange&&this._documentProvidersChangeListeners.push(i.onDidChange((()=>{this._currentDocumentRequestCancellationTokenSource?this._providersChangedDuringRequest=!0:this._fetchDocumentSemanticTokens.schedule(0)})))};o(),this._register(this._provider.onDidChange((()=>{o(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(e.onDidColorThemeChange((()=>{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),Ji(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!d8(this._provider,this._model))return void(this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1));if(!this._model.isAttachedToEditor())return;const t=new Se,i=f8(this._provider,this._model,this._currentDocumentResponse?this._currentDocumentResponse.provider:null,this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,t.token);this._currentDocumentRequestCancellationTokenSource=t,this._providersChangedDuringRequest=!1;const e=[],s=this._model.onDidChangeContent((t=>{e.push(t)})),n=new he(!1);i.then((t=>{if(this._debounceInformation.update(this._model,n.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),t){const{provider:i,tokens:s}=t,n=this._semanticTokensStylingService.getStyling(i);this._setDocumentSemanticTokens(i,s||null,n,e)}else this._setDocumentSemanticTokens(null,null,null,e)}),(t=>{t&&(zi(t)||"string"==typeof t.message&&-1!==t.message.indexOf("busy"))||Pi(t),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),(e.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))}))}static _copy(t,i,e,s,n){n=Math.min(n,e.length-s,t.length-i);for(let o=0;o{(s.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)t&&i&&t.releaseDocumentSemanticTokens(i.resultId);else if(t&&e){if(!i)return this._model.tokenization.setSemanticTokens(null,!0),void o();if(l8(i)){if(!n)return void this._model.tokenization.setSemanticTokens(null,!0);if(0===i.edits.length)i={resultId:i.resultId,data:n.data};else{let t=0;for(const e of i.edits)t+=(e.data?e.data.length:0)-e.deleteCount;const s=n.data,o=new Uint32Array(s.length+t);let r=s.length,h=o.length;for(let t=i.edits.length-1;t>=0;t--){const c=i.edits[t];if(c.start>s.length)return e.warnInvalidEditStart(n.resultId,i.resultId,t,c.start,s.length),void this._model.tokenization.setSemanticTokens(null,!0);const a=r-(c.start+c.deleteCount);a>0&&(b8._copy(s,r-a,o,h-a,a),h-=a),c.data&&(b8._copy(c.data,0,o,h-c.data.length,c.data.length),h-=c.data.length),r=c.start}r>0&&b8._copy(s,0,o,0,r),i={resultId:i.resultId,data:o}}}if(a8(i)){this._currentDocumentResponse=new S8(t,i.resultId,i.data);const n=ER(i,e,this._model.getLanguageId());if(s.length>0)for(const t of s)for(const i of n)for(const e of t.changes)i.applyEdit(e.range,e.text);this._model.tokenization.setSemanticTokens(n,!0)}else this._model.tokenization.setSemanticTokens(null,!0);o()}else this._model.tokenization.setSemanticTokens(null,!1)}};C8.REQUEST_MIN_DELAY=300,C8.REQUEST_MAX_DELAY=2e3,C8=b8=y8([k8(1,LR),k8(2,tx),k8(3,mR),k8(4,Cg)],C8);class S8{constructor(t,i,e){this.provider=t,this.resultId=i,this.data=e}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}ZH(x8);var D8=function(t,i){return function(e,s){i(e,s,t)}};let E8=class extends ie{constructor(t,i,e,s,n,o){super(),this._semanticTokensStylingService=i,this._themeService=e,this._configurationService=s,this._editor=t,this._provider=o.documentRangeSemanticTokensProvider,this._debounceInformation=n.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new gc((()=>this._tokenizeViewportNow()),100)),this._outstandingRequests=[];const r=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange((()=>{r()}))),this._register(this._editor.onDidChangeModel((()=>{this._cancelAll(),r()}))),this._register(this._editor.onDidChangeModelContent((()=>{this._cancelAll(),r()}))),this._register(this._provider.onDidChange((()=>{this._cancelAll(),r()}))),this._register(this._configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration(w8)&&(this._cancelAll(),r())}))),this._register(this._themeService.onDidColorThemeChange((()=>{this._cancelAll(),r()}))),r()}_cancelAll(){for(const t of this._outstandingRequests)t.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(t){for(let i=0,e=this._outstandingRequests.length;ithis._requestRange(t,i))))}_requestRange(t,i){const e=t.getVersionId(),s=oc((e=>Promise.resolve(m8(this._provider,t,i,e)))),n=new he(!1);return s.then((s=>{if(this._debounceInformation.update(t,n.elapsed()),!s||!s.tokens||t.isDisposed()||t.getVersionId()!==e)return;const{provider:o,tokens:r}=s,h=this._semanticTokensStylingService.getStyling(o);t.tokenization.setPartialSemanticTokens(i,ER(r,h,t.getLanguageId()))})).then((()=>this._removeOutstandingRequest(s)),(()=>this._removeOutstandingRequest(s))),s}};E8.ID="editor.contrib.viewportSemanticTokens",E8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([D8(1,LR),D8(2,tx),D8(3,gd),D8(4,mR),D8(5,Cg)],E8),uu(E8.ID,E8,1);class A8{constructor(t=!0){this.selectSubwords=t}provideSelectionRanges(t,i){const e=[];for(const s of i){const i=[];e.push(i),this.selectSubwords&&this._addInWordRanges(i,t,s),this._addWordRanges(i,t,s),this._addWhitespaceLine(i,t,s),i.push({range:t.getFullModelRange()})}return e}_addInWordRanges(t,i,e){const s=i.getWordAtPosition(e);if(!s)return;const{word:n,startColumn:o}=s,r=e.column-o;let h=r,c=r,a=0;for(;h>=0;h--){const t=n.charCodeAt(h);if(h!==r&&(95===t||45===t))break;if(ao(t)&&lo(a))break;a=t}for(h+=1;c0&&0===i.getLineFirstNonWhitespaceColumn(e.lineNumber)&&0===i.getLineLastNonWhitespaceColumn(e.lineNumber)&&t.push({range:new Ls(e.lineNumber,1,e.lineNumber,i.getLineMaxColumn(e.lineNumber))})}}var M8;class L8{constructor(t,i){this.index=t,this.ranges=i}mov(t){const i=this.index+(t?1:-1);if(i<0||i>=this.ranges.length)return this;const e=new L8(i,this.ranges);return e.ranges[i].equalsRange(this.ranges[this.index])?e.mov(t):e}}let F8=M8=class{static get(t){return t.getContribution(M8.ID)}constructor(t,i){this._editor=t,this._languageFeaturesService=i,this._ignoreSelection=!1}dispose(){var t;null===(t=this._selectionListener)||void 0===t||t.dispose()}async run(t){if(!this._editor.hasModel())return;const i=this._editor.getSelections(),e=this._editor.getModel();if(this._state||await R8(this._languageFeaturesService.selectionRangeProvider,e,i.map((t=>t.getPosition())),this._editor.getOption(112),xe.None).then((t=>{var e;if(y(t)&&t.length===i.length&&this._editor.hasModel()&&u(this._editor.getSelections(),i,((t,i)=>t.equalsSelection(i)))){for(let e=0;et.containsPosition(i[e].getStartPosition())&&t.containsPosition(i[e].getEndPosition()))),t[e].unshift(i[e]);this._state=t.map((t=>new L8(0,t))),null===(e=this._selectionListener)||void 0===e||e.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition((()=>{var t;this._ignoreSelection||(null===(t=this._selectionListener)||void 0===t||t.dispose(),this._state=void 0)}))}})),!this._state)return;this._state=this._state.map((i=>i.mov(t)));const s=this._state.map((t=>Fs.fromPositions(t.ranges[t.index].getStartPosition(),t.ranges[t.index].getEndPosition())));this._ignoreSelection=!0;try{this._editor.setSelections(s)}finally{this._ignoreSelection=!1}}};F8.ID="editor.contrib.smartSelectController",F8=M8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,Cg)],F8);class T8 extends nu{constructor(t,i){super(i),this._forward=t}async run(t,i){const e=F8.get(i);e&&await e.run(this._forward)}}async function R8(t,i,e,s,n){const o=t.all(i).concat(new A8(s.selectSubwords));1===o.length&&o.unshift(new a6);const r=[],h=[];for(const t of o)r.push(Promise.resolve(t.provideSelectionRanges(i,e,n)).then((t=>{if(y(t)&&t.length===e.length)for(let i=0;i{if(0===t.length)return[];t.sort(((t,i)=>Ms.isBefore(t.getStartPosition(),i.getStartPosition())?1:Ms.isBefore(i.getStartPosition(),t.getStartPosition())||Ms.isBefore(t.getEndPosition(),i.getEndPosition())?-1:Ms.isBefore(i.getEndPosition(),t.getEndPosition())?1:0));const e=[];let n;for(const i of t)(!n||Ls.containsRange(i,n)&&!Ls.equalsRange(i,n))&&(e.push(i),n=i);if(!s.selectLeadingAndTrailingWhitespace)return e;const o=[e[0]];for(let t=1;tt}),N8="data-sticky-line-index",B8="data-sticky-is-line",P8="data-sticky-is-folding-icon";class $8 extends ie{constructor(t){super(),this._editor=t,this._foldingIconStore=new te,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(66),this._stickyLines=[],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",t instanceof qJ),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const i=()=>{this._linesDomNode.style.left=this._editor.getOption(114).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(114)&&i(),t.hasChanged(66)&&(this._lineHeight=this._editor.getOption(66))}))),this._register(this._editor.onDidScrollChange((t=>{t.scrollLeftChanged&&i(),t.scrollWidthChanged&&this._updateWidgetWidth()}))),this._register(this._editor.onDidChangeModel((()=>{i(),this._updateWidgetWidth()}))),this._register(this._foldingIconStore),i(),this._register(this._editor.onDidLayoutChange((()=>{this._updateWidgetWidth()}))),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getStickyLineForLine(t){return this._stickyLines.find((i=>i.lineNumber===t))}getCurrentLines(){return this._lineNumbers}setState(t,i,e=1/0){if((!this._previousState&&!t||this._previousState&&this._previousState.equals(t))&&e===1/0)return;this._previousState=t;const s=this._stickyLines;if(this._clearStickyWidget(),t&&this._editor._getViewModel()){if(t.startLineNumbers.length*this._lineHeight+t.lastLineRelativePosition>0){this._lastLineRelativePosition=t.lastLineRelativePosition;const i=[...t.startLineNumbers];null!==t.showEndForLine&&(i[t.showEndForLine]=t.endLineNumbers[t.showEndForLine]),this._lineNumbers=i}else this._lastLineRelativePosition=0,this._lineNumbers=[];this._renderRootNode(s,i,e)}}_updateWidgetWidth(){const t=this._editor.getLayoutInfo();this._lineNumbersDomNode.style.width=`${t.contentLeft}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",this._editor.getScrollWidth()-t.verticalScrollbarWidth+"px"),this._rootDomNode.style.width=t.width-t.verticalScrollbarWidth+"px"}_clearStickyWidget(){this._stickyLines=[],this._foldingIconStore.clear(),Ha(this._lineNumbersDomNode),Ha(this._linesDomNode),this._rootDomNode.style.display="none"}_useFoldingOpacityTransition(t){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${t?.5:0}s`)}_setFoldingIconsVisibility(t){for(const i of this._stickyLines){const e=i.foldingIcon;e&&e.setVisible(!!t||e.isCollapsed)}}async _renderRootNode(t,i,e=1/0){const s=this._editor.getLayoutInfo();for(const[n,o]of this._lineNumbers.entries()){const r=t[n],h=o>=e||(null==r?void 0:r.lineNumber)!==o?this._renderChildNode(n,o,i,s):this._updateTopAndZIndexOfStickyLine(r);h&&(this._linesDomNode.appendChild(h.lineDomNode),this._lineNumbersDomNode.appendChild(h.lineNumberDomNode),this._stickyLines.push(h))}i&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin));const n=this._lineNumbers.length*this._lineHeight+this._lastLineRelativePosition;0!==n?(this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${n}px`,this._linesDomNodeScrollable.style.height=`${n}px`,this._rootDomNode.style.height=`${n}px`,this._rootDomNode.style.marginLeft="0px",this._updateMinContentWidth(),this._editor.layoutOverlayWidget(this)):this._clearStickyWidget()}_setFoldingHoverListeners(){"mouseover"===this._editor.getOption(109)&&(this._foldingIconStore.add(Ua(this._lineNumbersDomNode,Fl.MOUSE_ENTER,(()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)}))),this._foldingIconStore.add(Ua(this._lineNumbersDomNode,Fl.MOUSE_LEAVE,(()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)}))))}_renderChildNode(t,i,e,s){const n=this._editor._getViewModel();if(!n)return;const o=n.coordinatesConverter.convertModelPositionToViewPosition(new Ms(i,1)).lineNumber,r=n.getViewLineRenderingData(o),h=this._editor.getOption(67);let c;try{c=jg.filter(r.inlineDecorations,o,r.minColumn,r.maxColumn)}catch(t){c=[]}const a=new Kg(!0,!0,r.content,r.continuesWithWrappedLine,r.isBasicASCII,r.containsRTL,0,r.tokens,c,r.tabSize,r.startVisibleColumn,1,1,1,500,"none",!0,!0,null),l=new id(2e3),u=Jg(a,l);let d;d=_8?_8.createHTML(l.build()):l.build();const f=document.createElement("span");f.setAttribute(N8,String(t)),f.setAttribute(B8,""),f.setAttribute("role","listitem"),f.tabIndex=0,f.className="sticky-line-content",f.classList.add(`stickyLine${i}`),f.style.lineHeight=`${this._lineHeight}px`,f.innerHTML=d;const p=document.createElement("span");p.setAttribute(N8,String(t)),p.setAttribute("data-sticky-is-line-number",""),p.className="sticky-line-number",p.style.lineHeight=`${this._lineHeight}px`,p.style.width=`${s.contentLeft}px`;const g=document.createElement("span");1===h.renderType||3===h.renderType&&i%10==0?g.innerText=i.toString():2===h.renderType&&(g.innerText=Math.abs(i-this._editor.getPosition().lineNumber).toString()),g.className="sticky-line-number-inner",g.style.lineHeight=`${this._lineHeight}px`,g.style.width=`${s.lineNumbersWidth}px`,g.style.paddingLeft=`${s.lineNumbersLeft}px`,p.appendChild(g);const m=this._renderFoldingIconForLine(e,i);m&&p.appendChild(m.domNode),this._editor.applyFontInfo(f),this._editor.applyFontInfo(g),p.style.lineHeight=`${this._lineHeight}px`,f.style.lineHeight=`${this._lineHeight}px`,p.style.height=`${this._lineHeight}px`,f.style.height=`${this._lineHeight}px`;const w=new W8(t,i,f,p,m,u.characterMapping);return this._updateTopAndZIndexOfStickyLine(w)}_updateTopAndZIndexOfStickyLine(t){var i;const e=t.index,s=t.lineDomNode,n=t.lineNumberDomNode,o=e===this._lineNumbers.length-1;s.style.zIndex=o?"0":"1",n.style.zIndex=o?"0":"1";const r=`${e*this._lineHeight+this._lastLineRelativePosition+((null===(i=t.foldingIcon)||void 0===i?void 0:i.isCollapsed)?1:0)}px`,h=e*this._lineHeight+"px";return s.style.top=o?r:h,n.style.top=o?r:h,t}_renderFoldingIconForLine(t,i){const e=this._editor.getOption(109);if(!t||"never"===e)return;const s=t.regions,n=s.findRange(i),o=s.getStartLineNumber(n);if(i!==o)return;const r=s.isCollapsed(n),h=new j8(r,o,s.getEndLineNumber(n),this._lineHeight);return h.setVisible(!!this._isOnGlyphMargin||r||"always"===e),h.domNode.setAttribute(P8,""),h}_updateMinContentWidth(){this._minContentWidthInPx=0;for(const t of this._stickyLines)t.lineDomNode.scrollWidth>this._minContentWidthInPx&&(this._minContentWidthInPx=t.lineDomNode.scrollWidth);this._minContentWidthInPx+=this._editor.getLayoutInfo().verticalScrollbarWidth}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:null}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(t){0<=t&&t0)return null;const i=this._getRenderedStickyLineFromChildDomNode(t);if(!i)return null;const e=Xy(i.characterMapping,t,0);return new Ms(i.lineNumber,e)}getLineNumberFromChildDomNode(t){var i,e;return null!==(e=null===(i=this._getRenderedStickyLineFromChildDomNode(t))||void 0===i?void 0:i.lineNumber)&&void 0!==e?e:null}_getRenderedStickyLineFromChildDomNode(t){const i=this.getLineIndexFromChildDomNode(t);return null===i||i<0||i>=this._stickyLines.length?null:this._stickyLines[i]}getLineIndexFromChildDomNode(t){const i=this._getAttributeValue(t,N8);return i?parseInt(i,10):null}isInStickyLine(t){return void 0!==this._getAttributeValue(t,B8)}isInFoldingIconDomNode(t){return void 0!==this._getAttributeValue(t,P8)}_getAttributeValue(t,i){for(;t&&t!==this._rootDomNode;){const e=t.getAttribute(i);if(null!==e)return e;t=t.parentElement}}}class W8{constructor(t,i,e,s,n,o){this.index=t,this.lineNumber=i,this.lineDomNode=e,this.lineNumberDomNode=s,this.foldingIcon=n,this.characterMapping=o}}class j8{constructor(t,i,e,s){this.isCollapsed=t,this.foldingStartLine=i,this.foldingEndLine=e,this.dimension=s,this.domNode=document.createElement("div"),this.domNode.style.width=`${s}px`,this.domNode.style.height=`${s}px`,this.domNode.className=Sr.asClassName(t?o5:n5)}setVisible(t){this.domNode.style.cursor=t?"pointer":"default",this.domNode.style.opacity=t?"1":"0"}}class z8{constructor(t,i){this.startLineNumber=t,this.endLineNumber=i}}class H8{constructor(t,i,e){this.range=t,this.children=i,this.parent=e}}class V8{constructor(t,i,e,s){this.uri=t,this.version=i,this.element=e,this.outlineProviderId=s}}var U8,q8,K8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},G8=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t.OUTLINE_MODEL="outlineModel",t.FOLDING_PROVIDER_MODEL="foldingProviderModel",t.INDENTATION_MODEL="indentationModel"}(U8||(U8={})),function(t){t[t.VALID=0]="VALID",t[t.INVALID=1]="INVALID",t[t.CANCELED=2]="CANCELED"}(q8||(q8={}));let Z8=class extends ie{constructor(t,i,e,s){super(),this._editor=t,this._languageConfigurationService=i,this._languageFeaturesService=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new cc(300)),this._updateOperation=this._register(new te);const n=new J8(e),o=new ttt(this._editor,e),r=new X8(this._editor,i);switch(s){case U8.OUTLINE_MODEL:this._modelProviders.push(n),this._modelProviders.push(o),this._modelProviders.push(r);break;case U8.FOLDING_PROVIDER_MODEL:this._modelProviders.push(o),this._modelProviders.push(r);break;case U8.INDENTATION_MODEL:this._modelProviders.push(r)}}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(t,i,e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger((async()=>{for(const s of this._modelProviders){const{statusPromise:n,modelPromise:o}=s.computeStickyModel(t,i,e);this._modelPromise=o;const r=await n;if(this._modelPromise!==o)return null;switch(r){case q8.CANCELED:return this._updateOperation.clear(),null;case q8.VALID:return s.stickyModel}}return null})).catch((t=>(Pi(t),null)))}};Z8=K8([G8(1,tf),G8(2,Cg)],Z8);class Q8{constructor(){this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,q8.INVALID}computeStickyModel(t,i,e){if(e.isCancellationRequested||!this.isProviderValid(t))return{statusPromise:this._invalid(),modelPromise:null};const s=oc((e=>this.createModelFromProvider(t,i,e)));return{statusPromise:s.then((s=>this.isModelValid(s)?e.isCancellationRequested?q8.CANCELED:(this._stickyModel=this.createStickyModel(t,i,e,s),q8.VALID):this._invalid())).then(void 0,(t=>(Pi(t),q8.CANCELED))),modelPromise:s}}isModelValid(t){return!0}isProviderValid(t){return!0}}let J8=class extends Q8{constructor(t){super(),this._languageFeaturesService=t}createModelFromProvider(t,i,e){return F5.create(this._languageFeaturesService.documentSymbolProvider,t,e)}createStickyModel(t,i,e,s){var n;const{stickyOutlineElement:o,providerID:r}=this._stickyModelFromOutlineModel(s,null===(n=this._stickyModel)||void 0===n?void 0:n.outlineProviderId);return new V8(t.uri,i,o,r)}isModelValid(t){return t&&t.children.size>0}_stickyModelFromOutlineModel(t,i){let e;if(Vt.first(t.children.values())instanceof L5){const s=Vt.find(t.children.values(),(t=>t.id===i));if(s)e=s.children;else{let s,n="",o=-1;for(const[i,e]of t.children.entries()){const t=this._findSumOfRangesOfGroup(e);t>o&&(s=e,o=t,n=e.id)}i=n,e=s.children}}else e=t.children;const s=[],n=Array.from(e.values()).sort(((t,i)=>{const e=new z8(t.symbol.range.startLineNumber,t.symbol.range.endLineNumber),s=new z8(i.symbol.range.startLineNumber,i.symbol.range.endLineNumber);return this._comparator(e,s)}));for(const t of n)s.push(this._stickyModelFromOutlineElement(t,t.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new H8(void 0,s,void 0),providerID:i}}_stickyModelFromOutlineElement(t,i){const e=[];for(const s of t.children.values())if(s.symbol.selectionRange.startLineNumber!==s.symbol.range.endLineNumber)if(s.symbol.selectionRange.startLineNumber!==i)e.push(this._stickyModelFromOutlineElement(s,s.symbol.selectionRange.startLineNumber));else for(const t of s.children.values())e.push(this._stickyModelFromOutlineElement(t,s.symbol.selectionRange.startLineNumber));e.sort(((t,i)=>this._comparator(t.range,i.range)));const s=new z8(t.symbol.selectionRange.startLineNumber,t.symbol.range.endLineNumber);return new H8(s,e,void 0)}_comparator(t,i){return t.startLineNumber!==i.startLineNumber?t.startLineNumber-i.startLineNumber:i.endLineNumber-t.endLineNumber}_findSumOfRangesOfGroup(t){let i=0;for(const e of t.children.values())i+=this._findSumOfRangesOfGroup(e);return t instanceof M5?i+t.symbol.range.endLineNumber-t.symbol.selectionRange.startLineNumber:i}};J8=K8([G8(0,Cg)],J8);class Y8 extends Q8{constructor(t){super(),this._foldingLimitReporter=new w5(t)}createStickyModel(t,i,e,s){const n=this._fromFoldingRegions(s);return new V8(t.uri,i,n,void 0)}isModelValid(t){return null!==t}_fromFoldingRegions(t){const i=t.length,e=[],s=new H8(void 0,[],void 0);for(let n=0;n0}createModelFromProvider(t,i,e){const s=m5.getFoldingRangeProviders(this._languageFeaturesService,t);return new u5(t,s,(()=>this.createModelFromProvider(t,i,e)),this._foldingLimitReporter,void 0).compute(e)}};ttt=K8([G8(1,Cg)],ttt);var itt=function(t,i){return function(e,s){i(e,s,t)}};class ett{constructor(t,i,e){this.startLineNumber=t,this.endLineNumber=i,this.nestingDepth=e}}let stt=class extends ie{constructor(t,i,e){super(),this._languageFeaturesService=i,this._languageConfigurationService=e,this._onDidChangeStickyScroll=this._register(new fe),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._options=null,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=t,this._sessionStore=this._register(new te),this._updateSoon=this._register(new gc((()=>this.update()),50)),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(114)&&this.readConfiguration()}))),this.readConfiguration()}readConfiguration(){this._stickyModelProvider=null,this._sessionStore.clear(),this._options=this._editor.getOption(114),this._options.enabled&&(this._stickyModelProvider=this._sessionStore.add(new Z8(this._editor,this._languageConfigurationService,this._languageFeaturesService,this._options.defaultModel)),this._sessionStore.add(this._editor.onDidChangeModel((()=>{this._model=null,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.update())}getVersionId(){var t;return null===(t=this._model)||void 0===t?void 0:t.version}async update(){var t;null===(t=this._cts)||void 0===t||t.dispose(!0),this._cts=new Se,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(t){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization())return void(this._model=null);const i=this._editor.getModel(),e=i.getVersionId(),s=await this._stickyModelProvider.update(i,e,t);t.isCancellationRequested||(this._model=s)}updateIndex(t){return-1===t?t=0:t<0&&(t=-t-2),t}getCandidateStickyLinesIntersectingFromStickyModel(t,i,e,s,n){if(0===i.children.length)return;let o=n;const r=[];for(let t=0;tt-i))),c=this.updateIndex(d(r,t.startLineNumber+s,((t,i)=>t-i)));for(let r=h;r<=c;r++){const h=i.children[r];if(!h)return;if(h.range){const i=h.range.startLineNumber,n=h.range.endLineNumber;t.startLineNumber<=n+1&&i-1<=t.endLineNumber&&i!==o&&(o=i,e.push(new ett(i,n-1,s+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(t,h,e,s+1,i))}else this.getCandidateStickyLinesIntersectingFromStickyModel(t,h,e,s,n)}}getCandidateStickyLinesIntersecting(t){var i,e;if(!(null===(i=this._model)||void 0===i?void 0:i.element))return[];let s=[];this.getCandidateStickyLinesIntersectingFromStickyModel(t,this._model.element,s,0,-1);const n=null===(e=this._editor._getViewModel())||void 0===e?void 0:e.getHiddenAreas();if(n)for(const t of n)s=s.filter((i=>!(i.startLineNumber>=t.startLineNumber&&i.endLineNumber<=t.endLineNumber+1)));return s}};stt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([itt(1,Cg),itt(2,tf)],stt);var ntt,ott=function(t,i){return function(e,s){i(e,s,t)}};let rtt=ntt=class extends ie{constructor(t,i,e,s,n,o,r){super(),this._editor=t,this._contextMenuService=i,this._languageFeaturesService=e,this._instaService=s,this._contextKeyService=r,this._sessionStore=new te,this._foldingModel=null,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._showEndForLine=null,this._stickyScrollWidget=new $8(this._editor),this._stickyLineCandidateProvider=new stt(this._editor,e,n),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=new I8([],[],0),this._readConfiguration();const h=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(114)||t.hasChanged(72)||t.hasChanged(66)||t.hasChanged(109))&&this._readConfiguration()}))),this._register(Ua(h,Fl.CONTEXT_MENU,(async t=>{this._onContextMenu(Ba(h),t)}))),this._stickyScrollFocusedContextKey=XC.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=XC.stickyScrollVisible.bindTo(this._contextKeyService);const c=this._register(Ol(h));this._register(c.onDidBlur((()=>{!1===this._positionRevealed&&0===h.clientHeight?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()}))),this._register(c.onDidFocus((()=>{this.focus()}))),this._registerMouseListeners(),this._register(Ua(h,Fl.MOUSE_DOWN,(()=>{this._onMouseDown=!0})))}static get(t){return t.getContribution(ntt.ID)}_disposeFocusStickyScrollStore(){var t;this._stickyScrollFocusedContextKey.set(!1),null===(t=this._focusDisposableStore)||void 0===t||t.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown)return this._onMouseDown=!1,void this._editor.focus();!0!==this._stickyScrollFocusedContextKey.get()&&(this._focused=!0,this._focusDisposableStore=new te,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(t){this._focusedStickyElementIndex=t?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const t=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:t[this._focusedStickyElementIndex],column:1})}_revealPosition(t){this._reveaInEditor(t,(()=>this._editor.revealPosition(t)))}_revealLineInCenterIfOutsideViewport(t){this._reveaInEditor(t,(()=>this._editor.revealLineInCenterIfOutsideViewport(t.lineNumber,0)))}_reveaInEditor(t,i){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,i(),this._editor.setSelection(Ls.fromPositions(t)),this._editor.focus()}_registerMouseListeners(){const t=this._register(new te),i=this._register(new VJ(this._editor,{extractLineNumberFromMouseEvent:t=>{const i=this._stickyScrollWidget.getEditorPositionFromNode(t.target.element);return i?i.lineNumber:0}})),e=t=>{if(!this._editor.hasModel())return null;if(12!==t.target.type||t.target.detail!==this._stickyScrollWidget.getId())return null;const i=t.target.element;if(!i||i.innerText!==i.innerHTML)return null;const e=this._stickyScrollWidget.getEditorPositionFromNode(i);return e?{range:new Ls(e.lineNumber,e.column,e.lineNumber,e.column+i.innerText.length),textElement:i}:null},s=this._stickyScrollWidget.getDomNode();this._register(Ka(s,Fl.CLICK,(t=>{if(t.ctrlKey||t.altKey||t.metaKey)return;if(!t.leftButton)return;if(t.shiftKey){const i=this._stickyScrollWidget.getLineIndexFromChildDomNode(t.target);if(null===i)return;const e=new Ms(this._endLineNumbers[i],1);return void this._revealLineInCenterIfOutsideViewport(e)}if(this._stickyScrollWidget.isInFoldingIconDomNode(t.target)){const i=this._stickyScrollWidget.getLineNumberFromChildDomNode(t.target);return void this._toggleFoldingRegionForLine(i)}if(!this._stickyScrollWidget.isInStickyLine(t.target))return;let i=this._stickyScrollWidget.getEditorPositionFromNode(t.target);if(!i){const e=this._stickyScrollWidget.getLineNumberFromChildDomNode(t.target);if(null===e)return;i=new Ms(e,1)}this._revealPosition(i)}))),this._register(Ka(s,Fl.MOUSE_MOVE,(t=>{if(t.shiftKey){const i=this._stickyScrollWidget.getLineIndexFromChildDomNode(t.target);if(null===i||null!==this._showEndForLine&&this._showEndForLine===i)return;return this._showEndForLine=i,void this._renderStickyScroll()}null!==this._showEndForLine&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._register(Ua(s,Fl.MOUSE_LEAVE,(()=>{null!==this._showEndForLine&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._register(i.onMouseMoveOrRelevantKeyDown((([i,s])=>{const n=e(i);if(!n||!i.hasTriggerModifier||!this._editor.hasModel())return void t.clear();const{range:o,textElement:r}=n;if(o.equalsRange(this._stickyRangeProjectedOnEditor)){if("underline"===r.style.textDecoration)return}else this._stickyRangeProjectedOnEditor=o,t.clear();const h=new Se;let c;t.add(Xi((()=>h.dispose(!0)))),UY(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Ms(o.startLineNumber,o.startColumn+1),h.token).then((i=>{if(!h.token.isCancellationRequested)if(0!==i.length){this._candidateDefinitionsLength=i.length;const e=r;c!==e?(t.clear(),c=e,c.style.textDecoration="underline",t.add(Xi((()=>{c.style.textDecoration="none"})))):c||(c=e,c.style.textDecoration="underline",t.add(Xi((()=>{c.style.textDecoration="none"}))))}else t.clear()}))}))),this._register(i.onCancel((()=>{t.clear()}))),this._register(i.onExecute((async t=>{if(12!==t.target.type||t.target.detail!==this._stickyScrollWidget.getId())return;const i=this._stickyScrollWidget.getEditorPositionFromNode(t.target.element);i&&(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:i.lineNumber,column:1})),this._instaService.invokeFunction(A9,t,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor}))})))}_onContextMenu(t,i){const e=new ic(t,i);this._contextMenuService.showContextMenu({menuId:Oh.StickyScrollContext,getAnchor:()=>e})}_toggleFoldingRegionForLine(t){if(!this._foldingModel||null===t)return;const i=this._stickyScrollWidget.getStickyLineForLine(t),e=null==i?void 0:i.foldingIcon;if(!e)return;q4(this._foldingModel,Number.MAX_VALUE,[t]),e.isCollapsed=!e.isCollapsed;const s=this._editor.getTopForLineNumber(e.isCollapsed?e.foldingEndLine:e.foldingStartLine)-this._editor.getOption(66)*i.index+1;this._editor.setScrollTop(s),this._renderStickyScroll(t)}_readConfiguration(){const t=this._editor.getOption(114);if(!1===t.enabled)return this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),void(this._enabled=!1);t.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange((t=>{t.scrollTopChanged&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._sessionStore.add(this._editor.onDidLayoutChange((()=>this._onDidResize()))),this._sessionStore.add(this._editor.onDidChangeModelTokens((t=>this._onTokensChange(t)))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll((()=>{this._showEndForLine=null,this._renderStickyScroll()}))),this._enabled=!0),2===this._editor.getOption(67).renderType&&this._sessionStore.add(this._editor.onDidChangeCursorPosition((()=>{this._showEndForLine=null,this._renderStickyScroll(-1)})))}_needsUpdate(t){const i=this._stickyScrollWidget.getCurrentLines();for(const e of i)for(const i of t.ranges)if(e>=i.fromLineNumber&&e<=i.toLineNumber)return!0;return!1}_onTokensChange(t){this._needsUpdate(t)&&this._renderStickyScroll(-1)}_onDidResize(){const t=this._editor.getLayoutInfo().height/this._editor.getOption(66);this._maxStickyLines=Math.round(.25*t)}async _renderStickyScroll(t=1/0){var i,e;const s=this._editor.getModel();if(!s||s.isTooLargeForTokenization())return this._foldingModel=null,void this._stickyScrollWidget.setState(void 0,null,t);const n=this._stickyLineCandidateProvider.getVersionId();if(void 0===n||n===s.getVersionId())if(this._foldingModel=null!==(e=await(null===(i=m5.get(this._editor))||void 0===i?void 0:i.getFoldingModel()))&&void 0!==e?e:null,this._widgetState=this.findScrollWidgetState(),this._stickyScrollVisibleContextKey.set(!(0===this._widgetState.startLineNumbers.length)),this._focused)if(-1===this._focusedStickyElementIndex)this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,t),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,-1!==this._focusedStickyElementIndex&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const i=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,t),0===this._stickyScrollWidget.lineNumberCount?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(i)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}else this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,t)}findScrollWidgetState(){const t=this._editor.getOption(66),i=Math.min(this._maxStickyLines,this._editor.getOption(114).maxLineCount),e=this._editor.getScrollTop();let s=0;const n=[],o=[],r=this._editor.getVisibleRanges();if(0!==r.length){const h=new z8(r[0].startLineNumber,r[r.length-1].endLineNumber),c=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(h);for(const r of c){const h=r.startLineNumber,c=r.endLineNumber,a=r.nestingDepth;if(c-h>0){const r=(a-1)*t,l=a*t,u=this._editor.getBottomForLineNumber(h)-e,d=this._editor.getTopForLineNumber(c)-e,f=this._editor.getBottomForLineNumber(c)-e;if(r>d&&r<=f){n.push(h),o.push(c+1),s=f-l;break}if(l>u&&l<=f&&(n.push(h),o.push(c+1)),n.length===i)break}}}return this._endLineNumbers=o,new I8(n,o,s,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};rtt.ID="store.contrib.stickyScrollController",rtt=ntt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([ott(1,uI),ott(2,Cg),ott(3,dr),ott(4,tf),ott(5,mR),ott(6,lh)],rtt);const htt=100;uu(rtt.ID,rtt,1),Wh(class extends $h{constructor(){super({id:"editor.action.toggleStickyScroll",title:{value:rt(0,"Toggle Sticky Scroll"),mnemonicTitle:rt(0,"&&Toggle Sticky Scroll"),original:"Toggle Sticky Scroll"},category:O8.View,toggled:{condition:Hr.equals("config.editor.stickyScroll.enabled",!0),title:rt(0,"Sticky Scroll"),mnemonicTitle:rt(0,"&&Sticky Scroll")},menu:[{id:Oh.CommandPalette},{id:Oh.MenubarAppearanceMenu,group:"4_editor",order:3},{id:Oh.StickyScrollContext}]})}async run(t){const i=t.get(gd),e=!i.getValue("editor.stickyScroll.enabled");return i.updateValue("editor.stickyScroll.enabled",e)}}),Wh(class extends ru{constructor(){super({id:"editor.action.focusStickyScroll",title:{value:rt(0,"Focus Sticky Scroll"),mnemonicTitle:rt(0,"&&Focus Sticky Scroll"),original:"Focus Sticky Scroll"},precondition:Hr.and(Hr.has("config.editor.stickyScroll.enabled"),XC.stickyScrollVisible),menu:[{id:Oh.CommandPalette}]})}runEditorCommand(t,i){var e;null===(e=rtt.get(i))||void 0===e||e.focus()}}),Wh(class extends ru{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:{value:rt(0,"Select previous sticky scroll line"),original:"Select previous sticky scroll line"},precondition:XC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:htt,primary:16}})}runEditorCommand(t,i){var e;null===(e=rtt.get(i))||void 0===e||e.focusPrevious()}}),Wh(class extends ru{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:{value:rt(0,"Select next sticky scroll line"),original:"Select next sticky scroll line"},precondition:XC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:htt,primary:18}})}runEditorCommand(t,i){var e;null===(e=rtt.get(i))||void 0===e||e.focusNext()}}),Wh(class extends ru{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:{value:rt(0,"Go to focused sticky scroll line"),original:"Go to focused sticky scroll line"},precondition:XC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:htt,primary:3}})}runEditorCommand(t,i){var e;null===(e=rtt.get(i))||void 0===e||e.goToFocused()}}),Wh(class extends ru{constructor(){super({id:"editor.action.selectEditor",title:{value:rt(0,"Select Editor"),original:"Select Editor"},precondition:XC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:htt,primary:9}})}runEditorCommand(t,i){var e;null===(e=rtt.get(i))||void 0===e||e.selectEditor()}});var ctt,att=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},ltt=function(t,i){return function(e,s){i(e,s,t)}};class utt{constructor(t,i,e,s,n,o){this.range=t,this.insertText=i,this.filterText=e,this.additionalTextEdits=s,this.command=n,this.completion=o}}let dtt=class extends se{constructor(t,i,e,s,n,o){super(n.disposable),this.model=t,this.line=i,this.word=e,this.completionModel=s,this._suggestMemoryService=o}canBeReused(t,i,e){return this.model===t&&this.line===i&&this.word.word.length>0&&this.word.startColumn===e.startColumn&&this.word.endColumn=0&&e.resolve(xe.None)}return i}};dtt=att([ltt(5,s6)],dtt);let ftt=class{constructor(t,i,e,s){this._getEditorOption=t,this._languageFeatureService=i,this._clipboardService=e,this._suggestMemoryService=s}async provideInlineCompletions(t,i,e,s){var n;if(e.selectedSuggestionInfo)return;const o=this._getEditorOption(88,t);if(F3.isAllOff(o))return;t.tokenization.tokenizeIfCheap(i.lineNumber);const r=t.tokenization.getLineTokens(i.lineNumber),h=r.getStandardTokenType(r.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if("inline"!==F3.valueFor(o,h))return;let c,a,l=t.getWordAtPosition(i);if((null==l?void 0:l.word)||(c=this._getTriggerCharacterInfo(t,i)),!(null==l?void 0:l.word)&&!c)return;if(l||(l=t.getWordUntilPosition(i)),l.endColumn!==i.column)return;const u=t.getValueInRange(new Ls(i.lineNumber,1,i.lineNumber,i.column));if(!c&&(null===(n=this._lastResult)||void 0===n?void 0:n.canBeReused(t,i.lineNumber,l))){const t=new u6(u,i.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=t,this._lastResult.acquire(),a=this._lastResult}else{const e=await A3(this._languageFeatureService.completionProvider,t,i,new D3(void 0,void 0,null==c?void 0:c.providers),c&&{triggerKind:1,triggerCharacter:c.ch},s);let n;e.needsClipboard&&(n=await this._clipboardService.readText());const o=new d6(e.items,i.column,new u6(u,0),l6.None,this._getEditorOption(117,t),this._getEditorOption(111,t),{boostFullMatch:!1,firstMatchCanBeWeak:!1},n);a=new dtt(t,i.lineNumber,l,o,e,this._suggestMemoryService)}return this._lastResult=a,a}handleItemDidShow(t,i){i.completion.resolve(xe.None)}freeInlineCompletions(t){t.release()}_getTriggerCharacterInfo(t,i){var e;const s=t.getValueInRange(Ls.fromPositions({lineNumber:i.lineNumber,column:i.column-1},i)),n=new Set;for(const i of this._languageFeatureService.completionProvider.all(t))(null===(e=i.triggerCharacters)||void 0===e?void 0:e.includes(s))&&n.add(i);if(0!==n.size)return{providers:n,ch:s}}};ftt=att([ltt(1,Cg),ltt(2,kH),ltt(3,s6)],ftt);let ptt=ctt=class{constructor(t,i,e,s){if(1==++ctt._counter){const n=s.createInstance(ftt,((i,s)=>{var n;return(null!==(n=e.listCodeEditors().find((t=>t.getModel()===s)))&&void 0!==n?n:t).getOption(i)}));ctt._disposable=i.inlineCompletionsProvider.register("*",n)}}dispose(){var t;0==--ctt._counter&&(null===(t=ctt._disposable)||void 0===t||t.dispose(),ctt._disposable=void 0)}};ptt._counter=0,ptt=ctt=att([ltt(1,Cg),ltt(2,pr),ltt(3,dr)],ptt),uu("suggest.inlineCompletionsProvider",ptt,0),au(class extends nu{constructor(){super({id:"editor.action.forceRetokenize",label:rt(0,"Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(t,i){if(!i.hasModel())return;const e=i.getModel();e.tokenization.resetTokenization();const s=new he;e.tokenization.forceTokenization(e.getLineCount()),s.stop(),console.log(`tokenization took ${s.elapsed()}`)}});class gtt extends $h{constructor(){super({id:gtt.ID,title:{value:rt(0,"Toggle Tab Key Moves Focus"),original:"Toggle Tab Key Moves Focus"},precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},f1:!0})}run(){const t=!Zm.getTabFocusMode();Zm.setTabFocusMode(t),$m(rt(0,t?"Pressing Tab will now move focus to the next focusable element":"Pressing Tab will now insert the tab character"))}}gtt.ID="editor.action.toggleTabFocusMode",Wh(gtt);let mtt=class extends ie{get enabled(){return this._enabled}set enabled(t){t?(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=t}constructor(t,i,e={},s){var n;super(),this._link=i,this._enabled=!0,this.el=Il(t,Wl("a.monaco-link",{tabIndex:null!==(n=i.tabIndex)&&void 0!==n?n:0,href:i.href,title:i.title},i.label)),this.el.setAttribute("role","button");const o=this._register(new Pk(this.el,"click")),r=this._register(new Pk(this.el,"keypress")),h=ce.chain(r.event,(t=>t.map((t=>new Jh(t))).filter((t=>3===t.keyCode)))),c=this._register(new Pk(this.el,rw.Tap)).event;this._register(hw.addTarget(this.el));const a=ce.any(o.event,h,c);this._register(a((t=>{this.enabled&&(Tl(t,!0),(null==e?void 0:e.opener)?e.opener(this._link.href):s.open(this._link.href,{allowCommands:!0}))}))),this.enabled=!0}};mtt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,fP)],mtt);var wtt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},vtt=function(t,i){return function(e,s){i(e,s,t)}};let btt=class extends ie{constructor(t,i){super(),this._editor=t,this.instantiationService=i,this.banner=this._register(this.instantiationService.createInstance(ytt))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(t){this.banner.show({...t,onClose:()=>{var i;this.hide(),null===(i=t.onClose)||void 0===i||i.call(t)}}),this._editor.setBanner(this.banner.element,26)}};btt=wtt([vtt(1,dr)],btt);let ytt=class extends ie{constructor(t){super(),this.instantiationService=t,this.markdownRenderer=this.instantiationService.createInstance(uQ,{}),this.element=Wl("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(t){return t.ariaLabel?t.ariaLabel:"string"==typeof t.message?t.message:void 0}getBannerMessage(t){if("string"==typeof t){const i=Wl("span");return i.innerText=t,i}return this.markdownRenderer.render(t).element}clear(){Ha(this.element)}show(t){Ha(this.element);const i=this.getAriaLabel(t);i&&this.element.setAttribute("aria-label",i);const e=Il(this.element,Wl("div.icon-container"));e.setAttribute("aria-hidden","true"),t.icon&&e.appendChild(Wl(`div${Sr.asCSSSelector(t.icon)}`));const s=Il(this.element,Wl("div.message-container"));if(s.setAttribute("aria-hidden","true"),s.appendChild(this.getBannerMessage(t.message)),this.messageActionsContainer=Il(this.element,Wl("div.message-actions-container")),t.actions)for(const i of t.actions)this._register(this.instantiationService.createInstance(mtt,this.messageActionsContainer,{...i,tabIndex:-1},{}));const n=Il(this.element,Wl("div.action-container"));this.actionBar=this._register(new XB(n)),this.actionBar.push(this._register(new wr("banner.close","Close Banner",Sr.asClassName(Zz),!0,(()=>{"function"==typeof t.onClose&&t.onClose()}))),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};ytt=wtt([vtt(0,dr)],ytt);var ktt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},xtt=function(t,i){return function(e,s){i(e,s,t)}};const Ctt=Vz("extensions-warning-message",Is.warning,rt(0,"Icon shown with a warning message in the extensions editor."));let Stt=class extends ie{constructor(t,i,e,s){super(),this._editor=t,this._editorWorkerService=i,this._workspaceTrustService=e,this._highlighter=null,this._bannerClosed=!1,this._updateState=t=>{if(t&&t.hasMore){if(this._bannerClosed)return;const i=Math.max(t.ambiguousCharacterCount,t.nonBasicAsciiCharacterCount,t.invisibleCharacterCount);let e;if(t.nonBasicAsciiCharacterCount>=i)e={message:rt(0,"This document contains many non-basic ASCII unicode characters"),command:new Ntt};else if(t.ambiguousCharacterCount>=i)e={message:rt(0,"This document contains many ambiguous unicode characters"),command:new Itt};else{if(!(t.invisibleCharacterCount>=i))throw new Error("Unreachable");e={message:rt(0,"This document contains many invisible unicode characters"),command:new _tt}}this._bannerController.show({id:"unicodeHighlightBanner",message:e.message,icon:Ctt,actions:[{label:e.command.shortLabel,href:`command:${e.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(s.createInstance(btt,t)),this._register(this._editor.onDidChangeModel((()=>{this._bannerClosed=!1,this._updateHighlighter()}))),this._options=t.getOption(124),this._register(e.onDidChangeTrust((()=>{this._updateHighlighter()}))),this._register(t.onDidChangeConfiguration((i=>{i.hasChanged(124)&&(this._options=t.getOption(124),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 t=function(t,i){return{nonBasicASCII:i.nonBasicASCII===Si?!t:i.nonBasicASCII,ambiguousCharacters:i.ambiguousCharacters,invisibleCharacters:i.invisibleCharacters,includeComments:i.includeComments===Si?!t:i.includeComments,includeStrings:i.includeStrings===Si?!t:i.includeStrings,allowedCharacters:i.allowedCharacters,allowedLocales:i.allowedLocales}}(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([t.nonBasicASCII,t.ambiguousCharacters,t.invisibleCharacters].every((t=>!1===t)))return;const i={nonBasicASCII:t.nonBasicASCII,ambiguousCharacters:t.ambiguousCharacters,invisibleCharacters:t.invisibleCharacters,includeComments:t.includeComments,includeStrings:t.includeStrings,allowedCodePoints:Object.keys(t.allowedCharacters).map((t=>t.codePointAt(0))),allowedLocales:Object.keys(t.allowedLocales).map((t=>"_os"===t?(new Intl.NumberFormat).resolvedOptions().locale:"_vscode"===t?Rt:t))};this._highlighter=this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?new Dtt(this._editor,i,this._updateState,this._editorWorkerService):new Ett(this._editor,i,this._updateState)}getDecorationInfo(t){return this._highlighter?this._highlighter.getDecorationInfo(t):null}};Stt.ID="editor.contrib.unicodeHighlighter",Stt=ktt([xtt(1,bP),xtt(2,aI),xtt(3,dr)],Stt);let Dtt=class extends ie{constructor(t,i,e,s){super(),this._editor=t,this._options=i,this._updateState=e,this._editorWorkerService=s,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new gc((()=>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())return void this._decorations.clear();const t=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then((i=>{if(this._model.isDisposed())return;if(this._model.getVersionId()!==t)return;this._updateState(i);const e=[];if(!i.hasMore)for(const t of i.ranges)e.push({range:t,options:Ttt.instance.getDecorationFromOptions(this._options)});this._decorations.set(e)}))}getDecorationInfo(t){if(!this._decorations.has(t))return null;const i=this._editor.getModel();return OF(i,t)?{reason:Ftt(i.getValueInRange(t.range),this._options),inComment:IF(i,t),inString:_F(i,t)}:null}};Dtt=ktt([xtt(3,bP)],Dtt);class Ett extends ie{constructor(t,i,e){super(),this._editor=t,this._options=i,this._updateState=e,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new gc((()=>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())return void this._decorations.clear();const t=this._editor.getVisibleRanges(),i=[],e={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const i of t){const t=tp.computeUnicodeHighlights(this._model,this._options,i);for(const i of t.ranges)e.ranges.push(i);e.ambiguousCharacterCount+=e.ambiguousCharacterCount,e.invisibleCharacterCount+=e.invisibleCharacterCount,e.nonBasicAsciiCharacterCount+=e.nonBasicAsciiCharacterCount,e.hasMore=e.hasMore||t.hasMore}if(!e.hasMore)for(const t of e.ranges)i.push({range:t,options:Ttt.instance.getDecorationFromOptions(this._options)});this._updateState(e),this._decorations.set(i)}getDecorationInfo(t){if(!this._decorations.has(t))return null;const i=this._editor.getModel(),e=i.getValueInRange(t.range);return OF(i,t)?{reason:Ftt(e,this._options),inComment:IF(i,t),inString:_F(i,t)}:null}}let Att=class{constructor(t,i,e){this._editor=t,this._languageService=i,this._openerService=e,this.hoverOrdinal=5}computeSync(t,i){if(!this._editor.hasModel()||1!==t.type)return[];const e=this._editor.getModel(),s=this._editor.getContribution(Stt.ID);if(!s)return[];const n=[],o=new Set;let r=300;for(const t of i){const i=s.getDecorationInfo(t);if(!i)continue;const h=e.getValueInRange(t.range).codePointAt(0),c=Ltt(h);let a;switch(i.reason.kind){case 0:a=Ao(i.reason.confusableWith)?rt(0,"The character {0} could be confused with the ASCII character {1}, which is more common in source code.",c,Ltt(i.reason.confusableWith.codePointAt(0))):rt(0,"The character {0} could be confused with the character {1}, which is more common in source code.",c,Ltt(i.reason.confusableWith.codePointAt(0)));break;case 1:a=rt(0,"The character {0} is invisible.",c);break;case 2:a=rt(0,"The character {0} is not a basic ASCII character.",c)}if(o.has(a))continue;o.add(a);const l={codePoint:h,reason:i.reason,inComment:i.inComment,inString:i.inString},u=rt(0,"Adjust settings"),d=`command:${Btt.ID}?${encodeURIComponent(JSON.stringify(l))}`,f=new B_("",!0).appendMarkdown(a).appendText(" ").appendLink(d,u);n.push(new qX(this,t.range,[f],!1,r++))}return n}renderHoverParts(t,i){return GX(t,i,this._editor,this._languageService,this._openerService)}};function Mtt(t){return`U+${t.toString(16).padStart(4,"0")}`}function Ltt(t){let i=`\`${Mtt(t)}\``;return $o.isInvisibleCharacter(t)||(i+=` "${function(t){return 96===t?"`` ` ``":"`"+String.fromCodePoint(t)+"`"}(t)}"`),i}function Ftt(t,i){return tp.computeUnicodeHighlightReason(t,i)}Att=ktt([xtt(1,kd),xtt(2,fP)],Att);class Ttt{constructor(){this.map=new Map}getDecorationFromOptions(t){return this.getDecoration(!t.includeComments,!t.includeStrings)}getDecoration(t,i){const e=`${t}${i}`;let s=this.map.get(e);return s||(s=ML.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:t,hideInStringTokens:i}),this.map.set(e,s)),s}}Ttt.instance=new Ttt;class Rtt extends nu{constructor(){super({id:Itt.ID,label:rt(0,"Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=rt(0,"Disable Highlight In Comments")}async run(t,i,e){const s=null==t?void 0:t.get(gd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Li,!1,2)}}class Ott extends nu{constructor(){super({id:Itt.ID,label:rt(0,"Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=rt(0,"Disable Highlight In Strings")}async run(t,i,e){const s=null==t?void 0:t.get(gd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Fi,!1,2)}}class Itt extends nu{constructor(){super({id:Itt.ID,label:rt(0,"Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=rt(0,"Disable Ambiguous Highlight")}async run(t,i,e){const s=null==t?void 0:t.get(gd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Mi,!1,2)}}Itt.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";class _tt extends nu{constructor(){super({id:_tt.ID,label:rt(0,"Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=rt(0,"Disable Invisible Highlight")}async run(t,i,e){const s=null==t?void 0:t.get(gd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Ei,!1,2)}}_tt.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";class Ntt extends nu{constructor(){super({id:Ntt.ID,label:rt(0,"Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=rt(0,"Disable Non ASCII Highlight")}async run(t,i,e){const s=null==t?void 0:t.get(gd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Ai,!1,2)}}Ntt.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";class Btt extends nu{constructor(){super({id:Btt.ID,label:rt(0,"Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(t,i,e){const{codePoint:s,reason:n,inString:o,inComment:r}=e,h=String.fromCodePoint(s),c=t.get(Ij),a=t.get(gd),l=[];if(0===n.kind)for(const t of n.notAmbiguousInLocales)l.push({label:rt(0,'Allow unicode characters that are more common in the language "{0}".',t),run:async()=>{Ptt(a,[t])}});if(l.push({label:function(t){return $o.isInvisibleCharacter(t)?rt(0,"Exclude {0} (invisible character) from being highlighted",Mtt(t)):rt(0,"Exclude {0} from being highlighted",`${Mtt(t)} "${h}"`)}(s),run:()=>async function(t,i){const e=t.getValue(Di);let s;s="object"==typeof e&&e?e:{};for(const t of i)s[String.fromCodePoint(t)]=!0;await t.updateValue(Di,s,2)}(a,[s])}),r){const t=new Rtt;l.push({label:t.label,run:async()=>t.runAction(a)})}else if(o){const t=new Ott;l.push({label:t.label,run:async()=>t.runAction(a)})}if(0===n.kind){const t=new Itt;l.push({label:t.label,run:async()=>t.runAction(a)})}else if(1===n.kind){const t=new _tt;l.push({label:t.label,run:async()=>t.runAction(a)})}else if(2===n.kind){const t=new Ntt;l.push({label:t.label,run:async()=>t.runAction(a)})}else!function(t){throw new Error(`Unexpected value: ${t}`)}(n);const u=await c.pick(l,{title:rt(0,"Configure Unicode Highlight Options")});u&&await u.run()}}async function Ptt(t,i){var e;const s=null===(e=t.inspect(Ti).user)||void 0===e?void 0:e.value;let n;n="object"==typeof s&&s?Object.assign({},s):{};for(const t of i)n[t]=!0;await t.updateValue(Ti,n,2)}Btt.ID="editor.action.unicodeHighlight.showExcludeOptions",au(Itt),au(_tt),au(Ntt),au(Btt),uu(Stt.ID,Stt,1),CX.register(Att);var $tt=function(t,i){return function(e,s){i(e,s,t)}};const Wtt="ignoreUnusualLineTerminators";let jtt=class extends ie{constructor(t,i,e){super(),this._editor=t,this._dialogService=i,this._codeEditorService=e,this._isPresentingDialog=!1,this._config=this._editor.getOption(125),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(125)&&(this._config=this._editor.getOption(125),this._checkForUnusualLineTerminators())}))),this._register(this._editor.onDidChangeModel((()=>{this._checkForUnusualLineTerminators()}))),this._register(this._editor.onDidChangeModelContent((t=>{t.isUndoing||this._checkForUnusualLineTerminators()}))),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if("off"===this._config)return;if(!this._editor.hasModel())return;const t=this._editor.getModel();if(!t.mightContainUnusualLineTerminators())return;const i=function(t,i){return t.getModelProperty(i.uri,Wtt)}(this._codeEditorService,t);if(!0===i)return;if(this._editor.getOption(90))return;if("auto"===this._config)return void t.removeUnusualLineTerminators(this._editor.getSelections());if(this._isPresentingDialog)return;let e;try{this._isPresentingDialog=!0,e=await this._dialogService.confirm({title:rt(0,"Unusual Line Terminators"),message:rt(0,"Detected unusual line terminators"),detail:rt(0,"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`.",yA(t.uri)),primaryButton:rt(0,"&&Remove Unusual Line Terminators"),cancelButton:rt(0,"Ignore")})}finally{this._isPresentingDialog=!1}e.confirmed?t.removeUnusualLineTerminators(this._editor.getSelections()):function(t,i){t.setModelProperty(i.uri,Wtt,!0)}(this._codeEditorService,t)}};jtt.ID="editor.contrib.unusualLineTerminatorsDetector",jtt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([$tt(1,YT),$tt(2,pr)],jtt),uu(jtt.ID,jtt,1);var ztt,Htt,Vtt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Utt=function(t,i){return function(e,s){i(e,s,t)}};const qtt=new ah("hasWordHighlights",!1);function Ktt(t,i,e,s){return dc(t.ordered(i).map((t=>()=>Promise.resolve(t.provideDocumentHighlights(i,e,s)).then(void 0,$i))),y).then((t=>{if(t){const e=new Hp;return e.set(i.uri,t),e}return new Hp}))}class Gtt{constructor(t,i,e){this._model=t,this._selection=i,this._wordSeparators=e,this._wordRange=this._getCurrentWordRange(t,i),this._result=null}get result(){return this._result||(this._result=oc((t=>this._compute(this._model,this._selection,this._wordSeparators,t)))),this._result}_getCurrentWordRange(t,i){const e=t.getWordAtPosition(i.getPosition());return e?new Ls(i.startLineNumber,e.startColumn,i.startLineNumber,e.endColumn):null}isValid(t,i,e){const s=i.startLineNumber,n=i.startColumn,o=i.endColumn,r=this._getCurrentWordRange(t,i);let h=Boolean(this._wordRange&&this._wordRange.equalsRange(r));for(let t=0,i=e.length;!h&&t=o&&(h=!0)}return h}cancel(){this.result.cancel()}}class Ztt extends Gtt{constructor(t,i,e,s){super(t,i,e),this._providers=s}_compute(t,i,e,s){return Ktt(this._providers,t,i.getPosition(),s).then((t=>t||new Hp))}}class Qtt extends Gtt{constructor(t,i,e,s,n){super(t,i,e),this._providers=s,this._otherModels=n}_compute(t,i,e,s){return function(t,i,e,s,n,o){return dc(t.ordered(i).map((t=>()=>{const s=o.filter((i=>tO(t.selector,i.uri,i.getLanguageId(),!0,void 0,void 0)>0));return Promise.resolve(t.provideMultiDocumentHighlights(i,e,s,n)).then(void 0,$i)})),(t=>t instanceof Hp&&t.size>0))}(this._providers,t,i.getPosition(),0,s,this._otherModels).then((t=>t||new Hp))}}class Jtt extends Gtt{constructor(t,i,e,s,n){super(t,i,s),this._otherModels=n,this._selectionIsEmpty=i.isEmpty(),this._word=e}_compute(t,i,e,s){return lc(250,s).then((()=>{const s=new Hp;let n;if(n=this._word?this._word:t.getWordAtPosition(i.getPosition()),!n)return new Hp;const o=[t,...this._otherModels];for(const t of o){if(t.isDisposed())continue;const i=t.findMatches(n.word,!0,!1,!0,e,!1).map((t=>({range:t.range,kind:zs.Text})));i&&s.set(t.uri,i)}return s}))}isValid(t,i,e){const s=i.isEmpty();return this._selectionIsEmpty===s&&super.isValid(t,i,e)}}hu("_executeDocumentHighlights",(async(t,i,e)=>{const s=t.get(Cg),n=await Ktt(s.documentHighlightProvider,i,e,xe.None);return null==n?void 0:n.get(i.uri)}));let Ytt=ztt=class{constructor(t,i,e,s,n){this.toUnhook=new te,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Hp,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=t,this.providers=i,this.multiDocumentProviders=e,this.codeEditorService=n,this._hasWordHighlights=qtt.bindTo(s),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(80),this.model=this.editor.getModel(),this.toUnhook.add(t.onDidChangeCursorPosition((t=>{this._ignorePositionChangeEvent||"off"!==this.occurrencesHighlight&&this._onPositionChanged(t)}))),this.toUnhook.add(t.onDidChangeModelContent((()=>{this._stopAll()}))),this.toUnhook.add(t.onDidChangeModel((t=>{!t.newModelUrl&&t.oldModelUrl?this._stopSingular():ztt.query&&this._run()}))),this.toUnhook.add(t.onDidChangeConfiguration((()=>{const t=this.editor.getOption(80);this.occurrencesHighlight!==t&&(this.occurrencesHighlight=t,this._stopAll())}))),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,ztt.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){"off"!==this.occurrencesHighlight&&this._run()}_getSortedHighlights(){return this.decorations.getRanges().sort(Ls.compareRangesUsingStarts)}moveNext(){const t=this._getSortedHighlights(),i=t.findIndex((t=>t.containsPosition(this.editor.getPosition()))),e=(i+1)%t.length,s=t[e];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(s.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(s);const i=this._getWord();i&&$m(`${this.editor.getModel().getLineContent(s.startLineNumber)}, ${e+1} of ${t.length} for '${i.word}'`)}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const t=this._getSortedHighlights(),i=t.findIndex((t=>t.containsPosition(this.editor.getPosition()))),e=(i-1+t.length)%t.length,s=t[e];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(s.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(s);const i=this._getWord();i&&$m(`${this.editor.getModel().getLineContent(s.startLineNumber)}, ${e+1} of ${t.length} for '${i.word}'`)}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const t=ztt.storedDecorations.get(this.editor.getModel().uri);t&&(this.editor.removeDecorations(t),ztt.storedDecorations.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(){const t=this.codeEditorService.listCodeEditors();for(const i of t){if(!i.hasModel())continue;const t=ztt.storedDecorations.get(i.getModel().uri);if(!t)continue;i.removeDecorations(t),ztt.storedDecorations.delete(i.getModel().uri);const e=Xtt.get(i);(null==e?void 0:e.wordHighlighter)&&e.wordHighlighter.decorations.length>0&&(e.wordHighlighter.decorations.clear(),e.wordHighlighter._hasWordHighlights.set(!1))}}_stopSingular(){var t,i,e,s;this._removeSingleDecorations(),this.editor.hasWidgetFocus()&&((null===(t=this.editor.getModel())||void 0===t?void 0:t.uri.scheme)!==xa.vscodeNotebookCell&&(null===(e=null===(i=ztt.query)||void 0===i?void 0:i.modelInfo)||void 0===e?void 0:e.model.uri.scheme)!==xa.vscodeNotebookCell?(ztt.query=null,this._run()):(null===(s=ztt.query)||void 0===s?void 0:s.modelInfo)&&(ztt.query.modelInfo=null)),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(){this._removeAllDecorations(),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(t){var i;"off"===this.occurrencesHighlight||3!==t.reason&&(null===(i=this.editor.getModel())||void 0===i?void 0:i.uri.scheme)!==xa.vscodeNotebookCell?this._stopAll():this._run()}_getWord(){const t=this.editor.getSelection(),i=t.startLineNumber,e=t.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:i,column:e})}getOtherModelsToHighlight(t){if(!t)return[];if(t.uri.scheme===xa.vscodeNotebookCell){const i=[],e=this.codeEditorService.listCodeEditors();for(const s of e){const e=s.getModel();e&&e!==t&&e.uri.scheme===xa.vscodeNotebookCell&&i.push(e)}return i}const i=[],e=this.codeEditorService.listCodeEditors();for(const s of e){if(!AK(s))continue;const e=s.getModel();e&&t===e.modified&&i.push(e.modified)}if(i.length)return i;if("singleFile"===this.occurrencesHighlight)return[];for(const s of e){const e=s.getModel();e&&e!==t&&i.push(e)}return i}_run(){var t,i;let e;if(this.editor.hasWidgetFocus()){const t=this.editor.getSelection();if(!t||t.startLineNumber!==t.endLineNumber)return void this._stopAll();const i=t.startColumn,s=t.endColumn,n=this._getWord();if(!n||n.startColumn>i||n.endColumn{e===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=t||[],this._beginRenderDecorations())}),Pi)}}computeWithModel(t,i,e,s){return s.length?function(t,i,e,s,n,o){return t.has(i)?new Qtt(i,e,n,t,o):new Jtt(i,e,s,n,o)}(this.multiDocumentProviders,t,i,e,this.editor.getOption(129),s):function(t,i,e,s,n){return t.has(i)?new Ztt(i,e,n,t):new Jtt(i,e,s,n,[])}(this.providers,t,i,e,this.editor.getOption(129))}_beginRenderDecorations(){const t=(new Date).getTime(),i=this.lastCursorPositionChangeTime+250;t>=i?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout((()=>{this.renderDecorations()}),i-t)}renderDecorations(){var t,i,e;this.renderDecorationsTimer=-1;const s=this.codeEditorService.listCodeEditors();for(const o of s){const s=Xtt.get(o);if(!s)continue;const r=[],h=null===(t=o.getModel())||void 0===t?void 0:t.uri;if(h&&this.workerRequestValue.has(h)){const t=ztt.storedDecorations.get(h),c=this.workerRequestValue.get(h);if(c)for(const t of c)r.push({range:t.range,options:(n=t.kind,n===zs.Write?C7:n===zs.Text?S7:A7)});let a=[];o.changeDecorations((i=>{a=i.deltaDecorations(null!=t?t:[],r)})),ztt.storedDecorations=ztt.storedDecorations.set(h,a),r.length>0&&(null===(i=s.wordHighlighter)||void 0===i||i.decorations.set(r),null===(e=s.wordHighlighter)||void 0===e||e._hasWordHighlights.set(!0))}}var n}dispose(){this._stopSingular(),this.toUnhook.dispose()}};Ytt.storedDecorations=new Hp,Ytt.query=null,Ytt=ztt=Vtt([Utt(4,pr)],Ytt);let Xtt=Htt=class extends ie{static get(t){return t.getContribution(Htt.ID)}constructor(t,i,e,s){super(),this._wordHighlighter=null;const n=()=>{t.hasModel()&&!t.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new Ytt(t,e.documentHighlightProvider,e.multiDocumentHighlightProvider,i,s))};this._register(t.onDidChangeModel((()=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),n()}))),n()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!(!this._wordHighlighter||!this._wordHighlighter.hasDecorations())}moveNext(){var t;null===(t=this._wordHighlighter)||void 0===t||t.moveNext()}moveBack(){var t;null===(t=this._wordHighlighter)||void 0===t||t.moveBack()}restoreViewState(t){this._wordHighlighter&&t&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}};Xtt.ID="editor.contrib.wordHighlighter",Xtt=Htt=Vtt([Utt(1,lh),Utt(2,Cg),Utt(3,pr)],Xtt);class tit extends nu{constructor(t,i){super(i),this._isNext=t}run(t,i){const e=Xtt.get(i);e&&(this._isNext?e.moveNext():e.moveBack())}}uu(Xtt.ID,Xtt,0),au(class extends tit{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:rt(0,"Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:qtt,kbOpts:{kbExpr:XC.editorTextFocus,primary:65,weight:100}})}}),au(class extends tit{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:rt(0,"Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:qtt,kbOpts:{kbExpr:XC.editorTextFocus,primary:1089,weight:100}})}}),au(class extends nu{constructor(){super({id:"editor.action.wordHighlight.trigger",label:rt(0,"Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:qtt.toNegated(),kbOpts:{kbExpr:XC.editorTextFocus,primary:0,weight:100}})}run(t,i,e){const s=Xtt.get(i);s&&s.restoreViewState(!0)}});class iit extends su{constructor(t){super(t),this._inSelectionMode=t.inSelectionMode,this._wordNavigationType=t.wordNavigationType}runEditorCommand(t,i,e){if(!i.hasModel())return;const s=_f(i.getOption(129)),n=i.getModel(),o=i.getSelections().map((t=>{const i=new Ms(t.positionLineNumber,t.positionColumn),e=this._move(s,n,i,this._wordNavigationType);return this._moveTo(t,e,this._inSelectionMode)}));if(n.pushStackElement(),i._getViewModel().setCursorStates("moveWordCommand",3,o.map((t=>mC.fromModelSelection(t)))),1===o.length){const t=new Ms(o[0].positionLineNumber,o[0].positionColumn);i.revealPosition(t,0)}}_moveTo(t,i,e){return e?new Fs(t.selectionStartLineNumber,t.selectionStartColumn,i.lineNumber,i.column):new Fs(i.lineNumber,i.column,i.lineNumber,i.column)}}class eit extends iit{_move(t,i,e,s){return TC.moveWordLeft(t,i,e,s)}}class sit extends iit{_move(t,i,e,s){return TC.moveWordRight(t,i,e,s)}}class nit extends su{constructor(t){super(t),this._whitespaceHeuristics=t.whitespaceHeuristics,this._wordNavigationType=t.wordNavigationType}runEditorCommand(t,i,e){const s=t.get(tf);if(!i.hasModel())return;const n=_f(i.getOption(129)),o=i.getModel(),r=i.getSelections(),h=i.getOption(6),c=i.getOption(11),a=s.getLanguageConfiguration(o.getLanguageId()).getAutoClosingPairs(),l=i._getViewModel(),u=r.map((t=>{const e=this._delete({wordSeparators:n,model:o,selection:t,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:i.getOption(9),autoClosingBrackets:h,autoClosingQuotes:c,autoClosingPairs:a,autoClosedCharacters:l.getCursorAutoClosedCharacters()},this._wordNavigationType);return new CC(e,"")}));i.pushUndoStop(),i.executeCommands(this.id,u),i.pushUndoStop()}}class oit extends nit{_delete(t,i){return TC.deleteWordLeft(t,i)||new Ls(1,1,1,1)}}class rit extends nit{_delete(t,i){const e=TC.deleteWordRight(t,i);if(e)return e;const s=t.model.getLineCount(),n=t.model.getLineMaxColumn(s);return new Ls(s,n,s,n)}}cu(new class extends eit{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}),cu(new class extends eit{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}),cu(new class extends eit{constructor(){var t;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:Hr.and(XC.textInputFocus,null===(t=Hr.and(Jm,yW))||void 0===t?void 0:t.negate()),primary:2063,mac:{primary:527},weight:100}})}}),cu(new class extends eit{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}),cu(new class extends eit{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}),cu(new class extends eit{constructor(){var t;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:Hr.and(XC.textInputFocus,null===(t=Hr.and(Jm,yW))||void 0===t?void 0:t.negate()),primary:3087,mac:{primary:1551},weight:100}})}}),cu(new class extends sit{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}),cu(new class extends sit{constructor(){var t;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:Hr.and(XC.textInputFocus,null===(t=Hr.and(Jm,yW))||void 0===t?void 0:t.negate()),primary:2065,mac:{primary:529},weight:100}})}}),cu(new class extends sit{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}),cu(new class extends sit{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}),cu(new class extends sit{constructor(){var t;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:Hr.and(XC.textInputFocus,null===(t=Hr.and(Jm,yW))||void 0===t?void 0:t.negate()),primary:3089,mac:{primary:1553},weight:100}})}}),cu(new class extends sit{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}),cu(new class extends eit{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(t,i,e,s){return super._move(_f(Ni.wordSeparators.defaultValue),i,e,s)}}),cu(new class extends eit{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(t,i,e,s){return super._move(_f(Ni.wordSeparators.defaultValue),i,e,s)}}),cu(new class extends sit{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(t,i,e,s){return super._move(_f(Ni.wordSeparators.defaultValue),i,e,s)}}),cu(new class extends sit{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(t,i,e,s){return super._move(_f(Ni.wordSeparators.defaultValue),i,e,s)}}),cu(new class extends oit{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:XC.writable})}}),cu(new class extends oit{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:XC.writable})}}),cu(new class extends oit{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:XC.writable,kbOpts:{kbExpr:XC.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}),cu(new class extends rit{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:XC.writable})}}),cu(new class extends rit{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:XC.writable})}}),cu(new class extends rit{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:XC.writable,kbOpts:{kbExpr:XC.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}),au(class extends nu{constructor(){super({id:"deleteInsideWord",precondition:XC.writable,label:rt(0,"Delete Word"),alias:"Delete Word"})}run(t,i,e){if(!i.hasModel())return;const s=_f(i.getOption(129)),n=i.getModel(),o=i.getSelections().map((t=>{const i=TC.deleteInsideWord(s,n,t);return new CC(i,"")}));i.pushUndoStop(),i.executeCommands(this.id,o),i.pushUndoStop()}});class hit extends iit{_move(t,i,e,s){return RC.moveWordPartLeft(t,i,e)}}Er.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft"),Er.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class cit extends iit{_move(t,i,e,s){return RC.moveWordPartRight(t,i,e)}}cu(new class extends nit{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:XC.writable,kbOpts:{kbExpr:XC.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(t,i){return RC.deleteWordPartLeft(t)||new Ls(1,1,1,1)}}),cu(new class extends nit{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:XC.writable,kbOpts:{kbExpr:XC.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(t,i){const e=RC.deleteWordPartRight(t);if(e)return e;const s=t.model.getLineCount(),n=t.model.getLineMaxColumn(s);return new Ls(s,n,s,n)}}),cu(new class extends hit{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:XC.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}),cu(new class extends hit{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:XC.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}),cu(new class extends cit{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:XC.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}),cu(new class extends cit{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:XC.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}});class ait extends ie{constructor(t){super(),this.editor=t,this._register(this.editor.onDidAttemptReadOnlyEdit((()=>this._onDidAttemptReadOnlyEdit())))}_onDidAttemptReadOnlyEdit(){const t=mQ.get(this.editor);if(t&&this.editor.hasModel()){let i=this.editor.getOptions().get(91);i||(i=new B_(rt(0,this.editor.isSimpleWidget?"Cannot edit in read-only input":"Cannot edit in read-only editor"))),t.showMessage(i,this.editor.getPosition())}}}ait.ID="editor.contrib.readOnlyMessageController",uu(ait.ID,ait,2);class lit extends ie{constructor(t){super(),this.editor=t,this.widget=null,Lt&&(this._register(t.onDidChangeConfiguration((()=>this.update()))),this.update())}update(){const t=!this.editor.getOption(90);!this.widget&&t?this.widget=new uit(this.editor):this.widget&&!t&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}lit.ID="editor.contrib.iPadShowKeyboard";class uit extends ie{constructor(t){super(),this.editor=t,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Ua(this._domNode,"touchstart",(()=>{this.editor.focus()}))),this._register(Ua(this._domNode,"focus",(()=>{this.editor.focus()}))),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return uit.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}uit.ID="editor.contrib.ShowKeyboardWidget",uu(lit.ID,lit,3);var dit,fit=function(t,i){return function(e,s){i(e,s,t)}};let pit=dit=class extends ie{static get(t){return t.getContribution(dit.ID)}constructor(t,i,e){super(),this._editor=t,this._languageService=e,this._widget=null,this._register(this._editor.onDidChangeModel((()=>this.stop()))),this._register(this._editor.onDidChangeModelLanguage((()=>this.stop()))),this._register(Qs.onDidChange((()=>this.stop()))),this._register(this._editor.onKeyUp((t=>9===t.keyCode&&this.stop())))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new git(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};pit.ID="editor.contrib.inspectTokens",pit=dit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([fit(1,hH),fit(2,kd)],pit);class git extends ie{constructor(t,i){super(),this.allowEditorOverflow=!0,this._editor=t,this._languageService=i,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=function(t,i){const e=Qs.get(i);if(e)return e;const s=t.encodeLanguageId(i);return{getInitialState:()=>_g,tokenize:(t,e,s)=>Ng(i,s),tokenizeEncoded:(t,i,e)=>Bg(s,e)}}(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition((()=>this._compute(this._editor.getPosition())))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return git._ID}_compute(t){const i=this._getTokensAtLine(t.lineNumber);let e=0;for(let s=i.tokens1.length-1;s>=0;s--)if(t.column-1>=i.tokens1[s].offset){e=s;break}let s=0;for(let e=i.tokens2.length>>>1;e>=0;e--)if(t.column-1>=i.tokens2[e<<1]){s=e;break}const n=this._model.getLineContent(t.lineNumber);let o="";e{const[i]=t.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})}))),i.add(t.onDidChangeValue((t=>{const i=this.registry.getQuickAccessProvider(t.substr(mit.PREFIX.length));i&&i.prefix&&i.prefix!==mit.PREFIX&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})}))),t.items=this.getQuickAccessProviders().filter((t=>t.prefix!==mit.PREFIX)),i}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort(((t,i)=>t.prefix.localeCompare(i.prefix))).flatMap((t=>this.createPicks(t)))}createPicks(t){return t.helpEntries.map((i=>{const e=i.prefix||t.prefix,s=e||"…";return{prefix:e,label:s,keybinding:i.commandId?this.keybindingService.lookupKeybinding(i.commandId):void 0,ariaLabel:rt(0,"{0}, {1}",s,i.description),description:i.description}}))}};vit.PREFIX="?",vit=mit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([wit(0,Ij),wit(1,rC)],vit),Eh.as(Fj).registerQuickAccessProvider({ctor:vit,prefix:"",helpEntries:[{description:sI.helpQuickAccessActionLabel}]});class bit{constructor(t){this.options=t,this.rangeHighlightDecorationId=void 0}provide(t,i){var e;const s=new te;t.canAcceptInBackground=!!(null===(e=this.options)||void 0===e?void 0:e.canAcceptInBackground),t.matchOnLabel=t.matchOnDescription=t.matchOnDetail=t.sortByLabel=!1;const n=s.add(new ee);return n.value=this.doProvide(t,i),s.add(this.onDidActiveTextEditorControlChange((()=>{n.value=void 0,n.value=this.doProvide(t,i)}))),s}doProvide(t,i){var e;const s=new te,n=this.activeTextEditorControl;if(n&&this.canProvideWithTextEditor(n)){const o={editor:n},r=MK(n);if(r){let t=null!==(e=n.saveViewState())&&void 0!==e?e:void 0;s.add(r.onDidChangeCursorPosition((()=>{var i;t=null!==(i=n.saveViewState())&&void 0!==i?i:void 0}))),o.restoreViewState=()=>{t&&n===this.activeTextEditorControl&&n.restoreViewState(t)},s.add(Zi(i.onCancellationRequested)((()=>{var t;return null===(t=o.restoreViewState)||void 0===t?void 0:t.call(o)})))}s.add(Xi((()=>this.clearDecorations(n)))),s.add(this.provideWithTextEditor(o,t,i))}else s.add(this.provideWithoutTextEditor(t,i));return s}canProvideWithTextEditor(t){return!0}gotoLocation({editor:t},i){t.setSelection(i.range),t.revealRangeInCenter(i.range,0),i.preserveFocus||t.focus();const e=t.getModel();e&&"getLineContent"in e&&Wm(`${e.getLineContent(i.range.startLineNumber)}`)}getModel(t){var i;return AK(t)?null===(i=t.getModel())||void 0===i?void 0:i.modified:t.getModel()}addDecorations(t,i){t.changeDecorations((t=>{const e=[];this.rangeHighlightDecorationId&&(e.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),e.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const s=[{range:i,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:i,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:ix(Ox),position:Nf.Full}}}],[n,o]=t.deltaDecorations(e,s);this.rangeHighlightDecorationId={rangeHighlightId:n,overviewRulerDecorationId:o}}))}clearDecorations(t){const i=this.rangeHighlightDecorationId;i&&(t.changeDecorations((t=>{t.deltaDecorations([i.overviewRulerDecorationId,i.rangeHighlightId],[])})),this.rangeHighlightDecorationId=void 0)}}class yit extends bit{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(t){const i=rt(0,"Open a text editor first to go to a line.");return t.items=[{label:i}],t.ariaLabel=i,ie.None}provideWithTextEditor(t,i,e){const s=t.editor,n=new te;n.add(i.onDidAccept((e=>{const[n]=i.selectedItems;if(n){if(!this.isValidLineNumber(s,n.lineNumber))return;this.gotoLocation(t,{range:this.toRange(n.lineNumber,n.column),keyMods:i.keyMods,preserveFocus:e.inBackground}),e.inBackground||i.hide()}})));const o=()=>{const t=this.parsePosition(s,i.value.trim().substr(yit.PREFIX.length)),e=this.getPickLabel(s,t.lineNumber,t.column);if(i.items=[{lineNumber:t.lineNumber,column:t.column,label:e}],i.ariaLabel=e,!this.isValidLineNumber(s,t.lineNumber))return void this.clearDecorations(s);const n=this.toRange(t.lineNumber,t.column);s.revealRangeInCenter(n,0),this.addDecorations(s,n)};o(),n.add(i.onDidChangeValue((()=>o())));const r=MK(s);return r&&2===r.getOptions().get(67).renderType&&(r.updateOptions({lineNumbers:"on"}),n.add(Xi((()=>r.updateOptions({lineNumbers:"relative"}))))),n}toRange(t=1,i=1){return{startLineNumber:t,startColumn:i,endLineNumber:t,endColumn:i}}parsePosition(t,i){const e=i.split(/,|:|#/).map((t=>parseInt(t,10))).filter((t=>!isNaN(t))),s=this.lineCount(t)+1;return{lineNumber:e[0]>0?e[0]:s+e[0],column:e[1]}}getPickLabel(t,i,e){if(this.isValidLineNumber(t,i))return this.isValidColumn(t,i,e)?rt(0,"Go to line {0} and character {1}.",i,e):rt(0,"Go to line {0}.",i);const s=t.getPosition()||{lineNumber:1,column:1},n=this.lineCount(t);return n>1?rt(0,"Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",s.lineNumber,s.column,n):rt(0,"Current Line: {0}, Character: {1}. Type a line number to navigate to.",s.lineNumber,s.column)}isValidLineNumber(t,i){return!(!i||"number"!=typeof i)&&i>0&&i<=this.lineCount(t)}isValidColumn(t,i,e){if(!e||"number"!=typeof e)return!1;const s=this.getModel(t);if(!s)return!1;const n={lineNumber:i,column:e};return s.validatePosition(n).equals(n)}lineCount(t){var i,e;return null!==(e=null===(i=this.getModel(t))||void 0===i?void 0:i.getLineCount())&&void 0!==e?e:0}}yit.PREFIX=":";let kit=class extends yit{constructor(t){super(),this.editorService=t,this.onDidActiveTextEditorControlChange=ce.None}get activeTextEditorControl(){var t;return null!==(t=this.editorService.getFocusedCodeEditor())&&void 0!==t?t:void 0}};kit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,pr)],kit);class xit extends nu{constructor(){super({id:xit.ID,label:eI.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:2085,mac:{primary:293},weight:100}})}run(t){t.get(Ij).quickAccess.show(kit.PREFIX)}}xit.ID="editor.action.gotoLine",au(xit),Eh.as(Fj).registerQuickAccessProvider({ctor:kit,prefix:kit.PREFIX,helpEntries:[{description:eI.gotoLineActionLabel,commandId:xit.ID}]});const Cit=[void 0,[]];function Sit(t,i,e=0,s=0){return i.values&&i.values.length>1?function(t,i,e,s){let n=0;const o=[];for(const r of i){const[i,h]=Dit(t,r,e,s);if("number"!=typeof i)return Cit;n+=i,o.push(...h)}return[n,Eit(o)]}(t,i.values,e,s):Dit(t,i,e,s)}function Dit(t,i,e,s){const n=D_(i.original,i.originalLowercase,e,t,t.toLowerCase(),s,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],u_(n)]:Cit}function Eit(t){const i=t.sort(((t,i)=>t.start-i.start)),e=[];let s;for(const t of i)!s||((n=s).end<(o=t).start||o.end=0,r=Ait(t);let h;const c=t.split(Mit);if(c.length>1)for(const t of c){const i=Ait(t),{pathNormalized:e,normalized:s,normalizedLowercase:n}=Fit(t);s&&(h||(h=[]),h.push({original:t,originalLowercase:t.toLowerCase(),pathNormalized:e,normalized:s,normalizedLowercase:n,expectContiguousMatch:i}))}return{original:t,originalLowercase:i,pathNormalized:e,normalized:s,normalizedLowercase:n,values:h,containsPathSeparator:o,expectContiguousMatch:r}}function Fit(t){let i;i=t.replace(Ct?/\//g:/\\/g,ls);const e=(s=i,s.replace(/\*/g,"")).replace(/\s|"/g,"");var s;return{pathNormalized:i,normalized:e,normalizedLowercase:e.toLowerCase()}}function Tit(t){return Array.isArray(t)?Lit(t.map((t=>t.original)).join(Mit)):Lit(t.original)}var Rit,Oit=function(t,i){return function(e,s){i(e,s,t)}};let Iit=Rit=class extends bit{constructor(t,i,e=Object.create(null)){super(e),this._languageFeaturesService=t,this._outlineModelService=i,this.options=e,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(t){return this.provideLabelPick(t,rt(0,"To go to a symbol, first open a text editor with symbol information.")),ie.None}provideWithTextEditor(t,i,e){const s=this.getModel(t.editor);return s?this._languageFeaturesService.documentSymbolProvider.has(s)?this.doProvideWithEditorSymbols(t,s,i,e):this.doProvideWithoutEditorSymbols(t,s,i,e):ie.None}doProvideWithoutEditorSymbols(t,i,e,s){const n=new te;return this.provideLabelPick(e,rt(0,"The active text editor does not provide symbol information.")),(async()=>{await this.waitForLanguageSymbolRegistry(i,n)&&!s.isCancellationRequested&&n.add(this.doProvideWithEditorSymbols(t,i,e,s))})(),n}provideLabelPick(t,i){t.items=[{label:i,index:0,kind:14}],t.ariaLabel=i}async waitForLanguageSymbolRegistry(t,i){if(this._languageFeaturesService.documentSymbolProvider.has(t))return!0;const e=new yc,s=i.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>{this._languageFeaturesService.documentSymbolProvider.has(t)&&(s.dispose(),e.complete(!0))})));return i.add(Xi((()=>e.complete(!1)))),e.p}doProvideWithEditorSymbols(t,i,e,s){var n;const o=t.editor,r=new te;r.add(e.onDidAccept((i=>{const[s]=e.selectedItems;s&&s.range&&(this.gotoLocation(t,{range:s.range.selection,keyMods:e.keyMods,preserveFocus:i.inBackground}),i.inBackground||e.hide())}))),r.add(e.onDidTriggerItemButton((({item:i})=>{i&&i.range&&(this.gotoLocation(t,{range:i.range.selection,keyMods:e.keyMods,forceSideBySide:!0}),e.hide())})));const h=this.getDocumentSymbols(i,s);let c;const a=async t=>{null==c||c.dispose(!0),e.busy=!1,c=new Se(s),e.busy=!0;try{const i=Lit(e.value.substr(Rit.PREFIX.length).trim()),n=await this.doGetSymbolPicks(h,i,void 0,c.token);if(s.isCancellationRequested)return;if(n.length>0){if(e.items=n,t&&0===i.original.length){const i=hp(n,(i=>Boolean("separator"!==i.type&&i.range&&Ls.containsPosition(i.range.decoration,t))));i&&(e.activeItems=[i])}}else this.provideLabelPick(e,rt(0,i.original.length>0?"No matching editor symbols":"No editor symbols"))}finally{s.isCancellationRequested||(e.busy=!1)}};return r.add(e.onDidChangeValue((()=>a(void 0)))),a(null===(n=o.getSelection())||void 0===n?void 0:n.getPosition()),r.add(e.onDidChangeActive((()=>{const[t]=e.activeItems;t&&t.range&&(o.revealRangeInCenter(t.range.selection,0),this.addDecorations(o,t.range.decoration))}))),r}async doGetSymbolPicks(t,i,e,s){var n,o;const r=await t;if(s.isCancellationRequested)return[];const h=0===i.original.indexOf(Rit.SCOPE_PREFIX),c=h?1:0;let a,l,u;i.values&&i.values.length>1?(a=Tit(i.values[0]),l=Tit(i.values.slice(1))):a=i;const d=null===(o=null===(n=this.options)||void 0===n?void 0:n.openSideBySideDirection)||void 0===o?void 0:o.call(n);d&&(u=[{iconClass:Sr.asClassName("right"===d?Is.splitHorizontal:Is.splitVertical),tooltip:rt(0,"right"===d?"Open to the Side":"Open to the Bottom")}]);const f=[];for(let v=0;vc){let L=!1;if(a!==i&&([C,S]=Sit(k,{...i,values:void 0},c,x),"number"==typeof C&&(L=!0)),"number"!=typeof C&&([C,S]=Sit(k,a,c,x),"number"!=typeof C))continue;if(!L&&l){if(A&&l.original.length>0&&([D,E]=Sit(A,l)),"number"!=typeof D)continue;"number"==typeof C&&(C+=D)}}const M=b.tags&&b.tags.indexOf(1)>=0;f.push({index:v,kind:b.kind,score:C,label:k,ariaLabel:(p=b.name,g=b.kind,rt(0,"{0} ({1})",p,Vs[g])),description:A,highlights:M?void 0:{label:S,description:E},range:{selection:Ls.collapseToStart(b.selectionRange),decoration:b.range},strikethrough:M,buttons:u})}var p,g;const m=f.sort(((t,i)=>h?this.compareByKindAndScore(t,i):this.compareByScore(t,i)));let w=[];if(h){let F,T,R=0;function O(){T&&"number"==typeof F&&R>0&&(T.label=Kn(Nit[F]||_it,R))}for(const I of m)F!==I.kind?(O(),F=I.kind,R=1,T={type:"separator"},w.push(T)):R++,w.push(I);O()}else m.length>0&&(w=[{label:rt(0,"symbols ({0})",f.length),type:"separator"},...m]);return w}compareByScore(t,i){if("number"!=typeof t.score&&"number"==typeof i.score)return 1;if("number"==typeof t.score&&"number"!=typeof i.score)return-1;if("number"==typeof t.score&&"number"==typeof i.score){if(t.score>i.score)return-1;if(t.scorei.index?1:0}compareByKindAndScore(t,i){const e=(Nit[t.kind]||_it).localeCompare(Nit[i.kind]||_it);return 0===e?this.compareByScore(t,i):e}async getDocumentSymbols(t,i){const e=await this._outlineModelService.getOrCreate(t,i);return i.isCancellationRequested?[]:e.asListOfDocumentSymbols()}};Iit.PREFIX="@",Iit.SCOPE_PREFIX=":",Iit.PREFIX_BY_CATEGORY=`${Rit.PREFIX}${Rit.SCOPE_PREFIX}`,Iit=Rit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Oit(0,Cg),Oit(1,T5)],Iit);const _it=rt(0,"properties ({0})"),Nit={5:rt(0,"methods ({0})"),11:rt(0,"functions ({0})"),8:rt(0,"constructors ({0})"),12:rt(0,"variables ({0})"),4:rt(0,"classes ({0})"),22:rt(0,"structs ({0})"),23:rt(0,"events ({0})"),24:rt(0,"operators ({0})"),10:rt(0,"interfaces ({0})"),2:rt(0,"namespaces ({0})"),3:rt(0,"packages ({0})"),25:rt(0,"type parameters ({0})"),1:rt(0,"modules ({0})"),6:rt(0,"properties ({0})"),9:rt(0,"enumerations ({0})"),21:rt(0,"enumeration members ({0})"),14:rt(0,"strings ({0})"),0:rt(0,"files ({0})"),17:rt(0,"arrays ({0})"),15:rt(0,"numbers ({0})"),16:rt(0,"booleans ({0})"),18:rt(0,"objects ({0})"),19:rt(0,"keys ({0})"),7:rt(0,"fields ({0})"),13:rt(0,"constants ({0})")};var Bit=function(t,i){return function(e,s){i(e,s,t)}};let Pit=class extends Iit{constructor(t,i,e){super(i,e),this.editorService=t,this.onDidActiveTextEditorControlChange=ce.None}get activeTextEditorControl(){var t;return null!==(t=this.editorService.getFocusedCodeEditor())&&void 0!==t?t:void 0}};Pit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Bit(0,pr),Bit(1,Cg),Bit(2,T5)],Pit);class $it extends nu{constructor(){super({id:$it.ID,label:oI.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:XC.hasDocumentSymbolProvider,kbOpts:{kbExpr:XC.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(t){t.get(Ij).quickAccess.show(Iit.PREFIX,{itemActivation:Oj.NONE})}}function Wit(t,i){return i&&(t.stack||t.stacktrace)?rt(0,"{0}: {1}",zit(t),jit(t.stack)||jit(t.stacktrace)):zit(t)}function jit(t){return Array.isArray(t)?t.join("\n"):t}function zit(t){return"ERR_UNC_HOST_NOT_ALLOWED"===t.code?`${t.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:"string"==typeof t.code&&"number"==typeof t.errno&&"string"==typeof t.syscall?rt(0,"A system error occurred ({0})",t.message):t.message||rt(0,"An unknown error occurred. Please consult the log for more details.")}function Hit(t=null,i=!1){if(!t)return rt(0,"An unknown error occurred. Please consult the log for more details.");if(Array.isArray(t)){const e=w(t),s=Hit(e[0],i);return e.length>1?rt(0,"{0} ({1} errors in total)",s,e.length):s}if(P(t))return t;if(t.detail){const e=t.detail;if(e.error)return Wit(e.error,i);if(e.exception)return Wit(e.exception,i)}return t.stack?Wit(t,i):t.message?t.message:rt(0,"An unknown error occurred. Please consult the log for more details.")}$it.ID="editor.action.quickOutline",au($it),Eh.as(Fj).registerQuickAccessProvider({ctor:Pit,prefix:Iit.PREFIX,helpEntries:[{description:oI.quickOutlineActionLabel,prefix:Iit.PREFIX,commandId:$it.ID},{description:oI.quickOutlineByCategoryActionLabel,prefix:Iit.PREFIX_BY_CATEGORY}]});class Vit{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(t,i){const e=this.computeEmbedding(t),s=new Map,n=[];for(const[t,o]of this.documents){if(i.isCancellationRequested)return[];for(const i of o.chunks){const o=this.computeSimilarityScore(i,e,s);o>0&&n.push({key:t,score:o})}}return n}static termFrequencies(t){return function(t){var i;const e=new Map;for(const s of t)e.set(s,(null!==(i=e.get(s))&&void 0!==i?i:0)+1);return e}(Vit.splitTerms(t))}static*splitTerms(t){const i=t=>t.toLowerCase();for(const[e]of t.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)){yield i(e);const t=e.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(t.length>1)for(const e of t)e.length>2&&/\p{Letter}{3,}/gu.test(e)&&(yield i(e))}}updateDocuments(t){var i;for(const{key:i}of t)this.deleteDocument(i);for(const e of t){const t=[];for(const s of e.textChunks){const e=Vit.termFrequencies(s);for(const t of e.keys())this.chunkOccurrences.set(t,(null!==(i=this.chunkOccurrences.get(t))&&void 0!==i?i:0)+1);t.push({text:s,tf:e})}this.chunkCount+=t.length,this.documents.set(e.key,{chunks:t})}return this}deleteDocument(t){const i=this.documents.get(t);if(i){this.documents.delete(t),this.chunkCount-=i.chunks.length;for(const t of i.chunks)for(const i of t.tf.keys()){const t=this.chunkOccurrences.get(i);if("number"==typeof t){const e=t-1;e<=0?this.chunkOccurrences.delete(i):this.chunkOccurrences.set(i,e)}}}}computeSimilarityScore(t,i,e){let s=0;for(const[n,o]of Object.entries(i)){const i=t.tf.get(n);if(!i)continue;let r=e.get(n);"number"!=typeof r&&(r=this.computeIdf(n),e.set(n,r)),s+=i*r*o}return s}computeEmbedding(t){const i=Vit.termFrequencies(t);return this.computeTfidf(i)}computeIdf(t){var i;const e=null!==(i=this.chunkOccurrences.get(t))&&void 0!==i?i:0;return e>0?Math.log((this.chunkCount+1)/e):0}computeTfidf(t){const i=Object.create(null);for(const[e,s]of t){const t=this.computeIdf(e);t>0&&(i[e]=s*t)}return i}}var Uit;function qit(t){return Array.isArray(t.items)}function Kit(t){return!!t.picks&&t.additionalPicks instanceof Promise}!function(t){t[t.NO_ACTION=0]="NO_ACTION",t[t.CLOSE_PICKER=1]="CLOSE_PICKER",t[t.REFRESH_PICKER=2]="REFRESH_PICKER",t[t.REMOVE_ITEM=3]="REMOVE_ITEM"}(Uit||(Uit={}));class Git extends ie{constructor(t,i){super(),this.prefix=t,this.options=i}provide(t,i,e){var s;const n=new te;let o;t.canAcceptInBackground=!!(null===(s=this.options)||void 0===s?void 0:s.canAcceptInBackground),t.matchOnLabel=t.matchOnDescription=t.matchOnDetail=t.sortByLabel=!1;const r=n.add(new ee),h=async()=>{const s=r.value=new te;null==o||o.dispose(!0),t.busy=!1,o=new Se(i);const n=o.token,h=t.value.substr(this.prefix.length).trim(),c=this._getPicks(h,s,n,e),a=(i,e)=>{var s;let n,o;if(qit(i)?(n=i.items,o=i.active):n=i,0===n.length){if(e)return!1;(h.length>0||t.hideInput)&&(null===(s=this.options)||void 0===s?void 0:s.noResultsPick)&&(n=Z(this.options.noResultsPick)?[this.options.noResultsPick(h)]:[this.options.noResultsPick])}return t.items=n,o&&(t.activeItems=[o]),!0},l=async i=>{let e=!1,s=!1;await Promise.all([(async()=>{"number"==typeof i.mergeDelay&&(await lc(i.mergeDelay),n.isCancellationRequested)||s||(e=a(i.picks,!0))})(),(async()=>{t.busy=!0;try{const s=await i.additionalPicks;if(n.isCancellationRequested)return;let o,r,h,c;if(qit(i.picks)?(o=i.picks.items,r=i.picks.active):o=i.picks,qit(s)?(h=s.items,c=s.active):h=s,h.length>0||!e){let i;if(!r&&!c){const e=t.activeItems[0];e&&-1!==o.indexOf(e)&&(i=e)}a({items:[...o,...h],active:r||c||i})}}finally{n.isCancellationRequested||(t.busy=!1),s=!0}})()])};if(null===c);else if(Kit(c))await l(c);else if(c instanceof Promise){t.busy=!0;try{const t=await c;if(n.isCancellationRequested)return;Kit(t)?await l(t):a(t)}finally{n.isCancellationRequested||(t.busy=!1)}}else a(c)};return n.add(t.onDidChangeValue((()=>h()))),h(),n.add(t.onDidAccept((i=>{const[e]=t.selectedItems;"function"==typeof(null==e?void 0:e.accept)&&(i.inBackground||t.hide(),e.accept(t.keyMods,i))}))),n.add(t.onDidTriggerItemButton((async({button:e,item:s})=>{var n,o;if("function"==typeof s.trigger){const r=null!==(o=null===(n=s.buttons)||void 0===n?void 0:n.indexOf(e))&&void 0!==o?o:-1;if(r>=0){const e=s.trigger(r,t.keyMods),n="number"==typeof e?e:await e;if(i.isCancellationRequested)return;switch(n){case Uit.NO_ACTION:break;case Uit.CLOSE_PICKER:t.hide();break;case Uit.REFRESH_PICKER:h();break;case Uit.REMOVE_ITEM:{const i=t.items.indexOf(s);if(-1!==i){const e=t.items.slice(),s=e.splice(i,1),n=t.activeItems.filter((t=>t!==s[0])),o=t.keepScrollPosition;t.keepScrollPosition=!0,t.items=e,n&&(t.activeItems=n),t.keepScrollPosition=o}break}}}}}))),n}}var Zit,Qit,Jit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Yit=function(t,i){return function(e,s){i(e,s,t)}};let Xit=Zit=class extends Git{constructor(t,i,e,s,n,o){super(Zit.PREFIX,t),this.instantiationService=i,this.keybindingService=e,this.commandService=s,this.telemetryService=n,this.dialogService=o,this.commandsHistory=this._register(this.instantiationService.createInstance(tet)),this.options=t}async _getPicks(t,i,e,s){var n,o,r,h;const c=await this.getCommandPicks(e);if(e.isCancellationRequested)return[];const a=Zi((()=>{const i=new Vit;return i.updateDocuments(c.map((t=>({key:t.commandId,textChunks:[this.getTfIdfChunk(t)]})))),function(t){var i,e;const s=t.slice(0);s.sort(((t,i)=>i.score-t.score));const n=null!==(e=null===(i=s[0])||void 0===i?void 0:i.score)&&void 0!==e?e:0;if(n>0)for(const t of s)t.score/=n;return s}(i.calculateScores(t,e)).filter((t=>t.score>Zit.TFIDF_THRESHOLD)).slice(0,Zit.TFIDF_MAX_RESULTS)})),l=[];for(const i of c){const s=null!==(n=Zit.WORD_FILTER(t,i.label))&&void 0!==n?n:void 0,r=i.commandAlias&&null!==(o=Zit.WORD_FILTER(t,i.commandAlias))&&void 0!==o?o:void 0;if(s||r)i.highlights={label:s,detail:this.options.showAlias?r:void 0},l.push(i);else if(t===i.commandId)l.push(i);else if(t.length>=3){const t=a();if(e.isCancellationRequested)return[];const s=t.find((t=>t.key===i.commandId));s&&(i.tfIdfScore=s.score,l.push(i))}}const u=new Map;for(const t of l){const i=u.get(t.label);i?(t.description=t.commandId,i.description=i.commandId):u.set(t.label,t)}l.sort(((t,i)=>{if(t.tfIdfScore&&i.tfIdfScore)return t.tfIdfScore===i.tfIdfScore?t.label.localeCompare(i.label):i.tfIdfScore-t.tfIdfScore;if(t.tfIdfScore)return 1;if(i.tfIdfScore)return-1;const e=this.commandsHistory.peek(t.commandId),s=this.commandsHistory.peek(i.commandId);if(e&&s)return e>s?-1:1;if(e)return-1;if(s)return 1;if(this.options.suggestedCommandIds){const e=this.options.suggestedCommandIds.has(t.commandId),s=this.options.suggestedCommandIds.has(i.commandId);if(e&&s)return 0;if(e)return-1;if(s)return 1}return t.label.localeCompare(i.label)}));const d=[];let f=!1,p=!0,g=!!this.options.suggestedCommandIds;for(let t=0;t{var i;const n=await this.getAdditionalCommandPicks(c,l,t,e);if(e.isCancellationRequested)return[];const o=n.map((t=>this.toCommandPick(t,s)));return p&&"separator"!==(null===(i=o[0])||void 0===i?void 0:i.type)&&o.unshift({type:"separator",label:rt(0,"similar commands")}),o})()}:d}toCommandPick(t,i){if("separator"===t.type)return t;const e=this.keybindingService.lookupKeybinding(t.commandId),s=e?rt(0,"{0}, {1}",t.label,e.getAriaLabel()):t.label;return{...t,ariaLabel:s,detail:this.options.showAlias&&t.commandAlias!==t.label?t.commandAlias:void 0,keybinding:e,accept:async()=>{var e,s;this.commandsHistory.push(t.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:t.commandId,from:null!==(e=null==i?void 0:i.from)&&void 0!==e?e:"quick open"});try{(null===(s=t.args)||void 0===s?void 0:s.length)?await this.commandService.executeCommand(t.commandId,...t.args):await this.commandService.executeCommand(t.commandId)}catch(i){zi(i)||this.dialogService.error(rt(0,"Command '{0}' resulted in an error",t.label),Hit(i))}}}}getTfIdfChunk({label:t,commandAlias:i,commandDescription:e}){let s=t;return i&&i!==t&&(s+=` - ${i}`),e&&e.value!==t&&(s+=` - ${e.value===e.original?e.value:`${e.value} (${e.original})`}`),s}};Xit.PREFIX=">",Xit.TFIDF_THRESHOLD=.5,Xit.TFIDF_MAX_RESULTS=5,Xit.WORD_FILTER=BI(PI,(function(t,i,e=!1){if(!i||0===i.length)return null;let s=null,n=0;for(t=t.toLowerCase(),i=i.toLowerCase();nthis.updateConfiguration(t)))),this._register(this.storageService.onWillSaveState((t=>{t.reason===LB.SHUTDOWN&&this.saveState()})))}updateConfiguration(t){t&&!t.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=Qit.getConfiguredCommandHistoryLength(this.configurationService),Qit.cache&&Qit.cache.limit!==this.configuredCommandsHistoryLength&&(Qit.cache.limit=this.configuredCommandsHistoryLength,Qit.hasChanges=!0))}load(){const t=this.storageService.get(Qit.PREF_KEY_CACHE,0);let i;if(t)try{i=JSON.parse(t)}catch(t){}const e=Qit.cache=new Up(this.configuredCommandsHistoryLength,1);if(i){let t;t=i.usesLRU?i.entries:i.entries.sort(((t,i)=>t.value-i.value)),t.forEach((t=>e.set(t.key,t.value)))}Qit.counter=this.storageService.getNumber(Qit.PREF_KEY_COUNTER,0,Qit.counter)}push(t){Qit.cache&&(Qit.cache.set(t,Qit.counter++),Qit.hasChanges=!0)}peek(t){var i;return null===(i=Qit.cache)||void 0===i?void 0:i.peek(t)}saveState(){if(!Qit.cache)return;if(!Qit.hasChanges)return;const t={usesLRU:!0,entries:[]};Qit.cache.forEach(((i,e)=>t.entries.push({key:e,value:i}))),this.storageService.store(Qit.PREF_KEY_CACHE,JSON.stringify(t),0,0),this.storageService.store(Qit.PREF_KEY_COUNTER,Qit.counter,0,0),Qit.hasChanges=!1}static getConfiguredCommandHistoryLength(t){var i,e;const s=null===(e=null===(i=t.getValue().workbench)||void 0===i?void 0:i.commandPalette)||void 0===e?void 0:e.history;return"number"==typeof s?s:Qit.DEFAULT_COMMANDS_HISTORY_LENGTH}};tet.DEFAULT_COMMANDS_HISTORY_LENGTH=50,tet.PREF_KEY_CACHE="commandPalette.mru.cache",tet.PREF_KEY_COUNTER="commandPalette.mru.counter",tet.counter=1,tet.hasChanges=!1,tet=Qit=Jit([Yit(0,MB),Yit(1,gd)],tet);class iet extends Xit{constructor(t,i,e,s,n,o){super(t,i,e,s,n,o)}getCodeEditorCommandPicks(){const t=this.activeTextEditorControl;if(!t)return[];const i=[];for(const e of t.getSupportedActions())i.push({commandId:e.id,commandAlias:e.alias,label:O_(e.label)||e.id});return i}}var eet=function(t,i){return function(e,s){i(e,s,t)}};let set=class extends iet{get activeTextEditorControl(){var t;return null!==(t=this.codeEditorService.getFocusedCodeEditor())&&void 0!==t?t:void 0}constructor(t,i,e,s,n,o){super({showAlias:!1},t,e,s,n,o),this.codeEditorService=i}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};set=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([eet(0,dr),eet(1,pr),eet(2,rC),eet(3,Dr),eet(4,jh),eet(5,YT)],set);class net extends nu{constructor(){super({id:net.ID,label:nI.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(t){t.get(Ij).quickAccess.show(set.PREFIX)}}net.ID="editor.action.quickCommand",au(net),Eh.as(Fj).registerQuickAccessProvider({ctor:set,prefix:set.PREFIX,helpEntries:[{description:nI.quickCommandHelp,commandId:net.ID}]});var oet=function(t,i){return function(e,s){i(e,s,t)}};let ret=class extends NY{constructor(t,i,e,s,n,o,r){super(!0,t,i,e,s,n,o,r)}};ret=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([oet(1,lh),oet(2,pr),oet(3,rT),oet(4,dr),oet(5,MB),oet(6,gd)],ret),uu(NY.ID,ret,4),au(class extends nu{constructor(){super({id:"editor.action.toggleHighContrast",label:hI.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(t,i){const e=t.get(hH),s=e.getColorTheme();Hy(s.type)?(e.setTheme(this._originalThemeName||(Vy(s.type)?Yz:Jz)),this._originalThemeName=null):(e.setTheme(Vy(s.type)?Xz:tH),this._originalThemeName=s.themeName)}});const het=performance.getEntriesByType("resource").slice(-1)[0].name;self.MonacoEnvironment={getWorkerUrl:(t,i)=>`${het.replace(/(.*\/).*?$/,"$1")}${"html"===i?"html":"editor"}.worker.js?t=${Date.now()}`};const cet=class{constructor(i){t(this,i),this.monacoEditorDidLoad=o(this,"monacoEditorDidLoad",7),this.defaultOptions={language:"html",readOnly:!1,theme:"vs-light",scrollBeyondLastLine:!1,minimap:{enabled:!1},automaticLayout:!0,wordWrap:"on"},this.rendered=!1,this.options=void 0,this.initialValue="",this.tiptapEditor=void 0,this.updateInputValue=void 0}init(){const t=this.element.querySelector(":scope > *:first-of-type");this.monaco=YK.create(this.container,Object.assign({value:this.initialValue||(null==t?void 0:t.innerHTML.trim())||""},this.mergeOptions())),this.monaco.onDidChangeModelContent((()=>{var t,i,e;null===(t=this.tiptapEditor)||void 0===t||t.chain().setContent(null===(i=this.monaco)||void 0===i?void 0:i.getValue()).run(),null===(e=this.updateInputValue)||void 0===e||e.call(this)})),this.monacoEditorDidLoad.emit();let i=0;const e=setInterval((()=>{const t=this.monaco.getAction("editor.action.formatDocument");(t||++i>50)&&(null==t||t.run(),clearInterval(e))}),100)}connectedCallback(){this.rendered&&this.init()}componentDidLoad(){this.init(),this.rendered=!0}async disconnectedCallback(){return Boolean(this.monaco)?new Promise((t=>{var i;this.monaco.onDidDispose((()=>t())),null===(i=this.monaco.getModel())||void 0===i||i.dispose(),this.monaco.dispose()})):Promise.resolve()}onOptionsChange(){var t;null===(t=this.monaco)||void 0===t||t.updateOptions(this.mergeOptions())}async setFocus(){var t;null===(t=this.monaco)||void 0===t||t.focus()}async getValue(){var t;return null===(t=this.monaco)||void 0===t?void 0:t.getValue()}mergeOptions(){return Object.assign(Object.assign({},this.defaultOptions),this.options||{})}render(){return e(r,{key:"cd80178b2bf7795caaec0c96aa895419b675cb3f"},e("article",{key:"8406db710730148496161e93d66ff1a845beac99",ref:t=>this.container=t}))}get element(){return n(this)}static get watchers(){return{options:["onOptionsChange"]}}};cet.style='/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .codicon,.monaco-action-bar .action-item .icon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{opacity:.6}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:#bbb}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-aria-container{position:absolute;left:-999em}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border,transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled,.monaco-button.disabled:focus{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator,.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border,transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-description,.monaco-description-button .monaco-button-label{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-description>.codicon,.monaco-description-button .monaco-button-label>.codicon{margin:0 .2em;color:inherit!important}.monaco-button-dropdown.default-colors>.monaco-button,.monaco-button.default-colors{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button-dropdown.default-colors>.monaco-button:hover,.monaco-button.default-colors:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary,.monaco-button.default-colors.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover,.monaco-button.default-colors.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}@font-face{font-family:codicon;font-display:block;src:url(../base/browser/ui/codicons/codicon/codicon.ttf) format("truetype")}.codicon[class*=codicon-]{font:normal normal normal 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(1turn)}}.codicon-gear.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin,.codicon-sync.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:50%;background-repeat:no-repeat}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.hc-light .monaco-findInput.highlight-0 .controls,.monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.hc-light .monaco-findInput.highlight-1 .controls,.monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:rgba(253,255,0,.8)}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:rgba(253,255,0,.8)}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:hsla(0,0%,100%,.44)}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:hsla(0,0%,100%,.44)}99%{background:transparent}}.monaco-hover{cursor:default;position:absolute;overflow:hidden;user-select:text;-webkit-user-select:text;box-sizing:border-box;animation:fadein .1s linear;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace,normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth,500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover .code,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6,.monaco-hover p,.monaco-hover ul{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0;border-right:0;margin:4px -8px -4px;height:1px}.monaco-hover .code:first-child,.monaco-hover p:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover .code:last-child,.monaco-hover p:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ol,.monaco-hover ul{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace,pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link,.monaco-hover .hover-contents a.code-link:hover{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-multiple,.monaco-list.selection-single{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-mouse-cursor-text{cursor:text}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translateX(0) scaleX(1)}50%{transform:translateX(2500%) scaleX(3)}to{transform:translateX(4900%) scaleX(1)}}:root{--vscode-sash-size:4px;--vscode-sash-hover-size:4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size)*2);width:calc(var(--vscode-sash-size)*2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size)*-0.5);top:calc(var(--vscode-sash-size)*-1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size)*-0.5);bottom:calc(var(--vscode-sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size)*-0.5);left:calc(var(--vscode-sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size)*-0.5);right:calc(var(--vscode-sash-size)*-1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.active:before,.monaco-sash.hover:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - var(--vscode-sash-hover-size)/2)}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - var(--vscode-sash-hover-size)/2)}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:rgba(0,255,255,.2)}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:transparent;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:5px}.monaco-select-box-dropdown-padding{--dropdown-padding-top:1px;--dropdown-padding-bottom:1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top:3px;--dropdown-padding-bottom:4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:auto}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:normal;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-td,.monaco-table-th{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size)/2);width:0;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-contents,.monaco-tl-twistie{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translateX(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{display:flex!important;align-items:center;justify-content:center;cursor:grab;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;bottom:-3px;left:0;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line,.monaco-editor .view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box}.monaco-editor .margin-view-overlays .line-numbers{font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default;height:100%}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background,var(--vscode-editor-background));color:var(--vscode-button-foreground,var(--vscode-editor-foreground));border:1px solid var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .mtkw,.monaco-editor .mtkz{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover .minimap-slider.active,.monaco-editor .minimap.slider-mouseover:hover .minimap-slider{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-diff-editor .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-diff-editor .diff-review{position:absolute;user-select:none;-webkit-user-select:none;z-index:99}.monaco-diff-editor .diff-review-summary{padding-left:10px}.monaco-diff-editor .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-diff-editor .diff-review-row{white-space:pre}.monaco-diff-editor .diff-review-table{display:table;min-width:100%}.monaco-diff-editor .diff-review-row{display:table-row;width:100%}.monaco-diff-editor .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-diff-editor .diff-review-spacer>.codicon{font-size:9px!important}.monaco-diff-editor .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-diff-editor .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-diff-editor .revertButton{cursor:pointer}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines .bottom.dragging,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .bottom,.monaco-editor .diff-hidden-lines .top{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *{cursor:n-resize!important}.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *{cursor:s-resize!important}.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedModified,.monaco-editor .movedOriginal{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedModified.currentMove,.monaco-editor .movedOriginal.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:3px solid var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .char-insert.diff-range-empty{border-left:3px solid var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:rgba(0,0,0,.03)}.monaco-diff-editor.vs-dark .diffOverview{background:hsla(0,0%,100%,.01)}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar{background:transparent}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:hsla(0,0%,67.1%,.4)}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-diff-editor .delete-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-editor .insert-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-diff-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-diff-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-editor.hc-black .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-editor.hc-light .insert-sign{opacity:1}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .inline-deleted-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-diff-editor .char-insert,.monaco-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-diff-editor .line-insert,.monaco-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground,var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-insert,.monaco-editor .line-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .char-insert,.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .char-insert,.monaco-editor.hc-light .line-insert{border-style:dashed}.monaco-editor .char-delete,.monaco-editor .line-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .char-delete,.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .char-delete,.monaco-editor.hc-light .line-delete{border-style:dashed}.monaco-diff-editor .gutter-insert,.monaco-editor .gutter-insert,.monaco-editor .inline-added-margin-view-zone{background-color:var(--vscode-diffEditorGutter-insertedLineBackground,var(--vscode-diffEditor-insertedLineBackground),var(--vscode-diffEditor-insertedTextBackground))}.monaco-diff-editor .char-delete,.monaco-editor .char-delete{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-diff-editor .line-delete,.monaco-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground,var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor .gutter-delete,.monaco-editor .gutter-delete,.monaco-editor .inline-deleted-margin-view-zone{background-color:var(--vscode-diffEditorGutter-removedLineBackground,var(--vscode-diffEditor-removedLineBackground),var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,transparent 0,transparent 50%,var(--vscode-diffEditor-diagonalFill) 0,var(--vscode-diffEditor-diagonalFill) 62.5%,transparent 0,transparent);background-size:8px 8px}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground)}.monaco-editor,.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground,inherit)}.monaco-component .multiDiffEntry{display:flex;flex-direction:column}.monaco-component .multiDiffEntry .editorParent{border-left:2px solid var(--vscode-tab-inactiveBackground)}.monaco-component .multiDiffEntry.focused .editorParent{border-left:2px solid var(--vscode-notebook-focusedCellBorder)}.monaco-component .multiDiffEntry .editorParent .editorContainer{border-left:17px solid var(--vscode-tab-inactiveBackground)}.monaco-component .multiDiffEntry .collapse-button{margin:0 5px;cursor:pointer}.monaco-component .multiDiffEntry .collapse-button a{display:block}.monaco-component .multiDiffEntry .header{display:flex;align-items:center;padding:8px 5px;color:var(--vscode-foreground);background:var(--vscode-editor-background);z-index:1000;border-bottom:1px solid var(--vscode-sideBarSectionHeader-border);border-top:1px solid var(--vscode-sideBarSectionHeader-border);border-left:2px solid var(--vscode-editor-background)}.monaco-component .multiDiffEntry.focused .header{border-left:2px solid var(--vscode-notebook-focusedCellBorder)}.monaco-component .multiDiffEntry .header.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component .multiDiffEntry .header .title{flex:1;font-size:14px;line-height:22px}.monaco-component .multiDiffEntry .header .actions{padding:0 8px}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground,var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground,var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;background-color:var(--vscode-editor-background);z-index:1}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*0.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>a,.monaco-editor .codelens-decoration>span{user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer}.monaco-editor .codelens-decoration>a:hover,.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:.1em solid #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:.1em solid #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1;white-space:nowrap;overflow:hidden}.colorpicker-header .picked-color .picked-color-presentation{white-space:nowrap;margin-left:5px;margin-right:5px}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid #fff;border-radius:100%;box-shadow:0 0 2px rgba(0,0,0,.8);position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid hsla(0,0%,100%,.71);box-shadow:0 0 1px rgba(0,0,0,.85)}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor.hc-light .dnd-target,.monaco-editor.vs .dnd-target{border-right:2px dotted #000;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #aeafad;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines,.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines{cursor:default}.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines,.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines{cursor:copy}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border,transparent);border-radius:4px;background-color:var(--vscode-editorWidget-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions,.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:50%;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important}.monaco-editor .find-widget .monaco-sash{left:0!important}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{transition:initial}.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays:hover .codicon{opacity:1}.monaco-editor .inline-folded:after{color:grey;margin:.1em .2em 0;content:"\\22EF";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground);color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input,.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder,transparent);box-sizing:border-box}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:"\\ea76"}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-radius:3px;border:1px solid var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;z-index:1000;border:8px solid transparent;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage.below .anchor.below,.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .body,.monaco-editor .parameter-hints-widget .monaco-scrollable-element{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:normal}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .code,.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename,.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input{padding:3px;border-radius:2px}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder,transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder,transparent)}.monaco-editor .sticky-widget{overflow:hidden}.monaco-editor .sticky-widget-line-numbers{float:left;background-color:inherit}.monaco-editor .sticky-widget-lines-scrollable{display:inline-block;position:absolute;overflow:hidden;width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit}.monaco-editor .sticky-widget-lines{position:absolute;background-color:inherit}.monaco-editor .sticky-line-content,.monaco-editor .sticky-line-number{color:var(--vscode-editorLineNumber-foreground);white-space:nowrap;display:inline-block;position:absolute;background-color:inherit}.monaco-editor .sticky-line-number .codicon-folding-collapsed,.monaco-editor .sticky-line-number .codicon-folding-expanded{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition)}.monaco-editor .sticky-line-content{width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit;white-space:nowrap}.monaco-editor .sticky-line-number-inner{display:inline-block;text-align:right}.monaco-editor.hc-black .sticky-widget,.monaco-editor.hc-light .sticky-widget{border-bottom:1px solid var(--vscode-contrastBorder)}.monaco-editor .sticky-line-content:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .sticky-widget{width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 3px 2px -2px;z-index:4;background-color:var(--vscode-editorStickyScroll-background)}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-details,.monaco-editor .suggest-widget{flex:0 1 auto;width:100%;border:1px solid var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-light .suggest-details,.monaco-editor.hc-light .suggest-widget{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:normal;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:50%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:normal;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ol,.monaco-editor .suggest-details ul{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-enum,.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-value{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:50%;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);background-color:var(--vscode-editorUnicodeHighlight-background);box-sizing:border-box}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjhWNC4wMXpNNC4wMDguMDA4QTQuMDAzIDQuMDAzIDAgMDAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwMDQuMDAzIDQuMDAyaDQ0LjAyOGE0LjAwMyA0LjAwMyAwIDAwNC4wMDMtNC4wMDJWNC4wMUE0LjAwMyA0LjAwMyAwIDAwNDguMDM2LjAwOEg0LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxVjguMDEzem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJWOC4wMTN6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyVjguMDEzem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDNWOC4wMTN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDNWOC4wMTN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnYtNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNoLTQuMDAzdi00LjAwM3ptMTIuMDA4IDBoLTQuMDAzdjQuMDAzaDQuMDAzdi00LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM2g4LjAwNXptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzdi00LjAwM3ptNC4wMDMgMGgyMC4wMTN2NC4wMDNIMTYuMDE2di00LjAwM3ptMjguMDE4IDBINDAuMDN2NC4wMDNoNC4wMDN2LTQuMDAzeiIgZmlsbD0iIzQyNDI0MiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUzdjM2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+) 50% no-repeat;border:4px solid #f6f6f6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjhWNC4wMXpNNC4wMDguMDA4QTQuMDAzIDQuMDAzIDAgMDAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwMDQuMDAzIDQuMDAyaDQ0LjAyOGE0LjAwMyA0LjAwMyAwIDAwNC4wMDMtNC4wMDJWNC4wMUE0LjAwMyA0LjAwMyAwIDAwNDguMDM2LjAwOEg0LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxVjguMDEzem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJWOC4wMTN6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyVjguMDEzem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDNWOC4wMTN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDNWOC4wMTN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnYtNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNoLTQuMDAzdi00LjAwM3ptMTIuMDA4IDBoLTQuMDAzdjQuMDAzaDQuMDAzdi00LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM2g4LjAwNXptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzdi00LjAwM3ptNC4wMDMgMGgyMC4wMTN2NC4wMDNIMTYuMDE2di00LjAwM3ptMjguMDE4IDBINDAuMDN2NC4wMDNoNC4wMDN2LTQuMDAzeiIgZmlsbD0iI0M1QzVDNSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUzdjM2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+) 50% no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{z-index:50;user-select:text;-webkit-user-select:text;padding:10px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{height:1px;border:0;background-color:var(--vscode-editorHoverWidget-border)}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,86.7%,.4);border:1px solid hsla(0,0%,80%,.4);border-bottom-color:hsla(0,0%,73.3%,.4);box-shadow:inset 0 -1px 0 hsla(0,0%,73.3%,.4);color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #6fc3df;box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #0f4a85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,50.2%,.17);border:1px solid rgba(51,51,51,.6);border-bottom-color:rgba(68,68,68,.6);box-shadow:inset 0 -1px 0 rgba(68,68,68,.6);color:#ccc}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font:"SF Mono",Monaco,Menlo,Consolas,"Ubuntu Mono","Liberation Mono","DejaVu Sans Mono","Courier New",monospace}.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.action-widget{font-size:13px;border-radius:0;min-width:160px;max-width:80vw;z-index:40;display:block;width:100%;border:1px solid var(--vscode-editorWidget-border)!important;border-radius:2px;background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground)}.context-view-block{z-index:-1}.context-view-block,.context-view-pointerBlock{position:fixed;cursor:auto;left:0;top:0;width:100%;height:100%}.context-view-pointerBlock{z-index:2}.action-widget .monaco-list{user-select:none;-webkit-user-select:none;border:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 10px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-quickInputList-focusBackground)!important;color:var(--vscode-quickInputList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder,transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-descriptionForeground)!important;font-weight:600}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before,.action-widget .monaco-list .option-disabled:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:6px;align-items:center}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorHoverWidget-statusBarBackground);border-top:1px solid var(--vscode-editorHoverWidget-border)}.action-widget .action-widget-action-bar:before{display:block;content:"";width:100%}.action-widget .action-widget-action-bar .actions-container{padding:0 8px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:12px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:50%;background-repeat:no-repeat}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;margin-left:-300px;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{display:flex;align-items:center;border-top-left-radius:5px;border-top-right-radius:5px}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-title{padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:50%;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{display:flex;padding:8px 6px 6px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;height:100%;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-highlighted-label .highlight{font-weight:700}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:0 2px 2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px;margin-right:4px}.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{font-weight:600;font-size:12px}.extension-editor .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.markers-panel .marker-icon .codicon.codicon-error,.markers-panel .marker-icon.error,.monaco-editor .zone-widget .codicon.codicon-error,.preferences-editor .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.extension-editor .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.markers-panel .marker-icon .codicon.codicon-warning,.markers-panel .marker-icon.warning,.monaco-editor .zone-widget .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.extension-editor .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.markers-panel .marker-icon .codicon.codicon-info,.markers-panel .marker-icon.info,.monaco-editor .zone-widget .codicon.codicon-info,.preferences-editor .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}article{width:var(--monaco-editor-width, 100%);height:var(--monaco-editor-height, 100%)}::slotted(*){display:none}';export{c as L,cet as M,a as Z,iG as m,aZ as t} \ No newline at end of file +var QG=Object.defineProperty,JG=Object.getOwnPropertyDescriptor,YG=Object.getOwnPropertyNames,XG=Object.prototype.hasOwnProperty,tZ=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of YG(i))XG.call(t,n)||n===e||QG(t,n,{get:()=>i[n],enumerable:!(s=JG(i,n))||s.enumerable});return t},iZ={};((t,i)=>{tZ(iZ,i,"default")})(0,iG);var eZ=(t=>(t[t.None=0]="None",t[t.CommonJS=1]="CommonJS",t[t.AMD=2]="AMD",t[t.UMD=3]="UMD",t[t.System=4]="System",t[t.ES2015=5]="ES2015",t[t.ESNext=99]="ESNext",t))(eZ||{}),sZ=(t=>(t[t.None=0]="None",t[t.Preserve=1]="Preserve",t[t.React=2]="React",t[t.ReactNative=3]="ReactNative",t[t.ReactJSX=4]="ReactJSX",t[t.ReactJSXDev=5]="ReactJSXDev",t))(sZ||{}),nZ=(t=>(t[t.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",t[t.LineFeed=1]="LineFeed",t))(nZ||{}),oZ=(t=>(t[t.ES3=0]="ES3",t[t.ES5=1]="ES5",t[t.ES2015=2]="ES2015",t[t.ES2016=3]="ES2016",t[t.ES2017=4]="ES2017",t[t.ES2018=5]="ES2018",t[t.ES2019=6]="ES2019",t[t.ES2020=7]="ES2020",t[t.ESNext=99]="ESNext",t[t.JSON=100]="JSON",t[t.Latest=99]="Latest",t))(oZ||{}),rZ=(t=>(t[t.Classic=1]="Classic",t[t.NodeJs=2]="NodeJs",t))(rZ||{}),hZ=class{_onDidChange=new iZ.Emitter;_onDidExtraLibsChange=new iZ.Emitter;_extraLibs;_removedExtraLibs;_eagerModelSync;_compilerOptions;_diagnosticsOptions;_workerOptions;_onDidExtraLibsChangeTimeout;_inlayHintsOptions;_modeConfiguration;constructor(t,i,e,s,n){this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(t),this.setDiagnosticsOptions(i),this.setWorkerOptions(e),this.setInlayHintsOptions(s),this.setModeConfiguration(n),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(t,i){let e;if(e=void 0===i?`ts:extralib-${Math.random().toString(36).substring(2,15)}`:i,this._extraLibs[e]&&this._extraLibs[e].content===t)return{dispose:()=>{}};let s=1;return this._removedExtraLibs[e]&&(s=this._removedExtraLibs[e]+1),this._extraLibs[e]&&(s=this._extraLibs[e].version+1),this._extraLibs[e]={content:t,version:s},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let t=this._extraLibs[e];t&&t.version===s&&(delete this._extraLibs[e],this._removedExtraLibs[e]=s,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(t){for(const t in this._extraLibs)this._removedExtraLibs[t]=this._extraLibs[t].version;if(this._extraLibs=Object.create(null),t&&t.length>0)for(const i of t){const t=i.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`;let e=1;this._removedExtraLibs[t]&&(e=this._removedExtraLibs[t]+1),this._extraLibs[t]={content:i.content,version:e}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){-1===this._onDidExtraLibsChangeTimeout&&(this._onDidExtraLibsChangeTimeout=window.setTimeout((()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)}),0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(t){this._compilerOptions=t||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(t){this._diagnosticsOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(t){this._workerOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(t){this._inlayHintsOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(t){}setEagerModelSync(t){this._eagerModelSync=t}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(void 0)}},cZ={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},aZ=new hZ({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},cZ),lZ=new hZ({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},cZ);function uZ(){return import("./p-514b3ea5.js")}iZ.languages.typescript={ModuleKind:eZ,JsxEmit:sZ,NewLineKind:nZ,ScriptTarget:oZ,ModuleResolutionKind:rZ,typescriptVersion:"5.0.2",typescriptDefaults:aZ,javascriptDefaults:lZ,getTypeScriptWorker:()=>uZ().then((t=>t.getTypeScriptWorker())),getJavaScriptWorker:()=>uZ().then((t=>t.getJavaScriptWorker()))},iZ.languages.onLanguage("typescript",(()=>uZ().then((t=>t.setupTypeScript(aZ))))),iZ.languages.onLanguage("javascript",(()=>uZ().then((t=>t.setupJavaScript(lZ))))),Wh(class extends $h{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:{value:rt(0,"Toggle Collapse Unchanged Regions"),original:"Toggle Collapse Unchanged Regions"},icon:Is.map,toggled:Hr.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:Hr.has("isInDiffEditor"),menu:{when:Hr.has("isInDiffEditor"),id:Oh.EditorTitle,order:22,group:"navigation"}})}run(t,...i){const e=t.get(gd),s=!e.getValue("diffEditor.hideUnchangedRegions.enabled");e.updateValue("diffEditor.hideUnchangedRegions.enabled",s)}});class dZ extends $h{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:{value:rt(0,"Toggle Show Moved Code Blocks"),original:"Toggle Show Moved Code Blocks"},precondition:Hr.has("isInDiffEditor")})}run(t,...i){const e=t.get(gd),s=!e.getValue("diffEditor.experimental.showMoves");e.updateValue("diffEditor.experimental.showMoves",s)}}Wh(dZ);class fZ extends $h{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:{value:rt(0,"Toggle Use Inline View When Space Is Limited"),original:"Toggle Use Inline View When Space Is Limited"},precondition:Hr.has("isInDiffEditor")})}run(t,...i){const e=t.get(gd),s=!e.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");e.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",s)}}Wh(fZ),Nh.appendMenuItem(Oh.EditorTitle,{command:{id:(new fZ).desc.id,title:rt(0,"Use Inline View When Space Is Limited"),toggled:Hr.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:Hr.has("isInDiffEditor")},order:11,group:"1_diff",when:Hr.and(XC.diffEditorRenderSideBySideInlineBreakpointReached,Hr.has("isInDiffEditor"))}),Nh.appendMenuItem(Oh.EditorTitle,{command:{id:(new dZ).desc.id,title:rt(0,"Show Moved Code Blocks"),icon:Is.move,toggled:Gr.create("config.diffEditor.experimental.showMoves",!0),precondition:Hr.has("isInDiffEditor")},order:10,group:"1_diff",when:Hr.has("isInDiffEditor")});const pZ={value:rt(0,"Diff Editor"),original:"Diff Editor"};Wh(class extends ru{constructor(){super({id:"diffEditor.switchSide",title:{value:rt(0,"Switch Side"),original:"Switch Side"},icon:Is.arrowSwap,precondition:Hr.has("isInDiffEditor"),f1:!0,category:pZ})}runEditorCommand(t,i,e){const s=vZ(t);if(s instanceof _q){if(e&&e.dryRun)return{destinationSelection:s.mapToOtherSide().destinationSelection};s.switchSide()}}}),Wh(class extends ru{constructor(){super({id:"diffEditor.exitCompareMove",title:{value:rt(0,"Exit Compare Move"),original:"Exit Compare Move"},icon:Is.close,precondition:XC.comparingMovedCode,f1:!1,category:pZ,keybinding:{weight:1e4,primary:9}})}runEditorCommand(t,i,...e){const s=vZ(t);s instanceof _q&&s.exitCompareMove()}}),Wh(class extends ru{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:{value:rt(0,"Collapse All Unchanged Regions"),original:"Collapse All Unchanged Regions"},icon:Is.fold,precondition:Hr.has("isInDiffEditor"),f1:!0,category:pZ})}runEditorCommand(t,i,...e){const s=vZ(t);s instanceof _q&&s.collapseAllUnchangedRegions()}}),Wh(class extends ru{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:{value:rt(0,"Show All Unchanged Regions"),original:"Show All Unchanged Regions"},icon:Is.unfold,precondition:Hr.has("isInDiffEditor"),f1:!0,category:pZ})}runEditorCommand(t,i,...e){const s=vZ(t);s instanceof _q&&s.showAllUnchangedRegions()}});const gZ={value:rt(0,"Accessible Diff Viewer"),original:"Accessible Diff Viewer"};class mZ extends $h{constructor(){super({id:mZ.id,title:{value:rt(0,"Go to Next Difference"),original:"Go to Next Difference"},category:gZ,precondition:Hr.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(t){const i=vZ(t);null==i||i.accessibleDiffViewerNext()}}mZ.id="editor.action.accessibleDiffViewer.next",Nh.appendMenuItem(Oh.EditorTitle,{command:{id:mZ.id,title:rt(0,"Open Accessible Diff Viewer"),precondition:Hr.has("isInDiffEditor")},order:10,group:"2_diff",when:Hr.and(XC.accessibleDiffViewerVisible.negate(),Hr.has("isInDiffEditor"))});class wZ extends $h{constructor(){super({id:wZ.id,title:{value:rt(0,"Go to Previous Difference"),original:"Go to Previous Difference"},category:gZ,precondition:Hr.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(t){const i=vZ(t);null==i||i.accessibleDiffViewerPrev()}}function vZ(t){var i;const e=t.get(pr),s=e.listDiffEditors(),n=null!==(i=e.getFocusedCodeEditor())&&void 0!==i?i:e.getActiveCodeEditor();if(!n)return null;for(let t=0,i=s.length;tthis.selectionAnchorSetContextKey.reset()))}setSelectionAnchor(){if(this.editor.hasModel()){const t=this.editor.getPosition();this.editor.changeDecorations((i=>{this.decorationId&&i.removeDecoration(this.decorationId),this.decorationId=i.addDecoration(Fs.fromPositions(t,t),{description:"selection-anchor",stickiness:1,hoverMessage:(new B_).appendText(rt(0,"Selection Anchor")),className:"selection-anchor"})})),this.selectionAnchorSetContextKey.set(!!this.decorationId),$m(rt(0,"Anchor set at {0}:{1}",t.lineNumber,t.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const t=this.editor.getModel().getDecorationRange(this.decorationId);t&&this.editor.setPosition(t.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const t=this.editor.getModel().getDecorationRange(this.decorationId);if(t){const i=this.editor.getPosition();this.editor.setSelection(Fs.fromPositions(t.getStartPosition(),i)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const t=this.decorationId;this.editor.changeDecorations((i=>{i.removeDecoration(t),this.decorationId=void 0})),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};xZ.ID="editor.contrib.selectionAnchorController",xZ=yZ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,lh)],xZ),uu(xZ.ID,xZ,4),au(class extends nu{constructor(){super({id:"editor.action.setSelectionAnchor",label:rt(0,"Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2080),weight:100}})}async run(t,i){var e;null===(e=xZ.get(i))||void 0===e||e.setSelectionAnchor()}}),au(class extends nu{constructor(){super({id:"editor.action.goToSelectionAnchor",label:rt(0,"Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:kZ})}async run(t,i){var e;null===(e=xZ.get(i))||void 0===e||e.goToSelectionAnchor()}}),au(class extends nu{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:rt(0,"Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:kZ,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2089),weight:100}})}async run(t,i){var e;null===(e=xZ.get(i))||void 0===e||e.selectFromAnchorToCursor()}}),au(class extends nu{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:rt(0,"Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:kZ,kbOpts:{kbExpr:XC.editorTextFocus,primary:9,weight:100}})}async run(t,i){var e;null===(e=xZ.get(i))||void 0===e||e.cancelSelectionAnchor()}});const CZ=fw("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hcDark:"#A0A0A0",hcLight:"#A0A0A0"},rt(0,"Overview ruler marker color for matching brackets."));class SZ{constructor(t,i,e){this.position=t,this.brackets=i,this.options=e}}class DZ extends ie{static get(t){return t.getContribution(DZ.ID)}constructor(t){super(),this._editor=t,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new gc((()=>this._updateBrackets()),50)),this._matchBrackets=this._editor.getOption(71),this._updateBracketsSoon.schedule(),this._register(t.onDidChangeCursorPosition((()=>{"never"!==this._matchBrackets&&this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeModelContent((()=>{this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeModel((()=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeModelLanguageConfiguration((()=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeConfiguration((t=>{t.hasChanged(71)&&(this._matchBrackets=this._editor.getOption(71),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())}))),this._register(t.onDidBlurEditorWidget((()=>{this._updateBracketsSoon.schedule()}))),this._register(t.onDidFocusEditorWidget((()=>{this._updateBracketsSoon.schedule()})))}jumpToBracket(){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=this._editor.getSelections().map((i=>{const e=i.getStartPosition(),s=t.bracketPairs.matchBracket(e);let n=null;if(s)s[0].containsPosition(e)&&!s[1].containsPosition(e)?n=s[1].getStartPosition():s[1].containsPosition(e)&&(n=s[0].getStartPosition());else{const i=t.bracketPairs.findEnclosingBrackets(e);if(i)n=i[1].getStartPosition();else{const i=t.bracketPairs.findNextBracket(e);i&&i.range&&(n=i.range.getStartPosition())}}return n?new Fs(n.lineNumber,n.column,n.lineNumber,n.column):new Fs(e.lineNumber,e.column,e.lineNumber,e.column)}));this._editor.setSelections(i),this._editor.revealRange(i[0])}selectToBracket(t){if(!this._editor.hasModel())return;const i=this._editor.getModel(),e=[];this._editor.getSelections().forEach((s=>{const n=s.getStartPosition();let o=i.bracketPairs.matchBracket(n);if(!o&&(o=i.bracketPairs.findEnclosingBrackets(n),!o)){const t=i.bracketPairs.findNextBracket(n);t&&t.range&&(o=i.bracketPairs.matchBracket(t.range.getStartPosition()))}let r=null,h=null;if(o){o.sort(Ls.compareRangesUsingStarts);const[i,e]=o;if(r=t?i.getStartPosition():i.getEndPosition(),h=t?e.getEndPosition():e.getStartPosition(),e.containsPosition(n)){const t=r;r=h,h=t}}r&&h&&e.push(new Fs(r.lineNumber,r.column,h.lineNumber,h.column))})),e.length>0&&(this._editor.setSelections(e),this._editor.revealRange(e[0]))}removeBrackets(t){if(!this._editor.hasModel())return;const i=this._editor.getModel();this._editor.getSelections().forEach((e=>{const s=e.getPosition();let n=i.bracketPairs.matchBracket(s);n||(n=i.bracketPairs.findEnclosingBrackets(s)),n&&(this._editor.pushUndoStop(),this._editor.executeEdits(t,[{range:n[0],text:""},{range:n[1],text:""}]),this._editor.pushUndoStop())}))}_updateBrackets(){if("never"===this._matchBrackets)return;this._recomputeBrackets();const t=[];let i=0;for(const e of this._lastBracketsData){const s=e.brackets;s&&(t[i++]={range:s[0],options:e.options},t[i++]={range:s[1],options:e.options})}this._decorations.set(t)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return this._lastBracketsData=[],void(this._lastVersionId=0);const t=this._editor.getSelections();if(t.length>100)return this._lastBracketsData=[],void(this._lastVersionId=0);const i=this._editor.getModel(),e=i.getVersionId();let s=[];this._lastVersionId===e&&(s=this._lastBracketsData);const n=[];let o=0;for(let i=0,e=t.length;i1&&n.sort(Ms.compare);const r=[];let h=0,c=0;const a=s.length;for(let t=0,e=n.length;t0&&(i.pushUndoStop(),i.executeCommands(this.id,s),i.pushUndoStop())}});const MZ="9_cutcopypaste",LZ=Et||document.queryCommandSupported("cut"),FZ=Et||document.queryCommandSupported("copy"),TZ=void 0!==navigator.clipboard&&!qo||document.queryCommandSupported("paste");function RZ(t){return t.register(),t}const OZ=LZ?RZ(new iu({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Et?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Oh.MenubarEditMenu,group:"2_ccp",title:rt(0,"Cu&&t"),order:1},{menuId:Oh.EditorContext,group:MZ,title:rt(0,"Cut"),when:XC.writable,order:1},{menuId:Oh.CommandPalette,group:"",title:rt(0,"Cut"),order:1},{menuId:Oh.SimpleEditorContext,group:MZ,title:rt(0,"Cut"),when:XC.writable,order:1}]})):void 0,IZ=FZ?RZ(new iu({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Et?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Oh.MenubarEditMenu,group:"2_ccp",title:rt(0,"&&Copy"),order:2},{menuId:Oh.EditorContext,group:MZ,title:rt(0,"Copy"),order:2},{menuId:Oh.CommandPalette,group:"",title:rt(0,"Copy"),order:1},{menuId:Oh.SimpleEditorContext,group:MZ,title:rt(0,"Copy"),order:2}]})):void 0;Nh.appendMenuItem(Oh.MenubarEditMenu,{submenu:Oh.MenubarCopy,title:{value:rt(0,"Copy As"),original:"Copy As"},group:"2_ccp",order:3}),Nh.appendMenuItem(Oh.EditorContext,{submenu:Oh.EditorContextCopy,title:{value:rt(0,"Copy As"),original:"Copy As"},group:MZ,order:3}),Nh.appendMenuItem(Oh.EditorContext,{submenu:Oh.EditorContextShare,title:{value:rt(0,"Share"),original:"Share"},group:"11_share",order:-1,when:Hr.and(Hr.notEquals("resourceScheme","output"),XC.editorTextFocus)}),Nh.appendMenuItem(Oh.EditorTitleContext,{submenu:Oh.EditorTitleContextShare,title:{value:rt(0,"Share"),original:"Share"},group:"11_share",order:-1}),Nh.appendMenuItem(Oh.ExplorerContext,{submenu:Oh.ExplorerContextShare,title:{value:rt(0,"Share"),original:"Share"},group:"11_share",order:-1});const _Z=TZ?RZ(new iu({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Et?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Oh.MenubarEditMenu,group:"2_ccp",title:rt(0,"&&Paste"),order:4},{menuId:Oh.EditorContext,group:MZ,title:rt(0,"Paste"),when:XC.writable,order:4},{menuId:Oh.CommandPalette,group:"",title:rt(0,"Paste"),order:1},{menuId:Oh.SimpleEditorContext,group:MZ,title:rt(0,"Paste"),when:XC.writable,order:4}]})):void 0;function NZ(t,i){t&&(t.addImplementation(1e4,"code-editor",(t=>{const e=t.get(pr).getFocusedCodeEditor();if(e&&e.hasTextFocus()){const t=e.getOption(37),s=e.getSelection();return s&&s.isEmpty()&&!t||e.getContainerDomNode().ownerDocument.execCommand(i),!0}return!1})),t.addImplementation(0,"generic-dom",(()=>(wl().execCommand(i),!0))))}NZ(OZ,"cut"),NZ(IZ,"copy"),_Z&&(_Z.addImplementation(1e4,"code-editor",(t=>{const i=t.get(pr),e=t.get(kH),s=i.getFocusedCodeEditor();return!(!s||!s.hasTextFocus())&&(!(!s.getContainerDomNode().ownerDocument.execCommand("paste")&&At)||(async()=>{const t=await e.readText();if(""!==t){const i=Uk.INSTANCE.get(t);let e=!1,n=null,o=null;i&&(e=s.getOption(37)&&!!i.isFromEmptySelection,n=void 0!==i.multicursorText?i.multicursorText:null,o=i.mode),s.trigger("keyboard","paste",{text:t,pasteOnNewLine:e,multicursorText:n,mode:o})}})())})),_Z.addImplementation(0,"generic-dom",(()=>(wl().execCommand("paste"),!0)))),FZ&&au(class extends nu{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:rt(0,"Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:XC.textInputFocus,primary:0,weight:100}})}run(t,i){i.hasModel()&&(!i.getOption(37)&&i.getSelection().isEmpty()||(Vk.forceCopyWithSyntaxHighlighting=!0,i.focus(),i.getContainerDomNode().ownerDocument.execCommand("copy"),Vk.forceCopyWithSyntaxHighlighting=!1))}});class BZ{constructor(t){this.value=t}equals(t){return this.value===t.value}contains(t){return this.equals(t)||""===this.value||t.value.startsWith(this.value+BZ.sep)}intersects(t){return this.contains(t)||t.contains(this)}append(t){return new BZ(this.value+BZ.sep+t)}}var PZ;function $Z(t,i,e){return!(!i.contains(t)||e&&i.contains(e))}BZ.sep=".",BZ.None=new BZ("@@none@@"),BZ.Empty=new BZ(""),BZ.QuickFix=new BZ("quickfix"),BZ.Refactor=new BZ("refactor"),BZ.RefactorExtract=BZ.Refactor.append("extract"),BZ.RefactorInline=BZ.Refactor.append("inline"),BZ.RefactorMove=BZ.Refactor.append("move"),BZ.RefactorRewrite=BZ.Refactor.append("rewrite"),BZ.Notebook=new BZ("notebook"),BZ.Source=new BZ("source"),BZ.SourceOrganizeImports=BZ.Source.append("organizeImports"),BZ.SourceFixAll=BZ.Source.append("fixAll"),BZ.SurroundWith=BZ.Refactor.append("surround"),function(t){t.Refactor="refactor",t.RefactorPreview="refactor preview",t.Lightbulb="lightbulb",t.Default="other (default)",t.SourceAction="source action",t.QuickFix="quick fix action",t.FixAll="fix all",t.OrganizeImports="organize imports",t.AutoFix="auto fix",t.QuickFixHover="quick fix hover window",t.OnSave="save participants",t.ProblemsView="problems view"}(PZ||(PZ={}));class WZ{static fromUser(t,i){return t&&"object"==typeof t?new WZ(WZ.getKindFromUser(t,i.kind),WZ.getApplyFromUser(t,i.apply),WZ.getPreferredUser(t)):new WZ(i.kind,i.apply,!1)}static getApplyFromUser(t,i){switch("string"==typeof t.apply?t.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return i}}static getKindFromUser(t,i){return"string"==typeof t.kind?new BZ(t.kind):i}static getPreferredUser(t){return"boolean"==typeof t.preferred&&t.preferred}constructor(t,i,e){this.kind=t,this.apply=i,this.preferred=e}}class jZ{constructor(t,i,e){this.action=t,this.provider=i,this.highlightRange=e}async resolve(t){var i;if((null===(i=this.provider)||void 0===i?void 0:i.resolveCodeAction)&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,t)}catch(t){$i(t)}i&&(this.action.edit=i.edit)}return this}}const zZ="editor.action.codeAction",HZ="editor.action.quickFix",VZ="editor.action.autoFix",UZ="editor.action.refactor",qZ="editor.action.sourceAction",KZ="editor.action.organizeImports",GZ="editor.action.fixAll";class ZZ extends ie{static codeActionsPreferredComparator(t,i){return t.isPreferred&&!i.isPreferred?-1:!t.isPreferred&&i.isPreferred?1:0}static codeActionsComparator({action:t},{action:i}){return t.isAI&&!i.isAI?1:!t.isAI&&i.isAI?-1:y(t.diagnostics)?y(i.diagnostics)?ZZ.codeActionsPreferredComparator(t,i):-1:y(i.diagnostics)?1:ZZ.codeActionsPreferredComparator(t,i)}constructor(t,i,e){super(),this.documentation=i,this._register(e),this.allActions=[...t].sort(ZZ.codeActionsComparator),this.validActions=this.allActions.filter((({action:t})=>!t.disabled))}get hasAutoFix(){return this.validActions.some((({action:t})=>!!t.kind&&BZ.QuickFix.contains(new BZ(t.kind))&&!!t.isPreferred))}get hasAIFix(){return this.validActions.some((({action:t})=>!!t.isAI))}get allAIFixes(){return this.validActions.every((({action:t})=>!!t.isAI))}}const QZ={actions:[],documentation:void 0};async function JZ(t,i,e,s,n,o){var r;const h=s.filter||{},c={...h,excludes:[...h.excludes||[],BZ.Notebook]},a={only:null===(r=h.include)||void 0===r?void 0:r.value,trigger:s.type},l=new DK(i,o),d=function(t,i,e){return t.all(i).filter((t=>!t.providedCodeActionKinds||t.providedCodeActionKinds.some((t=>function(t,i){return!(t.include&&!t.include.intersects(i)||t.excludes&&t.excludes.some((e=>$Z(i,e,t.include)))||!t.includeSourceActions&&BZ.Source.contains(i))}(e,new BZ(t))))))}(t,i,2===s.type?c:h),f=new te,p=d.map((async t=>{try{n.report(t);const s=await t.provideCodeActions(i,e,a,l.token);if(s&&f.add(s),l.token.isCancellationRequested)return QZ;const o=((null==s?void 0:s.actions)||[]).filter((t=>t&&function(t,i){const e=i.kind?new BZ(i.kind):void 0;return!(!(!t.include||e&&t.include.contains(e))||t.excludes&&e&&t.excludes.some((i=>$Z(e,i,t.include)))||!t.includeSourceActions&&e&&BZ.Source.contains(e)||t.onlyIncludePreferredActions&&!i.isPreferred)}(h,t))),r=function(t,i,e){if(!t.documentation)return;const s=t.documentation.map((t=>({kind:new BZ(t.kind),command:t.command})));if(e){let t;for(const i of s)i.kind.contains(e)&&(t?t.kind.contains(i.kind)&&(t=i):t=i);if(t)return null==t?void 0:t.command}for(const t of i)if(t.kind)for(const i of s)if(i.kind.contains(new BZ(t.kind)))return i.command}(t,o,h.include);return{actions:o.map((i=>new jZ(i,t))),documentation:r}}catch(t){if(zi(t))throw t;return $i(t),QZ}})),g=t.onDidChange((()=>{u(t.all(i),d)||l.cancel()}));try{const e=await Promise.all(p),n=e.map((t=>t.actions)).flat(),o=[...w(e.map((t=>t.documentation))),...YZ(t,i,s,n)];return new ZZ(n,o,f)}finally{g.dispose(),l.dispose()}}function*YZ(t,i,e,s){var n,o,r;if(i&&s.length)for(const h of t.all(i))h._getAdditionalMenuItems&&(yield*null===(n=h._getAdditionalMenuItems)||void 0===n?void 0:n.call(h,{trigger:e.type,only:null===(r=null===(o=e.filter)||void 0===o?void 0:o.include)||void 0===r?void 0:r.value},s.map((t=>t.action))))}var XZ;async function tQ(t,i,e,s,n=xe.None){var o;const r=t.get(oO),h=t.get(Dr),c=t.get(jh),a=t.get(rT);if(c.publicLog2("codeAction.applyCodeAction",{codeActionTitle:i.action.title,codeActionKind:i.action.kind,codeActionIsPreferred:!!i.action.isPreferred,reason:e}),await i.resolve(n),!n.isCancellationRequested){if((null===(o=i.action.edit)||void 0===o?void 0:o.edits.length)&&!(await r.apply(i.action.edit,{editor:null==s?void 0:s.editor,label:i.action.title,quotableLabel:i.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:e!==XZ.OnSave,showPreview:null==s?void 0:s.preview})).isApplied)return;if(i.action.command)try{await h.executeCommand(i.action.command.id,...i.action.command.arguments||[])}catch(t){const i=function(t){return"string"==typeof t?t:t instanceof Error&&"string"==typeof t.message?t.message:void 0}(t);a.error("string"==typeof i?i:rt(0,"An unknown error occurred while applying the code action"))}}}!function(t){t.OnSave="onSave",t.FromProblemsView="fromProblemsView",t.FromCodeActions="fromCodeActions"}(XZ||(XZ={})),Er.registerCommand("_executeCodeActionProvider",(async function(t,i,e,s,n){if(!(i instanceof ws))throw Vi();const{codeActionProvider:o}=t.get(Cg),r=t.get(gr).getModel(i);if(!r)throw Vi();const h=Fs.isISelection(e)?Fs.liftSelection(e):Ls.isIRange(e)?r.validateRange(e):void 0;if(!h)throw Vi();const c="string"==typeof s?new BZ(s):void 0,a=await JZ(o,r,h,{type:1,triggerAction:PZ.Default,filter:{includeSourceActions:!0,include:c}},zO.None,xe.None),l=[],u=Math.min(a.validActions.length,"number"==typeof n?n:0);for(let t=0;tt.action))}finally{setTimeout((()=>a.dispose()),100)}}));var iQ;let eQ=iQ=class{constructor(t){this.keybindingService=t}getResolver(){const t=new Hn((()=>this.keybindingService.getKeybindings().filter((t=>iQ.codeActionCommands.indexOf(t.command)>=0)).filter((t=>t.resolvedKeybinding)).map((t=>{let i=t.commandArgs;return t.command===KZ?i={kind:BZ.SourceOrganizeImports.value}:t.command===GZ&&(i={kind:BZ.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...WZ.fromUser(i,{kind:BZ.None,apply:"never"})}}))));return i=>{if(i.kind){const e=this.bestKeybindingForCodeAction(i,t.value);return null==e?void 0:e.resolvedKeybinding}}}bestKeybindingForCodeAction(t,i){if(!t.kind)return;const e=new BZ(t.kind);return i.filter((t=>t.kind.contains(e))).filter((i=>!i.preferred||t.isPreferred)).reduceRight(((t,i)=>t?t.kind.contains(i.kind)?i:t:i),void 0)}};eQ.codeActionCommands=[UZ,zZ,qZ,KZ,GZ],eQ=iQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,rC)],eQ),fw("symbolIcon.arrayForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.booleanForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},rt(0,"The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.colorForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.constantForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},rt(0,"The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},rt(0,"The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},rt(0,"The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.fileForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.folderForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},rt(0,"The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.keyForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.keywordForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},rt(0,"The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.moduleForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.namespaceForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.nullForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.numberForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.objectForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.operatorForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.packageForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.propertyForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.referenceForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.snippetForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.stringForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.structForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.textForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.typeParameterForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.unitForeground",{dark:pw,light:pw,hcDark:pw,hcLight:pw},rt(0,"The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),fw("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const sQ=Object.freeze({kind:BZ.Empty,title:rt(0,"More Actions...")}),nQ=Object.freeze([{kind:BZ.QuickFix,title:rt(0,"Quick Fix")},{kind:BZ.RefactorExtract,title:rt(0,"Extract"),icon:Is.wrench},{kind:BZ.RefactorInline,title:rt(0,"Inline"),icon:Is.wrench},{kind:BZ.RefactorRewrite,title:rt(0,"Rewrite"),icon:Is.wrench},{kind:BZ.RefactorMove,title:rt(0,"Move"),icon:Is.wrench},{kind:BZ.SurroundWith,title:rt(0,"Surround With"),icon:Is.symbolSnippet},{kind:BZ.Source,title:rt(0,"Source Action"),icon:Is.symbolFile},sQ]);var oQ,rQ,hQ=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t.Hidden={type:0},t.Showing=class{constructor(t,i,e,s){this.actions=t,this.trigger=i,this.editorPosition=e,this.widgetPosition=s,this.type=1}}}(rQ||(rQ={}));let cQ=oQ=class extends ie{constructor(t,i,e){var s,n,o;super(),this._editor=t,this._keybindingService=i,this._onClick=this._register(new fe),this.onClick=this._onClick.event,this._state=rQ.Hidden,this._iconClasses=[],this._domNode=Wl("div.lightBulbWidget"),this._register(hw.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent((()=>{const t=this._editor.getModel();(1!==this.state.type||!t||this.state.editorPosition.lineNumber>=t.getLineCount())&&this.hide()}))),this._register((n=t=>{var i;if(1!==this.state.type)return;const s=this._editor.getOption(64).experimental.showAiIcon;if((s===wi.On||s===wi.OnCode)&&this.state.actions.allAIFixes&&1===this.state.actions.validActions.length){const s=this.state.actions.validActions[0].action;if(null===(i=s.command)||void 0===i?void 0:i.id)return e.executeCommand(s.command.id,...s.command.arguments||[]),void t.preventDefault()}this._editor.focus(),t.preventDefault();const{top:n,height:o}=ol(this._domNode),r=this._editor.getOption(66);let h=Math.floor(r/3);null!==this.state.widgetPosition.position&&this.state.widgetPosition.position.lineNumber{1&~t.buttons||this.hide()}))),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(64)&&(this._editor.getOption(64).enabled||this.hide(),this._updateLightBulbTitleAndIcon())}))),this._register(ce.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,(()=>{var t,i,e,s;this._preferredKbLabel=null!==(i=null===(t=this._keybindingService.lookupKeybinding(VZ))||void 0===t?void 0:t.getLabel())&&void 0!==i?i:void 0,this._quickFixKbLabel=null!==(s=null===(e=this._keybindingService.lookupKeybinding(HZ))||void 0===e?void 0:e.getLabel())&&void 0!==s?s:void 0,this._updateLightBulbTitleAndIcon()})))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return 1===this._state.type?this._state.widgetPosition:null}update(t,i,e){if(t.validActions.length<=0)return this.hide();const s=this._editor.getOptions();if(!s.get(64).enabled)return this.hide();const n=this._editor.getModel();if(!n)return this.hide();const{lineNumber:o,column:r}=n.validatePosition(e),h=n.getOptions().tabSize,c=s.get(50),a=OS(n.getLineContent(o),h),l=t=>t>2&&this._editor.getTopForLineNumber(t)===this._editor.getTopForLineNumber(t-1);let u=o;if(!(c.spaceWidth*a>22))if(o>1&&!l(o-1))u-=1;else if(l(o+1)){if(r*c.spaceWidth<22)return this.hide()}else u+=1;this.state=new rQ.Showing(t,i,e,{position:{lineNumber:u,column:n.getLineContent(u).match(/^\S\s*$/)?2:1},preference:oQ._posPref}),this._editor.layoutContentWidget(this)}hide(){this.state!==rQ.Hidden&&(this.state=rQ.Hidden,this._editor.layoutContentWidget(this))}get state(){return this._state}set state(t){this._state=t,this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){var t,i,e;if(this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],1!==this.state.type)return;const s=()=>{this._preferredKbLabel&&(this.title=rt(0,"Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel))},n=()=>{this.title=this._quickFixKbLabel?rt(0,"Show Code Actions ({0})",this._quickFixKbLabel):rt(0,"Show Code Actions")};let o;const r=this._editor.getOption(64).experimental.showAiIcon;if(r===wi.On||r===wi.OnCode)if(r===wi.On&&this.state.actions.allAIFixes)if(o=Is.sparkleFilled,this.state.actions.allAIFixes&&1===this.state.actions.validActions.length)if("inlineChat.start"===(null===(t=this.state.actions.validActions[0].action.command)||void 0===t?void 0:t.id)){const t=null!==(e=null===(i=this._keybindingService.lookupKeybinding("inlineChat.start"))||void 0===i?void 0:i.getLabel())&&void 0!==e?e:void 0;this.title=t?rt(0,"Start Inline Chat ({0})",t):rt(0,"Start Inline Chat")}else this.title=rt(0,"Trigger AI Action");else n();else this.state.actions.hasAutoFix?(o=this.state.actions.hasAIFix?Is.lightbulbSparkleAutofix:Is.lightbulbAutofix,s()):this.state.actions.hasAIFix?(o=Is.lightbulbSparkle,n()):(o=Is.lightBulb,n());else this.state.actions.hasAutoFix?(o=Is.lightbulbAutofix,s()):(o=Is.lightBulb,n());this._iconClasses=Sr.asClassNameArray(o),this._domNode.classList.add(...this._iconClasses)}set title(t){this._domNode.title=t}};cQ.ID="editor.contrib.lightbulbWidget",cQ._posPref=[0],cQ=oQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([hQ(1,rC),hQ(2,Dr)],cQ);var aQ,lQ=function(t,i){return function(e,s){i(e,s,t)}};let uQ=aQ=class{constructor(t,i,e){this._options=t,this._languageService=i,this._openerService=e,this._onDidRenderAsync=new fe,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(t,i,e){if(!t)return{element:document.createElement("span"),dispose:()=>{}};const s=new te,n=s.add(rN(t,{...this._getRenderOptions(t,s),...i},e));return n.element.classList.add("rendered-markdown"),{element:n.element,dispose:()=>s.dispose()}}_getRenderOptions(t,i){return{codeBlockRenderer:async(t,i)=>{var e,s,n;let o;t?o=this._languageService.getLanguageIdByLanguageName(t):this._options.editor&&(o=null===(e=this._options.editor.getModel())||void 0===e?void 0:e.getLanguageId()),o||(o=qd);const r=await async function(t,i,e){if(!e)return DF(i,t.languageIdCodec,CF);const s=await Qs.getOrCreate(e);return DF(i,t.languageIdCodec,s||CF)}(this._languageService,i,o),h=document.createElement("span");return h.innerHTML=null!==(n=null===(s=aQ._ttpTokenizer)||void 0===s?void 0:s.createHTML(r))&&void 0!==n?n:r,this._options.editor?er(h,this._options.editor.getOption(50)):this._options.codeBlockFontFamily&&(h.style.fontFamily=this._options.codeBlockFontFamily),void 0!==this._options.codeBlockFontSize&&(h.style.fontSize=this._options.codeBlockFontSize),h},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:i=>dQ(this._openerService,i,t.isTrusted),disposables:i}}}};async function dQ(t,i,e){try{return await t.open(i,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:fQ(e)})}catch(t){return Pi(t),!1}}function fQ(t){return!0===t||!(!t||!Array.isArray(t.enabledCommands))&&t.enabledCommands}uQ._ttpTokenizer=Lu("tokenizeToString",{createHTML:t=>t}),uQ=aQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([lQ(1,kd),lQ(2,fP)],uQ);var pQ,gQ=function(t,i){return function(e,s){i(e,s,t)}};let mQ=pQ=class{static get(t){return t.getContribution(pQ.ID)}constructor(t,i,e){this._openerService=e,this._messageWidget=new ee,this._messageListeners=new te,this._mouseOverMessage=!1,this._editor=t,this._visible=pQ.MESSAGE_VISIBLE.bindTo(i)}dispose(){var t;null===(t=this._message)||void 0===t||t.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(t,i){let e;$m($_(t)?t.value:t),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=$_(t)?rN(t,{actionHandler:{callback:i=>dQ(this._openerService,i,$_(t)?t.isTrusted:void 0),disposables:this._messageListeners}}):void 0,this._messageWidget.value=new wQ(this._editor,i,"string"==typeof t?t:this._message.element),this._messageListeners.add(ce.debounce(this._editor.onDidBlurEditorText,((t,i)=>i),0)((()=>{this._mouseOverMessage||this._messageWidget.value&&ll(gl(),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(Ua(this._messageWidget.value.getDomNode(),Fl.MOUSE_ENTER,(()=>this._mouseOverMessage=!0),!0)),this._messageListeners.add(Ua(this._messageWidget.value.getDomNode(),Fl.MOUSE_LEAVE,(()=>this._mouseOverMessage=!1),!0)),this._messageListeners.add(this._editor.onMouseMove((t=>{t.target.position&&(e?e.containsPosition(t.target.position)||this.closeMessage():e=new Ls(i.lineNumber-3,1,t.target.position.lineNumber+3,1))})))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(wQ.fadeOut(this._messageWidget.value))}};mQ.ID="editor.contrib.messageController",mQ.MESSAGE_VISIBLE=new ah("messageVisible",!1,rt(0,"Whether the editor is currently showing an inline message")),mQ=pQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([gQ(1,lh),gQ(2,fP)],mQ),cu(new(su.bindToContribution(mQ.get))({id:"leaveEditorMessage",precondition:mQ.MESSAGE_VISIBLE,handler:t=>t.closeMessage(),kbOpts:{weight:130,primary:9}}));class wQ{static fadeOut(t){const i=()=>{t.dispose(),clearTimeout(e),t.getDomNode().removeEventListener("animationend",i)},e=setTimeout(i,110);return t.getDomNode().addEventListener("animationend",i),t.getDomNode().classList.add("fadeOut"),{dispose:i}}constructor(t,{lineNumber:i,column:e},s){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=t,this._editor.revealLinesInCenterIfOutsideViewport(i,i,0),this._position={lineNumber:i,column:e},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const n=document.createElement("div");n.classList.add("anchor","top"),this._domNode.appendChild(n);const o=document.createElement("div");"string"==typeof s?(o.classList.add("message"),o.textContent=s):(s.classList.add("message"),o.appendChild(s)),this._domNode.appendChild(o);const r=document.createElement("div");r.classList.add("anchor","below"),this._domNode.appendChild(r),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(t){this._domNode.classList.toggle("below",2===t)}}uu(mQ.ID,mQ,4);var vQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},bQ=function(t,i){return function(e,s){i(e,s,t)}};const yQ="acceptSelectedCodeAction",kQ="previewSelectedCodeAction";class xQ{get templateId(){return"header"}renderTemplate(t){t.classList.add("group-header");const i=document.createElement("span");return t.append(i),{container:t,text:i}}renderElement(t,i,e){var s,n;e.text.textContent=null!==(n=null===(s=t.group)||void 0===s?void 0:s.title)&&void 0!==n?n:""}disposeTemplate(t){}}let CQ=class{get templateId(){return"action"}constructor(t,i){this._supportsPreview=t,this._keybindingService=i}renderTemplate(t){t.classList.add(this.templateId);const i=document.createElement("div");i.className="icon",t.append(i);const e=document.createElement("span");return e.className="title",t.append(e),{container:t,icon:i,text:e,keybinding:new tz(t,_t)}}renderElement(t,i,e){var s,n,o;if((null===(s=t.group)||void 0===s?void 0:s.icon)?(e.icon.className=Sr.asClassName(t.group.icon),t.group.icon.color&&(e.icon.style.color=lw(t.group.icon.color.id))):(e.icon.className=Sr.asClassName(Is.lightBulb),e.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!t.item||!t.label)return;e.text.textContent=MQ(t.label),e.keybinding.set(t.keybinding),function(t,...i){t?jl(...i):zl(...i)}(!!t.keybinding,e.keybinding.element);const r=null===(n=this._keybindingService.lookupKeybinding(yQ))||void 0===n?void 0:n.getLabel(),h=null===(o=this._keybindingService.lookupKeybinding(kQ))||void 0===o?void 0:o.getLabel();e.container.classList.toggle("option-disabled",t.disabled),e.container.title=t.disabled?t.label:r&&h?this._supportsPreview&&t.canPreview?rt(0,"{0} to apply, {1} to preview",r,h):rt(0,"{0} to apply",r):""}disposeTemplate(t){}};CQ=vQ([bQ(1,rC)],CQ);class SQ extends UIEvent{constructor(){super("acceptSelectedAction")}}class DQ extends UIEvent{constructor(){super("previewSelectedAction")}}function EQ(t){if("action"===t.kind)return t.label}let AQ=class extends ie{constructor(t,i,e,s,n,o){super(),this._delegate=s,this._contextViewService=n,this._keybindingService=o,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new Se),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList"),this._list=this._register(new lB(t,this.domNode,{getHeight:t=>"header"===t.kind?this._headerLineHeight:this._actionLineHeight,getTemplateId:t=>t.kind},[new CQ(i,this._keybindingService),new xQ],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:EQ},accessibilityProvider:{getAriaLabel:t=>{if("action"===t.kind){let i=t.label?MQ(null==t?void 0:t.label):"";return t.disabled&&(i=rt(0,"{0}, Disabled Reason: {1}",i,t.disabled)),i}return null},getWidgetAriaLabel:()=>rt(0,"Action Widget"),getRole:t=>"action"===t.kind?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(PB),this._register(this._list.onMouseClick((t=>this.onListClick(t)))),this._register(this._list.onMouseOver((t=>this.onListHover(t)))),this._register(this._list.onDidChangeFocus((()=>this.onFocus()))),this._register(this._list.onDidChangeSelection((t=>this.onListSelection(t)))),this._allMenuItems=e,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(t){return!t.disabled&&"action"===t.kind}hide(t){this._delegate.onHide(t),this.cts.cancel(),this._contextViewService.hideContextView()}layout(t){const i=this._allMenuItems.filter((t=>"header"===t.kind)).length,e=this._allMenuItems.length*this._actionLineHeight+i*this._headerLineHeight-i*this._actionLineHeight;this._list.layout(e);let s=t;if(this._allMenuItems.length>=50)s=380;else{const i=this._allMenuItems.map(((t,i)=>{const e=this.domNode.ownerDocument.getElementById(this._list.getElementID(i));if(e){e.style.width="auto";const t=e.getBoundingClientRect().width;return e.style.width="",t}return 0}));s=Math.max(...i,t)}const n=Math.min(e,.7*this.domNode.ownerDocument.body.clientHeight);return this._list.layout(n,s),this.domNode.style.height=`${n}px`,this._list.domFocus(),s}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(t){const i=this._list.getFocus();if(0===i.length)return;const e=i[0],s=this._list.element(e);if(!this.focusCondition(s))return;const n=t?new DQ:new SQ;this._list.setSelection([e],n)}onListSelection(t){if(!t.elements.length)return;const i=t.elements[0];i.item&&this.focusCondition(i)?this._delegate.onSelect(i.item,t.browserEvent instanceof DQ):this._list.setSelection([])}onFocus(){var t,i;this._list.domFocus();const e=this._list.getFocus();if(0===e.length)return;const s=this._list.element(e[0]);null===(i=(t=this._delegate).onFocus)||void 0===i||i.call(t,s.item)}async onListHover(t){const i=t.element;if(i&&i.item&&this.focusCondition(i)){if(this._delegate.onHover&&!i.disabled&&"action"===i.kind){const t=await this._delegate.onHover(i.item,this.cts.token);i.canPreview=t?t.canPreview:void 0}t.index&&this._list.splice(t.index,1,[i])}this._list.setFocus("number"==typeof t.index?[t.index]:[])}onListClick(t){t.element&&this.focusCondition(t.element)&&this._list.setFocus([])}};function MQ(t){return t.replace(/\r\n|\r|\n/g," ")}AQ=vQ([bQ(4,lI),bQ(5,rC)],AQ);var LQ=function(t,i){return function(e,s){i(e,s,t)}};fw("actionBar.toggledBackground",{dark:Aw,light:Aw,hcDark:Aw,hcLight:Aw},rt(0,"Background color for toggled action items in action bar."));const FQ={Visible:new ah("codeActionMenuVisible",!1,rt(0,"Whether the action widget list is visible"))},TQ=fr("actionWidgetService");let RQ=class extends ie{get isVisible(){return FQ.Visible.getValue(this._contextKeyService)||!1}constructor(t,i,e){super(),this._contextViewService=t,this._contextKeyService=i,this._instantiationService=e,this._list=this._register(new ee)}show(t,i,e,s,n,o,r){const h=FQ.Visible.bindTo(this._contextKeyService),c=this._instantiationService.createInstance(AQ,t,i,e,s);this._contextViewService.showContextView({getAnchor:()=>n,render:t=>(h.set(!0),this._renderWidget(t,c,null!=r?r:[])),onHide:t=>{h.reset(),this._onWidgetClosed(t)}},o,!1)}acceptSelected(t){var i;null===(i=this._list.value)||void 0===i||i.acceptSelected(t)}focusPrevious(){var t,i;null===(i=null===(t=this._list)||void 0===t?void 0:t.value)||void 0===i||i.focusPrevious()}focusNext(){var t,i;null===(i=null===(t=this._list)||void 0===t?void 0:t.value)||void 0===i||i.focusNext()}hide(){var t;null===(t=this._list.value)||void 0===t||t.hide(),this._list.clear()}_renderWidget(t,i,e){var s;const n=document.createElement("div");if(n.classList.add("action-widget"),t.appendChild(n),this._list.value=i,!this._list.value)throw new Error("List has no value");n.appendChild(this._list.value.domNode);const o=new te,r=document.createElement("div"),h=t.appendChild(r);h.classList.add("context-view-block"),o.add(Ua(h,Fl.MOUSE_DOWN,(t=>t.stopPropagation())));const c=document.createElement("div"),a=t.appendChild(c);a.classList.add("context-view-pointerBlock"),o.add(Ua(a,Fl.POINTER_MOVE,(()=>a.remove()))),o.add(Ua(a,Fl.MOUSE_DOWN,(()=>a.remove())));let l=0;if(e.length){const t=this._createActionBar(".action-widget-action-bar",e);t&&(n.appendChild(t.getContainer().parentElement),o.add(t),l=t.getContainer().offsetWidth)}const u=null===(s=this._list.value)||void 0===s?void 0:s.layout(l);n.style.width=`${u}px`;const d=o.add(Ol(t));return o.add(d.onDidBlur((()=>this.hide()))),o}_createActionBar(t,i){if(!i.length)return;const e=Wl(t),s=new XB(e);return s.push(i,{icon:!1,label:!0}),s}_onWidgetClosed(t){var i;null===(i=this._list.value)||void 0===i||i.hide(t)}};RQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([LQ(0,lI),LQ(1,lh),LQ(2,dr)],RQ),Sd(TQ,RQ,1);const OQ=1100;Wh(class extends $h{constructor(){super({id:"hideCodeActionWidget",title:{value:rt(0,"Hide action widget"),original:"Hide action widget"},precondition:FQ.Visible,keybinding:{weight:OQ,primary:9,secondary:[1033]}})}run(t){t.get(TQ).hide()}}),Wh(class extends $h{constructor(){super({id:"selectPrevCodeAction",title:{value:rt(0,"Select previous action"),original:"Select previous action"},precondition:FQ.Visible,keybinding:{weight:OQ,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(t){const i=t.get(TQ);i instanceof RQ&&i.focusPrevious()}}),Wh(class extends $h{constructor(){super({id:"selectNextCodeAction",title:{value:rt(0,"Select next action"),original:"Select next action"},precondition:FQ.Visible,keybinding:{weight:OQ,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(t){const i=t.get(TQ);i instanceof RQ&&i.focusNext()}}),Wh(class extends $h{constructor(){super({id:yQ,title:{value:rt(0,"Accept selected action"),original:"Accept selected action"},precondition:FQ.Visible,keybinding:{weight:OQ,primary:3,secondary:[2137]}})}run(t){const i=t.get(TQ);i instanceof RQ&&i.acceptSelected()}}),Wh(class extends $h{constructor(){super({id:kQ,title:{value:rt(0,"Preview selected action"),original:"Preview selected action"},precondition:FQ.Visible,keybinding:{weight:OQ,primary:2051}})}run(t){const i=t.get(TQ);i instanceof RQ&&i.acceptSelected(!0)}});const IQ=new ah("supportedCodeAction","");class _Q extends ie{constructor(t,i,e,s=250){super(),this._editor=t,this._markerService=i,this._signalChange=e,this._delay=s,this._autoTriggerTimer=this._register(new fc),this._register(this._markerService.onMarkerChanged((t=>this._onMarkerChanges(t)))),this._register(this._editor.onDidChangeCursorPosition((()=>this._tryAutoTrigger())))}trigger(t){const i=this._getRangeOfSelectionUnlessWhitespaceEnclosed(t);this._signalChange(i?{trigger:t,selection:i}:void 0)}_onMarkerChanges(t){const i=this._editor.getModel();i&&t.some((t=>vA(t,i.uri)))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet((()=>{this.trigger({type:2,triggerAction:PZ.Default})}),this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(t){var i;if(!this._editor.hasModel())return;const e=this._editor.getModel(),s=this._editor.getSelection();if(s.isEmpty()&&2===t.type){const{lineNumber:t,column:n}=s.getPosition(),o=e.getLineContent(t);if(0===o.length){if((null===(i=this._editor.getOption(64).experimental)||void 0===i?void 0:i.showAiIcon)!==wi.On)return}else if(1===n){if(/\s/.test(o[0]))return}else if(n===e.getLineMaxColumn(t)){if(/\s/.test(o[o.length-1]))return}else if(/\s/.test(o[n-2])&&/\s/.test(o[n-1]))return}return s}}var NQ;!function(t){t.Empty={type:0},t.Triggered=class{constructor(t,i,e){this.trigger=t,this.position=i,this._cancellablePromise=e,this.type=1,this.actions=e.catch((t=>{if(zi(t))return BQ;throw t}))}cancel(){this._cancellablePromise.cancel()}}}(NQ||(NQ={}));const BQ=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class PQ extends ie{constructor(t,i,e,s,n,o){super(),this._editor=t,this._registry=i,this._markerService=e,this._progressService=n,this._configurationService=o,this._codeActionOracle=this._register(new ee),this._state=NQ.Empty,this._onDidChangeState=this._register(new fe),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=IQ.bindTo(s),this._register(this._editor.onDidChangeModel((()=>this._update()))),this._register(this._editor.onDidChangeModelLanguage((()=>this._update()))),this._register(this._registry.onDidChange((()=>this._update()))),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(NQ.Empty,!0))}_settingEnabledNearbyQuickfixes(){var t;const i=null===(t=this._editor)||void 0===t?void 0:t.getModel();return!!this._configurationService&&this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:null==i?void 0:i.uri})}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(NQ.Empty);const t=this._editor.getModel();if(t&&this._registry.has(t)&&!this._editor.getOption(90)){const i=this._registry.all(t).flatMap((t=>{var i;return null!==(i=t.providedCodeActionKinds)&&void 0!==i?i:[]}));this._supportedCodeActions.set(i.join(" ")),this._codeActionOracle.value=new _Q(this._editor,this._markerService,(i=>{var e;if(!i)return void this.setState(NQ.Empty);const s=i.selection.getStartPosition(),n=oc((async e=>{var s,n,o,r,h,c;if(this._settingEnabledNearbyQuickfixes()&&1===i.trigger.type&&(i.trigger.triggerAction===PZ.QuickFix||(null===(n=null===(s=i.trigger.filter)||void 0===s?void 0:s.include)||void 0===n?void 0:n.contains(BZ.QuickFix)))){const s=await JZ(this._registry,t,i.selection,i.trigger,zO.None,e),n=[...s.allActions];if(e.isCancellationRequested)return BQ;if(!(null===(o=s.validActions)||void 0===o?void 0:o.some((t=>!!t.action.kind&&BZ.QuickFix.contains(new BZ(t.action.kind)))))){const o=this._markerService.read({resource:t.uri});if(o.length>0){const a=i.selection.getPosition();let l=a,u=Number.MAX_VALUE;const d=[...s.validActions];for(const f of o){const o=f.endColumn,p=f.endLineNumber;if(p===a.lineNumber||f.startLineNumber===a.lineNumber){l=new Ms(p,o);const f={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(null===(r=i.trigger.filter)||void 0===r?void 0:r.include)?null===(h=i.trigger.filter)||void 0===h?void 0:h.include:BZ.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:(null===(c=i.trigger.context)||void 0===c?void 0:c.notAvailableMessage)||"",position:l}},g=new Fs(l.lineNumber,l.column,l.lineNumber,l.column),m=await JZ(this._registry,t,g,f,zO.None,e);if(0!==m.validActions.length){for(const t of m.validActions)t.highlightRange=t.action.isPreferred;0===s.allActions.length&&n.push(...m.allActions),Math.abs(a.column-o)e.findIndex((i=>i.action.title===t.action.title))===i));return f.sort(((t,i)=>t.action.isPreferred&&!i.action.isPreferred?-1:!t.action.isPreferred&&i.action.isPreferred||t.action.isAI&&!i.action.isAI?1:!t.action.isAI&&i.action.isAI?-1:0)),{validActions:f,allActions:n,documentation:s.documentation,hasAutoFix:s.hasAutoFix,hasAIFix:s.hasAIFix,allAIFixes:s.allAIFixes,dispose:()=>{s.dispose()}}}}}return JZ(this._registry,t,i.selection,i.trigger,zO.None,e)}));1===i.trigger.type&&(null===(e=this._progressService)||void 0===e||e.showWhile(n,250)),this.setState(new NQ.Triggered(i.trigger,s,n))}),void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:PZ.Default})}else this._supportedCodeActions.reset()}trigger(t){var i;null===(i=this._codeActionOracle.value)||void 0===i||i.trigger(t)}setState(t,i){t!==this._state&&(1===this._state.type&&this._state.cancel(),this._state=t,i||this._disposed||this._onDidChangeState.fire(t))}}var $Q,WQ=function(t,i){return function(e,s){i(e,s,t)}};let jQ=$Q=class extends ie{static get(t){return t.getContribution($Q.ID)}constructor(t,i,e,s,n,o,r,h,c,a){super(),this._commandService=r,this._configurationService=h,this._actionWidgetService=c,this._instantiationService=a,this._activeCodeActions=this._register(new ee),this._showDisabled=!1,this._disposed=!1,this._editor=t,this._model=this._register(new PQ(this._editor,n.codeActionProvider,i,e,o,h)),this._register(this._model.onDidChangeState((t=>this.update(t)))),this._lightBulbWidget=new Hn((()=>{const t=this._editor.getContribution(cQ.ID);return t&&this._register(t.onClick((t=>this.showCodeActionList(t.actions,t,{includeDisabledActions:!1,fromLightbulb:!0})))),t})),this._resolver=s.createInstance(eQ),this._register(this._editor.onDidLayoutChange((()=>this._actionWidgetService.hide())))}dispose(){this._disposed=!0,super.dispose()}showCodeActions(t,i,e){return this.showCodeActionList(i,e,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(t,i,e,s){var n;if(!this._editor.hasModel())return;null===(n=mQ.get(this._editor))||void 0===n||n.closeMessage();const o=this._editor.getPosition();this._trigger({type:1,triggerAction:i,filter:e,autoApply:s,context:{notAvailableMessage:t,position:o}})}_trigger(t){return this._model.trigger(t)}async _applyCodeAction(t,i,e){try{await this._instantiationService.invokeFunction(tQ,t,XZ.FromCodeActions,{preview:e,editor:this._editor})}finally{i&&this._trigger({type:2,triggerAction:PZ.QuickFix,filter:{}})}}async update(t){var i,e,s,n,o,r,h;if(1!==t.type)return void(null===(i=this._lightBulbWidget.rawValue)||void 0===i||i.hide());let c;try{c=await t.actions}catch(t){return void Pi(t)}if(!this._disposed)if(null===(e=this._lightBulbWidget.value)||void 0===e||e.update(c,t.trigger,t.position),1===t.trigger.type){if(null===(s=t.trigger.filter)||void 0===s?void 0:s.include){const i=this.tryGetValidActionToApply(t.trigger,c);if(i){try{null===(n=this._lightBulbWidget.value)||void 0===n||n.hide(),await this._applyCodeAction(i,!1,!1)}finally{c.dispose()}return}if(t.trigger.context){const i=this.getInvalidActionThatWouldHaveBeenApplied(t.trigger,c);if(i&&i.action.disabled)return null===(o=mQ.get(this._editor))||void 0===o||o.showMessage(i.action.disabled,t.trigger.context.position),void c.dispose()}}const i=!!(null===(r=t.trigger.filter)||void 0===r?void 0:r.include);if(t.trigger.context&&(!c.allActions.length||!i&&!c.validActions.length))return null===(h=mQ.get(this._editor))||void 0===h||h.showMessage(t.trigger.context.notAvailableMessage,t.trigger.context.position),this._activeCodeActions.value=c,void c.dispose();this._activeCodeActions.value=c,this.showCodeActionList(c,this.toCoords(t.position),{includeDisabledActions:i,fromLightbulb:!1})}else this._actionWidgetService.isVisible?c.dispose():this._activeCodeActions.value=c}getInvalidActionThatWouldHaveBeenApplied(t,i){if(i.allActions.length)return"first"===t.autoApply&&0===i.validActions.length||"ifSingle"===t.autoApply&&1===i.allActions.length?i.allActions.find((({action:t})=>t.disabled)):void 0}tryGetValidActionToApply(t,i){if(i.validActions.length)return"first"===t.autoApply&&i.validActions.length>0||"ifSingle"===t.autoApply&&1===i.validActions.length?i.validActions[0]:void 0}async showCodeActionList(t,i,e){const s=this._editor.createDecorationsCollection(),n=this._editor.getDomNode();if(!n)return;const o=e.includeDisabledActions&&(this._showDisabled||0===t.validActions.length)?t.allActions:t.validActions;if(!o.length)return;const r=Ms.isIPosition(i)?this.toCoords(i):i,h={onSelect:async(t,i)=>{this._applyCodeAction(t,!0,!!i),this._actionWidgetService.hide(),s.clear()},onHide:()=>{var t;null===(t=this._editor)||void 0===t||t.focus(),s.clear()},onHover:async(t,i)=>{var e;if(await t.resolve(i),!i.isCancellationRequested)return{canPreview:!!(null===(e=t.action.edit)||void 0===e?void 0:e.edits.length)}},onFocus:t=>{var i,e;if(t&&t.highlightRange&&t.action.diagnostics){s.set([{range:t.action.diagnostics[0],options:$Q.DECORATION}]);const n=t.action.diagnostics[0];Wm(rt(0,"Context: {0} at line {1} and column {2}.",null===(e=null===(i=this._editor.getModel())||void 0===i?void 0:i.getWordAtPosition({lineNumber:n.startLineNumber,column:n.startColumn}))||void 0===e?void 0:e.word,n.startLineNumber,n.startColumn))}else s.clear()}};this._actionWidgetService.show("codeActionWidget",!0,function(t,i,e){if(!i)return t.map((t=>{var i;return{kind:"action",item:t,group:sQ,disabled:!!t.action.disabled,label:t.action.disabled||t.action.title,canPreview:!!(null===(i=t.action.edit)||void 0===i?void 0:i.edits.length)}}));const s=nQ.map((t=>({group:t,actions:[]})));for(const i of t){const t=i.action.kind?new BZ(i.action.kind):BZ.None;for(const e of s)if(e.group.kind.contains(t)){e.actions.push(i);break}}const n=[];for(const t of s)if(t.actions.length){n.push({kind:"header",group:t.group});for(const i of t.actions){const s=t.group;n.push({kind:"action",item:i,group:i.action.isAI?{title:s.title,kind:s.kind,icon:Is.sparkle}:s,label:i.action.title,disabled:!!i.action.disabled,keybinding:e(i.action)})}}return n}(o,this._shouldShowHeaders(),this._resolver.getResolver()),h,r,n,this._getActionBarActions(t,i,e))}toCoords(t){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(t,1),this._editor.render();const i=this._editor.getScrolledVisiblePosition(t),e=ol(this._editor.getDomNode());return{x:e.left+i.left,y:e.top+i.top+i.height}}_shouldShowHeaders(){var t;const i=null===(t=this._editor)||void 0===t?void 0:t.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:null==i?void 0:i.uri})}_getActionBarActions(t,i,e){if(e.fromLightbulb)return[];const s=t.documentation.map((t=>{var i;return{id:t.id,label:t.title,tooltip:null!==(i=t.tooltip)&&void 0!==i?i:"",class:void 0,enabled:!0,run:()=>{var i;return this._commandService.executeCommand(t.id,...null!==(i=t.arguments)&&void 0!==i?i:[])}}}));return e.includeDisabledActions&&t.validActions.length>0&&t.allActions.length!==t.validActions.length&&s.push(this._showDisabled?{id:"hideMoreActions",label:rt(0,"Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(t,i,e))}:{id:"showMoreActions",label:rt(0,"Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(t,i,e))}),s}};function zQ(t){return Hr.regex(IQ.keys()[0],new RegExp("(\\s|^)"+Zn(t.value)+"\\b"))}jQ.ID="editor.contrib.codeActionController",jQ.DECORATION=ML.register({description:"quickfix-highlight",className:"quickfix-edit-highlight"}),jQ=$Q=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([WQ(1,xP),WQ(2,lh),WQ(3,dr),WQ(4,Cg),WQ(5,HO),WQ(6,Dr),WQ(7,gd),WQ(8,TQ),WQ(9,dr)],jQ),ox(((t,i)=>{((t,e)=>{e&&i.addRule(`.monaco-editor .quickfix-edit-highlight { background-color: ${e}; }`)})(0,t.getColor(Fv));const e=t.getColor(Ov);e&&i.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Hy(t.type)?"dotted":"solid"} ${e}; box-sizing: border-box; }`)}));const HQ={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:rt(0,"Kind of the code action to run.")},apply:{type:"string",description:rt(0,"Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[rt(0,"Always apply the first returned code action."),rt(0,"Apply the first returned code action if it is the only one."),rt(0,"Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:rt(0,"Controls if only preferred code actions should be returned.")}}};function VQ(t,i,e,s,n=PZ.Default){if(t.hasModel()){const o=jQ.get(t);null==o||o.manualTriggerAtCurrentPosition(i,n,e,s)}}uu(jQ.ID,jQ,3),uu(cQ.ID,cQ,4),au(class extends nu{constructor(){super({id:HZ,label:rt(0,"Quick Fix..."),alias:"Quick Fix...",precondition:Hr.and(XC.writable,XC.hasCodeActionsProvider),kbOpts:{kbExpr:XC.textInputFocus,primary:2137,weight:100}})}run(t,i){return VQ(i,rt(0,"No code actions available"),void 0,void 0,PZ.QuickFix)}}),au(class extends nu{constructor(){super({id:UZ,label:rt(0,"Refactor..."),alias:"Refactor...",precondition:Hr.and(XC.writable,XC.hasCodeActionsProvider),kbOpts:{kbExpr:XC.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:Hr.and(XC.writable,zQ(BZ.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:HQ}]}})}run(t,i,e){const s=WZ.fromUser(e,{kind:BZ.Refactor,apply:"never"});return VQ(i,"string"==typeof(null==e?void 0:e.kind)?rt(0,s.preferred?"No preferred refactorings for '{0}' available":"No refactorings for '{0}' available",e.kind):rt(0,s.preferred?"No preferred refactorings available":"No refactorings available"),{include:BZ.Refactor.contains(s.kind)?s.kind:BZ.None,onlyIncludePreferredActions:s.preferred},s.apply,PZ.Refactor)}}),au(class extends nu{constructor(){super({id:qZ,label:rt(0,"Source Action..."),alias:"Source Action...",precondition:Hr.and(XC.writable,XC.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:Hr.and(XC.writable,zQ(BZ.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:HQ}]}})}run(t,i,e){const s=WZ.fromUser(e,{kind:BZ.Source,apply:"never"});return VQ(i,"string"==typeof(null==e?void 0:e.kind)?rt(0,s.preferred?"No preferred source actions for '{0}' available":"No source actions for '{0}' available",e.kind):rt(0,s.preferred?"No preferred source actions available":"No source actions available"),{include:BZ.Source.contains(s.kind)?s.kind:BZ.None,includeSourceActions:!0,onlyIncludePreferredActions:s.preferred},s.apply,PZ.SourceAction)}}),au(class extends nu{constructor(){super({id:KZ,label:rt(0,"Organize Imports"),alias:"Organize Imports",precondition:Hr.and(XC.writable,zQ(BZ.SourceOrganizeImports)),kbOpts:{kbExpr:XC.textInputFocus,primary:1581,weight:100}})}run(t,i){return VQ(i,rt(0,"No organize imports action available"),{include:BZ.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",PZ.OrganizeImports)}}),au(class extends nu{constructor(){super({id:VZ,label:rt(0,"Auto Fix..."),alias:"Auto Fix...",precondition:Hr.and(XC.writable,zQ(BZ.QuickFix)),kbOpts:{kbExpr:XC.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(t,i){return VQ(i,rt(0,"No auto fixes available"),{include:BZ.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",PZ.AutoFix)}}),au(class extends nu{constructor(){super({id:GZ,label:rt(0,"Fix All"),alias:"Fix All",precondition:Hr.and(XC.writable,zQ(BZ.SourceFixAll))})}run(t,i){return VQ(i,rt(0,"No fix all action available"),{include:BZ.SourceFixAll,includeSourceActions:!0},"ifSingle",PZ.FixAll)}}),cu(new class extends su{constructor(){super({id:zZ,precondition:Hr.and(XC.writable,XC.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:HQ}]}})}runEditorCommand(t,i,e){const s=WZ.fromUser(e,{kind:BZ.Empty,apply:"ifSingle"});return VQ(i,"string"==typeof(null==e?void 0:e.kind)?rt(0,s.preferred?"No preferred code actions for '{0}' available":"No code actions for '{0}' available",e.kind):rt(0,s.preferred?"No preferred code actions available":"No code actions available"),{include:s.kind,includeSourceActions:!0,onlyIncludePreferredActions:s.preferred},s.apply)}}),Eh.as(Ld).registerConfiguration({...lO,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:rt(0,"Enable/disable showing group headers in the Code Action menu."),default:!0}}}),Eh.as(Ld).registerConfiguration({...lO,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:rt(0,"Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});class UQ{constructor(){this.lenses=[],this._disposables=new te}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(t,i){this._disposables.add(t);for(const e of t.lenses)this.lenses.push({symbol:e,provider:i})}}async function qQ(t,i,e){const s=t.ordered(i),n=new Map,o=new UQ,r=s.map((async(t,s)=>{n.set(t,s);try{const s=await Promise.resolve(t.provideCodeLenses(i,e));s&&o.add(s,t)}catch(t){$i(t)}}));return await Promise.all(r),o.lenses=o.lenses.sort(((t,i)=>t.symbol.range.startLineNumberi.symbol.range.startLineNumber?1:n.get(t.provider)n.get(i.provider)?1:t.symbol.range.startColumni.symbol.range.startColumn?1:0)),o}Er.registerCommand("_executeCodeLensProvider",(function(t,...i){let[e,s]=i;K(ws.isUri(e)),K("number"==typeof s||!s);const{codeLensProvider:n}=t.get(Cg),o=t.get(gr).getModel(e);if(!o)throw Vi();const r=[],h=new te;return qQ(n,o,xe.None).then((t=>{h.add(t);const i=[];for(const e of t.lenses)null==s||Boolean(e.symbol.command)?r.push(e.symbol):s-- >0&&e.provider.resolveCodeLens&&i.push(Promise.resolve(e.provider.resolveCodeLens(o,e.symbol,xe.None)).then((t=>r.push(t||e.symbol))));return Promise.all(i)})).then((()=>r)).finally((()=>{setTimeout((()=>h.dispose()),100)}))}));const KQ=fr("ICodeLensCache");class GQ{constructor(t,i){this.lineCount=t,this.data=i}}let ZQ=class{constructor(t){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Up(20,.75),Ga(Wn,(()=>t.remove("codelens/cache",1)));const i="codelens/cache2",e=t.get(i,1,"{}");this._deserialize(e),ce.once(t.onWillSaveState)((e=>{e.reason===LB.SHUTDOWN&&t.store(i,this._serialize(),1,1)}))}put(t,i){const e=i.lenses.map((t=>{var i;return{range:t.symbol.range,command:t.symbol.command&&{id:"",title:null===(i=t.symbol.command)||void 0===i?void 0:i.title}}})),s=new UQ;s.add({lenses:e,dispose:()=>{}},this._fakeProvider);const n=new GQ(t.getLineCount(),s);this._cache.set(t.uri.toString(),n)}get(t){const i=this._cache.get(t.uri.toString());return i&&i.lineCount===t.getLineCount()?i.data:void 0}delete(t){this._cache.delete(t.uri.toString())}_serialize(){const t=Object.create(null);for(const[i,e]of this._cache){const s=new Set;for(const t of e.data.lenses)s.add(t.symbol.range.startLineNumber);t[i]={lineCount:e.lineCount,lines:[...s.values()]}}return JSON.stringify(t)}_deserialize(t){try{const i=JSON.parse(t);for(const t in i){const e=i[t],s=[];for(const t of e.lines)s.push({range:new Ls(t,1,t,11)});const n=new UQ;n.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(t,new GQ(e.lineCount,n))}}catch(t){}}};ZQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,MB)],ZQ),Sd(KQ,ZQ,1);class QQ{constructor(t,i,e){this.afterColumn=1073741824,this.afterLineNumber=t,this.heightInPx=i,this._onHeight=e,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(t){void 0===this._lastHeight?this._lastHeight=t:this._lastHeight!==t&&(this._lastHeight=t,this._onHeight())}isVisible(){return 0!==this._lastHeight&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class JQ{constructor(t,i){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=t,this._id="codelens.widget-"+JQ._idPool++,this.updatePosition(i),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(t,i){this._commands.clear();const e=[];let s=!1;for(let i=0;i{t.symbol.command&&h.push(t.symbol),e.addDecoration({range:t.symbol.range,options:XQ},(t=>this._decorationIds[i]=t)),r=r?Ls.plusRange(r,t.symbol.range):Ls.lift(t.symbol.range)})),this._viewZone=new QQ(r.startLineNumber-1,n,o),this._viewZoneId=s.addZone(this._viewZone),h.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(h,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new JQ(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(t,i){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],null==i||i.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(((t,i)=>{const e=this._editor.getModel().getDecorationRange(t);return!(!e||Ls.isEmpty(this._data[i].symbol.range)!==e.isEmpty())}))}updateCodeLensSymbols(t,i){this._decorationIds.forEach(i.removeDecoration,i),this._decorationIds=[],this._data=t,this._data.forEach(((t,e)=>{i.addDecoration({range:t.symbol.range,options:XQ},(t=>this._decorationIds[e]=t))}))}updateHeight(t,i){this._viewZone.heightInPx=t,i.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(t){if(!this._viewZone.isVisible())return null;for(let i=0;ithis._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((t=>{(t.hasChanged(50)||t.hasChanged(19)||t.hasChanged(18))&&this._updateLensStyle(),t.hasChanged(17)&&this._onModelChange()}))),this._disposables.add(i.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){var t;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),null===(t=this._currentCodeLensModel)||void 0===t||t.dispose()}_getLayoutInfo(){const t=Math.max(1.3,this._editor.getOption(66)/this._editor.getOption(52));let i=this._editor.getOption(19);return(!i||i<5)&&(i=.9*this._editor.getOption(52)|0),{fontSize:i,codeLensHeight:i*t|0}}_updateLensStyle(){const{codeLensHeight:t,fontSize:i}=this._getLayoutInfo(),e=this._editor.getOption(18),s=this._editor.getOption(50),{style:n}=this._editor.getContainerDomNode();n.setProperty("--vscode-editorCodeLens-lineHeight",`${t}px`),n.setProperty("--vscode-editorCodeLens-fontSize",`${i}px`),n.setProperty("--vscode-editorCodeLens-fontFeatureSettings",s.fontFeatureSettings),e&&(n.setProperty("--vscode-editorCodeLens-fontFamily",e),n.setProperty("--vscode-editorCodeLens-fontFamilyDefault",Oi.fontFamily)),this._editor.changeViewZones((i=>{for(const e of this._lenses)e.updateHeight(t,i)}))}_localDispose(){var t,i,e;null===(t=this._getCodeLensModelPromise)||void 0===t||t.cancel(),this._getCodeLensModelPromise=void 0,null===(i=this._resolveCodeLensesPromise)||void 0===i||i.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),null===(e=this._currentCodeLensModel)||void 0===e||e.dispose()}_onModelChange(){this._localDispose();const t=this._editor.getModel();if(!t)return;if(!this._editor.getOption(17)||t.isTooLargeForTokenization())return;const i=this._codeLensCache.get(t);if(i&&this._renderCodeLensSymbols(i),!this._languageFeaturesService.codeLensProvider.has(t))return void(i&&uc((()=>{const e=this._codeLensCache.get(t);i===e&&(this._codeLensCache.delete(t),this._onModelChange())}),3e4,this._localToDispose));for(const i of this._languageFeaturesService.codeLensProvider.all(t))if("function"==typeof i.onDidChange){const t=i.onDidChange((()=>e.schedule()));this._localToDispose.add(t)}const e=new gc((()=>{var i;const s=Date.now();null===(i=this._getCodeLensModelPromise)||void 0===i||i.cancel(),this._getCodeLensModelPromise=oc((i=>qQ(this._languageFeaturesService.codeLensProvider,t,i))),this._getCodeLensModelPromise.then((i=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=i,this._codeLensCache.put(t,i);const n=this._provideCodeLensDebounce.update(t,Date.now()-s);e.delay=n,this._renderCodeLensSymbols(i),this._resolveCodeLensesInViewportSoon()}),Pi)}),this._provideCodeLensDebounce.get(t));this._localToDispose.add(e),this._localToDispose.add(Xi((()=>this._resolveCodeLensesScheduler.cancel()))),this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{var t;this._editor.changeDecorations((t=>{this._editor.changeViewZones((i=>{const e=[];let s=-1;this._lenses.forEach((t=>{t.isValid()&&s!==t.getLineNumber()?(t.update(i),s=t.getLineNumber()):e.push(t)}));const n=new YQ;e.forEach((t=>{t.dispose(n,i),this._lenses.splice(this._lenses.indexOf(t),1)})),n.commit(t)}))})),e.schedule(),this._resolveCodeLensesScheduler.cancel(),null===(t=this._resolveCodeLensesPromise)||void 0===t||t.cancel(),this._resolveCodeLensesPromise=void 0}))),this._localToDispose.add(this._editor.onDidFocusEditorWidget((()=>{e.schedule()}))),this._localToDispose.add(this._editor.onDidBlurEditorText((()=>{e.cancel()}))),this._localToDispose.add(this._editor.onDidScrollChange((t=>{t.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(this._editor.onDidLayoutChange((()=>{this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(Xi((()=>{if(this._editor.getModel()){const t=eU.capture(this._editor);this._editor.changeDecorations((t=>{this._editor.changeViewZones((i=>{this._disposeAllLenses(t,i)}))})),t.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)}))),this._localToDispose.add(this._editor.onMouseDown((t=>{if(9!==t.target.type)return;let i=t.target.element;if("SPAN"===(null==i?void 0:i.tagName)&&(i=i.parentElement),"A"===(null==i?void 0:i.tagName))for(const t of this._lenses){const e=t.getCommand(i);if(e){this._commandService.executeCommand(e.id,...e.arguments||[]).catch((t=>this._notificationService.error(t)));break}}}))),e.schedule()}_disposeAllLenses(t,i){const e=new YQ;for(const t of this._lenses)t.dispose(e,i);t&&e.commit(t),this._lenses.length=0}_renderCodeLensSymbols(t){if(!this._editor.hasModel())return;const i=this._editor.getModel().getLineCount(),e=[];let s;for(const n of t.lenses){const t=n.symbol.range.startLineNumber;t<1||t>i||(s&&s[s.length-1].symbol.range.startLineNumber===t?s.push(n):(s=[n],e.push(s)))}if(!e.length&&!this._lenses.length)return;const n=eU.capture(this._editor),o=this._getLayoutInfo();this._editor.changeDecorations((t=>{this._editor.changeViewZones((i=>{const s=new YQ;let n=0,r=0;for(;rthis._resolveCodeLensesInViewportSoon()))),n++,r++)}for(;nthis._resolveCodeLensesInViewportSoon()))),r++;s.commit(t)}))})),n.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var t;null===(t=this._resolveCodeLensesPromise)||void 0===t||t.cancel(),this._resolveCodeLensesPromise=void 0;const i=this._editor.getModel();if(!i)return;const e=[],s=[];if(this._lenses.forEach((t=>{const n=t.computeIfNecessary(i);n&&(e.push(n),s.push(t))})),0===e.length)return;const n=Date.now(),o=oc((t=>{const n=e.map(((e,n)=>{const o=new Array(e.length),r=e.map(((e,s)=>e.symbol.command||"function"!=typeof e.provider.resolveCodeLens?(o[s]=e.symbol,Promise.resolve(void 0)):Promise.resolve(e.provider.resolveCodeLens(i,e.symbol,t)).then((t=>{o[s]=t}),$i)));return Promise.all(r).then((()=>{t.isCancellationRequested||s[n].isDisposed()||s[n].updateCommands(o)}))}));return Promise.all(n)}));this._resolveCodeLensesPromise=o,this._resolveCodeLensesPromise.then((()=>{const t=this._resolveCodeLensesDebounce.update(i,Date.now()-n);this._resolveCodeLensesScheduler.delay=t,this._currentCodeLensModel&&this._codeLensCache.put(i,this._currentCodeLensModel),this._oldCodeLensModels.clear(),o===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}),(t=>{Pi(t),o===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}))}async getModel(){var t;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,(null===(t=this._currentCodeLensModel)||void 0===t?void 0:t.isDisposed)?void 0:this._currentCodeLensModel}};eJ.ID="css.editor.codeLens",eJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([iJ(1,Cg),iJ(2,mR),iJ(3,Dr),iJ(4,rT),iJ(5,KQ)],eJ),uu(eJ.ID,eJ,1),au(class extends nu{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:XC.hasCodeLensProvider,label:rt(0,"Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(t,i){if(!i.hasModel())return;const e=t.get(Ij),s=t.get(Dr),n=t.get(rT),o=i.getSelection().positionLineNumber,r=i.getContribution(eJ.ID);if(!r)return;const h=await r.getModel();if(!h)return;const c=[];for(const t of h.lenses)t.symbol.command&&t.symbol.range.startLineNumber===o&&c.push({label:t.symbol.command.title,command:t.symbol.command});if(0===c.length)return;const a=await e.pick(c,{canPickMany:!1,placeHolder:rt(0,"Select a command")});if(!a)return;let l=a.command;if(h.isDisposed){const t=await r.getModel(),i=null==t?void 0:t.lenses.find((t=>{var i;return t.symbol.range.startLineNumber===o&&(null===(i=t.symbol.command)||void 0===i?void 0:i.title)===l.title}));if(!i||!i.symbol.command)return;l=i.symbol.command}try{await s.executeCommand(l.id,...l.arguments||[])}catch(t){n.error(t)}}});var sJ=function(t,i){return function(e,s){i(e,s,t)}};class nJ{constructor(t,i){this._editorWorkerClient=new Rg(t,!1,"editorWorkerService",i)}async provideDocumentColors(t,i){return this._editorWorkerClient.computeDefaultDocumentColors(t.uri)}provideColorPresentations(t,i,e){const s=i.range,n=i.color,o=n.alpha,r=new ug(new cg(Math.round(255*n.red),Math.round(255*n.green),Math.round(255*n.blue),o)),h=o?ug.Format.CSS.formatRGB(r):ug.Format.CSS.formatRGBA(r),c=o?ug.Format.CSS.formatHSL(r):ug.Format.CSS.formatHSLA(r),a=o?ug.Format.CSS.formatHex(r):ug.Format.CSS.formatHexA(r),l=[];return l.push({label:h,textEdit:{range:s,text:h}}),l.push({label:c,textEdit:{range:s,text:c}}),l.push({label:a,textEdit:{range:s,text:a}}),l}}let oJ=class extends ie{constructor(t,i,e){super(),this._register(e.colorProvider.register("*",new nJ(t,i)))}};async function rJ(t,i,e,s=!0){return uJ(new cJ,t,i,e,s)}function hJ(t,i,e,s){return Promise.resolve(e.provideColorPresentations(t,i,s))}oJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([sJ(0,gr),sJ(1,tf),sJ(2,Cg)],oJ),ZH(oJ);class cJ{constructor(){}async compute(t,i,e,s){const n=await t.provideDocumentColors(i,e);if(Array.isArray(n))for(const i of n)s.push({colorInfo:i,provider:t});return Array.isArray(n)}}class aJ{constructor(){}async compute(t,i,e,s){const n=await t.provideDocumentColors(i,e);if(Array.isArray(n))for(const t of n)s.push({range:t.range,color:[t.color.red,t.color.green,t.color.blue,t.color.alpha]});return Array.isArray(n)}}class lJ{constructor(t){this.colorInfo=t}async compute(t,i,e,s){const n=await t.provideColorPresentations(i,this.colorInfo,xe.None);return Array.isArray(n)&&s.push(...n),Array.isArray(n)}}async function uJ(t,i,e,s,n){let o,r=!1;const h=[],c=i.ordered(e);for(let i=c.length-1;i>=0;i--){const n=c[i];if(n instanceof nJ)o=n;else try{await t.compute(n,e,s,h)&&(r=!0)}catch(t){$i(t)}}return r?h:o&&n?(await t.compute(o,e,s,h),h):[]}function dJ(t,i){const{colorProvider:e}=t.get(Cg),s=t.get(gr).getModel(i);if(!s)throw Vi();return{model:s,colorProviderRegistry:e,isDefaultColorDecoratorsEnabled:t.get(gd).getValue("editor.defaultColorDecorators",{resource:i})}}Er.registerCommand("_executeDocumentColorProvider",(function(t,...i){const[e]=i;if(!(e instanceof ws))throw Vi();const{model:s,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:o}=dJ(t,e);return uJ(new aJ,n,s,xe.None,o)})),Er.registerCommand("_executeColorPresentationProvider",(function(t,...i){const[e,s]=i,{uri:n,range:o}=s;if(!(n instanceof ws&&Array.isArray(e)&&4===e.length&&Ls.isIRange(o)))throw Vi();const{model:r,colorProviderRegistry:h,isDefaultColorDecoratorsEnabled:c}=dJ(t,n),[a,l,u,d]=e;return uJ(new lJ({range:o,color:{red:a,green:l,blue:u,alpha:d}}),h,r,xe.None,c)}));var fJ,pJ=function(t,i){return function(e,s){i(e,s,t)}};const gJ=Object.create({});let mJ=fJ=class extends ie{constructor(t,i,e,s){super(),this._editor=t,this._configurationService=i,this._languageFeaturesService=e,this._localToDispose=this._register(new te),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new My(this._editor),this._decoratorLimitReporter=new wJ,this._colorDecorationClassRefs=this._register(new te),this._debounceInformation=s.for(e.colorProvider,"Document Colors",{min:fJ.RECOMPUTE_TIME}),this._register(t.onDidChangeModel((()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()}))),this._register(t.onDidChangeModelLanguage((()=>this.updateColors()))),this._register(e.colorProvider.onDidChange((()=>this.updateColors()))),this._register(t.onDidChangeConfiguration((t=>{const i=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(145);const e=i!==this._isColorDecoratorsEnabled||t.hasChanged(21),s=t.hasChanged(145);(e||s)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())}))),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(145),this.updateColors()}isEnabled(){const t=this._editor.getModel();if(!t)return!1;const i=t.getLanguageId(),e=this._configurationService.getValue(i);if(e&&"object"==typeof e){const t=e.colorDecorators;if(t&&void 0!==t.enable&&!t.enable)return t.enable}return this._editor.getOption(20)}static get(t){return t.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const t=this._editor.getModel();t&&this._languageFeaturesService.colorProvider.has(t)&&(this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{this._timeoutTimer||(this._timeoutTimer=new fc,this._timeoutTimer.cancelAndSet((()=>{this._timeoutTimer=null,this.beginCompute()}),this._debounceInformation.get(t)))}))),this.beginCompute())}async beginCompute(){this._computePromise=oc((async t=>{const i=this._editor.getModel();if(!i)return[];const e=new he(!1),s=await rJ(this._languageFeaturesService.colorProvider,i,t,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(i,e.elapsed()),s}));try{const t=await this._computePromise;this.updateDecorations(t),this.updateColorDecorators(t),this._computePromise=null}catch(t){Pi(t)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(t){const i=t.map((t=>({range:{startLineNumber:t.colorInfo.range.startLineNumber,startColumn:t.colorInfo.range.startColumn,endLineNumber:t.colorInfo.range.endLineNumber,endColumn:t.colorInfo.range.endColumn},options:ML.EMPTY})));this._editor.changeDecorations((e=>{this._decorationsIds=e.deltaDecorations(this._decorationsIds,i),this._colorDatas=new Map,this._decorationsIds.forEach(((i,e)=>this._colorDatas.set(i,t[e])))}))}updateColorDecorators(t){this._colorDecorationClassRefs.clear();const i=[],e=this._editor.getOption(21);for(let s=0;sthis._colorDatas.has(t.id)));return 0===e.length?null:this._colorDatas.get(e[0].id)}isColorDecoration(t){return this._colorDecoratorIds.has(t)}};mJ.ID="editor.contrib.colorDetector",mJ.RECOMPUTE_TIME=1e3,mJ=fJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([pJ(1,gd),pJ(2,Cg),pJ(3,mR)],mJ);class wJ{constructor(){this._onDidChange=new fe,this._computed=0,this._limited=!1}update(t,i){t===this._computed&&i===this._limited||(this._computed=t,this._limited=i,this._onDidChange.fire())}}uu(mJ.ID,mJ,1);class vJ{get color(){return this._color}set color(t){this._color.equals(t)||(this._color=t,this._onDidChangeColor.fire(t))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(t){this._colorPresentations=t,this.presentationIndex>t.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(t,i,e){this.presentationIndex=e,this._onColorFlushed=new fe,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new fe,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new fe,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=t,this._color=t,this._colorPresentations=i}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(t,i){let e=-1;for(let t=0;t{this.backgroundColor=t.getColor(_v)||ug.white}))),this._register(Ua(this._pickedColorNode,Fl.CLICK,(()=>this.model.selectNextColorPresentation()))),this._register(Ua(this._originalColorNode,Fl.CLICK,(()=>{this.model.color=this.model.originalColor,this.model.flushColor()}))),this._register(i.onDidChangeColor(this.onDidChangeColor,this)),this._register(i.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=ug.Format.CSS.format(i.color)||"",this._pickedColorNode.classList.toggle("light",i.color.rgba.a<.5?this.backgroundColor.isLighter():i.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new kJ(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(t){this._pickedColorNode.style.backgroundColor=ug.Format.CSS.format(t)||"",this._pickedColorNode.classList.toggle("light",t.rgba.a<.5?this.backgroundColor.isLighter():t.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}class kJ extends ie{constructor(t){super(),this._onClicked=this._register(new fe),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),Il(t,this._button);const i=document.createElement("div");i.classList.add("close-button-inner-div"),Il(this._button,i),Il(i,bJ(".button"+Sr.asCSSSelector(Vz("color-picker-close",Is.close,rt(0,"Icon to close the color picker"))))).classList.add("close-icon"),this._button.onclick=()=>{this._onClicked.fire()}}}class xJ extends ie{constructor(t,i,e,s=!1){super(),this.model=i,this.pixelRatio=e,this._insertButton=null,this._domNode=bJ(".colorpicker-body"),Il(t,this._domNode),this._saturationBox=new CJ(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 DJ(this._domNode,this.model,s),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new EJ(this._domNode,this.model,s),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),s&&(this._insertButton=this._register(new AJ(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:t,v:i}){const e=this.model.color.hsva;this.model.color=new ug(new lg(e.h,t,i,e.a))}onDidOpacityChange(t){const i=this.model.color.hsva;this.model.color=new ug(new lg(i.h,i.s,i.v,t))}onDidHueChange(t){const i=this.model.color.hsva,e=360*(1-t);this.model.color=new ug(new lg(360===e?0:e,i.s,i.v,i.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 CJ extends ie{constructor(t,i,e){super(),this.model=i,this.pixelRatio=e,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new fe,this.onColorFlushed=this._onColorFlushed.event,this._domNode=bJ(".saturation-wrap"),Il(t,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",Il(this._domNode,this._canvas),this.selection=bJ(".saturation-selection"),Il(this._domNode,this.selection),this.layout(),this._register(Ua(this._domNode,Fl.POINTER_DOWN,(t=>this.onPointerDown(t)))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(t){if(!(t.target&&t.target instanceof Element))return;this.monitor=this._register(new cw);const i=ol(this._domNode);t.target!==this.selection&&this.onDidChangePosition(t.offsetX,t.offsetY),this.monitor.startMonitoring(t.target,t.pointerId,t.buttons,(t=>this.onDidChangePosition(t.pageX-i.left,t.pageY-i.top)),(()=>null));const e=Ua(t.target.ownerDocument,Fl.POINTER_UP,(()=>{this._onColorFlushed.fire(),e.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)}),!0)}onDidChangePosition(t,i){const e=Math.max(0,Math.min(1,t/this.width)),s=Math.max(0,Math.min(1,1-i/this.height));this.paintSelection(e,s),this._onDidChange.fire({s:e,v:s})}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 t=this.model.color.hsva;this.paintSelection(t.s,t.v)}paint(){const t=new ug(new lg(this.model.color.hsva.h,1,1,1)),i=this._canvas.getContext("2d"),e=i.createLinearGradient(0,0,this._canvas.width,0);e.addColorStop(0,"rgba(255, 255, 255, 1)"),e.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),e.addColorStop(1,"rgba(255, 255, 255, 0)");const s=i.createLinearGradient(0,0,0,this._canvas.height);s.addColorStop(0,"rgba(0, 0, 0, 0)"),s.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=ug.Format.CSS.format(t),i.fill(),i.fillStyle=e,i.fill(),i.fillStyle=s,i.fill()}paintSelection(t,i){this.selection.style.left=t*this.width+"px",this.selection.style.top=this.height-i*this.height+"px"}onDidChangeColor(t){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const i=t.hsva;this.paintSelection(i.s,i.v)}}class SJ extends ie{constructor(t,i,e=!1){super(),this.model=i,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new fe,this.onColorFlushed=this._onColorFlushed.event,e?(this.domNode=Il(t,bJ(".standalone-strip")),this.overlay=Il(this.domNode,bJ(".standalone-overlay"))):(this.domNode=Il(t,bJ(".strip")),this.overlay=Il(this.domNode,bJ(".overlay"))),this.slider=Il(this.domNode,bJ(".slider")),this.slider.style.top="0px",this._register(Ua(this.domNode,Fl.POINTER_DOWN,(t=>this.onPointerDown(t)))),this._register(i.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const t=this.getValue(this.model.color);this.updateSliderPosition(t)}onDidChangeColor(t){const i=this.getValue(t);this.updateSliderPosition(i)}onPointerDown(t){if(!(t.target&&t.target instanceof Element))return;const i=this._register(new cw),e=ol(this.domNode);this.domNode.classList.add("grabbing"),t.target!==this.slider&&this.onDidChangeTop(t.offsetY),i.startMonitoring(t.target,t.pointerId,t.buttons,(t=>this.onDidChangeTop(t.pageY-e.top)),(()=>null));const s=Ua(t.target.ownerDocument,Fl.POINTER_UP,(()=>{this._onColorFlushed.fire(),s.dispose(),i.stopMonitoring(!0),this.domNode.classList.remove("grabbing")}),!0)}onDidChangeTop(t){const i=Math.max(0,Math.min(1,1-t/this.height));this.updateSliderPosition(i),this._onDidChange.fire(i)}updateSliderPosition(t){this.slider.style.top=(1-t)*this.height+"px"}}class DJ extends SJ{constructor(t,i,e=!1){super(t,i,e),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(t){super.onDidChangeColor(t);const{r:i,g:e,b:s}=t.rgba,n=new ug(new cg(i,e,s,1)),o=new ug(new cg(i,e,s,0));this.overlay.style.background=`linear-gradient(to bottom, ${n} 0%, ${o} 100%)`}getValue(t){return t.hsva.a}}class EJ extends SJ{constructor(t,i,e=!1){super(t,i,e),this.domNode.classList.add("hue-strip")}getValue(t){return 1-t.hsva.h/360}}class AJ extends ie{constructor(t){super(),this._onClicked=this._register(new fe),this.onClicked=this._onClicked.event,this._button=Il(t,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._button.onclick=()=>{this._onClicked.fire()}}get button(){return this._button}}class MJ extends gk{constructor(t,i,e,s,n=!1){super(),this.model=i,this.pixelRatio=e,this._register(Vo.onDidChange((()=>this.layout())));const o=bJ(".colorpicker-widget");t.appendChild(o),this.header=this._register(new yJ(o,this.model,s,n)),this.body=this._register(new xJ(o,this.model,this.pixelRatio,n))}layout(){this.body.layout()}}var LJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},FJ=function(t,i){return function(e,s){i(e,s,t)}};class TJ{constructor(t,i,e,s){this.owner=t,this.range=i,this.model=e,this.provider=s,this.forceShowAtRange=!0}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}let RJ=class{constructor(t,i){this._editor=t,this._themeService=i,this.hoverOrdinal=2}computeSync(t,i){return[]}computeAsync(t,i,e){return xc.fromPromise(this._computeAsync(t,i,e))}async _computeAsync(t,i,e){if(!this._editor.hasModel())return[];const s=mJ.get(this._editor);if(!s)return[];for(const t of i){if(!s.isColorDecoration(t))continue;const i=s.getColorData(t.range.getStartPosition());if(i)return[await _J(this,this._editor.getModel(),i.colorInfo,i.provider)]}return[]}renderHoverParts(t,i){return NJ(this,this._editor,this._themeService,i,t)}};RJ=LJ([FJ(1,tx)],RJ);class OJ{constructor(t,i,e,s){this.owner=t,this.range=i,this.model=e,this.provider=s}}let IJ=class{constructor(t,i){this._editor=t,this._themeService=i,this._color=null}async createColorHover(t,i,e){if(!this._editor.hasModel())return null;if(!mJ.get(this._editor))return null;const s=await rJ(e,this._editor.getModel(),xe.None);let n=null,o=null;for(const i of s){const e=i.colorInfo;Ls.containsRange(e.range,t.range)&&(n=e,o=i.provider)}const r=null!=n?n:t,h=null!=o?o:i,c=!!n;return{colorHover:await _J(this,this._editor.getModel(),r,h),foundInEditor:c}}async updateEditorModel(t){if(!this._editor.hasModel())return;const i=t.model;let e=new Ls(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn);this._color&&(await PJ(this._editor.getModel(),i,this._color,e,t),e=BJ(this._editor,e,i))}renderHoverParts(t,i){return NJ(this,this._editor,this._themeService,i,t)}set color(t){this._color=t}get color(){return this._color}};async function _J(t,i,e,s){const n=i.getValueInRange(e.range),{red:o,green:r,blue:h,alpha:c}=e.color,a=new cg(Math.round(255*o),Math.round(255*r),Math.round(255*h),c),l=new ug(a),u=await hJ(i,e,s,xe.None),d=new vJ(l,[],0);return d.colorPresentations=u||[],d.guessColorPresentation(l,n),t instanceof RJ?new TJ(t,Ls.lift(e.range),d,s):new OJ(t,Ls.lift(e.range),d,s)}function NJ(t,i,e,s,n){if(0===s.length||!i.hasModel())return ie.None;if(n.setMinimumDimensions){const t=i.getOption(66)+8;n.setMinimumDimensions(new sl(302,t))}const o=new te,r=s[0],h=i.getModel(),c=r.model,a=o.add(new MJ(n.fragment,c,i.getOption(141),e,t instanceof IJ));n.setColorPicker(a);let l=!1,u=new Ls(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(t instanceof IJ){const i=s[0].model.color;t.color=i,PJ(h,c,i,u,r),o.add(c.onColorFlushed((i=>{t.color=i})))}else o.add(c.onColorFlushed((async t=>{await PJ(h,c,t,u,r),l=!0,u=BJ(i,u,c,n)})));return o.add(c.onDidChangeColor((t=>{PJ(h,c,t,u,r)}))),o.add(i.onDidChangeModelContent((()=>{l?l=!1:(n.hide(),i.focus())}))),o}function BJ(t,i,e,s){let n,o;if(e.presentation.textEdit){n=[e.presentation.textEdit],o=new Ls(e.presentation.textEdit.range.startLineNumber,e.presentation.textEdit.range.startColumn,e.presentation.textEdit.range.endLineNumber,e.presentation.textEdit.range.endColumn);const i=t.getModel()._setTrackedRange(null,o,3);t.pushUndoStop(),t.executeEdits("colorpicker",n),o=t.getModel()._getTrackedRange(i)||o}else n=[{range:i,text:e.presentation.label,forceMoveMarkers:!1}],o=i.setEndPosition(i.endLineNumber,i.startColumn+e.presentation.label.length),t.pushUndoStop(),t.executeEdits("colorpicker",n);return e.presentation.additionalTextEdits&&(n=[...e.presentation.additionalTextEdits],t.executeEdits("colorpicker",n),s&&s.hide()),t.pushUndoStop(),o}async function PJ(t,i,e,s,n){const o=await hJ(t,{range:s,color:{red:e.rgba.r/255,green:e.rgba.g/255,blue:e.rgba.b/255,alpha:e.rgba.a}},n.provider,xe.None);i.colorPresentations=o||[]}function $J(t,i){return!!t[i]}IJ=LJ([FJ(1,tx)],IJ);class WJ{constructor(t,i){this.target=t.target,this.isLeftClick=t.event.leftButton,this.isMiddleClick=t.event.middleButton,this.isRightClick=t.event.rightButton,this.hasTriggerModifier=$J(t.event,i.triggerModifier),this.hasSideBySideModifier=$J(t.event,i.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=t.event.detail<=1}}class jJ{constructor(t,i){this.keyCodeIsTriggerKey=t.keyCode===i.triggerKey,this.keyCodeIsSideBySideKey=t.keyCode===i.triggerSideBySideKey,this.hasTriggerModifier=$J(t,i.triggerModifier)}}class zJ{constructor(t,i,e,s){this.triggerKey=t,this.triggerModifier=i,this.triggerSideBySideKey=e,this.triggerSideBySideModifier=s}equals(t){return this.triggerKey===t.triggerKey&&this.triggerModifier===t.triggerModifier&&this.triggerSideBySideKey===t.triggerSideBySideKey&&this.triggerSideBySideModifier===t.triggerSideBySideModifier}}function HJ(t){return"altKey"===t?St?new zJ(57,"metaKey",6,"altKey"):new zJ(5,"ctrlKey",6,"altKey"):St?new zJ(6,"altKey",57,"metaKey"):new zJ(6,"altKey",5,"ctrlKey")}class VJ extends ie{constructor(t,i){var e;super(),this._onMouseMoveOrRelevantKeyDown=this._register(new fe),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new fe),this.onExecute=this._onExecute.event,this._onCancel=this._register(new fe),this.onCancel=this._onCancel.event,this._editor=t,this._extractLineNumberFromMouseEvent=null!==(e=null==i?void 0:i.extractLineNumberFromMouseEvent)&&void 0!==e?e:t=>t.target.position?t.target.position.lineNumber:0,this._opts=HJ(this._editor.getOption(77)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration((t=>{if(t.hasChanged(77)){const t=HJ(this._editor.getOption(77));if(this._opts.equals(t))return;this._opts=t,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}}))),this._register(this._editor.onMouseMove((t=>this._onEditorMouseMove(new WJ(t,this._opts))))),this._register(this._editor.onMouseDown((t=>this._onEditorMouseDown(new WJ(t,this._opts))))),this._register(this._editor.onMouseUp((t=>this._onEditorMouseUp(new WJ(t,this._opts))))),this._register(this._editor.onKeyDown((t=>this._onEditorKeyDown(new jJ(t,this._opts))))),this._register(this._editor.onKeyUp((t=>this._onEditorKeyUp(new jJ(t,this._opts))))),this._register(this._editor.onMouseDrag((()=>this._resetHandler()))),this._register(this._editor.onDidChangeCursorSelection((t=>this._onDidChangeCursorSelection(t)))),this._register(this._editor.onDidChangeModel((()=>this._resetHandler()))),this._register(this._editor.onDidChangeModelContent((()=>this._resetHandler()))),this._register(this._editor.onDidScrollChange((t=>{(t.scrollTopChanged||t.scrollLeftChanged)&&this._resetHandler()})))}_onDidChangeCursorSelection(t){t.selection&&t.selection.startColumn!==t.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(t){this._lastMouseMoveEvent=t,this._onMouseMoveOrRelevantKeyDown.fire([t,null])}_onEditorMouseDown(t){this._hasTriggerKeyOnMouseDown=t.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(t)}_onEditorMouseUp(t){const i=this._extractLineNumberFromMouseEvent(t);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===i&&this._onExecute.fire(t)}_onEditorKeyDown(t){this._lastMouseMoveEvent&&(t.keyCodeIsTriggerKey||t.keyCodeIsSideBySideKey&&t.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,t]):t.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(t){t.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}var UJ=function(t,i){return function(e,s){i(e,s,t)}};let qJ=class extends RT{constructor(t,i,e,s,n,o,r,h,c,a,l,u,d){super(t,{...s.getRawOptions(),overflowWidgetsDomNode:s.getOverflowWidgetsDomNode()},e,n,o,r,h,c,a,l,u,d),this._parentEditor=s,this._overwriteOptions=i,super.updateOptions(this._overwriteOptions),this._register(s.onDidChangeConfiguration((t=>this._onParentConfigurationChanged(t))))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(t){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(t){it(this._overwriteOptions,t,!0),super.updateOptions(this._overwriteOptions)}};qJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([UJ(4,dr),UJ(5,pr),UJ(6,Dr),UJ(7,lh),UJ(8,tx),UJ(9,rT),UJ(10,Qm),UJ(11,tf),UJ(12,Cg)],qJ);const KJ=new ug(new cg(0,122,204)),GJ={showArrow:!0,showFrame:!0,className:"",frameColor:KJ,arrowColor:KJ,keepEditorSelection:!1};class ZJ{constructor(t,i,e,s,n,o,r,h){this.id="",this.domNode=t,this.afterLineNumber=i,this.afterColumn=e,this.heightInLines=s,this.showInHiddenAreas=r,this.ordinal=h,this._onDomNodeTop=n,this._onComputedHeight=o}onDomNodeTop(t){this._onDomNodeTop(t)}onComputedHeight(t){this._onComputedHeight(t)}}class QJ{constructor(t,i){this._id=t,this._domNode=i}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class JJ{constructor(t){this._editor=t,this._ruleName=JJ._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),El(this._ruleName)}set color(t){this._color!==t&&(this._color=t,this._updateStyle())}set height(t){this._height!==t&&(this._height=t,this._updateStyle())}_updateStyle(){El(this._ruleName),Dl(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px; margin-left: -${this._height}px; `)}show(t){1===t.column&&(t={lineNumber:t.lineNumber,column:2}),this._decorations.set([{range:Ls.fromPositions(t),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}JJ._IdGenerator=new Y_(".arrow-decoration-");class YJ{constructor(t,i={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new te,this.container=null,this._isShowing=!1,this.editor=t,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=J(i),it(this.options,GJ,!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((t=>{const i=this._getWidth(t);this.domNode.style.width=i+"px",this.domNode.style.left=this._getLeft(t)+"px",this._onWidth(i)})))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones((t=>{this._viewZone&&t.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 JJ(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(t){t.frameColor&&(this.options.frameColor=t.frameColor),t.arrowColor&&(this.options.arrowColor=t.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const t=this.options.frameColor.toString();this.container.style.borderTopColor=t,this.container.style.borderBottomColor=t}if(this._arrow&&this.options.arrowColor){const t=this.options.arrowColor.toString();this._arrow.color=t}}_getWidth(t){return t.width-t.minimap.minimapWidth-t.verticalScrollbarWidth}_getLeft(t){return t.minimap.minimapWidth>0&&0===t.minimap.minimapLeft?t.minimap.minimapWidth:0}_onViewZoneTop(t){this.domNode.style.top=t+"px"}_onViewZoneHeight(t){var i;if(this.domNode.style.height=`${t}px`,this.container){const i=t-this._decoratingElementsHeight();this.container.style.height=`${i}px`;const e=this.editor.getLayoutInfo();this._doLayout(i,this._getWidth(e))}null===(i=this._resizeSash)||void 0===i||i.layout()}get position(){const t=this._positionMarkerId.getRange(0);if(t)return t.getStartPosition()}show(t,i){const e=Ls.isIRange(t)?Ls.lift(t):Ls.fromPositions(t);this._isShowing=!0,this._showImpl(e,i),this._isShowing=!1,this._positionMarkerId.set([{range:e,options:ML.EMPTY}])}hide(){var t;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),null===(t=this._arrow)||void 0===t||t.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const t=this.editor.getOption(66);let i=0;return this.options.showArrow&&(i+=2*Math.round(t/3)),this.options.showFrame&&(i+=2*Math.round(t/9)),i}_showImpl(t,i){const e=t.getStartPosition(),s=this.editor.getLayoutInfo(),n=this._getWidth(s);this.domNode.style.width=`${n}px`,this.domNode.style.left=this._getLeft(s)+"px";const o=document.createElement("div");o.style.overflow="hidden";const r=this.editor.getOption(66);if(!this.options.allowUnlimitedHeight){const t=Math.max(12,this.editor.getLayoutInfo().height/r*.8);i=Math.min(i,t)}let h=0,c=0;if(this._arrow&&this.options.showArrow&&(h=Math.round(r/3),this._arrow.height=h,this._arrow.show(e)),this.options.showFrame&&(c=Math.round(r/9)),this.editor.changeViewZones((t=>{this._viewZone&&t.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new ZJ(o,e.lineNumber,e.column,i,(t=>this._onViewZoneTop(t)),(t=>this._onViewZoneHeight(t)),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=t.addZone(this._viewZone),this._overlayWidget=new QJ("vs.editor.contrib.zoneWidget"+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)})),this.container&&this.options.showFrame){const t=this.options.frameWidth?this.options.frameWidth:c;this.container.style.borderTopWidth=t+"px",this.container.style.borderBottomWidth=t+"px"}const a=i*r-this._decoratingElementsHeight();this.container&&(this.container.style.top=h+"px",this.container.style.height=a+"px",this.container.style.overflow="hidden"),this._doLayout(a,n),this.options.keepEditorSelection||this.editor.setSelection(t);const l=this.editor.getModel();if(l){const i=l.validateRange(new Ls(t.startLineNumber,1,t.endLineNumber+1,1));this.revealRange(i,i.startLineNumber===l.getLineCount())}}revealRange(t,i){i?this.editor.revealLineNearTop(t.endLineNumber,0):this.editor.revealRange(t,0)}setCssClass(t,i){this.container&&(i&&this.container.classList.remove(i),this.container.classList.add(t))}_onWidth(t){}_doLayout(t,i){}_relayout(t){this._viewZone&&this._viewZone.heightInLines!==t&&this.editor.changeViewZones((i=>{this._viewZone&&(this._viewZone.heightInLines=t,i.layoutZone(this._viewZone.id))}))}_initSash(){if(this._resizeSash)return;let t;this._resizeSash=this._disposables.add(new UP(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0),this._disposables.add(this._resizeSash.onDidStart((i=>{this._viewZone&&(t={startY:i.startY,heightInLines:this._viewZone.heightInLines})}))),this._disposables.add(this._resizeSash.onDidEnd((()=>{t=void 0}))),this._disposables.add(this._resizeSash.onDidChange((i=>{if(t){const e=(i.currentY-t.startY)/this.editor.getOption(66),s=e<0?Math.ceil(e):Math.floor(e),n=t.heightInLines+s;n>5&&n<35&&this._relayout(n)}})))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(null===this.domNode.style.height?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const t=this.editor.getLayoutInfo();return t.width-t.minimap.minimapWidth}}var XJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},tY=function(t,i){return function(e,s){i(e,s,t)}};const iY=fr("IPeekViewService");var eY;Sd(iY,class{constructor(){this._widgets=new Map}addExclusiveWidget(t,i){const e=this._widgets.get(t);e&&(e.listener.dispose(),e.widget.dispose()),this._widgets.set(t,{widget:i,listener:i.onDidClose((()=>{const e=this._widgets.get(t);e&&e.widget===i&&(e.listener.dispose(),this._widgets.delete(t))}))})}},1),function(t){t.inPeekEditor=new ah("inReferenceSearchEditor",!0,rt(0,"Whether the current code editor is embedded inside peek")),t.notInPeekEditor=t.inPeekEditor.toNegated()}(eY||(eY={}));let sY=class{constructor(t,i){t instanceof qJ&&eY.inPeekEditor.bindTo(i)}dispose(){}};sY.ID="editor.contrib.referenceController",sY=XJ([tY(1,lh)],sY),uu(sY.ID,sY,0);const nY={headerBackgroundColor:ug.white,primaryHeadingColor:ug.fromHex("#333333"),secondaryHeadingColor:ug.fromHex("#6c6c6cb3")};let oY=class extends YJ{constructor(t,i,e){super(t,i),this.instantiationService=e,this._onDidClose=new fe,this.onDidClose=this._onDidClose.event,it(this.options,nY,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(t){const i=this.options;t.headerBackgroundColor&&(i.headerBackgroundColor=t.headerBackgroundColor),t.primaryHeadingColor&&(i.primaryHeadingColor=t.primaryHeadingColor),t.secondaryHeadingColor&&(i.secondaryHeadingColor=t.secondaryHeadingColor),super.style(t)}_applyStyles(){super._applyStyles();const t=this.options;this._headElement&&t.headerBackgroundColor&&(this._headElement.style.backgroundColor=t.headerBackgroundColor.toString()),this._primaryHeading&&t.primaryHeadingColor&&(this._primaryHeading.style.color=t.primaryHeadingColor.toString()),this._secondaryHeading&&t.secondaryHeadingColor&&(this._secondaryHeading.style.color=t.secondaryHeadingColor.toString()),this._bodyElement&&t.frameColor&&(this._bodyElement.style.borderColor=t.frameColor.toString())}_fillContainer(t){this.setCssClass("peekview-widget"),this._headElement=Wl(".head"),this._bodyElement=Wl(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),t.appendChild(this._headElement),t.appendChild(this._bodyElement)}_fillHead(t,i){this._titleElement=Wl(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),Ka(this._titleElement,"click",(t=>this._onTitleClick(t)))),Il(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=Wl("span.filename"),this._secondaryHeading=Wl("span.dirname"),this._metaHeading=Wl("span.meta"),Il(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const e=Wl(".peekview-actions");Il(this._headElement,e);const s=this._getActionBarOptions();this._actionbarWidget=new XB(e,s),this._disposables.add(this._actionbarWidget),i||this._actionbarWidget.push(new wr("peekview.close",rt(0,"Close"),Sr.asClassName(Is.close),!0,(()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(t){}_getActionBarOptions(){return{actionViewItemProvider:YB.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(t){}setTitle(t,i){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=t,this._primaryHeading.setAttribute("title",t),i?this._secondaryHeading.innerText=i:Ha(this._secondaryHeading))}setMetaTitle(t){this._metaHeading&&(t?(this._metaHeading.innerText=t,jl(this._metaHeading)):zl(this._metaHeading))}_doLayout(t,i){if(!this._isShowing&&t<0)return void this.dispose();const e=Math.ceil(1.2*this.editor.getOption(66)),s=Math.round(t-(e+2));this._doLayoutHead(e,i),this._doLayoutBody(s,i)}_doLayoutHead(t,i){this._headElement&&(this._headElement.style.height=`${t}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(t,i){this._bodyElement&&(this._bodyElement.style.height=`${t}px`)}};oY=XJ([tY(2,dr)],oY);const rY=fw("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:ug.black,hcLight:ug.white},rt(0,"Background color of the peek view title area.")),hY=fw("peekViewTitleLabel.foreground",{dark:ug.white,light:ug.black,hcDark:ug.white,hcLight:uv},rt(0,"Color of the peek view title.")),cY=fw("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},rt(0,"Color of the peek view title info.")),aY=fw("peekView.border",{dark:hv,light:hv,hcDark:vw,hcLight:vw},rt(0,"Color of the peek view borders and arrow.")),lY=fw("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:ug.black,hcLight:ug.white},rt(0,"Background color of the peek view result list."));fw("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:ug.white,hcLight:uv},rt(0,"Foreground color for line nodes in the peek view result list.")),fw("peekViewResult.fileForeground",{dark:ug.white,light:"#1E1E1E",hcDark:ug.white,hcLight:uv},rt(0,"Foreground color for file nodes in the peek view result list.")),fw("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},rt(0,"Background color of the selected entry in the peek view result list.")),fw("peekViewResult.selectionForeground",{dark:ug.white,light:"#6C6C6C",hcDark:ug.white,hcLight:uv},rt(0,"Foreground color of the selected entry in the peek view result list."));const uY=fw("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:ug.black,hcLight:ug.white},rt(0,"Background color of the peek view editor."));fw("peekViewEditorGutter.background",{dark:uY,light:uY,hcDark:uY,hcLight:uY},rt(0,"Background color of the gutter in the peek view editor.")),fw("peekViewEditorStickyScroll.background",{dark:uY,light:uY,hcDark:uY,hcLight:uY},rt(0,"Background color of sticky scroll in the peek view editor.")),fw("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},rt(0,"Match highlight color in the peek view result list.")),fw("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},rt(0,"Match highlight color in the peek view editor.")),fw("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:bw,hcLight:bw},rt(0,"Match highlight border in the peek view editor."));class dY{constructor(t,i,e,s){this.isProviderFirst=t,this.parent=i,this.link=e,this._rangeCallback=s,this.id=X_.nextId()}get uri(){return this.link.uri}get range(){var t,i;return null!==(i=null!==(t=this._range)&&void 0!==t?t:this.link.targetSelectionRange)&&void 0!==i?i:this.link.range}set range(t){this._range=t,this._rangeCallback(this)}get ariaMessage(){var t;const i=null===(t=this.parent.getPreview(this))||void 0===t?void 0:t.preview(this.range);return i?rt(0,"{0} in {1} on line {2} at column {3}",i.value,yA(this.uri),this.range.startLineNumber,this.range.startColumn):rt(0,"in {0} on line {1} at column {2}",yA(this.uri),this.range.startLineNumber,this.range.startColumn)}}class fY{constructor(t){this._modelReference=t}dispose(){this._modelReference.dispose()}preview(t,i=8){const e=this._modelReference.object.textEditorModel;if(!e)return;const{startLineNumber:s,startColumn:n,endLineNumber:o,endColumn:r}=t,h=e.getWordUntilPosition({lineNumber:s,column:n-i}),c=new Ls(s,h.startColumn,s,n),a=new Ls(o,r,o,1073741824),l=e.getValueInRange(c).replace(/^\s+/,""),u=e.getValueInRange(t);return{value:l+u+e.getValueInRange(a).replace(/\s+$/,""),highlight:{start:l.length,end:l.length+u.length}}}}class pY{constructor(t,i){this.parent=t,this.uri=i,this.children=[],this._previews=new Hp}dispose(){Ji(this._previews.values()),this._previews.clear()}getPreview(t){return this._previews.get(t.uri)}get ariaMessage(){const t=this.children.length;return 1===t?rt(0,"1 symbol in {0}, full path {1}",yA(this.uri),this.uri.fsPath):rt(0,"{0} symbols in {1}, full path {2}",t,yA(this.uri),this.uri.fsPath)}async resolve(t){if(0!==this._previews.size)return this;for(const i of this.children)if(!this._previews.has(i.uri))try{const e=await t.createModelReference(i.uri);this._previews.set(i.uri,new fY(e))}catch(t){Pi(t)}return this}}class gY{constructor(t,i){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new fe,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=t,this._title=i;const[e]=t;let s;t.sort(gY._compareReferences);for(const i of t)if(s&&wA.isEqual(s.uri,i.uri,!0)||(s=new pY(this,i.uri),this.groups.push(s)),0===s.children.length||0!==gY._compareReferences(i,s.children[s.children.length-1])){const t=new dY(e===i,s,i,(t=>this._onDidChangeReferenceRange.fire(t)));this.references.push(t),s.children.push(t)}}dispose(){Ji(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new gY(this._links,this._title)}get title(){return this._title}get isEmpty(){return 0===this.groups.length}get ariaMessage(){return this.isEmpty?rt(0,"No results found"):1===this.references.length?rt(0,"Found 1 symbol in {0}",this.references[0].uri.fsPath):1===this.groups.length?rt(0,"Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):rt(0,"Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(t,i){const{parent:e}=t;let s=e.children.indexOf(t);const n=e.children.length,o=e.parent.groups.length;return 1===o||i&&s+10?(s=i?(s+1)%n:(s+n-1)%n,e.children[s]):(s=e.parent.groups.indexOf(e),i?(s=(s+1)%o,e.parent.groups[s].children[0]):(s=(s+o-1)%o,e.parent.groups[s].children[e.parent.groups[s].children.length-1]))}nearestReference(t,i){const e=this.references.map(((e,s)=>({idx:s,prefixLen:po(e.uri.toString(),t.toString()),offsetDist:100*Math.abs(e.range.startLineNumber-i.lineNumber)+Math.abs(e.range.startColumn-i.column)}))).sort(((t,i)=>t.prefixLen>i.prefixLen?-1:t.prefixLeni.offsetDist?1:0))[0];if(e)return this.references[e.idx]}referenceAt(t,i){for(const e of this.references)if(e.uri.toString()===t.toString()&&Ls.containsPosition(e.range,i))return e}firstReference(){for(const t of this.references)if(t.isProviderFirst)return t;return this.references[0]}static _compareReferences(t,i){return wA.compare(t.uri,i.uri)||Ls.compareRangesUsingStarts(t.range,i.range)}}var mY,wY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},vY=function(t,i){return function(e,s){i(e,s,t)}};let bY=class{constructor(t){this._resolverService=t}hasChildren(t){return t instanceof gY||t instanceof pY}getChildren(t){if(t instanceof gY)return t.groups;if(t instanceof pY)return t.resolve(this._resolverService).then((t=>t.children));throw new Error("bad tree")}};bY=wY([vY(0,mr)],bY);class yY{getHeight(){return 23}getTemplateId(t){return t instanceof pY?SY.id:EY.id}}let kY=class{constructor(t){this._keybindingService=t}getKeyboardNavigationLabel(t){var i;if(t instanceof dY){const e=null===(i=t.parent.getPreview(t))||void 0===i?void 0:i.preview(t.range);if(e)return e.value}return yA(t.uri)}};kY=wY([vY(0,rC)],kY);class xY{getId(t){return t instanceof dY?t.id:t.uri}}let CY=class extends ie{constructor(t,i){super(),this._labelService=i;const e=document.createElement("div");e.classList.add("reference-file"),this.file=this._register(new Zj(e,{supportHighlights:!0})),this.badge=new Pj(Il(e,Wl(".count")),{},BB),t.appendChild(e)}set(t,i){const e=xA(t.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(t.uri),this._labelService.getUriLabel(e,{relative:!0}),{title:this._labelService.getUriLabel(t.uri),matches:i});const s=t.children.length;this.badge.setCount(s),this.badge.setTitleFormat(rt(0,s>1?"{0} references":"{0} reference",s))}};CY=wY([vY(1,WO)],CY);let SY=mY=class{constructor(t){this._instantiationService=t,this.templateId=mY.id}renderTemplate(t){return this._instantiationService.createInstance(CY,t)}renderElement(t,i,e){e.set(t.element,u_(t.filterData))}disposeTemplate(t){t.dispose()}};SY.id="FileReferencesRenderer",SY=mY=wY([vY(0,dr)],SY);class DY{constructor(t){this.label=new Kj(t)}set(t,i){var e;const s=null===(e=t.parent.getPreview(t))||void 0===e?void 0:e.preview(t.range);if(s&&s.value){const{value:t,highlight:e}=s;i&&!C_.isDefault(i)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(t,u_(i))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(t,[e]))}else this.label.set(`${yA(t.uri)}:${t.range.startLineNumber+1}:${t.range.startColumn+1}`)}}class EY{constructor(){this.templateId=EY.id}renderTemplate(t){return new DY(t)}renderElement(t,i,e){e.set(t.element,t.filterData)}disposeTemplate(){}}EY.id="OneReferenceRenderer";class AY{getWidgetAriaLabel(){return rt(0,"References")}getAriaLabel(t){return t.ariaMessage}}var MY=function(t,i){return function(e,s){i(e,s,t)}};class LY{constructor(t,i){this._editor=t,this._model=i,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new te,this._callOnModelChange=new te,this._callOnDispose.add(this._editor.onDidChangeModel((()=>this._onModelChanged()))),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const t=this._editor.getModel();if(t)for(const i of this._model.references)if(i.uri.toString()===t.uri.toString())return void this._addDecorations(i.parent)}_addDecorations(t){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations((()=>this._onDecorationChanged())));const i=[],e=[];for(let s=0,n=t.children.length;s{const n=s.deltaDecorations([],i);for(let i=0;i{t.equals(9)&&(this._keybindingService.dispatchEvent(t,t.target),t.stopPropagation())}),!0)),this._tree=this._instantiationService.createInstance(TY,"ReferencesWidget",this._treeContainer,new yY,[this._instantiationService.createInstance(SY),this._instantiationService.createInstance(EY)],this._instantiationService.createInstance(bY),i),this._splitView.addView({onDidChange:ce.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:t=>{this._preview.layout({height:this._dim.height,width:t})}},JP.Distribute),this._splitView.addView({onDidChange:ce.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:t=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${t}px`,this._tree.layout(this._dim.height,t)}},JP.Distribute),this._disposables.add(this._splitView.onDidSashChange((()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)}),void 0));const e=(t,i)=>{t instanceof dY&&("show"===i&&this._revealReference(t,!1),this._onDidSelectReference.fire({element:t,kind:i,source:"tree"}))};this._tree.onDidOpen((t=>{e(t.element,t.sideBySide?"side":t.editorOptions.pinned?"goto":"show")})),zl(this._treeContainer)}_onWidth(t){this._dim&&this._doLayoutBody(this._dim.height,t)}_doLayoutBody(t,i){super._doLayoutBody(t,i),this._dim=new sl(i,t),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(i),this._splitView.resizeView(0,i*this.layoutData.ratio)}setSelection(t){return this._revealReference(t,!0).then((()=>{this._model&&(this._tree.setSelection([t]),this._tree.setFocus([t]))}))}setModel(t){return this._disposeOnNewModel.clear(),this._model=t,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=rt(0,"No results"),jl(this._messageContainer),Promise.resolve(void 0)):(zl(this._messageContainer),this._decorationsManager=new LY(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange((t=>this._tree.rerender(t)))),this._disposeOnNewModel.add(this._preview.onMouseDown((t=>{const{event:i,target:e}=t;if(2!==i.detail)return;const s=this._getFocusedReference();s&&this._onDidSelectReference.fire({element:{uri:s.uri,range:e.range},kind:i.ctrlKey||i.metaKey||i.altKey?"side":"open",source:"editor"})}))),this.container.classList.add("results-loaded"),jl(this._treeContainer),jl(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(1===this._model.groups.length?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[t]=this._tree.getFocus();return t instanceof dY?t:t instanceof pY&&t.children.length>0?t.children[0]:void 0}async revealReference(t){await this._revealReference(t,!1),this._onDidSelectReference.fire({element:t,kind:"goto",source:"tree"})}async _revealReference(t,i){if(this._revealedReference===t)return;this._revealedReference=t,t.uri.scheme!==xa.inMemory?this.setTitle(bA(t.uri),this._uriLabel.getUriLabel(xA(t.uri))):this.setTitle(rt(0,"References"));const e=this._textModelResolverService.createModelReference(t.uri);this._tree.getInput()===t.parent||(i&&this._tree.reveal(t.parent),await this._tree.expand(t.parent)),this._tree.reveal(t);const s=await e;if(!this._model)return void s.dispose();Ji(this._previewModelReference);const n=s.object;if(n){const i=this._preview.getModel()===n.textEditorModel?0:1,e=Ls.lift(t.range).collapseToStart();this._previewModelReference=s,this._preview.setModel(n.textEditorModel),this._preview.setSelection(e),this._preview.revealRangeInCenter(e,i)}else this._preview.setModel(this._previewNotAvailableMessage),s.dispose()}};RY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([MY(3,tx),MY(4,mr),MY(5,dr),MY(6,iY),MY(7,WO),MY(8,cL),MY(9,rC),MY(10,kd),MY(11,tf)],RY);var OY,IY=function(t,i){return function(e,s){i(e,s,t)}};const _Y=new ah("referenceSearchVisible",!1,rt(0,"Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let NY=OY=class{static get(t){return t.getContribution(OY.ID)}constructor(t,i,e,s,n,o,r,h){this._defaultTreeKeyboardSupport=t,this._editor=i,this._editorService=s,this._notificationService=n,this._instantiationService=o,this._storageService=r,this._configurationService=h,this._disposables=new te,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=_Y.bindTo(e)}dispose(){var t,i;this._referenceSearchVisible.reset(),this._disposables.dispose(),null===(t=this._widget)||void 0===t||t.dispose(),null===(i=this._model)||void 0===i||i.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(t,i,e){let s;if(this._widget&&(s=this._widget.position),this.closeWidget(),s&&t.containsPosition(s))return;this._peekMode=e,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage((()=>{this.closeWidget()}))),this._disposables.add(this._editor.onDidChangeModel((()=>{this._ignoreModelChangeEvent||this.closeWidget()})));const n="peekViewLayout",o=FY.fromJSON(this._storageService.get(n,0,"{}"));this._widget=this._instantiationService.createInstance(RY,this._editor,this._defaultTreeKeyboardSupport,o),this._widget.setTitle(rt(0,"Loading...")),this._widget.show(t),this._disposables.add(this._widget.onDidClose((()=>{i.cancel(),this._widget&&(this._storageService.store(n,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()}))),this._disposables.add(this._widget.onDidSelectReference((t=>{const{element:i,kind:s}=t;if(i)switch(s){case"open":"editor"===t.source&&this._configurationService.getValue("editor.stablePeek")||this.openReference(i,!1,!1);break;case"side":this.openReference(i,!0,!1);break;case"goto":e?this._gotoReference(i,!0):this.openReference(i,!1,!0)}})));const r=++this._requestIdPool;i.then((i=>{var e;if(r===this._requestIdPool&&this._widget)return null===(e=this._model)||void 0===e||e.dispose(),this._model=i,this._widget.setModel(this._model).then((()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._widget.setMetaTitle(this._model.isEmpty?"":rt(0,"{0} ({1})",this._model.title,this._model.references.length));const i=this._editor.getModel().uri,e=new Ms(t.startLineNumber,t.startColumn),s=this._model.nearestReference(i,e);if(s)return this._widget.setSelection(s).then((()=>{this._widget&&"editor"===this._editor.getOption(86)&&this._widget.focusOnPreviewEditor()}))}}));i.dispose()}),(t=>{this._notificationService.error(t)}))}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(t){if(!this._editor.hasModel()||!this._model||!this._widget)return;const i=this._widget.position;if(!i)return;const e=this._model.nearestReference(this._editor.getModel().uri,i);if(!e)return;const s=this._model.nextOrPreviousReference(e,t),n=this._editor.hasTextFocus(),o=this._widget.isPreviewEditorFocused();await this._widget.setSelection(s),await this._gotoReference(s,!1),n?this._editor.focus():this._widget&&o&&this._widget.focusOnPreviewEditor()}async revealReference(t){this._editor.hasModel()&&this._model&&this._widget&&await this._widget.revealReference(t)}closeWidget(t=!0){var i,e;null===(i=this._widget)||void 0===i||i.dispose(),null===(e=this._model)||void 0===e||e.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,t&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(t,i){var e;null===(e=this._widget)||void 0===e||e.hide(),this._ignoreModelChangeEvent=!0;const s=Ls.lift(t.range).collapseToStart();return this._editorService.openCodeEditor({resource:t.uri,options:{selection:s,selectionSource:"code.jump",pinned:i}},this._editor).then((t=>{var i;if(this._ignoreModelChangeEvent=!1,t&&this._widget)if(this._editor===t)this._widget.show(s),this._widget.focusOnReferenceTree();else{const e=OY.get(t),n=this._model.clone();this.closeWidget(),t.focus(),null==e||e.toggleWidget(s,oc((()=>Promise.resolve(n))),null!==(i=this._peekMode)&&void 0!==i&&i)}else this.closeWidget()}),(t=>{this._ignoreModelChangeEvent=!1,Pi(t)}))}openReference(t,i,e){i||this.closeWidget();const{uri:s,range:n}=t;this._editorService.openCodeEditor({resource:s,options:{selection:n,selectionSource:"code.jump",pinned:e}},this._editor,i)}};function BY(t,i){const e=function(t){const i=t.get(pr).getFocusedCodeEditor();return i instanceof qJ?i.getParentEditor():i}(t);if(!e)return;const s=NY.get(e);s&&i(s)}NY.ID="editor.contrib.referencesController",NY=OY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([IY(2,lh),IY(3,pr),IY(4,rT),IY(5,dr),IY(6,MB),IY(7,gd)],NY),Mh.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:Be(2089,60),when:Hr.or(_Y,eY.inPeekEditor),handler(t){BY(t,(t=>{t.changeFocusBetweenPreviewAndReferences()}))}}),Mh.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:Hr.or(_Y,eY.inPeekEditor),handler(t){BY(t,(t=>{t.goToNextOrPreviousReference(!0)}))}}),Mh.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:Hr.or(_Y,eY.inPeekEditor),handler(t){BY(t,(t=>{t.goToNextOrPreviousReference(!1)}))}}),Er.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),Er.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),Er.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),Er.registerCommand("closeReferenceSearch",(t=>BY(t,(t=>t.closeWidget())))),Mh.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:Hr.and(eY.inPeekEditor,Hr.not("config.editor.stablePeek"))}),Mh.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:Hr.and(_Y,Hr.not("config.editor.stablePeek"))}),Mh.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:Hr.and(_Y,RW,PW.negate(),WW.negate()),handler(t){var i;const e=null===(i=t.get(MW).lastFocusedList)||void 0===i?void 0:i.getFocus();Array.isArray(e)&&e[0]instanceof dY&&BY(t,(t=>t.revealReference(e[0])))}}),Mh.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:Hr.and(_Y,RW,PW.negate(),WW.negate()),handler(t){var i;const e=null===(i=t.get(MW).lastFocusedList)||void 0===i?void 0:i.getFocus();Array.isArray(e)&&e[0]instanceof dY&&BY(t,(t=>t.openReference(e[0],!0,!0)))}}),Er.registerCommand("openReference",(t=>{var i;const e=null===(i=t.get(MW).lastFocusedList)||void 0===i?void 0:i.getFocus();Array.isArray(e)&&e[0]instanceof dY&&BY(t,(t=>t.openReference(e[0],!1,!0)))}));var PY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},$Y=function(t,i){return function(e,s){i(e,s,t)}};const WY=new ah("hasSymbols",!1,rt(0,"Whether there are symbol locations that can be navigated via keyboard-only.")),jY=fr("ISymbolNavigationService");let zY=class{constructor(t,i,e,s){this._editorService=i,this._notificationService=e,this._keybindingService=s,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=WY.bindTo(t)}reset(){var t,i;this._ctxHasSymbols.reset(),null===(t=this._currentState)||void 0===t||t.dispose(),null===(i=this._currentMessage)||void 0===i||i.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(t){const i=t.parent.parent;if(i.references.length<=1)return void this.reset();this._currentModel=i,this._currentIdx=i.references.indexOf(t),this._ctxHasSymbols.set(!0),this._showMessage();const e=new HY(this._editorService),s=e.onDidChange((()=>{if(this._ignoreEditorChange)return;const t=this._editorService.getActiveCodeEditor();if(!t)return;const e=t.getModel(),s=t.getPosition();if(!e||!s)return;let n=!1,o=!1;for(const t of i.references)if(vA(t.uri,e.uri))n=!0,o=o||Ls.containsPosition(t.range,s);else if(n)break;n&&o||this.reset()}));this._currentState=Yi(e,s)}revealNext(t){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const i=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:i.uri,options:{selection:Ls.collapseToStart(i.range),selectionRevealType:3}},t).finally((()=>{this._ignoreEditorChange=!1}))}_showMessage(){var t;null===(t=this._currentMessage)||void 0===t||t.dispose();const i=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),e=i?rt(0,"Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,i.getLabel()):rt(0,"Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(e)}};zY=PY([$Y(0,lh),$Y(1,pr),$Y(2,rT),$Y(3,rC)],zY),Sd(jY,zY,1),cu(new class extends su{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:WY,kbOpts:{weight:100,primary:70}})}runEditorCommand(t,i){return t.get(jY).revealNext(i)}}),Mh.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:WY,primary:9,handler(t){t.get(jY).reset()}});let HY=class{constructor(t){this._listener=new Map,this._disposables=new te,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._disposables.add(t.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(t.onCodeEditorAdd(this._onDidAddEditor,this)),t.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),Ji(this._listener.values())}_onDidAddEditor(t){this._listener.set(t,Yi(t.onDidChangeCursorPosition((()=>this._onDidChange.fire({editor:t}))),t.onDidChangeModelContent((()=>this._onDidChange.fire({editor:t})))))}_onDidRemoveEditor(t){var i;null===(i=this._listener.get(t))||void 0===i||i.dispose(),this._listener.delete(t)}};async function VY(t,i,e,s){const n=e.ordered(t).map((e=>Promise.resolve(s(e,t,i)).then(void 0,(t=>{$i(t)}))));return w((await Promise.all(n)).flat())}function UY(t,i,e,s){return VY(i,e,t,((t,i,e)=>t.provideDefinition(i,e,s)))}function qY(t,i,e,s){return VY(i,e,t,((t,i,e)=>t.provideDeclaration(i,e,s)))}function KY(t,i,e,s){return VY(i,e,t,((t,i,e)=>t.provideImplementation(i,e,s)))}function GY(t,i,e,s){return VY(i,e,t,((t,i,e)=>t.provideTypeDefinition(i,e,s)))}function ZY(t,i,e,s,n){return VY(i,e,t,(async(t,i,e)=>{const o=await t.provideReferences(i,e,{includeDeclaration:!0},n);if(!s||!o||2!==o.length)return o;const r=await t.provideReferences(i,e,{includeDeclaration:!1},n);return r&&1===r.length?r:o}))}async function QY(t){const i=await t(),e=new gY(i,""),s=e.references.map((t=>t.link));return e.dispose(),s}var JY,YY,XY,tX,iX,eX,sX,nX;HY=PY([$Y(0,pr)],HY),hu("_executeDefinitionProvider",((t,i,e)=>{const s=UY(t.get(Cg).definitionProvider,i,e,xe.None);return QY((()=>s))})),hu("_executeTypeDefinitionProvider",((t,i,e)=>{const s=GY(t.get(Cg).typeDefinitionProvider,i,e,xe.None);return QY((()=>s))})),hu("_executeDeclarationProvider",((t,i,e)=>{const s=qY(t.get(Cg).declarationProvider,i,e,xe.None);return QY((()=>s))})),hu("_executeReferenceProvider",((t,i,e)=>{const s=ZY(t.get(Cg).referenceProvider,i,e,!1,xe.None);return QY((()=>s))})),hu("_executeImplementationProvider",((t,i,e)=>{const s=KY(t.get(Cg).implementationProvider,i,e,xe.None);return QY((()=>s))})),Nh.appendMenuItem(Oh.EditorContext,{submenu:Oh.EditorContextPeek,title:rt(0,"Peek"),group:"navigation",order:100});class oX{static is(t){return!(!t||"object"!=typeof t)&&(t instanceof oX||!(!Ms.isIPosition(t.position)||!t.model))}constructor(t,i){this.model=t,this.position=i}}class rX extends ru{static all(){return rX._allSymbolNavigationCommands.values()}static _patchConfig(t){const i={...t,f1:!0};if(i.menu)for(const e of Vt.wrap(i.menu))e.id!==Oh.EditorContext&&e.id!==Oh.EditorContextPeek||(e.when=Hr.and(t.precondition,e.when));return i}constructor(t,i){super(rX._patchConfig(i)),this.configuration=t,rX._allSymbolNavigationCommands.set(i.id,this)}runEditorCommand(t,i,e,s){if(!i.hasModel())return Promise.resolve(void 0);const n=t.get(rT),o=t.get(pr),r=t.get(HO),h=t.get(jY),c=t.get(Cg),a=t.get(dr),l=i.getModel(),u=i.getPosition(),d=oX.is(e)?e:new oX(l,u),f=new SK(i,5),p=rc(this._getLocationModel(c,d.model,d.position,f.token),f.token).then((async t=>{var n;if(!t||f.token.isCancellationRequested)return;let r;if($m(t.ariaMessage),t.referenceAt(l.uri,u)){const t=this._getAlternativeCommand(i);!rX._activeAlternativeCommands.has(t)&&rX._allSymbolNavigationCommands.has(t)&&(r=rX._allSymbolNavigationCommands.get(t))}const c=t.references.length;if(0===c){if(!this.configuration.muteMessage){const t=l.getWordAtPosition(u);null===(n=mQ.get(i))||void 0===n||n.showMessage(this._getNoResultFoundMessage(t),u)}}else{if(1!==c||!r)return this._onResult(o,h,i,t,s);rX._activeAlternativeCommands.add(this.desc.id),a.invokeFunction((t=>r.runEditorCommand(t,i,e,s).finally((()=>{rX._activeAlternativeCommands.delete(this.desc.id)}))))}}),(t=>{n.error(t)})).finally((()=>{f.dispose()}));return r.showWhile(p,250),p}async _onResult(t,i,e,s,n){const o=this._getGoToPreference(e);if(e instanceof qJ||!(this.configuration.openInPeek||"peek"===o&&s.references.length>1)){const r=s.firstReference(),h=s.references.length>1&&"gotoAndPeek"===o,c=await this._openReference(e,t,r,this.configuration.openToSide,!h);h&&c?this._openInPeek(c,s,n):s.dispose(),"goto"===o&&i.put(r)}else this._openInPeek(e,s,n)}async _openReference(t,i,e,s,n){let o;var r;if((r=e)&&ws.isUri(r.uri)&&Ls.isIRange(r.range)&&(Ls.isIRange(r.originSelectionRange)||Ls.isIRange(r.targetSelectionRange))&&(o=e.targetSelectionRange),o||(o=e.range),!o)return;const h=await i.openCodeEditor({resource:e.uri,options:{selection:Ls.collapseToStart(o),selectionRevealType:3,selectionSource:"code.jump"}},t,s);if(h){if(n){const t=h.getModel(),i=h.createDecorationsCollection([{range:o,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout((()=>{h.getModel()===t&&i.clear()}),350)}return h}}_openInPeek(t,i,e){const s=NY.get(t);s&&t.hasModel()?s.toggleWidget(null!=e?e:t.getSelection(),oc((()=>Promise.resolve(i))),this.configuration.openInPeek):i.dispose()}}rX._allSymbolNavigationCommands=new Map,rX._activeAlternativeCommands=new Set;class hX extends rX{async _getLocationModel(t,i,e,s){return new gY(await UY(t.definitionProvider,i,e,s),rt(0,"Definitions"))}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No definition found for '{0}'",t.word):rt(0,"No definition found")}_getAlternativeCommand(t){return t.getOption(58).alternativeDefinitionCommand}_getGoToPreference(t){return t.getOption(58).multipleDefinitions}}Wh(((JY=class extends hX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:JY.id,title:{value:rt(0,"Go to Definition"),original:"Go to Definition",mnemonicTitle:rt(0,"Go to &&Definition")},precondition:Hr.and(XC.hasDefinitionProvider,XC.isInWalkThroughSnippet.toNegated()),keybinding:[{when:XC.editorTextFocus,primary:70,weight:100},{when:Hr.and(XC.editorTextFocus,kW),primary:2118,weight:100}],menu:[{id:Oh.EditorContext,group:"navigation",order:1.1},{id:Oh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Er.registerCommandAlias("editor.action.goToDeclaration",JY.id)}}).id="editor.action.revealDefinition",JY)),Wh(((YY=class extends hX{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:YY.id,title:{value:rt(0,"Open Definition to the Side"),original:"Open Definition to the Side"},precondition:Hr.and(XC.hasDefinitionProvider,XC.isInWalkThroughSnippet.toNegated()),keybinding:[{when:XC.editorTextFocus,primary:Be(2089,70),weight:100},{when:Hr.and(XC.editorTextFocus,kW),primary:Be(2089,2118),weight:100}]}),Er.registerCommandAlias("editor.action.openDeclarationToTheSide",YY.id)}}).id="editor.action.revealDefinitionAside",YY)),Wh(((XY=class extends hX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:XY.id,title:{value:rt(0,"Peek Definition"),original:"Peek Definition"},precondition:Hr.and(XC.hasDefinitionProvider,eY.notInPeekEditor,XC.isInWalkThroughSnippet.toNegated()),keybinding:{when:XC.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:Oh.EditorContextPeek,group:"peek",order:2}}),Er.registerCommandAlias("editor.action.previewDeclaration",XY.id)}}).id="editor.action.peekDefinition",XY));class cX extends rX{async _getLocationModel(t,i,e,s){return new gY(await qY(t.declarationProvider,i,e,s),rt(0,"Declarations"))}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No declaration found for '{0}'",t.word):rt(0,"No declaration found")}_getAlternativeCommand(t){return t.getOption(58).alternativeDeclarationCommand}_getGoToPreference(t){return t.getOption(58).multipleDeclarations}}Wh(((tX=class extends cX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:tX.id,title:{value:rt(0,"Go to Declaration"),original:"Go to Declaration",mnemonicTitle:rt(0,"Go to &&Declaration")},precondition:Hr.and(XC.hasDeclarationProvider,XC.isInWalkThroughSnippet.toNegated()),menu:[{id:Oh.EditorContext,group:"navigation",order:1.3},{id:Oh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No declaration found for '{0}'",t.word):rt(0,"No declaration found")}}).id="editor.action.revealDeclaration",tX)),Wh(class extends cX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:{value:rt(0,"Peek Declaration"),original:"Peek Declaration"},precondition:Hr.and(XC.hasDeclarationProvider,eY.notInPeekEditor,XC.isInWalkThroughSnippet.toNegated()),menu:{id:Oh.EditorContextPeek,group:"peek",order:3}})}});class aX extends rX{async _getLocationModel(t,i,e,s){return new gY(await GY(t.typeDefinitionProvider,i,e,s),rt(0,"Type Definitions"))}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No type definition found for '{0}'",t.word):rt(0,"No type definition found")}_getAlternativeCommand(t){return t.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(t){return t.getOption(58).multipleTypeDefinitions}}Wh(((iX=class extends aX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:iX.ID,title:{value:rt(0,"Go to Type Definition"),original:"Go to Type Definition",mnemonicTitle:rt(0,"Go to &&Type Definition")},precondition:Hr.and(XC.hasTypeDefinitionProvider,XC.isInWalkThroughSnippet.toNegated()),keybinding:{when:XC.editorTextFocus,primary:0,weight:100},menu:[{id:Oh.EditorContext,group:"navigation",order:1.4},{id:Oh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}}).ID="editor.action.goToTypeDefinition",iX)),Wh(((eX=class extends aX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:eX.ID,title:{value:rt(0,"Peek Type Definition"),original:"Peek Type Definition"},precondition:Hr.and(XC.hasTypeDefinitionProvider,eY.notInPeekEditor,XC.isInWalkThroughSnippet.toNegated()),menu:{id:Oh.EditorContextPeek,group:"peek",order:4}})}}).ID="editor.action.peekTypeDefinition",eX));class lX extends rX{async _getLocationModel(t,i,e,s){return new gY(await KY(t.implementationProvider,i,e,s),rt(0,"Implementations"))}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No implementation found for '{0}'",t.word):rt(0,"No implementation found")}_getAlternativeCommand(t){return t.getOption(58).alternativeImplementationCommand}_getGoToPreference(t){return t.getOption(58).multipleImplementations}}Wh(((sX=class extends lX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:sX.ID,title:{value:rt(0,"Go to Implementations"),original:"Go to Implementations",mnemonicTitle:rt(0,"Go to &&Implementations")},precondition:Hr.and(XC.hasImplementationProvider,XC.isInWalkThroughSnippet.toNegated()),keybinding:{when:XC.editorTextFocus,primary:2118,weight:100},menu:[{id:Oh.EditorContext,group:"navigation",order:1.45},{id:Oh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}}).ID="editor.action.goToImplementation",sX)),Wh(((nX=class extends lX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:nX.ID,title:{value:rt(0,"Peek Implementations"),original:"Peek Implementations"},precondition:Hr.and(XC.hasImplementationProvider,eY.notInPeekEditor,XC.isInWalkThroughSnippet.toNegated()),keybinding:{when:XC.editorTextFocus,primary:3142,weight:100},menu:{id:Oh.EditorContextPeek,group:"peek",order:5}})}}).ID="editor.action.peekImplementation",nX));class uX extends rX{_getNoResultFoundMessage(t){return t?rt(0,"No references found for '{0}'",t.word):rt(0,"No references found")}_getAlternativeCommand(t){return t.getOption(58).alternativeReferenceCommand}_getGoToPreference(t){return t.getOption(58).multipleReferences}}Wh(class extends uX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{value:rt(0,"Go to References"),original:"Go to References",mnemonicTitle:rt(0,"Go to &&References")},precondition:Hr.and(XC.hasReferenceProvider,eY.notInPeekEditor,XC.isInWalkThroughSnippet.toNegated()),keybinding:{when:XC.editorTextFocus,primary:1094,weight:100},menu:[{id:Oh.EditorContext,group:"navigation",order:1.45},{id:Oh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(t,i,e,s){return new gY(await ZY(t.referenceProvider,i,e,!0,s),rt(0,"References"))}}),Wh(class extends uX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:{value:rt(0,"Peek References"),original:"Peek References"},precondition:Hr.and(XC.hasReferenceProvider,eY.notInPeekEditor,XC.isInWalkThroughSnippet.toNegated()),menu:{id:Oh.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(t,i,e,s){return new gY(await ZY(t.referenceProvider,i,e,!1,s),rt(0,"References"))}});class dX extends rX{constructor(t,i,e){super(t,{id:"editor.action.goToLocation",title:{value:rt(0,"Go to Any Symbol"),original:"Go to Any Symbol"},precondition:Hr.and(eY.notInPeekEditor,XC.isInWalkThroughSnippet.toNegated())}),this._references=i,this._gotoMultipleBehaviour=e}async _getLocationModel(t,i,e,s){return new gY(this._references,rt(0,"Locations"))}_getNoResultFoundMessage(t){return t&&rt(0,"No results for '{0}'",t.word)||""}_getGoToPreference(t){var i;return null!==(i=this._gotoMultipleBehaviour)&&void 0!==i?i:t.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}Er.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:ws},{name:"position",description:"The position at which to start",constraint:Ms.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(t,i,e,s,n,o,r)=>{K(ws.isUri(i)),K(Ms.isIPosition(e)),K(Array.isArray(s)),K(void 0===n||"string"==typeof n),K(void 0===r||"boolean"==typeof r);const h=t.get(pr),c=await h.openCodeEditor({resource:i},h.getFocusedCodeEditor());if(EK(c))return c.setPosition(e),c.revealPositionInCenterIfOutsideViewport(e,0),c.invokeWithinContext((t=>{const i=new class extends dX{_getNoResultFoundMessage(t){return o||super._getNoResultFoundMessage(t)}}({muteMessage:!Boolean(o),openInPeek:Boolean(r),openToSide:!1},s,n);t.get(dr).invokeFunction(i.run.bind(i),c)}))}}),Er.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:ws},{name:"position",description:"The position at which to start",constraint:Ms.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(t,i,e,s,n)=>{t.get(Dr).executeCommand("editor.action.goToLocations",i,e,s,n,void 0,!0)}}),Er.registerCommand({id:"editor.action.findReferences",handler:(t,i,e)=>{K(ws.isUri(i)),K(Ms.isIPosition(e));const s=t.get(Cg),n=t.get(pr);return n.openCodeEditor({resource:i},n.getFocusedCodeEditor()).then((t=>{if(!EK(t)||!t.hasModel())return;const i=NY.get(t);if(!i)return;const n=oc((i=>ZY(s.referenceProvider,t.getModel(),Ms.lift(e),!1,i).then((t=>new gY(t,rt(0,"References")))))),o=new Ls(e.lineNumber,e.column,e.lineNumber,e.column);return Promise.resolve(i.toggleWidget(o,n,!1))}))}}),Er.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var fX,pX=function(t,i){return function(e,s){i(e,s,t)}};let gX=fX=class{constructor(t,i,e,s){this.textModelResolverService=i,this.languageService=e,this.languageFeaturesService=s,this.toUnhook=new te,this.toUnhookForKeyboard=new te,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=t,this.linkDecorations=this.editor.createDecorationsCollection();const n=new VJ(t);this.toUnhook.add(n),this.toUnhook.add(n.onMouseMoveOrRelevantKeyDown((([t,i])=>{this.startFindDefinitionFromMouse(t,null!=i?i:void 0)}))),this.toUnhook.add(n.onExecute((t=>{this.isEnabled(t)&&this.gotoDefinition(t.target.position,t.hasSideBySideModifier).catch((t=>{Pi(t)})).finally((()=>{this.removeLinkDecorations()}))}))),this.toUnhook.add(n.onCancel((()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null})))}static get(t){return t.getContribution(fX.ID)}async startFindDefinitionFromCursor(t){await this.startFindDefinition(t),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(t,i){if(!(9===t.target.type&&this.linkDecorations.length>0))return this.editor.hasModel()&&this.isEnabled(t,i)?void this.startFindDefinition(t.target.position):(this.currentWordAtPosition=null,void this.removeLinkDecorations())}async startFindDefinition(t){var i;this.toUnhookForKeyboard.clear();const e=t?null===(i=this.editor.getModel())||void 0===i?void 0:i.getWordAtPosition(t):null;if(!e)return this.currentWordAtPosition=null,void this.removeLinkDecorations();if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===e.startColumn&&this.currentWordAtPosition.endColumn===e.endColumn&&this.currentWordAtPosition.word===e.word)return;this.currentWordAtPosition=e;const s=new CK(this.editor,15);let n;this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=oc((i=>this.findDefinition(t,i)));try{n=await this.previousPromise}catch(t){return void Pi(t)}if(!n||!n.length||!s.validate(this.editor))return void this.removeLinkDecorations();const o=n[0].originSelectionRange?Ls.lift(n[0].originSelectionRange):new Ls(t.lineNumber,e.startColumn,t.lineNumber,e.endColumn);if(n.length>1){let t=o;for(const{originSelectionRange:i}of n)i&&(t=Ls.plusRange(t,i));this.addDecoration(t,(new B_).appendText(rt(0,"Click to show {0} definitions.",n.length)))}else{const t=n[0];if(!t.uri)return;this.textModelResolverService.createModelReference(t.uri).then((i=>{if(!i.object||!i.object.textEditorModel)return void i.dispose();const{object:{textEditorModel:e}}=i,{startLineNumber:s}=t.range;if(s<1||s>e.getLineCount())return void i.dispose();const n=this.getPreviewValue(e,s,t),r=this.languageService.guessLanguageIdByFilepathOrFirstLine(e.uri);this.addDecoration(o,n?(new B_).appendCodeblock(r||"",n):void 0),i.dispose()}))}}getPreviewValue(t,i,e){let s=e.range;return s.endLineNumber-s.startLineNumber>=fX.MAX_SOURCE_PREVIEW_LINES&&(s=this.getPreviewRangeBasedOnIndentation(t,i)),this.stripIndentationFromPreviewRange(t,i,s)}stripIndentationFromPreviewRange(t,i,e){let s=t.getLineFirstNonWhitespaceColumn(i);for(let n=i+1;n{const e=!i&&this.editor.getOption(87)&&!this.isInPeekEditor(t);return new hX({openToSide:i,openInPeek:e,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(t)}))}isInPeekEditor(t){const i=t.get(lh);return eY.inPeekEditor.getValue(i)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};gX.ID="editor.contrib.gotodefinitionatposition",gX.MAX_SOURCE_PREVIEW_LINES=8,gX=fX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([pX(1,mr),pX(2,kd),pX(3,Cg)],gX),uu(gX.ID,gX,2);const mX=Wl;class wX extends ie{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 Rk(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}class vX extends ie{static render(t,i,e){return new vX(t,i,e)}constructor(t,i,e){super(),this.actionContainer=Il(t,mX("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=Il(this.actionContainer,mX("a.action")),this.action.setAttribute("role","button"),i.iconClass&&Il(this.action,mX(`span.icon.${i.iconClass}`)),Il(this.action,mX("span")).textContent=e?`${i.label} (${e})`:i.label,this._register(Ua(this.actionContainer,Fl.CLICK,(t=>{t.stopPropagation(),t.preventDefault(),i.run(this.actionContainer)}))),this._register(Ua(this.actionContainer,Fl.KEY_DOWN,(t=>{const e=new Jh(t);(e.equals(3)||e.equals(10))&&(t.stopPropagation(),t.preventDefault(),i.run(this.actionContainer))}))),this.setEnabled(!0)}setEnabled(t){t?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}class bX{constructor(t,i,e){this.value=t,this.isComplete=i,this.hasLoadingMessage=e}}class yX extends ie{constructor(t,i){super(),this._editor=t,this._computer=i,this._onResult=this._register(new fe),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new gc((()=>this._triggerAsyncComputation()),0)),this._secondWaitScheduler=this._register(new gc((()=>this._triggerSyncComputation()),0)),this._loadingMessageScheduler=this._register(new gc((()=>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(t,i=!0){this._state=t,i&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=function(t){const i=new Se,e=t(i.token);return new Cc(i,(async t=>{const s=i.token.onCancellationRequested((()=>{s.dispose(),i.dispose(),t.reject(new Hi)}));try{for await(const s of e){if(i.token.isCancellationRequested)return;t.emitOne(s)}s.dispose(),i.dispose()}catch(e){s.dispose(),i.dispose(),t.reject(e)}}))}((t=>this._computer.computeAsync(t))),(async()=>{try{for await(const t of this._asyncIterable)t&&(this._result.push(t),this._fireResult());this._asyncIterableDone=!0,3!==this._state&&4!==this._state||this._setState(0)}catch(t){Pi(t)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){3===this._state&&this._setState(4)}_fireResult(){if(1===this._state||2===this._state)return;const t=0===this._state,i=4===this._state;this._onResult.fire(new bX(this._result.slice(0),t,i))}start(t){if(0===t)0===this._state&&(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()}}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 kX{constructor(t,i,e,s){this.priority=t,this.range=i,this.initialMousePosX=e,this.initialMousePosY=s,this.type=1}equals(t){return 1===t.type&&this.range.equalsRange(t.range)}canAdoptVisibleHover(t,i){return 1===t.type&&i.lineNumber===this.range.startLineNumber}}class xX{constructor(t,i,e,s,n,o){this.priority=t,this.owner=i,this.range=e,this.initialMousePosX=s,this.initialMousePosY=n,this.supportsMarkerHover=o,this.type=2}equals(t){return 2===t.type&&this.owner===t.owner}canAdoptVisibleHover(t,i){return 2===t.type&&this.owner===t.owner}}const CX=new class{constructor(){this._participants=[]}register(t){this._participants.push(t)}getAll(){return this._participants}};class SX{constructor(){let t;this._onDidWillResize=new fe,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new fe,this.onDidResize=this._onDidResize.event,this._sashListener=new te,this._size=new sl(0,0),this._minSize=new sl(0,0),this._maxSize=new sl(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new UP(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new UP(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new UP(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:BP.North}),this._southSash=new UP(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:BP.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let i=0,e=0;this._sashListener.add(ce.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)((()=>{void 0===t&&(this._onDidWillResize.fire(),t=this._size,i=0,e=0)}))),this._sashListener.add(ce.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)((()=>{void 0!==t&&(t=void 0,i=0,e=0,this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(this._eastSash.onDidChange((s=>{t&&(e=s.currentX-s.startX,this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))}))),this._sashListener.add(this._westSash.onDidChange((s=>{t&&(e=-(s.currentX-s.startX),this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))}))),this._sashListener.add(this._northSash.onDidChange((s=>{t&&(i=-(s.currentY-s.startY),this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))}))),this._sashListener.add(this._southSash.onDidChange((s=>{t&&(i=s.currentY-s.startY,this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))}))),this._sashListener.add(ce.any(this._eastSash.onDidReset,this._westSash.onDidReset)((()=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(ce.any(this._northSash.onDidReset,this._southSash.onDidReset)((()=>{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(t,i,e,s){this._northSash.state=t?3:0,this._eastSash.state=i?3:0,this._southSash.state=e?3:0,this._westSash.state=s?3:0}layout(t=this.size.height,i=this.size.width){const{height:e,width:s}=this._minSize,{height:n,width:o}=this._maxSize;t=Math.max(e,Math.min(n,t)),i=Math.max(s,Math.min(o,i));const r=new sl(i,t);sl.equals(r,this._size)||(this.domNode.style.height=t+"px",this.domNode.style.width=i+"px",this._size=r,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(t){this._maxSize=t}get maxSize(){return this._maxSize}set minSize(t){this._minSize=t}get minSize(){return this._minSize}set preferredSize(t){this._preferredSize=t}get preferredSize(){return this._preferredSize}}class DX extends ie{constructor(t,i=new sl(10,10)){super(),this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new SX),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=sl.lift(i),this._resizableNode.layout(i.height,i.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize((t=>{this._resize(new sl(t.dimension.width,t.dimension.height)),t.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 t;return(null===(t=this._contentPosition)||void 0===t?void 0:t.position)?Ms.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(t){const i=this._editor.getDomNode(),e=this._editor.getScrolledVisiblePosition(t);if(i&&e)return ol(i).top+e.top-30}_availableVerticalSpaceBelow(t){const i=this._editor.getDomNode(),e=this._editor.getScrolledVisiblePosition(t);if(!i||!e)return;const s=ol(i);return il(i.ownerDocument.body).height-(s.top+e.top+e.height)-24}_findPositionPreference(t,i){var e,s;const n=Math.min(null!==(e=this._availableVerticalSpaceBelow(i))&&void 0!==e?e:1/0,t),o=Math.min(null!==(s=this._availableVerticalSpaceAbove(i))&&void 0!==s?s:1/0,t),r=Math.min(Math.max(o,n),t),h=Math.min(t,r);let c;return c=this._editor.getOption(60).above?h<=o?1:2:h<=n?2:1,1===c?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),c}_resize(t){this._resizableNode.layout(t.height,t.width)}}var EX,AX,MX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},LX=function(t,i){return function(e,s){i(e,s,t)}};const FX=Wl;let TX=EX=class extends ie{constructor(t,i,e){super(),this._editor=t,this._instantiationService=i,this._keybindingService=e,this._currentResult=null,this._widget=this._register(this._instantiationService.createInstance(_X,this._editor)),this._participants=[];for(const t of CX.getAll())this._participants.push(this._instantiationService.createInstance(t,this._editor));this._participants.sort(((t,i)=>t.hoverOrdinal-i.hoverOrdinal)),this._computer=new BX(this._editor,this._participants),this._hoverOperation=this._register(new yX(this._editor,this._computer)),this._register(this._hoverOperation.onResult((t=>{if(!this._computer.anchor)return;const i=t.hasLoadingMessage?this._addLoadingMessage(t.value):t.value;this._withResult(new RX(this._computer.anchor,i,t.isComplete))}))),this._register(Ka(this._widget.getDomNode(),"keydown",(t=>{t.equals(9)&&this.hide()}))),this._register(Qs.onDidChange((()=>{this._widget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)})))}get widget(){return this._widget}maybeShowAt(t){if(this._widget.isResizing)return!0;const i=[];for(const e of this._participants)if(e.suggestHoverAnchor){const s=e.suggestHoverAnchor(t);s&&i.push(s)}const e=t.target;if(6===e.type&&i.push(new kX(0,e.range,t.event.posx,t.event.posy)),7===e.type){const s=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;!e.detail.isAfterLines&&"number"==typeof e.detail.horizontalDistanceToText&&e.detail.horizontalDistanceToTexti.priority-t.priority)),this._startShowingOrUpdateHover(i[0],0,0,!1,t))}startShowingAtRange(t,i,e,s){this._startShowingOrUpdateHover(new kX(0,t,void 0,void 0),i,e,s,null)}_startShowingOrUpdateHover(t,i,e,s,n){return this._widget.position&&this._currentResult?this._editor.getOption(60).sticky&&n&&this._widget.isMouseGettingCloser(n.event.posx,n.event.posy)?(t&&this._startHoverOperationIfNecessary(t,i,e,s,!0),!0):t?!(!t||!this._currentResult.anchor.equals(t))||(t.canAdoptVisibleHover(this._currentResult.anchor,this._widget.position)?(this._setCurrentResult(this._currentResult.filter(t)),this._startHoverOperationIfNecessary(t,i,e,s,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(t,i,e,s,!1),!0)):(this._setCurrentResult(null),!1):!!t&&(this._startHoverOperationIfNecessary(t,i,e,s,!1),!0)}_startHoverOperationIfNecessary(t,i,e,s,n){this._computer.anchor&&this._computer.anchor.equals(t)||(this._hoverOperation.cancel(),this._computer.anchor=t,this._computer.shouldFocus=s,this._computer.source=e,this._computer.insistOnKeepingHoverVisible=n,this._hoverOperation.start(i))}_setCurrentResult(t){this._currentResult!==t&&(t&&0===t.messages.length&&(t=null),this._currentResult=t,this._currentResult?this._renderMessages(this._currentResult.anchor,this._currentResult.messages):this._widget.hide())}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}get isColorPickerVisible(){return this._widget.isColorPickerVisible}get isVisibleFromKeyboard(){return this._widget.isVisibleFromKeyboard}get isVisible(){return this._widget.isVisible}get isFocused(){return this._widget.isFocused}get isResizing(){return this._widget.isResizing}containsNode(t){return!!t&&this._widget.getDomNode().contains(t)}_addLoadingMessage(t){if(this._computer.anchor)for(const i of this._participants)if(i.createLoadingMessage){const e=i.createLoadingMessage(this._computer.anchor);if(e)return t.slice(0).concat([e])}return t}_withResult(t){if(this._widget.position&&this._currentResult&&this._currentResult.isComplete){if(!t.isComplete)return;if(this._computer.insistOnKeepingHoverVisible&&0===t.messages.length)return}this._setCurrentResult(t)}_renderMessages(t,i){const{showAtPosition:e,showAtSecondaryPosition:s,highlightRange:n}=EX.computeHoverRanges(this._editor,t.range,i),o=new te,r=o.add(new NX(this._keybindingService)),h=document.createDocumentFragment();let c=null;const a={fragment:h,statusBar:r,setColorPicker:t=>c=t,onContentsChanged:()=>this._widget.onContentsChanged(),setMinimumDimensions:t=>this._widget.setMinimumDimensions(t),hide:()=>this.hide()};for(const t of this._participants){const e=i.filter((i=>i.owner===t));e.length>0&&o.add(t.renderHoverParts(a,e))}const l=i.some((t=>t.isBeforeContent));if(r.hasContent&&h.appendChild(r.hoverElement),h.hasChildNodes()){if(n){const t=this._editor.createDecorationsCollection();t.set([{range:n,options:EX._DECORATION_OPTIONS}]),o.add(Xi((()=>{t.clear()})))}this._widget.showAt(h,new IX(c,e,s,this._editor.getOption(60).above,this._computer.shouldFocus,this._computer.source,l,t.initialMousePosX,t.initialMousePosY,o))}else o.dispose()}static computeHoverRanges(t,i,e){let s=1;if(t.hasModel()){const e=t._getViewModel(),n=e.coordinatesConverter,o=n.convertModelRangeToViewRange(i),r=new Ms(o.startLineNumber,e.getLineMinColumn(o.startLineNumber));s=n.convertViewPositionToModelPosition(r).column}const n=i.startLineNumber;let o=i.startColumn,r=e[0].range,h=null;for(const t of e)r=Ls.plusRange(r,t.range),t.range.startLineNumber===n&&t.range.endLineNumber===n&&(o=Math.max(Math.min(o,t.range.startColumn),s)),t.forceShowAtRange&&(h=t.range);return{showAtPosition:h?h.getStartPosition():new Ms(n,i.startColumn),showAtSecondaryPosition:h?h.getStartPosition():new Ms(n,o),highlightRange:r}}focus(){this._widget.focus()}scrollUp(){this._widget.scrollUp()}scrollDown(){this._widget.scrollDown()}scrollLeft(){this._widget.scrollLeft()}scrollRight(){this._widget.scrollRight()}pageUp(){this._widget.pageUp()}pageDown(){this._widget.pageDown()}goToTop(){this._widget.goToTop()}goToBottom(){this._widget.goToBottom()}};TX._DECORATION_OPTIONS=ML.register({description:"content-hover-highlight",className:"hoverHighlight"}),TX=EX=MX([LX(1,dr),LX(2,rC)],TX);class RX{constructor(t,i,e){this.anchor=t,this.messages=i,this.isComplete=e}filter(t){const i=this.messages.filter((i=>i.isValidForHoverAnchor(t)));return i.length===this.messages.length?this:new OX(this,this.anchor,i,this.isComplete)}}class OX extends RX{constructor(t,i,e,s){super(i,e,s),this.original=t}filter(t){return this.original.filter(t)}}class IX{constructor(t,i,e,s,n,o,r,h,c,a){this.colorPicker=t,this.showAtPosition=i,this.showAtSecondaryPosition=e,this.preferAbove=s,this.stoleFocus=n,this.source=o,this.isBeforeContent=r,this.initialMousePosX=h,this.initialMousePosY=c,this.disposables=a,this.closestMouseDistance=void 0}}let _X=AX=class extends DX{get isColorPickerVisible(){var t;return Boolean(null===(t=this._visibleData)||void 0===t?void 0:t.colorPicker)}get isVisibleFromKeyboard(){var t;return 1===(null===(t=this._visibleData)||void 0===t?void 0:t.source)}get isVisible(){var t;return null!==(t=this._hoverVisibleKey.get())&&void 0!==t&&t}get isFocused(){var t;return null!==(t=this._hoverFocusedKey.get())&&void 0!==t&&t}constructor(t,i,e,s,n){const o=t.getOption(66)+8,r=new sl(150,o);super(t,r),this._configurationService=e,this._accessibilityService=s,this._keybindingService=n,this._hover=this._register(new wX),this._minimumSize=r,this._hoverVisibleKey=XC.hoverVisible.bindTo(i),this._hoverFocusedKey=XC.hoverFocused.bindTo(i),Il(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((t=>{t.hasChanged(50)&&this._updateFont()})));const h=this._register(Ol(this._resizableNode.domNode));this._register(h.onDidFocus((()=>{this._hoverFocusedKey.set(!0)}))),this._register(h.onDidBlur((()=>{this._hoverFocusedKey.set(!1)}))),this._setHoverData(void 0),this._editor.addContentWidget(this)}dispose(){var t;super.dispose(),null===(t=this._visibleData)||void 0===t||t.disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return AX.ID}static _applyDimensions(t,i,e){const s="number"==typeof e?`${e}px`:e;t.style.width="number"==typeof i?`${i}px`:i,t.style.height=s}_setContentsDomNodeDimensions(t,i){return AX._applyDimensions(this._hover.contentsDomNode,t,i)}_setContainerDomNodeDimensions(t,i){return AX._applyDimensions(this._hover.containerDomNode,t,i)}_setHoverWidgetDimensions(t,i){this._setContentsDomNodeDimensions(t,i),this._setContainerDomNodeDimensions(t,i),this._layoutContentWidget()}static _applyMaxDimensions(t,i,e){const s="number"==typeof e?`${e}px`:e;t.style.maxWidth="number"==typeof i?`${i}px`:i,t.style.maxHeight=s}_setHoverWidgetMaxDimensions(t,i){AX._applyMaxDimensions(this._hover.contentsDomNode,t,i),AX._applyMaxDimensions(this._hover.containerDomNode,t,i),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth","number"==typeof t?`${t}px`:t),this._layoutContentWidget()}_hasHorizontalScrollbar(){const t=this._hover.scrollbar.getScrollDimensions();return t.scrollWidth>t.width}_adjustContentsBottomPadding(){const t=this._hover.contentsDomNode,i=`${this._hover.scrollbar.options.horizontalScrollbarSize}px`;t.style.paddingBottom!==i&&(t.style.paddingBottom=i)}_setAdjustedHoverWidgetDimensions(t){this._setHoverWidgetMaxDimensions("none","none");const i=t.width,e=t.height;this._setHoverWidgetDimensions(i,e),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._setContentsDomNodeDimensions(i,e-10))}_updateResizableNodeMaxDimensions(){var t,i;const e=null!==(t=this._findMaximumRenderingWidth())&&void 0!==t?t:1/0,s=null!==(i=this._findMaximumRenderingHeight())&&void 0!==i?i:1/0;this._resizableNode.maxSize=new sl(e,s),this._setHoverWidgetMaxDimensions(e,s)}_resize(t){var i,e;AX._lastDimensions=new sl(t.width,t.height),this._setAdjustedHoverWidgetDimensions(t),this._resizableNode.layout(t.height,t.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),null===(e=null===(i=this._visibleData)||void 0===i?void 0:i.colorPicker)||void 0===e||e.layout()}_findAvailableSpaceVertically(){var t;const i=null===(t=this._visibleData)||void 0===t?void 0:t.showAtPosition;if(i)return 1===this._positionPreference?this._availableVerticalSpaceAbove(i):this._availableVerticalSpaceBelow(i)}_findMaximumRenderingHeight(){const t=this._findAvailableSpaceVertically();if(!t)return;let i=6;return Array.from(this._hover.contentsDomNode.children).forEach((t=>{i+=t.clientHeight})),this._hasHorizontalScrollbar()&&(i+=10),Math.min(t,i)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const t=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"),t}_findMaximumRenderingWidth(){if(this._editor&&this._editor.hasModel())return this._isHoverTextOverflowing()||this._hover.containerDomNode.clientWidth<(void 0===this._contentWidth?0:this._contentWidth-2)?il(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth+2}isMouseGettingCloser(t,i){if(!this._visibleData)return!1;if(void 0===this._visibleData.initialMousePosX||void 0===this._visibleData.initialMousePosY)return this._visibleData.initialMousePosX=t,this._visibleData.initialMousePosY=i,!1;const e=ol(this.getDomNode());void 0===this._visibleData.closestMouseDistance&&(this._visibleData.closestMouseDistance=PX(this._visibleData.initialMousePosX,this._visibleData.initialMousePosY,e.left,e.top,e.width,e.height));const s=PX(t,i,e.left,e.top,e.width,e.height);return!(s>this._visibleData.closestMouseDistance+4||(this._visibleData.closestMouseDistance=Math.min(this._visibleData.closestMouseDistance,s),0))}_setHoverData(t){var i;null===(i=this._visibleData)||void 0===i||i.disposables.dispose(),this._visibleData=t,this._hoverVisibleKey.set(!!t),this._hover.containerDomNode.classList.toggle("hidden",!t)}_updateFont(){const{fontSize:t,lineHeight:i}=this._editor.getOption(50),e=this._hover.contentsDomNode;e.style.fontSize=`${t}px`,e.style.lineHeight=""+i/t,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((t=>this._editor.applyFontInfo(t)))}_updateContent(t){const i=this._hover.contentsDomNode;i.style.paddingBottom="",i.textContent="",i.appendChild(t)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const t=Math.max(this._editor.getLayoutInfo().height/4,250,AX._lastDimensions.height),i=Math.max(.66*this._editor.getLayoutInfo().width,500,AX._lastDimensions.width);this._setHoverWidgetMaxDimensions(i,t)}_render(t,i){this._setHoverData(i),this._updateFont(),this._updateContent(t),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){var t;return this._visibleData?{position:this._visibleData.showAtPosition,secondaryPosition:this._visibleData.showAtSecondaryPosition,positionAffinity:this._visibleData.isBeforeContent?3:void 0,preference:[null!==(t=this._positionPreference)&&void 0!==t?t:1]}:null}showAt(t,i){var e,s,n,o;if(!this._editor||!this._editor.hasModel())return;this._render(t,i);const r=al(this._hover.containerDomNode);this._positionPreference=null!==(e=this._findPositionPreference(r,i.showAtPosition))&&void 0!==e?e:1,this.onContentsChanged(),i.stoleFocus&&this._hover.containerDomNode.focus(),null===(s=i.colorPicker)||void 0===s||s.layout();const h=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&(c=!0===this._configurationService.getValue("accessibility.verbosity.hover")&&this._accessibilityService.isScreenReaderOptimized(),a=null!==(o=null===(n=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))||void 0===n?void 0:n.getAriaLabel())&&void 0!==o?o:"",c&&a?rt(0,"Inspect this in the accessible view with {0}.",a):c?rt(0,"Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):"");var c,a;h&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+h)}hide(){if(!this._visibleData)return;const t=this._visibleData.stoleFocus||this._hoverFocusedKey.get();this._setHoverData(void 0),this._resizableNode.maxSize=new sl(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),t&&this._editor.focus()}_removeConstraintsRenderNormally(){const t=this._editor.getLayoutInfo();this._resizableNode.layout(t.height,t.width),this._setHoverWidgetDimensions("auto","auto")}_adjustHoverHeightForScrollbar(t){var i;const e=this._hover.containerDomNode,s=this._hover.contentsDomNode,n=null!==(i=this._findMaximumRenderingHeight())&&void 0!==i?i:1/0;this._setContainerDomNodeDimensions(rl(e),Math.min(n,t)),this._setContentsDomNodeDimensions(rl(s),Math.min(n,t-10))}setMinimumDimensions(t){this._minimumSize=new sl(Math.max(this._minimumSize.width,t.width),Math.max(this._minimumSize.height,t.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const t=void 0===this._contentWidth?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new sl(t,this._minimumSize.height)}onContentsChanged(){var t;this._removeConstraintsRenderNormally();const i=this._hover.containerDomNode;let e=al(i),s=rl(i);if(this._resizableNode.layout(e,s),this._setHoverWidgetDimensions(s,e),e=al(i),s=rl(i),this._contentWidth=s,this._updateMinimumWidth(),this._resizableNode.layout(e,s),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._adjustHoverHeightForScrollbar(e)),null===(t=this._visibleData)||void 0===t?void 0:t.showAtPosition){const t=al(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(t,this._visibleData.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:t-i.lineHeight})}scrollDown(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:t+i.lineHeight})}scrollLeft(){const t=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:t-30})}scrollRight(){const t=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:t+30})}pageUp(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:t-i})}pageDown(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:t+i})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};_X.ID="editor.contrib.resizableContentHoverWidget",_X._lastDimensions=new sl(0,0),_X=AX=MX([LX(1,lh),LX(2,gd),LX(3,Qm),LX(4,rC)],_X);let NX=class extends ie{get hasContent(){return this._hasContent}constructor(t){super(),this._keybindingService=t,this._hasContent=!1,this.hoverElement=FX("div.hover-row.status-bar"),this.actionsElement=Il(this.hoverElement,FX("div.actions"))}addAction(t){const i=this._keybindingService.lookupKeybinding(t.commandId),e=i?i.getLabel():null;return this._hasContent=!0,this._register(vX.render(this.actionsElement,t,e))}append(t){const i=Il(this.actionsElement,t);return this._hasContent=!0,i}};NX=MX([LX(0,rC)],NX);class BX{get anchor(){return this._anchor}set anchor(t){this._anchor=t}get shouldFocus(){return this._shouldFocus}set shouldFocus(t){this._shouldFocus=t}get source(){return this._source}set source(t){this._source=t}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(t){this._insistOnKeepingHoverVisible=t}constructor(t,i){this._editor=t,this._participants=i,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(t,i){if(1!==i.type&&!i.supportsMarkerHover)return[];const e=t.getModel(),s=i.range.startLineNumber;if(s>e.getLineCount())return[];const n=e.getLineMaxColumn(s);return t.getLineDecorations(s).filter((t=>{if(t.options.isWholeLine)return!0;const e=t.range.startLineNumber===s?t.range.startColumn:1,o=t.range.endLineNumber===s?t.range.endColumn:n;if(t.options.showIfCollapsed){if(e>i.range.startColumn+1||i.range.endColumn-1>o)return!1}else if(e>i.range.startColumn||i.range.endColumn>o)return!1;return!0}))}computeAsync(t){const i=this._anchor;if(!this._editor.hasModel()||!i)return xc.EMPTY;const e=BX._getLineDecorations(this._editor,i);return xc.merge(this._participants.map((s=>s.computeAsync?s.computeAsync(i,e,t):xc.EMPTY)))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const t=BX._getLineDecorations(this._editor,this._anchor);let i=[];for(const e of this._participants)i=i.concat(e.computeSync(this._anchor,t));return w(i)}}function PX(t,i,e,s,n,o){const r=s+o/2,h=Math.max(Math.abs(t-(e+n/2))-n/2,0),c=Math.max(Math.abs(i-r)-o/2,0);return Math.sqrt(h*h+c*c)}const $X=Wl;class WX extends ie{constructor(t,i,e){super(),this._renderDisposeables=this._register(new te),this._editor=t,this._isVisible=!1,this._messages=[],this._hover=this._register(new wX),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new uQ({editor:this._editor},i,e)),this._computer=new jX(this._editor),this._hoverOperation=this._register(new yX(this._editor,this._computer)),this._register(this._hoverOperation.onResult((t=>{this._withResult(t.value)}))),this._register(this._editor.onDidChangeModelDecorations((()=>this._onModelDecorationsChanged()))),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._updateFont()}))),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return WX.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((t=>this._editor.applyFontInfo(t)))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}startShowingAt(t){this._computer.lineNumber!==t&&(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=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(t){this._messages=t,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(t,i){this._renderDisposeables.clear();const e=document.createDocumentFragment();for(const t of i){const i=$X("div.hover-row.markdown-hover"),s=Il(i,$X("div.hover-contents")),n=this._renderDisposeables.add(this._markdownRenderer.render(t.value));s.appendChild(n.element),e.appendChild(i)}this._updateContents(e),this._showAt(t)}_updateContents(t){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(t),this._updateFont()}_showAt(t){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const i=this._editor.getLayoutInfo(),e=this._editor.getTopForLineNumber(t),s=this._editor.getScrollTop(),n=this._editor.getOption(66),o=e-s-(this._hover.containerDomNode.clientHeight-n)/2;this._hover.containerDomNode.style.left=`${i.glyphMarginLeft+i.glyphMarginWidth}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(o),0)}px`}}WX.ID="editor.contrib.modesGlyphHoverWidget";class jX{get lineNumber(){return this._lineNumber}set lineNumber(t){this._lineNumber=t}constructor(t){this._editor=t,this._lineNumber=-1}computeSync(){const t=t=>({value:t}),i=this._editor.getLineDecorations(this._lineNumber),e=[];if(!i)return e;for(const s of i){if(!s.options.glyphMarginClassName)continue;const i=s.options.glyphMarginHoverMessage;i&&!P_(i)&&e.push(...M(i).map(t))}return e}}class zX{constructor(t,i,e){this.provider=t,this.hover=i,this.ordinal=e}}function HX(t,i,e,s){const n=t.ordered(i).map(((t,n)=>async function(t,i,e,s,n){try{const o=await Promise.resolve(t.provideHover(e,s,n));if(o&&function(t){return void 0!==t.range&&void 0!==t.contents&&t.contents&&t.contents.length>0}(o))return new zX(t,o,i)}catch(t){$i(t)}}(t,n,i,e,s)));return xc.fromPromises(n).coalesce()}hu("_executeHoverProvider",((t,i,e)=>function(t,i,e){return HX(t,i,e,xe.None).map((t=>t.hover)).toPromise()}(t.get(Cg).hoverProvider,i,e)));var VX=function(t,i){return function(e,s){i(e,s,t)}};const UX=Wl;class qX{constructor(t,i,e,s,n){this.owner=t,this.range=i,this.contents=e,this.isBeforeContent=s,this.ordinal=n}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}let KX=class{constructor(t,i,e,s,n){this._editor=t,this._languageService=i,this._openerService=e,this._configurationService=s,this._languageFeaturesService=n,this.hoverOrdinal=3}createLoadingMessage(t){return new qX(this,t.range,[(new B_).appendText(rt(0,"Loading..."))],!1,2e3)}computeSync(t,i){if(!this._editor.hasModel()||1!==t.type)return[];const e=this._editor.getModel(),s=t.range.startLineNumber,n=e.getLineMaxColumn(s),o=[];let r=1e3;const h=e.getLineLength(s),c=e.getLanguageIdAtPosition(t.range.startLineNumber,t.range.startColumn),a=this._editor.getOption(116),l=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:c});let u=!1;a>=0&&h>a&&t.range.startColumn>=a&&(u=!0,o.push(new qX(this,t.range,[{value:rt(0,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,r++))),!u&&"number"==typeof l&&h>=l&&o.push(new qX(this,t.range,[{value:rt(0,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,r++));let d=!1;for(const e of i){const i=e.range.startLineNumber===s?e.range.startColumn:1,h=e.range.endLineNumber===s?e.range.endColumn:n,c=e.options.hoverMessage;if(!c||P_(c))continue;e.options.beforeContentClassName&&(d=!0);const a=new Ls(t.range.startLineNumber,i,t.range.startLineNumber,h);o.push(new qX(this,a,M(c),d,r++))}return o}computeAsync(t,i,e){if(!this._editor.hasModel()||1!==t.type)return xc.EMPTY;const s=this._editor.getModel();if(!this._languageFeaturesService.hoverProvider.has(s))return xc.EMPTY;const n=new Ms(t.range.startLineNumber,t.range.startColumn);return HX(this._languageFeaturesService.hoverProvider,s,n,e).filter((t=>!P_(t.hover.contents))).map((i=>{const e=i.hover.range?Ls.lift(i.hover.range):t.range;return new qX(this,e,i.hover.contents,!1,i.ordinal)}))}renderHoverParts(t,i){return GX(t,i,this._editor,this._languageService,this._openerService)}};function GX(t,i,e,s,n){i.sort(((t,i)=>t.ordinal-i.ordinal));const o=new te;for(const r of i)for(const i of r.contents){if(P_(i))continue;const r=UX("div.hover-row.markdown-hover"),h=Il(r,UX("div.hover-contents")),c=o.add(new uQ({editor:e},s,n));o.add(c.onDidRenderAsync((()=>{h.className="hover-contents code-hover-contents",t.onContentsChanged()})));const a=o.add(c.render(i));h.appendChild(a.element),t.fragment.appendChild(r)}return o}KX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([VX(1,kd),VX(2,fP),VX(3,gd),VX(4,Cg)],KX);var ZX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},QX=function(t,i){return function(e,s){i(e,s,t)}};class JX{constructor(t,i,e){this.marker=t,this.index=i,this.total=e}}let YX=class{constructor(t,i,e){this._markerService=i,this._configService=e,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._dispoables=new te,this._markers=[],this._nextIdx=-1,ws.isUri(t)?this._resourceFilter=i=>i.toString()===t.toString():t&&(this._resourceFilter=t);const s=this._configService.getValue("problems.sortOrder"),n=(t,i)=>{let e=no(t.resource.toString(),i.resource.toString());return 0===e&&(e="position"===s?Ls.compareRangesUsingStarts(t,i)||yP.compare(t.severity,i.severity):yP.compare(t.severity,i.severity)||Ls.compareRangesUsingStarts(t,i)),e},o=()=>{this._markers=this._markerService.read({resource:ws.isUri(t)?t:void 0,severities:yP.Error|yP.Warning|yP.Info}),"function"==typeof t&&(this._markers=this._markers.filter((t=>this._resourceFilter(t.resource)))),this._markers.sort(n)};o(),this._dispoables.add(i.onMarkerChanged((t=>{this._resourceFilter&&!t.some((t=>this._resourceFilter(t)))||(o(),this._nextIdx=-1,this._onDidChange.fire())})))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(t){return!this._resourceFilter&&!t||!(!this._resourceFilter||!t)&&this._resourceFilter(t)}get selected(){const t=this._markers[this._nextIdx];return t&&new JX(t,this._nextIdx+1,this._markers.length)}_initIdx(t,i,e){let s=!1,n=this._markers.findIndex((i=>i.resource.toString()===t.uri.toString()));n<0&&(n=d(this._markers,{resource:t.uri},((t,i)=>no(t.resource.toString(),i.resource.toString()))),n<0&&(n=~n));for(let e=n;ei.resource.toString()===t.toString()));if(!(e<0))for(;e{t.preventDefault();const i=this._relatedDiagnostics.get(t.target);i&&e(i)}))),this._scrollable=new Fk(o,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),t.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll((t=>{o.style.left=`-${t.scrollLeft}px`,o.style.top=`-${t.scrollTop}px`}))),this._disposables.add(this._scrollable)}dispose(){Ji(this._disposables)}update(t){const{source:i,message:e,relatedInformation:s,code:n}=t;let o=((null==i?void 0:i.length)||0)+2;n&&(o+="string"==typeof n?n.length:n.value.length);const r=to(e);this._lines=r.length,this._longestLineLength=0;for(const t of r)this._longestLineLength=Math.max(t.length+o,this._longestLineLength);Ha(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(t)),this._editor.applyFontInfo(this._messageBlock);let h=this._messageBlock;for(const t of r)h=document.createElement("div"),h.innerText=t,""===t&&(h.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(h);if(i||n){const t=document.createElement("span");if(t.classList.add("details"),h.appendChild(t),i){const e=document.createElement("span");e.innerText=i,e.classList.add("source"),t.appendChild(e)}if(n)if("string"==typeof n){const i=document.createElement("span");i.innerText=`(${n})`,i.classList.add("code"),t.appendChild(i)}else this._codeLink=Wl("a.code-link"),this._codeLink.setAttribute("href",`${n.target.toString()}`),this._codeLink.onclick=t=>{this._openerService.open(n.target,{allowCommands:!0}),t.preventDefault(),t.stopPropagation()},Il(this._codeLink,Wl("span")).innerText=n.value,t.appendChild(this._codeLink)}if(Ha(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),y(s)){const t=this._relatedBlock.appendChild(document.createElement("div"));t.style.paddingTop=`${Math.floor(.66*this._editor.getOption(66))}px`,this._lines+=1;for(const i of s){const e=document.createElement("div"),s=document.createElement("a");s.classList.add("filename"),s.innerText=`${this._labelService.getUriBasenameLabel(i.resource)}(${i.startLineNumber}, ${i.startColumn}): `,s.title=this._labelService.getUriLabel(i.resource),this._relatedDiagnostics.set(s,i);const n=document.createElement("span");n.innerText=i.message,e.appendChild(s),e.appendChild(n),this._lines+=1,t.appendChild(e)}}const c=this._editor.getOption(50),a=Math.ceil(c.typicalFullwidthCharacterWidth*this._longestLineLength*.75);this._scrollable.setScrollDimensions({scrollWidth:a,scrollHeight:c.lineHeight*this._lines})}layout(t,i){this._scrollable.getDomNode().style.height=`${t}px`,this._scrollable.getDomNode().style.width=`${i}px`,this._scrollable.setScrollDimensions({width:i,height:t})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(t){let i="";switch(t.severity){case yP.Error:i=rt(0,"Error");break;case yP.Warning:i=rt(0,"Warning");break;case yP.Info:i=rt(0,"Info");break;case yP.Hint:i=rt(0,"Hint")}let e=rt(0,"{0} at {1}. ",i,t.startLineNumber+":"+t.startColumn);const s=this._editor.getModel();return s&&t.startLineNumber<=s.getLineCount()&&t.startLineNumber>=1&&(e=`${s.getLineContent(t.startLineNumber)}, ${e}`),e}}let o0=e0=class extends oY{constructor(t,i,e,s,n,o,r){super(t,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},n),this._themeService=i,this._openerService=e,this._menuService=s,this._contextKeyService=o,this._labelService=r,this._callOnDispose=new te,this._onDidSelectRelatedInformation=new fe,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=yP.Warning,this._backgroundColor=ug.white,this._applyTheme(i.getColorTheme()),this._callOnDispose.add(i.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(t){this._backgroundColor=t.getColor(g0);let i=a0,e=l0;this._severity===yP.Warning?(i=u0,e=d0):this._severity===yP.Info&&(i=f0,e=p0);const s=t.getColor(i),n=t.getColor(e);this.style({arrowColor:s,frameColor:s,headerBackgroundColor:n,primaryHeadingColor:t.getColor(hY),secondaryHeadingColor:t.getColor(cY)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(t){super._fillHead(t),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun((()=>this.editor.focus())));const i=[],e=this._menuService.createMenu(e0.TitleMenu,this._contextKeyService);qB(e,void 0,i),this._actionbarWidget.push(i,{label:!1,icon:!0,index:0}),e.dispose()}_fillTitleIcon(t){this._icon=Il(t,Wl(""))}_fillBody(t){this._parentContainer=t,t.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),t.appendChild(this._container),this._message=new n0(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(t,i,e){this._container.classList.remove("stale"),this._message.update(t),this._severity=t.severity,this._applyTheme(this._themeService.getColorTheme());const s=Ls.lift(t),n=this.editor.getPosition(),o=n&&s.containsPosition(n)?n:s.getStartPosition();super.show(o,this.computeRequiredHeight());const r=this.editor.getModel();if(r){const t=rt(0,e>1?"{0} of {1} problems":"{0} of {1} problem",i,e);this.setTitle(yA(r.uri),t)}this._icon.className=`codicon ${i0.className(yP.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(o,0),this.editor.focus()}updateMarker(t){this._container.classList.remove("stale"),this._message.update(t)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(t,i){super._doLayoutBody(t,i),this._heightInPixel=t,this._message.layout(t,i),this._container.style.height=`${t}px`}_onWidth(t){this._message.layout(this._heightInPixel,t)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};o0.TitleMenu=new Oh("gotoErrorTitleMenu"),o0=e0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([s0(1,tx),s0(2,fP),s0(3,Ih),s0(4,dr),s0(5,lh),s0(6,WO)],o0);const r0=dy(sv,nv),h0=dy(ov,rv),c0=dy(hv,cv),a0=fw("editorMarkerNavigationError.background",{dark:r0,light:r0,hcDark:vw,hcLight:vw},rt(0,"Editor marker navigation widget error color.")),l0=fw("editorMarkerNavigationError.headerBackground",{dark:uy(a0,.1),light:uy(a0,.1),hcDark:null,hcLight:null},rt(0,"Editor marker navigation widget error heading background.")),u0=fw("editorMarkerNavigationWarning.background",{dark:h0,light:h0,hcDark:vw,hcLight:vw},rt(0,"Editor marker navigation widget warning color.")),d0=fw("editorMarkerNavigationWarning.headerBackground",{dark:uy(u0,.1),light:uy(u0,.1),hcDark:"#0C141F",hcLight:uy(u0,.2)},rt(0,"Editor marker navigation widget warning heading background.")),f0=fw("editorMarkerNavigationInfo.background",{dark:c0,light:c0,hcDark:vw,hcLight:vw},rt(0,"Editor marker navigation widget info color.")),p0=fw("editorMarkerNavigationInfo.headerBackground",{dark:uy(f0,.1),light:uy(f0,.1),hcDark:null,hcLight:null},rt(0,"Editor marker navigation widget info heading background.")),g0=fw("editorMarkerNavigation.background",{dark:lv,light:lv,hcDark:lv,hcLight:lv},rt(0,"Editor marker navigation widget background."));var m0,w0=function(t,i){return function(e,s){i(e,s,t)}};let v0=m0=class{static get(t){return t.getContribution(m0.ID)}constructor(t,i,e,s,n){this._markerNavigationService=i,this._contextKeyService=e,this._editorService=s,this._instantiationService=n,this._sessionDispoables=new te,this._editor=t,this._widgetVisible=x0.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(t){if(this._model&&this._model.matches(t))return this._model;let i=!1;return this._model&&(i=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(t),i&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(o0,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((t=>{var i,e,s;(null===(i=this._model)||void 0===i?void 0:i.selected)&&Ls.containsPosition(null===(e=this._model)||void 0===e?void 0:e.selected.marker,t.position)||null===(s=this._model)||void 0===s||s.resetIndex()}))),this._sessionDispoables.add(this._model.onDidChange((()=>{if(!this._widget||!this._widget.position||!this._model)return;const t=this._model.find(this._editor.getModel().uri,this._widget.position);t?this._widget.updateMarker(t.marker):this._widget.showStale()}))),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation((t=>{this._editorService.openCodeEditor({resource:t.resource,options:{pinned:!0,revealIfOpened:!0,selection:Ls.lift(t).collapseToStart()}},this._editor),this.close(!1)}))),this._sessionDispoables.add(this._editor.onDidChangeModel((()=>this._cleanUp()))),this._model}close(t=!0){this._cleanUp(),t&&this._editor.focus()}showAtMarker(t){if(this._editor.hasModel()){const i=this._getOrCreateModel(this._editor.getModel().uri);i.resetIndex(),i.move(!0,this._editor.getModel(),new Ms(t.startLineNumber,t.startColumn)),i.selected&&this._widget.showAtMarker(i.selected.marker,i.selected.index,i.selected.total)}}async nagivate(t,i){var e,s;if(this._editor.hasModel()){const n=this._getOrCreateModel(i?void 0:this._editor.getModel().uri);if(n.move(t,this._editor.getModel(),this._editor.getPosition()),!n.selected)return;if(n.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const o=await this._editorService.openCodeEditor({resource:n.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:n.selected.marker}},this._editor);o&&(null===(e=m0.get(o))||void 0===e||e.close(),null===(s=m0.get(o))||void 0===s||s.nagivate(t,i))}else this._widget.showAtMarker(n.selected.marker,n.selected.index,n.selected.total)}}};v0.ID="editor.contrib.markerController",v0=m0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([w0(1,XX),w0(2,lh),w0(3,pr),w0(4,dr)],v0);class b0 extends nu{constructor(t,i,e){super(e),this._next=t,this._multiFile=i}async run(t,i){var e;i.hasModel()&&(null===(e=v0.get(i))||void 0===e||e.nagivate(this._next,this._multiFile))}}class y0 extends b0{constructor(){super(!0,!1,{id:y0.ID,label:y0.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:578,weight:100},menuOpts:{menuId:o0.TitleMenu,title:y0.LABEL,icon:Vz("marker-navigation-next",Is.arrowDown,rt(0,"Icon for goto next marker.")),group:"navigation",order:1}})}}y0.ID="editor.action.marker.next",y0.LABEL=rt(0,"Go to Next Problem (Error, Warning, Info)");class k0 extends b0{constructor(){super(!1,!1,{id:k0.ID,label:k0.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:1602,weight:100},menuOpts:{menuId:o0.TitleMenu,title:k0.LABEL,icon:Vz("marker-navigation-previous",Is.arrowUp,rt(0,"Icon for goto previous marker.")),group:"navigation",order:2}})}}k0.ID="editor.action.marker.prev",k0.LABEL=rt(0,"Go to Previous Problem (Error, Warning, Info)"),uu(v0.ID,v0,4),au(y0),au(k0),au(class extends b0{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:rt(0,"Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:66,weight:100},menuOpts:{menuId:Oh.MenubarGoMenu,title:rt(0,"Next &&Problem"),group:"6_problem_nav",order:1}})}}),au(class extends b0{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:rt(0,"Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:1090,weight:100},menuOpts:{menuId:Oh.MenubarGoMenu,title:rt(0,"Previous &&Problem"),group:"6_problem_nav",order:2}})}});const x0=new ah("markersNavigationVisible",!1);cu(new(su.bindToContribution(v0.get))({id:"closeMarkersNavigation",precondition:x0,handler:t=>t.close(),kbOpts:{weight:150,kbExpr:XC.focus,primary:9,secondary:[1033]}}));var C0=function(t,i){return function(e,s){i(e,s,t)}};const S0=Wl;class D0{constructor(t,i,e){this.owner=t,this.range=i,this.marker=e}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}const E0={type:1,filter:{include:BZ.QuickFix},triggerAction:PZ.QuickFixHover};let A0=class{constructor(t,i,e,s){this._editor=t,this._markerDecorationsService=i,this._openerService=e,this._languageFeaturesService=s,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(t,i){if(!this._editor.hasModel()||1!==t.type&&!t.supportsMarkerHover)return[];const e=this._editor.getModel(),s=t.range.startLineNumber,n=e.getLineMaxColumn(s),o=[];for(const r of i){const i=r.range.startLineNumber===s?r.range.startColumn:1,h=r.range.endLineNumber===s?r.range.endColumn:n,c=this._markerDecorationsService.getMarker(e.uri,r);if(!c)continue;const a=new Ls(t.range.startLineNumber,i,t.range.startLineNumber,h);o.push(new D0(this,a,c))}return o}renderHoverParts(t,i){if(!i.length)return ie.None;const e=new te;i.forEach((i=>t.fragment.appendChild(this.renderMarkerHover(i,e))));const s=1===i.length?i[0]:i.sort(((t,i)=>yP.compare(t.marker.severity,i.marker.severity)))[0];return this.renderMarkerStatusbar(t,s,e),e}renderMarkerHover(t,i){const e=S0("div.hover-row"),s=Il(e,S0("div.marker.hover-contents")),{source:n,message:o,code:r,relatedInformation:h}=t.marker;this._editor.applyFontInfo(s);const c=Il(s,S0("span"));if(c.style.whiteSpace="pre-wrap",c.innerText=o,n||r)if(r&&"string"!=typeof r){const t=S0("span");n&&(Il(t,S0("span")).innerText=n);const e=Il(t,S0("a.code-link"));e.setAttribute("href",r.target.toString()),i.add(Ua(e,"click",(t=>{this._openerService.open(r.target,{allowCommands:!0}),t.preventDefault(),t.stopPropagation()}))),Il(e,S0("span")).innerText=r.value;const o=Il(s,t);o.style.opacity="0.6",o.style.paddingLeft="6px"}else{const t=Il(s,S0("span"));t.style.opacity="0.6",t.style.paddingLeft="6px",t.innerText=n&&r?`${n}(${r})`:n||`(${r})`}if(y(h))for(const{message:t,resource:e,startLineNumber:n,startColumn:o}of h){const r=Il(s,S0("div"));r.style.marginTop="8px";const h=Il(r,S0("a"));h.innerText=`${yA(e)}(${n}, ${o}): `,h.style.cursor="pointer",i.add(Ua(h,"click",(t=>{t.stopPropagation(),t.preventDefault(),this._openerService&&this._openerService.open(e,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:n,startColumn:o}}}).catch(Pi)})));const c=Il(r,S0("span"));c.innerText=t,this._editor.applyFontInfo(c)}return e}renderMarkerStatusbar(t,i,e){if(i.marker.severity!==yP.Error&&i.marker.severity!==yP.Warning&&i.marker.severity!==yP.Info||t.statusBar.addAction({label:rt(0,"View Problem"),commandId:y0.ID,run:()=>{var e;t.hide(),null===(e=v0.get(this._editor))||void 0===e||e.showAtMarker(i.marker),this._editor.focus()}}),!this._editor.getOption(90)){const s=t.statusBar.append(S0("div"));this.recentMarkerCodeActionsInfo&&(kP.makeKey(this.recentMarkerCodeActionsInfo.marker)===kP.makeKey(i.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(s.textContent=rt(0,"No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const n=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?ie.None:e.add(uc((()=>s.textContent=rt(0,"Checking for quick fixes...")),200));s.textContent||(s.textContent=String.fromCharCode(160));const o=this.getCodeActions(i.marker);e.add(Xi((()=>o.cancel()))),o.then((o=>{if(n.dispose(),this.recentMarkerCodeActionsInfo={marker:i.marker,hasCodeActions:o.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions)return o.dispose(),void(s.textContent=rt(0,"No quick fixes available"));s.style.display="none";let r=!1;e.add(Xi((()=>{r||o.dispose()}))),t.statusBar.addAction({label:rt(0,"Quick Fix..."),commandId:HZ,run:i=>{r=!0;const e=jQ.get(this._editor),s=ol(i);t.hide(),null==e||e.showCodeActions(E0,o,{x:s.left,y:s.top,width:s.width,height:s.height})}})}),Pi)}}getCodeActions(t){return oc((i=>JZ(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new Ls(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn),E0,zO.None,i)))}};A0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([C0(1,zm),C0(2,fP),C0(3,Cg)],A0);const M0="editor.action.inlineSuggest.commit",L0="editor.action.inlineSuggest.showPrevious",F0="editor.action.inlineSuggest.showNext";var T0,R0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},O0=function(t,i){return function(e,s){i(e,s,t)}};let I0=class extends ie{constructor(t,i,e){super(),this.editor=t,this.model=i,this.instantiationService=e,this.alwaysShowToolbar=GV(this.editor.onDidChangeConfiguration,(()=>"always"===this.editor.getOption(62).showToolbar)),this.sessionPosition=void 0,this.position=NV(this,(t=>{var i,e,s;const n=null===(i=this.model.read(t))||void 0===i?void 0:i.ghostText.read(t);if(!this.alwaysShowToolbar.read(t)||!n||0===n.parts.length)return this.sessionPosition=void 0,null;const o=n.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==n.lineNumber&&(this.sessionPosition=void 0);const r=new Ms(n.lineNumber,Math.min(o,null!==(s=null===(e=this.sessionPosition)||void 0===e?void 0:e.column)&&void 0!==s?s:Number.MAX_SAFE_INTEGER));return this.sessionPosition=r,r})),this._register(VV(((i,e)=>{const s=this.model.read(i);if(!s||!this.alwaysShowToolbar.read(i))return;const n=e.add(this.instantiationService.createInstance(B0,this.editor,!0,this.position,s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.selectedInlineCompletion.map((t=>{var i;return null!==(i=null==t?void 0:t.inlineCompletion.source.inlineCompletions.commands)&&void 0!==i?i:[]}))));t.addContentWidget(n),e.add(Xi((()=>t.removeContentWidget(n)))),e.add(jV((t=>{this.position.read(t)&&s.lastTriggerKind.read(t)!==Ws.Explicit&&s.triggerExplicitly()})))})))}};I0=R0([O0(2,dr)],I0);const _0=Vz("inline-suggestion-hints-next",Is.chevronRight,rt(0,"Icon for show next parameter hint.")),N0=Vz("inline-suggestion-hints-previous",Is.chevronLeft,rt(0,"Icon for show previous parameter hint."));let B0=T0=class extends ie{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(t,i,e){const s=new wr(t,i,e,!0,(()=>this._commandService.executeCommand(t))),n=this.keybindingService.lookupKeybinding(t,this._contextKeyService);let o=i;return n&&(o=rt(0,"{0} ({1})",i,n.getLabel())),s.tooltip=o,s}constructor(t,i,e,s,n,o,r,h,c,a,l){super(),this.editor=t,this.withBorder=i,this._position=e,this._currentSuggestionIdx=s,this._suggestionCount=n,this._extraCommands=o,this._commandService=r,this.keybindingService=c,this._contextKeyService=a,this._menuService=l,this.id="InlineSuggestionHintsContentWidget"+T0.id++,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Yl("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[Yl("div@toolBar")]),this.previousAction=this.createCommandAction(L0,rt(0,"Previous"),Sr.asClassName(N0)),this.availableSuggestionCountAction=new wr("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(F0,rt(0,"Next"),Sr.asClassName(_0)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Oh.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new gc((()=>{this.availableSuggestionCountAction.label=""}),100)),this.disableButtonsDebounced=this._register(new gc((()=>{this.previousAction.enabled=this.nextAction.enabled=!1}),100)),this.lastCommands=[],this.toolBar=this._register(h.createInstance(W0,this.nodes.toolBar,Oh.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:t=>t.startsWith("primary")},actionViewItemProvider:t=>{if(t instanceof Ph)return h.createInstance($0,t,void 0);if(t===this.availableSuggestionCountAction){const i=new P0(void 0,t,{label:!0,icon:!1});return i.setClass("availableSuggestionCount"),i}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility((t=>{T0._dropDownVisible=t}))),this._register(jV((t=>{this._position.read(t),this.editor.layoutContentWidget(this)}))),this._register(jV((t=>{const i=this._suggestionCount.read(t),e=this._currentSuggestionIdx.read(t);void 0!==i?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${e+1}/${i}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),void 0!==i&&i>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()}))),this._register(jV((t=>{const i=this._extraCommands.read(t);if(u(this.lastCommands,i))return;this.lastCommands=i;const e=i.map((t=>({class:void 0,id:t.id,enabled:!0,tooltip:t.tooltip||"",label:t.title,run:()=>this._commandService.executeCommand(t.id)})));for(const[t,i]of this.inlineCompletionsActionsMenus.getActions())for(const t of i)t instanceof Ph&&e.push(t);e.length>0&&e.unshift(new br),this.toolBar.setAdditionalSecondaryActions(e)})))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};B0._dropDownVisible=!1,B0.id=0,B0=T0=R0([O0(6,Dr),O0(7,dr),O0(8,rC),O0(9,lh),O0(10,Ih)],B0);class P0 extends vB{constructor(){super(...arguments),this._className=void 0}setClass(t){this._className=t}render(t){super.render(t),this._className&&t.classList.add(this._className)}}class $0 extends GB{updateLabel(){const t=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!t)return super.updateLabel();if(this.label){const i=Yl("div.keybinding").root;new tz(i,_t,{disableTitle:!0,...Xj}).set(t),this.label.textContent=this._action.label,this.label.appendChild(i),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}}let W0=class extends Zq{constructor(t,i,e,s,n,o,r,h){super(t,{resetMenu:i,...e},s,n,o,r,h),this.menuId=i,this.options2=e,this.menuService=s,this.contextKeyService=n,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 t,i,e,s,n,o,r;const h=[],c=[];qB(this.menu,null===(t=this.options2)||void 0===t?void 0:t.menuOptions,{primary:h,secondary:c},null===(e=null===(i=this.options2)||void 0===i?void 0:i.toolbarOptions)||void 0===e?void 0:e.primaryGroup,null===(n=null===(s=this.options2)||void 0===s?void 0:s.toolbarOptions)||void 0===n?void 0:n.shouldInlineSubmenu,null===(r=null===(o=this.options2)||void 0===o?void 0:o.toolbarOptions)||void 0===r?void 0:r.useSeparatorsInPrimaryActions),c.push(...this.additionalActions),h.unshift(...this.prependedPrimaryActions),this.setActions(h,c)}setPrependedPrimaryActions(t){u(this.prependedPrimaryActions,t,((t,i)=>t===i))||(this.prependedPrimaryActions=t,this.updateToolbar())}setAdditionalSecondaryActions(t){u(this.additionalActions,t,((t,i)=>t===i))||(this.additionalActions=t,this.updateToolbar())}};W0=R0([O0(3,Ih),O0(4,lh),O0(5,uI),O0(6,rC),O0(7,jh)],W0);var j0,z0=function(t,i){return function(e,s){i(e,s,t)}};let H0=j0=class extends ie{static get(t){return t.getContribution(j0.ID)}constructor(t,i,e,s,n){super(),this._editor=t,this._instantiationService=i,this._openerService=e,this._languageService=s,this._keybindingService=n,this._toUnhook=new te,this._hoverActivatedByColorDecoratorClick=!1,this._isMouseDown=!1,this._hoverClicked=!1,this._contentWidget=null,this._glyphWidget=null,this._reactToEditorMouseMoveRunner=this._register(new gc((()=>this._reactToEditorMouseMove(this._mouseMoveEvent)),0)),this._hookEvents(),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(60)&&(this._unhookEvents(),this._hookEvents())})))}_hookEvents(){const t=this._editor.getOption(60);this._isHoverEnabled=t.enabled,this._isHoverSticky=t.sticky,this._hidingDelay=t.hidingDelay,this._isHoverEnabled?(this._toUnhook.add(this._editor.onMouseDown((t=>this._onEditorMouseDown(t)))),this._toUnhook.add(this._editor.onMouseUp((t=>this._onEditorMouseUp(t)))),this._toUnhook.add(this._editor.onMouseMove((t=>this._onEditorMouseMove(t)))),this._toUnhook.add(this._editor.onKeyDown((t=>this._onKeyDown(t))))):(this._toUnhook.add(this._editor.onMouseMove((t=>this._onEditorMouseMove(t)))),this._toUnhook.add(this._editor.onKeyDown((t=>this._onKeyDown(t))))),this._toUnhook.add(this._editor.onMouseLeave((t=>this._onEditorMouseLeave(t)))),this._toUnhook.add(this._editor.onDidChangeModel((()=>{this._cancelScheduler(),this._hideWidgets()}))),this._toUnhook.add(this._editor.onDidChangeModelContent((()=>this._cancelScheduler()))),this._toUnhook.add(this._editor.onDidScrollChange((t=>this._onEditorScrollChanged(t))))}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_unhookEvents(){this._toUnhook.clear()}_onEditorScrollChanged(t){(t.scrollTopChanged||t.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(t){var i;this._isMouseDown=!0;const e=t.target;9!==e.type||e.detail!==_X.ID?12===e.type&&e.detail===WX.ID||(12!==e.type&&(this._hoverClicked=!1),(null===(i=this._contentWidget)||void 0===i?void 0:i.widget.isResizing)||this._hideWidgets()):this._hoverClicked=!0}_onEditorMouseUp(t){this._isMouseDown=!1}_onEditorMouseLeave(t){var i,e;this._cancelScheduler(),(null===(i=this._contentWidget)||void 0===i?void 0:i.widget.isResizing)||(null===(e=this._contentWidget)||void 0===e?void 0:e.containsNode(t.event.browserEvent.relatedTarget))||this._hideWidgets()}_isMouseOverWidget(t){var i,e,s,n,o;const r=t.target;return!((!this._isHoverSticky||9!==r.type||r.detail!==_X.ID)&&(!this._isHoverSticky||!(null===(i=this._contentWidget)||void 0===i?void 0:i.containsNode(null===(e=t.event.browserEvent.view)||void 0===e?void 0:e.document.activeElement))||(null===(n=null===(s=t.event.browserEvent.view)||void 0===s?void 0:s.getSelection())||void 0===n?void 0:n.isCollapsed))&&(this._isHoverSticky||9!==r.type||r.detail!==_X.ID||!(null===(o=this._contentWidget)||void 0===o?void 0:o.isColorPickerVisible))&&(!this._isHoverSticky||12!==r.type||r.detail!==WX.ID))}_onEditorMouseMove(t){var i,e,s,n;this._mouseMoveEvent=t,(null===(i=this._contentWidget)||void 0===i?void 0:i.isFocused)||(null===(e=this._contentWidget)||void 0===e?void 0:e.isResizing)||this._isMouseDown&&this._hoverClicked||this._isHoverSticky&&(null===(s=this._contentWidget)||void 0===s?void 0:s.isVisibleFromKeyboard)||(this._isMouseOverWidget(t)?this._reactToEditorMouseMoveRunner.cancel():(null===(n=this._contentWidget)||void 0===n?void 0:n.isVisible)&&this._isHoverSticky&&this._hidingDelay>0?this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(this._hidingDelay):this._reactToEditorMouseMove(t))}_reactToEditorMouseMove(t){var i,e,s;if(!t)return;const n=t.target,o=null===(i=n.element)||void 0===i?void 0:i.classList.contains("colorpicker-color-decoration"),r=this._editor.getOption(146);if((!o||("click"!==r||this._hoverActivatedByColorDecoratorClick)&&("hover"!==r||this._isHoverEnabled)&&("clickAndHover"!==r||this._isHoverEnabled||this._hoverActivatedByColorDecoratorClick))&&(o||this._isHoverEnabled||this._hoverActivatedByColorDecoratorClick))return this._getOrCreateContentWidget().maybeShowAt(t)?void(null===(e=this._glyphWidget)||void 0===e||e.hide()):2===n.type&&n.position?(null===(s=this._contentWidget)||void 0===s||s.hide(),this._glyphWidget||(this._glyphWidget=new WX(this._editor,this._languageService,this._openerService)),void this._glyphWidget.startShowingAt(n.position.lineNumber)):void this._hideWidgets();this._hideWidgets()}_onKeyDown(t){var i;if(!this._editor.hasModel())return;const e=this._keybindingService.softDispatch(t,this._editor.getDomNode()),s=1===e.kind||2===e.kind&&"editor.action.showHover"===e.commandId&&(null===(i=this._contentWidget)||void 0===i?void 0:i.isVisible);5===t.keyCode||6===t.keyCode||57===t.keyCode||4===t.keyCode||s||this._hideWidgets()}_hideWidgets(){var t,i,e;this._isMouseDown&&this._hoverClicked&&(null===(t=this._contentWidget)||void 0===t?void 0:t.isColorPickerVisible)||B0.dropDownVisible||(this._hoverActivatedByColorDecoratorClick=!1,this._hoverClicked=!1,null===(i=this._glyphWidget)||void 0===i||i.hide(),null===(e=this._contentWidget)||void 0===e||e.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(TX,this._editor)),this._contentWidget}showContentHover(t,i,e,s,n=!1){this._hoverActivatedByColorDecoratorClick=n,this._getOrCreateContentWidget().startShowingAtRange(t,i,e,s)}focus(){var t;null===(t=this._contentWidget)||void 0===t||t.focus()}scrollUp(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollUp()}scrollDown(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollDown()}scrollLeft(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollLeft()}scrollRight(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollRight()}pageUp(){var t;null===(t=this._contentWidget)||void 0===t||t.pageUp()}pageDown(){var t;null===(t=this._contentWidget)||void 0===t||t.pageDown()}goToTop(){var t;null===(t=this._contentWidget)||void 0===t||t.goToTop()}goToBottom(){var t;null===(t=this._contentWidget)||void 0===t||t.goToBottom()}get isColorPickerVisible(){var t;return null===(t=this._contentWidget)||void 0===t?void 0:t.isColorPickerVisible}get isHoverVisible(){var t;return null===(t=this._contentWidget)||void 0===t?void 0:t.isVisible}dispose(){var t,i;super.dispose(),this._unhookEvents(),this._toUnhook.dispose(),null===(t=this._glyphWidget)||void 0===t||t.dispose(),null===(i=this._contentWidget)||void 0===i||i.dispose()}};var V0;H0.ID="editor.contrib.hover",H0=j0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([z0(1,dr),z0(2,fP),z0(3,kd),z0(4,rC)],H0),function(t){t.NoAutoFocus="noAutoFocus",t.FocusIfVisible="focusIfVisible",t.AutoFocusImmediately="autoFocusImmediately"}(V0||(V0={})),uu(H0.ID,H0,2),au(class extends nu{constructor(){super({id:"editor.action.showHover",label:rt(0,"Show or Focus Hover"),metadata:{description:"Show or Focus Hover",args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[V0.NoAutoFocus,V0.FocusIfVisible,V0.AutoFocusImmediately],enumDescriptions:[rt(0,"The hover will not automatically take focus."),rt(0,"The hover will take focus only if it is already visible."),rt(0,"The hover will automatically take focus when it appears.")],default:V0.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2087),weight:100}})}run(t,i,e){if(!i.hasModel())return;const s=H0.get(i);if(!s)return;const n=null==e?void 0:e.focus;let o=V0.FocusIfVisible;n in V0?o=n:"boolean"==typeof n&&n&&(o=V0.AutoFocusImmediately);const r=t=>{const e=i.getPosition(),n=new Ls(e.lineNumber,e.column,e.lineNumber,e.column);s.showContentHover(n,1,1,t)},h=2===i.getOption(2);s.isHoverVisible?o!==V0.NoAutoFocus?s.focus():r(h):r(h||o===V0.AutoFocusImmediately)}}),au(class extends nu{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:rt(0,"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0})}run(t,i){const e=H0.get(i);if(!e)return;const s=i.getPosition();if(!s)return;const n=new Ls(s.lineNumber,s.column,s.lineNumber,s.column),o=gX.get(i);o&&o.startFindDefinitionFromCursor(s).then((()=>{e.showContentHover(n,1,1,!0)}))}}),au(class extends nu{constructor(){super({id:"editor.action.scrollUpHover",label:rt(0,"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:XC.hoverFocused,kbOpts:{kbExpr:XC.hoverFocused,primary:16,weight:100}})}run(t,i){const e=H0.get(i);e&&e.scrollUp()}}),au(class extends nu{constructor(){super({id:"editor.action.scrollDownHover",label:rt(0,"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:XC.hoverFocused,kbOpts:{kbExpr:XC.hoverFocused,primary:18,weight:100}})}run(t,i){const e=H0.get(i);e&&e.scrollDown()}}),au(class extends nu{constructor(){super({id:"editor.action.scrollLeftHover",label:rt(0,"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:XC.hoverFocused,kbOpts:{kbExpr:XC.hoverFocused,primary:15,weight:100}})}run(t,i){const e=H0.get(i);e&&e.scrollLeft()}}),au(class extends nu{constructor(){super({id:"editor.action.scrollRightHover",label:rt(0,"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:XC.hoverFocused,kbOpts:{kbExpr:XC.hoverFocused,primary:17,weight:100}})}run(t,i){const e=H0.get(i);e&&e.scrollRight()}}),au(class extends nu{constructor(){super({id:"editor.action.pageUpHover",label:rt(0,"Page Up Hover"),alias:"Page Up Hover",precondition:XC.hoverFocused,kbOpts:{kbExpr:XC.hoverFocused,primary:11,secondary:[528],weight:100}})}run(t,i){const e=H0.get(i);e&&e.pageUp()}}),au(class extends nu{constructor(){super({id:"editor.action.pageDownHover",label:rt(0,"Page Down Hover"),alias:"Page Down Hover",precondition:XC.hoverFocused,kbOpts:{kbExpr:XC.hoverFocused,primary:12,secondary:[530],weight:100}})}run(t,i){const e=H0.get(i);e&&e.pageDown()}}),au(class extends nu{constructor(){super({id:"editor.action.goToTopHover",label:rt(0,"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:XC.hoverFocused,kbOpts:{kbExpr:XC.hoverFocused,primary:14,secondary:[2064],weight:100}})}run(t,i){const e=H0.get(i);e&&e.goToTop()}}),au(class extends nu{constructor(){super({id:"editor.action.goToBottomHover",label:rt(0,"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:XC.hoverFocused,kbOpts:{kbExpr:XC.hoverFocused,primary:13,secondary:[2066],weight:100}})}run(t,i){const e=H0.get(i);e&&e.goToBottom()}}),CX.register(KX),CX.register(A0),ox(((t,i)=>{const e=t.getColor(Nv);e&&(i.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${e.transparent(.5)}; }`),i.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${e.transparent(.5)}; }`),i.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${e.transparent(.5)}; }`))}));class U0 extends ie{constructor(t){super(),this._editor=t,this._register(t.onMouseDown((t=>this.onMouseDown(t))))}dispose(){super.dispose()}onMouseDown(t){const i=this._editor.getOption(146);if("click"!==i&&"clickAndHover"!==i)return;const e=t.target;if(6!==e.type)return;if(!e.detail.injectedText)return;if(e.detail.injectedText.options.attachedData!==gJ)return;if(!e.range)return;const s=this._editor.getContribution(H0.ID);if(s&&!s.isColorPickerVisible){const t=new Ls(e.range.startLineNumber,e.range.startColumn+1,e.range.endLineNumber,e.range.endColumn+1);s.showContentHover(t,1,0,!1,!0)}}}U0.ID="editor.contrib.colorContribution",uu(U0.ID,U0,2),CX.register(RJ);var q0,K0,G0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Z0=function(t,i){return function(e,s){i(e,s,t)}};let Q0=q0=class extends ie{constructor(t,i,e,s,n,o,r){super(),this._editor=t,this._modelService=e,this._keybindingService=s,this._instantiationService=n,this._languageFeatureService=o,this._languageConfigurationService=r,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=XC.standaloneColorPickerVisible.bindTo(i),this._standaloneColorPickerFocused=XC.standaloneColorPickerFocused.bindTo(i)}showOrFocus(){var t;this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||null===(t=this._standaloneColorPickerWidget)||void 0===t||t.focus():this._standaloneColorPickerWidget=new J0(this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused,this._instantiationService,this._modelService,this._keybindingService,this._languageFeatureService,this._languageConfigurationService))}hide(){var t;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),null===(t=this._standaloneColorPickerWidget)||void 0===t||t.hide(),this._editor.focus()}insertColor(){var t;null===(t=this._standaloneColorPickerWidget)||void 0===t||t.updateEditor(),this.hide()}static get(t){return t.getContribution(q0.ID)}};Q0.ID="editor.contrib.standaloneColorPickerController",Q0=q0=G0([Z0(1,lh),Z0(2,gr),Z0(3,rC),Z0(4,dr),Z0(5,Cg),Z0(6,tf)],Q0),uu(Q0.ID,Q0,1);let J0=K0=class extends ie{constructor(t,i,e,s,n,o,r,h){var c;super(),this._editor=t,this._standaloneColorPickerVisible=i,this._standaloneColorPickerFocused=e,this._modelService=n,this._keybindingService=o,this._languageFeaturesService=r,this._languageConfigurationService=h,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new fe),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=s.createInstance(IJ,this._editor),this._position=null===(c=this._editor._getViewModel())||void 0===c?void 0:c.getPrimaryCursorState().modelState.position;const a=this._editor.getSelection(),l=a?{startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},u=this._register(Ol(this._body));this._register(u.onDidBlur((()=>{this.hide()}))),this._register(u.onDidFocus((()=>{this.focus()}))),this._register(this._editor.onDidChangeCursorPosition((()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()}))),this._register(this._editor.onMouseMove((t=>{var i;const e=null===(i=t.target.element)||void 0===i?void 0:i.classList;e&&e.contains("colorpicker-color-decoration")&&this.hide()}))),this._register(this.onResult((t=>{this._render(t.value,t.foundInEditor)}))),this._start(l),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return K0.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const t=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:t?[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(t){const i=await this._computeAsync(t);i&&this._onResult.fire(new Y0(i.result,i.foundInEditor))}async _computeAsync(t){if(!this._editor.hasModel())return null;const i={range:t,color:{red:0,green:0,blue:0,alpha:1}},e=await this._standaloneColorPickerParticipant.createColorHover(i,new nJ(this._modelService,this._languageConfigurationService),this._languageFeaturesService.colorProvider);return e?{result:e.colorHover,foundInEditor:e.foundInEditor}:null}_render(t,i){const e=document.createDocumentFragment();let s;const n={fragment:e,statusBar:this._register(new NX(this._keybindingService)),setColorPicker:t=>s=t,onContentsChanged:()=>{},hide:()=>this.hide()};if(this._colorHover=t,this._register(this._standaloneColorPickerParticipant.renderHoverParts(n,[t])),void 0===s)return;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(.66*this._editor.getLayoutInfo().width,500)+"px",this._body.tabIndex=0,this._body.appendChild(e),s.layout();const o=s.body,r=o.saturationBox.domNode.clientWidth,h=o.domNode.clientWidth-r-22-8,c=s.body.enterButton;null==c||c.onClicked((()=>{this.updateEditor(),this.hide()}));const a=s.header;a.pickedColorNode.style.width=r+8+"px",a.originalColorNode.style.width=h+"px";const l=s.header.closeButton;null==l||l.onClicked((()=>{this.hide()})),i&&(c&&(c.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(t.range)),this._editor.layoutContentWidget(this)}};J0.ID="editor.contrib.standaloneColorPickerWidget",J0=K0=G0([Z0(3,dr),Z0(4,gr),Z0(5,rC),Z0(6,Cg),Z0(7,tf)],J0);class Y0{constructor(t,i){this.value=t,this.foundInEditor=i}}au(class extends nu{constructor(){super({id:"editor.action.hideColorPicker",label:rt(0,"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:XC.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100}})}run(t,i){var e;null===(e=Q0.get(i))||void 0===e||e.hide()}}),au(class extends nu{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:rt(0,"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:XC.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100}})}run(t,i){var e;null===(e=Q0.get(i))||void 0===e||e.insertColor()}}),Wh(class extends ru{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{value:rt(0,"Show or Focus Standalone Color Picker"),mnemonicTitle:rt(0,"&&Show or Focus Standalone Color Picker"),original:"Show or Focus Standalone Color Picker"},precondition:void 0,menu:[{id:Oh.CommandPalette}]})}runEditorCommand(t,i){var e;null===(e=Q0.get(i))||void 0===e||e.showOrFocus()}});class X0{constructor(t,i,e){this.languageConfigurationService=e,this._selection=t,this._insertSpace=i,this._usedEndToken=null}static _haystackHasNeedleAtOffset(t,i,e){if(e<0)return!1;const s=i.length;if(e+s>t.length)return!1;for(let n=0;n=65&&s<=90&&s+32===o||o>=65&&o<=90&&o+32===s))return!1}return!0}_createOperationsForBlockComment(t,i,e,s,n,o){const r=t.startLineNumber,h=t.startColumn,c=t.endLineNumber,a=t.endColumn,l=n.getLineContent(r),u=n.getLineContent(c);let d,f=l.lastIndexOf(i,h-1+i.length),p=u.indexOf(e,a-1-e.length);if(-1!==f&&-1!==p)if(r===c)l.substring(f+i.length,p).indexOf(e)>=0&&(f=-1,p=-1);else{const t=l.substring(f+i.length),s=u.substring(0,p);(t.indexOf(e)>=0||s.indexOf(e)>=0)&&(f=-1,p=-1)}-1!==f&&-1!==p?(s&&f+i.length0&&32===u.charCodeAt(p-1)&&(e=" "+e,p-=1),d=X0._createRemoveBlockCommentOperations(new Ls(r,f+i.length+1,c,p+1),i,e)):(d=X0._createAddBlockCommentOperations(t,i,e,this._insertSpace),this._usedEndToken=1===d.length?e:null);for(const t of d)o.addTrackedEditOperation(t.range,t.text)}static _createRemoveBlockCommentOperations(t,i,e){const s=[];return Ls.isEmpty(t)?s.push(gO.delete(new Ls(t.startLineNumber,t.startColumn-i.length,t.endLineNumber,t.endColumn+e.length))):(s.push(gO.delete(new Ls(t.startLineNumber,t.startColumn-i.length,t.startLineNumber,t.startColumn))),s.push(gO.delete(new Ls(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn+e.length)))),s}static _createAddBlockCommentOperations(t,i,e,s){const n=[];return Ls.isEmpty(t)?n.push(gO.replace(new Ls(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn),i+" "+e)):(n.push(gO.insert(new Ms(t.startLineNumber,t.startColumn),i+(s?" ":""))),n.push(gO.insert(new Ms(t.endLineNumber,t.endColumn),(s?" ":"")+e))),n}getEditOperations(t,i){const e=this._selection.startLineNumber,s=this._selection.startColumn;t.tokenization.tokenizeIfCheap(e);const n=t.getLanguageIdAtPosition(e,s),o=this.languageConfigurationService.getLanguageConfiguration(n).comments;o&&o.blockCommentStartToken&&o.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,o.blockCommentStartToken,o.blockCommentEndToken,this._insertSpace,t,i)}computeCursorState(t,i){const e=i.getInverseEditOperations();if(2===e.length){const t=e[0],i=e[1];return new Fs(t.range.endLineNumber,t.range.endColumn,i.range.startLineNumber,i.range.startColumn)}{const t=e[0].range,i=this._usedEndToken?-this._usedEndToken.length-1:0;return new Fs(t.endLineNumber,t.endColumn+i,t.endLineNumber,t.endColumn+i)}}}class t1{constructor(t,i,e,s,n,o,r){this.languageConfigurationService=t,this._selection=i,this._tabSize=e,this._type=s,this._insertSpace=n,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=o,this._ignoreFirstLine=r||!1}static _gatherPreflightCommentStrings(t,i,e,s){t.tokenization.tokenizeIfCheap(i);const n=t.getLanguageIdAtPosition(i,1),o=s.getLanguageConfiguration(n).comments,r=o?o.lineCommentToken:null;if(!r)return null;const h=[];for(let t=0,s=e-i+1;tr?n-1:n}}}class i1 extends nu{constructor(t,i){super(i),this._type=t}run(t,i){const e=t.get(tf);if(!i.hasModel())return;const s=[],n=i.getModel().getOptions(),o=i.getOption(23),r=i.getSelections().map(((t,i)=>({selection:t,index:i,ignoreFirstLine:!1})));r.sort(((t,i)=>Ls.compareRangesUsingStarts(t.selection,i.selection)));let h=r[0];for(let t=1;tthis._onContextMenu(t)))),this._toDispose.add(this._editor.onMouseWheel((t=>{if(this._contextMenuIsBeingShownCount>0){const i=this._contextViewService.getContextViewElement(),e=t.srcElement;e.shadowRoot&&pl(i)===e.shadowRoot||this._contextViewService.hideContextView()}}))),this._toDispose.add(this._editor.onKeyDown((t=>{this._editor.getOption(24)&&58===t.keyCode&&(t.preventDefault(),t.stopPropagation(),this.showContextMenu())})))}_onContextMenu(t){if(!this._editor.hasModel())return;if(!this._editor.getOption(24))return this._editor.focus(),void(t.target.position&&!this._editor.getSelection().containsPosition(t.target.position)&&this._editor.setPosition(t.target.position));if(12===t.target.type)return;if(6===t.target.type&&t.target.detail.injectedText)return;if(t.event.preventDefault(),t.event.stopPropagation(),11===t.target.type)return this._showScrollbarContextMenu(t.event);if(6!==t.target.type&&7!==t.target.type&&1!==t.target.type)return;if(this._editor.focus(),t.target.position){let i=!1;for(const e of this._editor.getSelections())if(e.containsPosition(t.target.position)){i=!0;break}i||this._editor.setPosition(t.target.position)}let i=null;1!==t.target.type&&(i=t.event),this.showContextMenu(i)}showContextMenu(t){if(!this._editor.getOption(24))return;if(!this._editor.hasModel())return;const i=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?Oh.SimpleEditorContext:Oh.EditorContext);i.length>0&&this._doShowContextMenu(i,t)}_getMenuActions(t,i){const e=[],s=this._menuService.createMenu(i,this._contextKeyService),n=s.getActions({arg:t.uri});s.dispose();for(const i of n){const[,s]=i;let n=0;for(const i of s)if(i instanceof Bh){const s=this._getMenuActions(t,i.item.submenu);s.length>0&&(e.push(new yr(i.id,i.label,s)),n++)}else e.push(i),n++;n&&e.push(new br)}return e.length&&e.pop(),e}_doShowContextMenu(t,i=null){if(!this._editor.hasModel())return;const e=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let s=i;if(!s){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),i=ol(this._editor.getDomNode());s={x:i.left+t.left,y:i.top+t.top+t.height}}const n=this._editor.getOption(126)&&!Lt;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:n?this._editor.getDomNode():void 0,getAnchor:()=>s,getActions:()=>t,getActionViewItem:t=>{const i=this._keybindingFor(t);return i?new vB(t,t,{label:!0,keybinding:i.getLabel(),isMenu:!0}):"function"==typeof t.getActionViewItem?t.getActionViewItem():new vB(t,t,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:t=>this._keybindingFor(t),onHide:()=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:e})}})}_showScrollbarContextMenu(t){if(!this._editor.hasModel())return;if(this._workspaceContextService.getWorkspace().id===tI)return;const i=this._editor.getOption(72);let e=0;const s=t=>({id:"menu-action-"+ ++e,label:t.label,tooltip:"",class:void 0,enabled:void 0===t.enabled||t.enabled,checked:t.checked,run:t.run}),n=(t,i,n,o,r)=>{if(!i)return s({label:t,enabled:i,run:()=>{}});const h=t=>()=>{this._configurationService.updateValue(n,t)},c=[];for(const t of r)c.push(s({label:t.label,checked:o===t.value,run:h(t.value)}));return((t,i)=>new yr("menu-action-"+ ++e,t,i,void 0))(t,c)},o=[];o.push(s({label:rt(0,"Minimap"),checked:i.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!i.enabled)}})),o.push(new br),o.push(s({label:rt(0,"Render Characters"),enabled:i.enabled,checked:i.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!i.renderCharacters)}})),o.push(n(rt(0,"Vertical size"),i.enabled,"editor.minimap.size",i.size,[{label:rt(0,"Proportional"),value:"proportional"},{label:rt(0,"Fill"),value:"fill"},{label:rt(0,"Fit"),value:"fit"}])),o.push(n(rt(0,"Slider"),i.enabled,"editor.minimap.showSlider",i.showSlider,[{label:rt(0,"Mouse Over"),value:"mouseover"},{label:rt(0,"Always"),value:"always"}]));const r=this._editor.getOption(126)&&!Lt;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:r?this._editor.getDomNode():void 0,getAnchor:()=>t,getActions:()=>o,onHide:()=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(t){return this._keybindingService.lookupKeybinding(t.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};n1.ID="editor.contrib.contextmenu",n1=e1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([s1(1,uI),s1(2,lI),s1(3,lh),s1(4,rC),s1(5,Ih),s1(6,gd),s1(7,QO)],n1),uu(n1.ID,n1,2),au(class extends nu{constructor(){super({id:"editor.action.showContextMenu",label:rt(0,"Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:XC.textInputFocus,primary:1092,weight:100}})}run(t,i){var e;null===(e=n1.get(i))||void 0===e||e.showContextMenu()}});class o1{constructor(t){this.selections=t}equals(t){const i=this.selections.length;if(i!==t.selections.length)return!1;for(let e=0;e{this._undoStack=[],this._redoStack=[]}))),this._register(t.onDidChangeModelContent((()=>{this._undoStack=[],this._redoStack=[]}))),this._register(t.onDidChangeCursorSelection((i=>{if(this._isCursorUndoRedo)return;if(!i.oldSelections)return;if(i.oldModelVersionId!==i.modelVersionId)return;const e=new o1(i.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(e)||(this._undoStack.push(new r1(e,t.getScrollTop(),t.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())})))}cursorUndo(){this._editor.hasModel()&&0!==this._undoStack.length&&(this._redoStack.push(new r1(new o1(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){this._editor.hasModel()&&0!==this._redoStack.length&&(this._undoStack.push(new r1(new o1(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(t){this._isCursorUndoRedo=!0,this._editor.setSelections(t.cursorState.selections),this._editor.setScrollPosition({scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),this._isCursorUndoRedo=!1}}h1.ID="editor.contrib.cursorUndoRedoController",uu(h1.ID,h1,0),au(class extends nu{constructor(){super({id:"cursorUndo",label:rt(0,"Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:XC.textInputFocus,primary:2099,weight:100}})}run(t,i,e){var s;null===(s=h1.get(i))||void 0===s||s.cursorUndo()}}),au(class extends nu{constructor(){super({id:"cursorRedo",label:rt(0,"Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(t,i,e){var s;null===(s=h1.get(i))||void 0===s||s.cursorRedo()}});class c1{constructor(t,i,e){this.selection=t,this.targetPosition=i,this.copy=e,this.targetSelection=null}getEditOperations(t,i){const e=t.getValueInRange(this.selection);this.copy||i.addEditOperation(this.selection,null),i.addEditOperation(new Ls(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),e),this.targetSelection=!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?new Fs(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):this.targetPosition.lineNumber>this.selection.endLineNumber?new Fs(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):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(t){this._editor.getOption(35)&&!this._editor.getOption(22)&&(a1(t)&&(this._modifierPressed=!0),this._mouseDown&&a1(t)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(t){this._editor.getOption(35)&&!this._editor.getOption(22)&&(a1(t)&&(this._modifierPressed=!1),this._mouseDown&&t.keyCode===l1.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(t){this._mouseDown=!0}_onEditorMouseUp(t){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(t){const i=t.target;if(null===this._dragSelection){const t=(this._editor.getSelections()||[]).filter((t=>i.position&&t.containsPosition(i.position)));if(1!==t.length)return;this._dragSelection=t[0]}a1(t.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),i.position&&(this._dragSelection.containsPosition(i.position)?this._removeDecoration():this.showAt(i.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(t){if(t.target&&(this._hitContent(t.target)||this._hitMargin(t.target))&&t.target.position){const i=new Ms(t.target.position.lineNumber,t.target.position.column);if(null===this._dragSelection){let e=null;if(t.event.shiftKey){const t=this._editor.getSelection();if(t){const{selectionStartLineNumber:s,selectionStartColumn:n}=t;e=[new Fs(s,n,i.lineNumber,i.column)]}}else e=(this._editor.getSelections()||[]).map((t=>t.containsPosition(i)?new Fs(i.lineNumber,i.column,i.lineNumber,i.column):t));this._editor.setSelections(e||[],"mouse",3)}else(!this._dragSelection.containsPosition(i)||(a1(t.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(i)||this._dragSelection.getStartPosition().equals(i)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(l1.ID,new c1(this._dragSelection,i,a1(t.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(t){this._dndDecorationIds.set([{range:new Ls(t.lineNumber,t.column,t.lineNumber,t.column),options:l1._DECORATION_OPTIONS}]),this._editor.revealPosition(t,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(t){return 6===t.type||7===t.type}_hitMargin(t){return 2===t.type||3===t.type||4===t.type}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}l1.ID="editor.contrib.dragAndDrop",l1.TRIGGER_KEY_VALUE=St?6:5,l1._DECORATION_OPTIONS=ML.register({description:"dnd-target",className:"dnd-target"}),uu(l1.ID,l1,2);const u1=function(){if("object"==typeof crypto&&"function"==typeof crypto.randomUUID)return crypto.randomUUID.bind(crypto);let t;t="object"==typeof crypto&&"function"==typeof crypto.getRandomValues?crypto.getRandomValues.bind(crypto):function(t){for(let i=0;it,asFile:()=>{},value:"string"==typeof t?t:void 0}}class f1{constructor(){this._entries=new Map}get size(){let t=0;for(const i of this._entries)t++;return t}has(t){return this._entries.has(this.toKey(t))}matches(t){const i=[...this._entries.keys()];return Vt.some(this,(([t,i])=>i.asFile()))&&i.push("files"),m1(p1(t),i)}get(t){var i;return null===(i=this._entries.get(this.toKey(t)))||void 0===i?void 0:i[0]}append(t,i){const e=this._entries.get(t);e?e.push(i):this._entries.set(this.toKey(t),[i])}replace(t,i){this._entries.set(this.toKey(t),[i])}delete(t){this._entries.delete(this.toKey(t))}*[Symbol.iterator](){for(const[t,i]of this._entries)for(const e of i)yield[t,e]}toKey(t){return p1(t)}}function p1(t){return t.toLowerCase()}function g1(t,i){return m1(p1(t),i.map(p1))}function m1(t,i){if("*/*"===t)return i.length>0;if(i.includes(t))return!0;const e=t.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!e)return!1;const[s,n,o]=e;return"*"===o&&i.some((t=>t.startsWith(n+"/")))}const w1=Object.freeze({create:t=>k(t.map((t=>t.toString()))).join("\r\n"),split:t=>t.split("\r\n"),parse:t=>w1.split(t).filter((t=>!t.startsWith("#")))});Eh.add("workbench.contributions.dragAndDrop",new class{});class v1{constructor(){}static getInstance(){return v1.INSTANCE}hasData(t){return t&&t===this.proto}getData(t){if(this.hasData(t))return this.data}}function b1(t){const i=new f1;for(const e of t.items){const t=e.type;if("string"===e.kind){const s=new Promise((t=>e.getAsString(t)));i.append(t,d1(s))}else if("file"===e.kind){const s=e.getAsFile();s&&i.append(t,y1(s))}}return i}function y1(t){const i=t.path?ws.parse(t.path):void 0;return function(t,i,e){const s={id:u1(),name:t,uri:i,data:e};return{asString:async()=>"",asFile:()=>s,value:void 0}}(t.name,i,(async()=>new Uint8Array(await t.arrayBuffer())))}v1.INSTANCE=new v1;const k1=Object.freeze(["CodeEditors","CodeFiles",LI.RESOURCES,LI.INTERNAL_URI_LIST]);function x1(t,i=!1){const e=b1(t),s=e.get(LI.INTERNAL_URI_LIST);if(s)e.replace(Ed.uriList,s);else if(i||!e.has(Ed.uriList)){const i=[];for(const e of t.items){const t=e.getAsFile();if(t){const e=t.path;try{i.push(e?ws.file(e).toString():ws.parse(t.name,!0).toString())}catch(t){}}}i.length&&e.replace(Ed.uriList,d1(w1.create(i)))}for(const t of k1)e.delete(t);return e}function C1(t){var i;function e(t,i){return"providerId"in t&&t.providerId===i.providerId||"mimeType"in t&&t.mimeType===i.handledMimeType}const s=new Map;for(const n of t)for(const o of null!==(i=n.yieldTo)&&void 0!==i?i:[])for(const i of t)if(i!==n&&e(o,i)){let t=s.get(n);t||(t=[],s.set(n,t)),t.push(i)}if(!s.size)return Array.from(t);const n=new Set,o=[];return function t(i){if(!i.length)return[];const e=i[0];if(o.includes(e))return console.warn(`Yield to cycle detected for ${e.providerId}`),i;if(n.has(e))return t(i.slice(1));let r=[];const h=s.get(e);return h&&(o.push(e),r=t(h),o.pop()),n.add(e),[...r,e,...t(i.slice(1))]}(Array.from(t))}const S1=ML.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:" ",inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}});class D1 extends ie{constructor(t,i,e,s,n){super(),this.typeId=t,this.editor=i,this.range=e,this.delegate=n,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(s),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(t){this.domNode=Wl(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=t;const i=Wl("span.icon");this.domNode.append(i),i.classList.add(...Sr.asClassNameArray(Is.loading),"codicon-modifier-spin");const e=()=>{const t=this.editor.getOption(66);this.domNode.style.height=`${t}px`,this.domNode.style.width=`${Math.ceil(.8*t)}px`};e(),this._register(this.editor.onDidChangeConfiguration((t=>{(t.hasChanged(52)||t.hasChanged(66))&&e()}))),this._register(Ua(this.domNode,Fl.CLICK,(()=>{this.delegate.cancel()})))}getId(){return D1.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)}}D1.baseId="editor.widget.inlineProgressWidget";let E1=class extends ie{constructor(t,i,e){super(),this.id=t,this._editor=i,this._instantiationService=e,this._showDelay=500,this._showPromise=this._register(new ee),this._currentWidget=new ee,this._operationIdPool=0,this._currentDecorations=i.createDecorationsCollection()}async showWhile(t,i,e){const s=this._operationIdPool++;this._currentOperation=s,this.clear(),this._showPromise.value=uc((()=>{const s=Ls.fromPositions(t);this._currentDecorations.set([{range:s,options:S1}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(D1,this.id,this._editor,s,i,e))}),this._showDelay);try{return await e}finally{this._currentOperation===s&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};E1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,dr)],E1);var A1,M1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},L1=function(t,i){return function(e,s){i(e,s,t)}};let F1=A1=class extends ie{constructor(t,i,e,s,n,o,r,h,c,a){super(),this.typeId=t,this.editor=i,this.showCommand=s,this.range=n,this.edits=o,this.onSelectNewEdit=r,this._contextMenuService=h,this._keybindingService=a,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=e.bindTo(c),this.visibleContext.set(!0),this._register(Xi((()=>this.visibleContext.reset()))),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(Xi((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition((t=>{n.containsPosition(t.position)||this.dispose()}))),this._register(ce.runAndSubscribe(a.onDidUpdateKeybindings,(()=>{this._updateButtonTitle()})))}_updateButtonTitle(){var t;const i=null===(t=this._keybindingService.lookupKeybinding(this.showCommand.id))||void 0===t?void 0:t.getLabel();this.button.element.title=this.showCommand.label+(i?` (${i})`:"")}create(){this.domNode=Wl(".post-edit-widget"),this.button=this._register(new Bj(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Ua(this.domNode,Fl.CLICK,(()=>this.showSelector())))}getId(){return A1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const t=ol(this.button.element);return{x:t.left+t.width,y:t.top+t.height}},getActions:()=>this.edits.allEdits.map(((t,i)=>xr({id:"",label:t.label,checked:i===this.edits.activeEditIndex,run:()=>{if(i!==this.edits.activeEditIndex)return this.onSelectNewEdit(i)}})))})}};F1.baseId="editor.widget.postEditWidget",F1=A1=M1([L1(7,uI),L1(8,lh),L1(9,rC)],F1);let T1=class extends ie{constructor(t,i,e,s,n,o){super(),this._id=t,this._editor=i,this._visibleContext=e,this._showCommand=s,this._instantiationService=n,this._bulkEditService=o,this._currentWidget=this._register(new ee),this._register(ce.any(i.onDidChangeModel,i.onDidChangeModelContent)((()=>this.clear())))}async applyEditAndShowIfNeeded(t,i,e,s){var n,o;const r=this._editor.getModel();if(!r||!t.length)return;const h=i.allEdits[i.activeEditIndex];if(!h)return;let c=[];c=("string"==typeof h.insertText?""===h.insertText:""===h.insertText.snippet)?[]:t.map((t=>new hO(r.uri,"string"==typeof h.insertText?{range:t,text:h.insertText,insertAsSnippet:!1}:{range:t,text:h.insertText.snippet,insertAsSnippet:!0})));const a={edits:[...c,...null!==(o=null===(n=h.additionalEdit)||void 0===n?void 0:n.edits)&&void 0!==o?o:[]]},l=t[0],u=r.deltaDecorations([],[{range:l,options:{description:"paste-line-suffix",stickiness:0}}]);let d,f;try{d=await this._bulkEditService.apply(a,{editor:this._editor,token:s}),f=r.getDecorationRange(u[0])}finally{r.deltaDecorations(u,[])}e&&d.isApplied&&i.allEdits.length>1&&this.show(null!=f?f:l,i,(async n=>{const o=this._editor.getModel();o&&(await o.undo(),this.applyEditAndShowIfNeeded(t,{activeEditIndex:n,allEdits:i.allEdits},e,s))}))}show(t,i,e){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(F1,this._id,this._editor,this._visibleContext,this._showCommand,t,i,e))}clear(){this._currentWidget.clear()}tryShowSelector(){var t;null===(t=this._currentWidget.value)||void 0===t||t.showSelector()}};T1=M1([L1(4,dr),L1(5,oO)],T1);var R1,O1=function(t,i){return function(e,s){i(e,s,t)}};const I1="editor.changePasteType",_1=new ah("pasteWidgetVisible",!1,rt(0,"Whether the paste widget is showing")),N1="application/vnd.code.copyMetadata";let B1=R1=class extends ie{static get(t){return t.getContribution(R1.ID)}constructor(t,i,e,s,n,o,r){super(),this._bulkEditService=e,this._clipboardService=s,this._languageFeaturesService=n,this._quickInputService=o,this._progressService=r,this._editor=t;const h=t.getContainerDomNode();this._register(Ua(h,"copy",(t=>this.handleCopy(t)))),this._register(Ua(h,"cut",(t=>this.handleCopy(t)))),this._register(Ua(h,"paste",(t=>this.handlePaste(t)),!0)),this._pasteProgressManager=this._register(new E1("pasteIntoEditor",t,i)),this._postPasteWidgetManager=this._register(i.createInstance(T1,"pasteIntoEditor",t,_1,{id:I1,label:rt(0,"Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(t){this._editor.focus();try{this._pasteAsActionContext={preferredId:t},wl().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}isPasteAsEnabled(){return this._editor.getOption(84).enabled&&!this._editor.getOption(90)}handleCopy(t){var i,e;if(!this._editor.hasTextFocus())return;if(At&&this._clipboardService.writeResources([]),!t.clipboardData||!this.isPasteAsEnabled())return;const s=this._editor.getModel(),n=this._editor.getSelections();if(!s||!(null==n?void 0:n.length))return;const o=this._editor.getOption(37);let r=n;const h=1===n.length&&n[0].isEmpty();if(h){if(!o)return;r=[new Ls(r[0].startLineNumber,1,r[0].startLineNumber,1+s.getLineLength(r[0].startLineNumber))]}const c=null===(i=this._editor._getViewModel())||void 0===i?void 0:i.getPlainTextToCopy(n,o,Ct),a={multicursorText:Array.isArray(c)?c:null,pasteOnNewLine:h,mode:null},l=this._languageFeaturesService.documentPasteEditProvider.ordered(s).filter((t=>!!t.prepareDocumentPaste));if(!l.length)return void this.setCopyMetadata(t.clipboardData,{defaultPastePayload:a});const u=b1(t.clipboardData),d=l.flatMap((t=>{var i;return null!==(i=t.copyMimeTypes)&&void 0!==i?i:[]})),f=u1();this.setCopyMetadata(t.clipboardData,{id:f,providerCopyMimeTypes:d,defaultPastePayload:a});const p=oc((async t=>{const i=w(await Promise.all(l.map((async i=>{try{return await i.prepareDocumentPaste(s,r,u,t)}catch(t){return void console.error(t)}}))));i.reverse();for(const t of i)for(const[i,e]of t)u.replace(i,e);return u}));null===(e=this._currentCopyOperation)||void 0===e||e.dataTransferPromise.cancel(),this._currentCopyOperation={handle:f,dataTransferPromise:p}}async handlePaste(t){var i,e;if(!t.clipboardData||!this._editor.hasTextFocus())return;null===(i=this._currentPasteOperation)||void 0===i||i.cancel(),this._currentPasteOperation=void 0;const s=this._editor.getModel(),n=this._editor.getSelections();if(!(null==n?void 0:n.length)||!s)return;if(!this.isPasteAsEnabled())return;const o=this.fetchCopyMetadata(t),r=x1(t.clipboardData);r.delete(N1);const h=[...t.clipboardData.types,...null!==(e=null==o?void 0:o.providerCopyMimeTypes)&&void 0!==e?e:[],Ed.uriList],c=this._languageFeaturesService.documentPasteEditProvider.ordered(s).filter((t=>{var i;return null===(i=t.pasteMimeTypes)||void 0===i?void 0:i.some((t=>g1(t,h)))}));c.length&&(t.preventDefault(),t.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferredId,c,n,r,o):this.doPasteInline(c,n,r,o))}doPasteInline(t,i,e,s){const n=oc((async o=>{const r=this._editor;if(!r.hasModel())return;const h=r.getModel(),c=new SK(r,3,void 0,o);try{if(await this.mergeInDataFromCopy(e,s,c.token),c.token.isCancellationRequested)return;const n=t.filter((t=>P1(t,e)));if(!n.length||1===n.length&&"text"===n[0].id)return void await this.applyDefaultPasteHandler(e,s,c.token);const o=await this.getPasteEdits(n,e,h,i,c.token);if(c.token.isCancellationRequested)return;if(1===o.length&&"text"===o[0].providerId)return void await this.applyDefaultPasteHandler(e,s,c.token);if(o.length){const t="afterPaste"===r.getOption(84).showPasteSelector;return this._postPasteWidgetManager.applyEditAndShowIfNeeded(i,{activeEditIndex:0,allEdits:o},t,c.token)}await this.applyDefaultPasteHandler(e,s,c.token)}finally{c.dispose(),this._currentPasteOperation===n&&(this._currentPasteOperation=void 0)}}));this._pasteProgressManager.showWhile(i[0].getEndPosition(),rt(0,"Running paste handlers. Click to cancel"),n),this._currentPasteOperation=n}showPasteAsPick(t,i,e,s,n){const o=oc((async r=>{const h=this._editor;if(!h.hasModel())return;const c=h.getModel(),a=new SK(h,3,void 0,r);try{if(await this.mergeInDataFromCopy(s,n,a.token),a.token.isCancellationRequested)return;let o=i.filter((t=>P1(t,s)));t&&(o=o.filter((i=>i.id===t)));const r=await this.getPasteEdits(o,s,c,e,a.token);if(a.token.isCancellationRequested)return;if(!r.length)return;let h;if(t)h=r.at(0);else{const t=await this._quickInputService.pick(r.map((t=>({label:t.label,description:t.providerId,detail:t.detail,edit:t}))),{placeHolder:rt(0,"Select Paste Action")});h=null==t?void 0:t.edit}if(!h)return;const l=function(t,i,e){var s,n;return{edits:[...i.map((i=>new hO(t,"string"==typeof e.insertText?{range:i,text:e.insertText,insertAsSnippet:!1}:{range:i,text:e.insertText.snippet,insertAsSnippet:!0}))),...null!==(n=null===(s=e.additionalEdit)||void 0===s?void 0:s.edits)&&void 0!==n?n:[]]}}(c.uri,e,h);await this._bulkEditService.apply(l,{editor:this._editor})}finally{a.dispose(),this._currentPasteOperation===o&&(this._currentPasteOperation=void 0)}}));this._progressService.withProgress({location:10,title:rt(0,"Running paste handlers")},(()=>o))}setCopyMetadata(t,i){t.setData(N1,JSON.stringify(i))}fetchCopyMetadata(t){var i;if(!t.clipboardData)return;const e=t.clipboardData.getData(N1);if(e)try{return JSON.parse(e)}catch(t){return}const[s,n]=Gk.getTextData(t.clipboardData);return n?{defaultPastePayload:{mode:n.mode,multicursorText:null!==(i=n.multicursorText)&&void 0!==i?i:null,pasteOnNewLine:!!n.isFromEmptySelection}}:void 0}async mergeInDataFromCopy(t,i,e){var s;if((null==i?void 0:i.id)&&(null===(s=this._currentCopyOperation)||void 0===s?void 0:s.handle)===i.id){const i=await this._currentCopyOperation.dataTransferPromise;if(e.isCancellationRequested)return;for(const[e,s]of i)t.replace(e,s)}if(!t.has(Ed.uriList)){const i=await this._clipboardService.readResources();if(e.isCancellationRequested)return;i.length&&t.append(Ed.uriList,d1(w1.create(i)))}}async getPasteEdits(t,i,e,s,n){const o=await rc(Promise.all(t.map((async t=>{var o;try{const r=await(null===(o=t.provideDocumentPasteEdits)||void 0===o?void 0:o.call(t,e,s,i,n));if(r)return{...r,providerId:t.id}}catch(t){console.error(t)}}))),n);return C1(w(null!=o?o:[]))}async applyDefaultPasteHandler(t,i,e){var s,n,o;const r=null!==(s=t.get(Ed.text))&&void 0!==s?s:t.get("text");if(!r)return;const h=await r.asString();if(e.isCancellationRequested)return;const c={text:h,pasteOnNewLine:null!==(n=null==i?void 0:i.defaultPastePayload.pasteOnNewLine)&&void 0!==n&&n,multicursorText:null!==(o=null==i?void 0:i.defaultPastePayload.multicursorText)&&void 0!==o?o:null,mode:null};this._editor.trigger("keyboard","paste",c)}};function P1(t,i){var e;return Boolean(null===(e=t.pasteMimeTypes)||void 0===e?void 0:e.some((t=>i.matches(t))))}B1.ID="editor.contrib.copyPasteActionController",B1=R1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([O1(1,dr),O1(2,oO),O1(3,kH),O1(4,Cg),O1(5,Ij),O1(6,jO)],B1);var $1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},W1=function(t,i){return function(e,s){i(e,s,t)}};const j1=rt(0,"Built-in");class z1{async provideDocumentPasteEdits(t,i,e,s){const n=await this.getEdit(e,s);return n?{insertText:n.insertText,label:n.label,detail:n.detail,handledMimeType:n.handledMimeType,yieldTo:n.yieldTo}:void 0}async provideDocumentOnDropEdits(t,i,e,s){const n=await this.getEdit(e,s);return n?{insertText:n.insertText,label:n.label,handledMimeType:n.handledMimeType,yieldTo:n.yieldTo}:void 0}}class H1 extends z1{constructor(){super(...arguments),this.id="text",this.dropMimeTypes=[Ed.text],this.pasteMimeTypes=[Ed.text]}async getEdit(t,i){const e=t.get(Ed.text);if(!e)return;if(t.has(Ed.uriList))return;const s=await e.asString();return{handledMimeType:Ed.text,label:rt(0,"Insert Plain Text"),detail:j1,insertText:s}}}class V1 extends z1{constructor(){super(...arguments),this.id="uri",this.dropMimeTypes=[Ed.uriList],this.pasteMimeTypes=[Ed.uriList]}async getEdit(t,i){const e=await q1(t);if(!e.length||i.isCancellationRequested)return;let s=0;const n=e.map((({uri:t,originalText:i})=>t.scheme===xa.file?t.fsPath:(s++,i))).join(" ");let o;return o=rt(0,s>0?e.length>1?"Insert Uris":"Insert Uri":e.length>1?"Insert Paths":"Insert Path"),{handledMimeType:Ed.uriList,insertText:n,label:o,detail:j1}}}let U1=class extends z1{constructor(t){super(),this._workspaceContextService=t,this.id="relativePath",this.dropMimeTypes=[Ed.uriList],this.pasteMimeTypes=[Ed.uriList]}async getEdit(t,i){const e=await q1(t);if(!e.length||i.isCancellationRequested)return;const s=w(e.map((({uri:t})=>{const i=this._workspaceContextService.getWorkspaceFolder(t);return i?DA(i.uri,t):void 0})));return s.length?{handledMimeType:Ed.uriList,insertText:s.join(" "),label:rt(0,e.length>1?"Insert Relative Paths":"Insert Relative Path"),detail:j1}:void 0}};async function q1(t){const i=t.get(Ed.uriList);if(!i)return[];const e=await i.asString(),s=[];for(const t of w1.parse(e))try{s.push({uri:ws.parse(t),originalText:t})}catch(t){}return s}U1=$1([W1(0,QO)],U1);let K1=class extends ie{constructor(t,i){super(),this._register(t.documentOnDropEditProvider.register("*",new H1)),this._register(t.documentOnDropEditProvider.register("*",new V1)),this._register(t.documentOnDropEditProvider.register("*",new U1(i)))}};K1=$1([W1(0,Cg),W1(1,QO)],K1);let G1=class extends ie{constructor(t,i){super(),this._register(t.documentPasteEditProvider.register("*",new H1)),this._register(t.documentPasteEditProvider.register("*",new V1)),this._register(t.documentPasteEditProvider.register("*",new U1(i)))}};G1=$1([W1(0,Cg),W1(1,QO)],G1),uu(B1.ID,B1,0),ZH(G1),cu(new class extends su{constructor(){super({id:I1,precondition:_1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(t,i,e){var s;return null===(s=B1.get(i))||void 0===s?void 0:s.changePasteType()}}),au(class extends nu{constructor(){super({id:"editor.action.pasteAs",label:rt(0,"Paste As..."),alias:"Paste As...",precondition:void 0,metadata:{description:"Paste as",args:[{name:"args",schema:{type:"object",properties:{id:{type:"string",description:rt(0,"The id of the paste edit to try applying. If not provided, the editor will show a picker.")}}}}]}})}run(t,i,e){var s;const n="string"==typeof(null==e?void 0:e.id)?e.id:void 0;return null===(s=B1.get(i))||void 0===s?void 0:s.pasteAs(n)}});class Z1{constructor(t){this.identifier=t}}const Q1=fr("treeViewsDndService");Sd(Q1,class{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(t){if(t&&this._dragOperations.has(t)){const i=this._dragOperations.get(t);return this._dragOperations.delete(t),i}}},1);var J1,Y1=function(t,i){return function(e,s){i(e,s,t)}};const X1="editor.experimental.dropIntoEditor.defaultProvider",t2="editor.changeDropType",i2=new ah("dropWidgetVisible",!1,rt(0,"Whether the drop widget is showing"));let e2=J1=class extends ie{static get(t){return t.getContribution(J1.ID)}constructor(t,i,e,s,n){super(),this._configService=e,this._languageFeaturesService=s,this._treeViewsDragAndDropService=n,this.treeItemsTransfer=v1.getInstance(),this._dropProgressManager=this._register(i.createInstance(E1,"dropIntoEditor",t)),this._postDropWidgetManager=this._register(i.createInstance(T1,"dropIntoEditor",t,i2,{id:t2,label:rt(0,"Show drop options...")})),this._register(t.onDropIntoEditor((i=>this.onDropIntoEditor(t,i.position,i.event))))}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(t,i,e){var s;if(!e.dataTransfer||!t.hasModel())return;null===(s=this._currentOperation)||void 0===s||s.cancel(),t.focus(),t.setPosition(i);const n=oc((async s=>{const o=new SK(t,1,void 0,s);try{const n=await this.extractDataTransferData(e);if(0===n.size||o.token.isCancellationRequested)return;const r=t.getModel();if(!r)return;const h=this._languageFeaturesService.documentOnDropEditProvider.ordered(r).filter((t=>!t.dropMimeTypes||t.dropMimeTypes.some((t=>n.matches(t))))),c=await this.getDropEdits(h,r,i,n,o);if(o.token.isCancellationRequested)return;if(c.length){const e=this.getInitialActiveEditIndex(r,c),n="afterDrop"===t.getOption(36).showDropSelector;await this._postDropWidgetManager.applyEditAndShowIfNeeded([Ls.fromPositions(i)],{activeEditIndex:e,allEdits:c},n,s)}}finally{o.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}}));this._dropProgressManager.showWhile(i,rt(0,"Running drop handlers. Click to cancel"),n),this._currentOperation=n}async getDropEdits(t,i,e,s,n){const o=await rc(Promise.all(t.map((async t=>{try{const o=await t.provideDocumentOnDropEdits(i,e,s,n.token);if(o)return{...o,providerId:t.id}}catch(t){console.error(t)}}))),n.token);return C1(w(null!=o?o:[]))}getInitialActiveEditIndex(t,i){const e=this._configService.getValue(X1,{resource:t.uri});for(const[t,s]of Object.entries(e)){const e=i.findIndex((i=>s===i.providerId&&i.handledMimeType&&g1(t,[i.handledMimeType])));if(e>=0)return e}return 0}async extractDataTransferData(t){if(!t.dataTransfer)return new f1;const i=x1(t.dataTransfer);if(this.treeItemsTransfer.hasData(Z1.prototype)){const t=this.treeItemsTransfer.getData(Z1.prototype);if(Array.isArray(t))for(const e of t){const t=await this._treeViewsDragAndDropService.removeDragOperationTransfer(e.identifier);if(t)for(const[e,s]of t)i.replace(e,s)}}return i}};e2.ID="editor.contrib.dropIntoEditorController",e2=J1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Y1(1,dr),Y1(2,gd),Y1(3,Cg),Y1(4,Q1)],e2),uu(e2.ID,e2,2),cu(new class extends su{constructor(){super({id:t2,precondition:i2,kbOpts:{weight:100,primary:2137}})}runEditorCommand(t,i,e){var s;null===(s=e2.get(i))||void 0===s||s.changeDropType()}}),ZH(K1),Eh.as(Ld).registerConfiguration({...lO,properties:{[X1]:{type:"object",scope:5,description:rt(0,"Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});class s2{constructor(t){this._editor=t,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 t=this._findScopeDecorationIds.map((t=>this._editor.getModel().getDecorationRange(t))).filter((t=>!!t));if(t.length)return t}return null}getStartPosition(){return this._startPosition}setStartPosition(t){this._startPosition=t,this.setCurrentFindMatch(null)}_getDecorationIndex(t){const i=this._decorations.indexOf(t);return i>=0?i+1:1}getDecorationRangeAt(t){const i=t{if(null!==this._highlightedDecorationId&&(t.changeDecorationOptions(this._highlightedDecorationId,s2._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),null!==i&&(this._highlightedDecorationId=i,t.changeDecorationOptions(this._highlightedDecorationId,s2._CURRENT_FIND_MATCH_DECORATION)),null!==this._rangeHighlightDecorationId&&(t.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),null!==i){let e=this._editor.getModel().getDecorationRange(i);if(e.startLineNumber!==e.endLineNumber&&1===e.endColumn){const t=e.endLineNumber-1,i=this._editor.getModel().getLineMaxColumn(t);e=new Ls(e.startLineNumber,e.startColumn,t,i)}this._rangeHighlightDecorationId=t.addDecoration(e,s2._RANGE_HIGHLIGHT_DECORATION)}})),e}set(t,i){this._editor.changeDecorations((e=>{let s=s2._FIND_MATCH_DECORATION;const n=[];if(t.length>1e3){s=s2._FIND_MATCH_NO_OVERVIEW_DECORATION;const i=this._editor.getModel().getLineCount(),e=this._editor.getLayoutInfo().height,o=Math.max(2,Math.ceil(3/(e/i)));let r=t[0].range.startLineNumber,h=t[0].range.endLineNumber;for(let i=1,e=t.length;i=e.startLineNumber?e.endLineNumber>h&&(h=e.endLineNumber):(n.push({range:new Ls(r,1,h,1),options:s2._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),r=e.startLineNumber,h=e.endLineNumber)}n.push({range:new Ls(r,1,h,1),options:s2._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const o=new Array(t.length);for(let i=0,e=t.length;ie.removeDecoration(t))),this._findScopeDecorationIds=[]),(null==i?void 0:i.length)&&(this._findScopeDecorationIds=i.map((t=>e.addDecoration(t,s2._FIND_SCOPE_DECORATION))))}))}matchBeforePosition(t){if(0===this._decorations.length)return null;for(let i=this._decorations.length-1;i>=0;i--){const e=this._decorations[i],s=this._editor.getModel().getDecorationRange(e);if(s&&!(s.endLineNumber>t.lineNumber)){if(s.endLineNumbert.column))return s}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(t){if(0===this._decorations.length)return null;for(let i=0,e=this._decorations.length;it.lineNumber)return s;if(!(s.startColumn0){const t=[];for(let i=0;iLs.compareRangesUsingStarts(t.range,i.range)));const e=[];let s=t[0];for(let i=1;i0?i[0].toUpperCase()+i.substr(1):t[0][0].toUpperCase()!==t[0][0]&&i.length>0?i[0].toLowerCase()+i.substr(1):i}return i}function r2(t,i,e){return-1!==t[0].indexOf(e)&&-1!==i.indexOf(e)&&t[0].split(e).length===i.split(e).length}function h2(t,i,e){const s=i.split(e),n=t[0].split(e);let o="";return s.forEach(((t,i)=>{o+=o2([n[i]],t)+e})),o.slice(0,-1)}class c2{constructor(t){this.staticValue=t,this.kind=0}}class a2{constructor(t){this.pieces=t,this.kind=1}}class l2{static fromStaticValue(t){return new l2([u2.staticValue(t)])}get hasReplacementPatterns(){return 1===this._state.kind}constructor(t){this._state=t&&0!==t.length?1===t.length&&null!==t[0].staticValue?new c2(t[0].staticValue):new a2(t):new c2("")}buildReplaceString(t,i){if(0===this._state.kind)return i?o2(t,this._state.staticValue):this._state.staticValue;let e="";for(let i=0,s=this._state.pieces.length;i0){const t=[],i=s.caseOps.length;let e=0;for(let o=0,r=n.length;o=i){t.push(n.slice(o));break}switch(s.caseOps[e]){case"U":t.push(n[o].toUpperCase());break;case"u":t.push(n[o].toUpperCase()),e++;break;case"L":t.push(n[o].toLowerCase());break;case"l":t.push(n[o].toLowerCase()),e++;break;default:t.push(n[o])}}n=t.join("")}e+=n}return e}static _substitute(t,i){if(null===i)return"";if(0===t)return i[0];let e="";for(;t>0;){if(tthis.research(!1)),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition((t=>{3!==t.reason&&5!==t.reason&&6!==t.reason||this._decorations.setStartPosition(this._editor.getPosition())}))),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent((t=>{this._ignoreModelContentChanged||(t.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())}))),this._toDispose.add(this._state.onFindReplaceStateChange((t=>this._onStateChanged(t)))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,Ji(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(t){!this._isDisposed&&this._editor.hasModel()&&(t.searchString||t.isReplaceRevealed||t.isRegex||t.wholeWord||t.matchCase||t.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet((()=>{t.searchScope?this.research(t.moveCursor,this._state.searchScope):this.research(t.moveCursor)}),240)):t.searchScope?this.research(t.moveCursor,this._state.searchScope):this.research(t.moveCursor))}static _getSearchRange(t,i){return i||t.getFullModelRange()}research(t,i){let e=null;void 0!==i?null!==i&&(e=Array.isArray(i)?i:[i]):e=this._decorations.getFindScopes(),null!==e&&(e=e.map((t=>{if(t.startLineNumber!==t.endLineNumber){let i=t.endLineNumber;return 1===t.endColumn&&(i-=1),new Ls(t.startLineNumber,1,i,this._editor.getModel().getLineMaxColumn(i))}return t})));const s=this._findMatches(e,!1,T2);this._decorations.set(s,e);const n=this._editor.getSelection();let o=this._decorations.getCurrentMatchesPosition(n);if(0===o&&s.length>0){const t=lp(s.map((t=>t.range)),(t=>Ls.compareRangesUsingStarts(t,n)>=0));o=t>0?t-1+1:o}this._state.changeMatchInfo(o,this._decorations.getCount(),void 0),t&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const t=this._decorations.getFindScope();return t&&this._editor.revealRangeInCenterIfOutsideViewport(t,0),!0}return!1}_setCurrentFindMatch(t){const i=this._decorations.setCurrentFindMatch(t);this._state.changeMatchInfo(i,this._decorations.getCount(),t),this._editor.setSelection(t),this._editor.revealRangeInCenterIfOutsideViewport(t,0)}_prevSearchPosition(t){const i=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:e,column:s}=t;const n=this._editor.getModel();return i||1===s?(1===e?e=n.getLineCount():e--,s=n.getLineMaxColumn(e)):s--,new Ms(e,s)}_moveToPrevMatch(t,i=!1){if(!this._state.canNavigateBack()){const i=this._decorations.matchAfterPosition(t);return void(i&&this._setCurrentFindMatch(i))}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:e,column:s}=t;const n=this._editor.getModel();return i||s===n.getLineMaxColumn(e)?(e===n.getLineCount()?e=1:e++,s=1):s++,new Ms(e,s)}_moveToNextMatch(t){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(t);return void(i&&this._setCurrentFindMatch(i))}if(this._decorations.getCount()=n)break;const o=t.charCodeAt(s);if(36===o){e.emitUnchanged(s-1),e.emitStatic("$",s+1);continue}if(48===o||38===o){e.emitUnchanged(s-1),e.emitMatchIndex(0,s+1,i),i.length=0;continue}if(49<=o&&o<=57){let r=o-48;if(s+1=n)break;const o=t.charCodeAt(s);switch(o){case 92:e.emitUnchanged(s-1),e.emitStatic("\\",s+1);break;case 110:e.emitUnchanged(s-1),e.emitStatic("\n",s+1);break;case 116:e.emitUnchanged(s-1),e.emitStatic("\t",s+1);break;case 117:case 85:case 108:case 76:e.emitUnchanged(s-1),e.emitStatic("",s+1),i.push(String.fromCharCode(o))}}}return e.finalize()}(this._state.replaceString):l2.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const t=this._getReplacePattern(),i=this._editor.getSelection(),e=this._getNextMatch(i.getStartPosition(),!0,!1);if(e)if(i.equalsRange(e.range)){const s=t.buildReplaceString(e.matches,this._state.preserveCase),n=new CC(i,s);this._executeEditorCommand("replace",n),this._decorations.setStartPosition(new Ms(i.startLineNumber,i.startColumn+s.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(e.range)}_findMatches(t,i,e){const s=(t||[null]).map((t=>R2._getSearchRange(this._editor.getModel(),t)));return this._editor.getModel().findMatches(this._state.searchString,s,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(129):null,i,e)}replaceAll(){if(!this._hasMatches())return;const t=this._decorations.getFindScopes();null===t&&this._state.matchesCount>=T2?this._largeReplaceAll():this._regularReplaceAll(t),this.research(!1)}_largeReplaceAll(){const t=new Gf(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(129):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let t="mu";i.ignoreCase&&(t+="i"),i.global&&(t+="g"),i=new RegExp(i.source,t)}const e=this._editor.getModel(),s=e.getValue(1),n=e.getFullModelRange(),o=this._getReplacePattern();let r;const h=this._state.preserveCase;r=s.replace(i,o.hasReplacementPatterns||h?function(){return o.buildReplaceString(arguments,h)}:o.buildReplaceString(null,h));const c=new AC(n,r,this._editor.getSelection());this._executeEditorCommand("replaceAll",c)}_regularReplaceAll(t){const i=this._getReplacePattern(),e=this._findMatches(t,i.hasReplacementPatterns||this._state.preserveCase,1073741824),s=[];for(let t=0,n=e.length;tt.range)),s);this._executeEditorCommand("replaceAll",n)}selectAllMatches(){if(!this._hasMatches())return;const t=this._decorations.getFindScopes();let i=this._findMatches(t,!1,1073741824).map((t=>new Fs(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn)));const e=this._editor.getSelection();for(let t=0,s=i.length;tthis._hide()),2e3)),this._isVisible=!1,this._editor=t,this._state=i,this._keybindingService=e,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 s={inputActiveOptionBorder:lw(Ew),inputActiveOptionForeground:lw(Mw),inputActiveOptionBackground:lw(Aw)};this.caseSensitive=this._register(new r$({appendTitle:this._keybindingLabelFor(S2),isChecked:this._state.matchCase,...s})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange((()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)}))),this.wholeWords=this._register(new h$({appendTitle:this._keybindingLabelFor(D2),isChecked:this._state.wholeWord,...s})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange((()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)}))),this.regex=this._register(new c$({appendTitle:this._keybindingLabelFor(E2),isChecked:this._state.isRegex,...s})),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((t=>{let i=!1;t.isRegex&&(this.regex.checked=this._state.isRegex,i=!0),t.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,i=!0),t.matchCase&&(this.caseSensitive.checked=this._state.matchCase,i=!0),!this._state.isRevealed&&i&&this._revealTemporarily()}))),this._register(Ua(this._domNode,Fl.MOUSE_LEAVE,(()=>this._onMouseLeave()))),this._register(Ua(this._domNode,"mouseover",(()=>this._onMouseOver())))}_keybindingLabelFor(t){const i=this._keybindingService.lookupKeybinding(t);return i?` (${i.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return O2.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")}}function I2(t,i){return 1===t||2!==t&&i}O2.ID="editor.contrib.findOptionsWidget";class _2 extends ie{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return I2(this._isRegexOverride,this._isRegex)}get wholeWord(){return I2(this._wholeWordOverride,this._wholeWord)}get matchCase(){return I2(this._matchCaseOverride,this._matchCase)}get preserveCase(){return I2(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 fe),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(t,i,e){const s={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 n=!1;0===i&&(t=0),t>i&&(t=i),this._matchesPosition!==t&&(this._matchesPosition=t,s.matchesPosition=!0,n=!0),this._matchesCount!==i&&(this._matchesCount=i,s.matchesCount=!0,n=!0),void 0!==e&&(Ls.equalsRange(this._currentMatch,e)||(this._currentMatch=e,s.currentMatch=!0,n=!0)),n&&this._onFindReplaceStateChange.fire(s)}change(t,i,e=!0){var s;const n={moveCursor:i,updateHistory:e,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 o=!1;const r=this.isRegex,h=this.wholeWord,c=this.matchCase,a=this.preserveCase;void 0!==t.searchString&&this._searchString!==t.searchString&&(this._searchString=t.searchString,n.searchString=!0,o=!0),void 0!==t.replaceString&&this._replaceString!==t.replaceString&&(this._replaceString=t.replaceString,n.replaceString=!0,o=!0),void 0!==t.isRevealed&&this._isRevealed!==t.isRevealed&&(this._isRevealed=t.isRevealed,n.isRevealed=!0,o=!0),void 0!==t.isReplaceRevealed&&this._isReplaceRevealed!==t.isReplaceRevealed&&(this._isReplaceRevealed=t.isReplaceRevealed,n.isReplaceRevealed=!0,o=!0),void 0!==t.isRegex&&(this._isRegex=t.isRegex),void 0!==t.wholeWord&&(this._wholeWord=t.wholeWord),void 0!==t.matchCase&&(this._matchCase=t.matchCase),void 0!==t.preserveCase&&(this._preserveCase=t.preserveCase),void 0!==t.searchScope&&((null===(s=t.searchScope)||void 0===s?void 0:s.every((t=>{var i;return null===(i=this._searchScope)||void 0===i?void 0:i.some((i=>!Ls.equalsRange(i,t)))})))||(this._searchScope=t.searchScope,n.searchScope=!0,o=!0)),void 0!==t.loop&&this._loop!==t.loop&&(this._loop=t.loop,n.loop=!0,o=!0),void 0!==t.isSearching&&this._isSearching!==t.isSearching&&(this._isSearching=t.isSearching,n.isSearching=!0,o=!0),void 0!==t.filters&&(this._filters?this._filters.update(t.filters):this._filters=t.filters,n.filters=!0,o=!0),this._isRegexOverride=void 0!==t.isRegexOverride?t.isRegexOverride:0,this._wholeWordOverride=void 0!==t.wholeWordOverride?t.wholeWordOverride:0,this._matchCaseOverride=void 0!==t.matchCaseOverride?t.matchCaseOverride:0,this._preserveCaseOverride=void 0!==t.preserveCaseOverride?t.preserveCaseOverride:0,r!==this.isRegex&&(o=!0,n.isRegex=!0),h!==this.wholeWord&&(o=!0,n.wholeWord=!0),c!==this.matchCase&&(o=!0,n.matchCase=!0),a!==this.preserveCase&&(o=!0,n.preserveCase=!0),o&&this._onFindReplaceStateChange.fire(n)}canNavigateBack(){return this.canNavigateInLoop()||1!==this.matchesPosition}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=T2}}const N2=rt(0,"input"),B2=rt(0,"Preserve Case");class P2 extends e${constructor(t){super({icon:Is.preserveCase,title:B2+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}class $2 extends gk{constructor(t,i,e,s){super(),this._showOptionButtons=e,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new fe),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new fe),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new fe),this._onInput=this._register(new fe),this._onKeyUp=this._register(new fe),this._onPreserveCaseKeyDown=this._register(new fe),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=i,this.placeholder=s.placeholder||"",this.validation=s.validation,this.label=s.label||N2;const n=s.appendPreserveCaseLabel||"",o=s.history||[],r=!!s.flexibleHeight,h=!!s.flexibleWidth,c=s.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new f$(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:o,showHistoryHint:s.showHistoryHint,flexibleHeight:r,flexibleWidth:h,flexibleMaxHeight:c,inputBoxStyles:s.inputBoxStyles})),this.preserveCase=this._register(new P2({appendTitle:n,isChecked:!1,...s.toggleStyles})),this._register(this.preserveCase.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.preserveCase.onKeyDown((t=>{this._onPreserveCaseKeyDown.fire(t)}))),this.cachedOptionsWidth=this._showOptionButtons?this.preserveCase.width():0;const a=[this.preserveCase.domNode];this.onkeydown(this.domNode,(t=>{if(t.equals(15)||t.equals(17)||t.equals(9)){const i=a.indexOf(this.domNode.ownerDocument.activeElement);if(i>=0){let e=-1;t.equals(17)?e=(i+1)%a.length:t.equals(15)&&(e=0===i?a.length-1:i-1),t.equals(9)?(a[i].blur(),this.inputBox.focus()):e>=0&&a[e].focus(),Tl(t,!0)}}}));const l=document.createElement("div");l.className="controls",l.style.display=this._showOptionButtons?"block":"none",l.appendChild(this.preserveCase.domNode),this.domNode.appendChild(l),null==t||t.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,(t=>this._onKeyDown.fire(t))),this.onkeyup(this.inputBox.inputElement,(t=>this._onKeyUp.fire(t))),this.oninput(this.inputBox.inputElement,(()=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(t=>this._onMouseDown.fire(t)))}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(t){t?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(t){this.preserveCase.checked=t}focusOnPreserve(){this.preserveCase.focus()}validate(){var t;null===(t=this.inputBox)||void 0===t||t.validate()}set width(t){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=t+"px"}dispose(){super.dispose()}}var W2=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},j2=function(t,i){return function(e,s){i(e,s,t)}};const z2=new ah("suggestWidgetVisible",!1,rt(0,"Whether suggestion are visible")),H2="historyNavigationWidgetFocus",V2="historyNavigationForwardsEnabled",U2="historyNavigationBackwardsEnabled";let q2;const K2=[];function G2(t,i){if(K2.includes(i))throw new Error("Cannot register the same widget multiple times");K2.push(i);const e=new te,s=new ah(H2,!1).bindTo(t),n=new ah(V2,!0).bindTo(t),o=new ah(U2,!0).bindTo(t),r=()=>{s.set(!0),q2=i},h=()=>{s.set(!1),q2===i&&(q2=void 0)};return ml(i.element)&&r(),e.add(i.onDidFocus((()=>r()))),e.add(i.onDidBlur((()=>h()))),e.add(Xi((()=>{K2.splice(K2.indexOf(i),1),h()}))),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:o,dispose(){e.dispose()}}}let Z2=class extends g${constructor(t,i,e,s){super(t,i,e);const n=this._register(s.createScoped(this.inputBox.element));this._register(G2(n,this.inputBox))}};Z2=W2([j2(3,lh)],Z2);let Q2=class extends $2{constructor(t,i,e,s,n=!1){super(t,i,n,e);const o=this._register(s.createScoped(this.inputBox.element));this._register(G2(o,this.inputBox))}};function J2(t){var i,e;return"Up"===(null===(i=t.lookupKeybinding("history.showPrevious"))||void 0===i?void 0:i.getElectronAccelerator())&&"Down"===(null===(e=t.lookupKeybinding("history.showNext"))||void 0===e?void 0:e.getElectronAccelerator())}Q2=W2([j2(3,lh)],Q2),Mh.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:Hr.and(Hr.has(H2),Hr.equals(U2,!0),Hr.not("isComposing"),z2.isEqualTo(!1)),primary:16,secondary:[528],handler:()=>{null==q2||q2.showPreviousValue()}}),Mh.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:Hr.and(Hr.has(H2),Hr.equals(V2,!0),Hr.not("isComposing"),z2.isEqualTo(!1)),primary:18,secondary:[530],handler:()=>{null==q2||q2.showNextValue()}});const Y2=Vz("find-selection",Is.selection,rt(0,"Icon for 'Find in Selection' in the editor find widget.")),X2=Vz("find-collapsed",Is.chevronRight,rt(0,"Icon to indicate that the editor find widget is collapsed.")),t4=Vz("find-expanded",Is.chevronDown,rt(0,"Icon to indicate that the editor find widget is expanded.")),i4=Vz("find-replace",Is.replace,rt(0,"Icon for 'Replace' in the editor find widget.")),e4=Vz("find-replace-all",Is.replaceAll,rt(0,"Icon for 'Replace All' in the editor find widget.")),s4=Vz("find-previous-match",Is.arrowUp,rt(0,"Icon for 'Find Previous' in the editor find widget.")),n4=Vz("find-next-match",Is.arrowDown,rt(0,"Icon for 'Find Next' in the editor find widget.")),o4=rt(0,"Find / Replace"),r4=rt(0,"Find"),h4=rt(0,"Find"),c4=rt(0,"Previous Match"),a4=rt(0,"Next Match"),l4=rt(0,"Find in Selection"),u4=rt(0,"Close"),d4=rt(0,"Replace"),f4=rt(0,"Replace"),p4=rt(0,"Replace"),g4=rt(0,"Replace All"),m4=rt(0,"Toggle Replace"),w4=rt(0,"Only the first {0} results are highlighted, but all find operations work on the entire text.",T2),v4=rt(0,"{0} of {1}"),b4=rt(0,"No results"),y4=419;let k4=69;const x4="ctrlEnterReplaceAll.windows.donotask",C4=St?256:2048;class S4{constructor(t){this.afterLineNumber=t,this.heightInPx=33,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function D4(t,i,e){const s=!!i.match(/\n/);e&&s&&e.selectionStart>0&&t.stopPropagation()}function E4(t,i,e){const s=!!i.match(/\n/);e&&s&&e.selectionEndthis._updateHistoryDelayer.cancel()))),this._register(this._state.onFindReplaceStateChange((t=>this._onStateChanged(t)))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration((t=>{if(t.hasChanged(90)&&(this._codeEditor.getOption(90)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),t.hasChanged(143)&&this._tryUpdateWidgetWidth(),t.hasChanged(2)&&this.updateAccessibilitySupport(),t.hasChanged(41)){const t=this._codeEditor.getOption(41).loop;this._state.change({loop:t},!1);const i=this._codeEditor.getOption(41).addExtraSpaceOnTop;i&&!this._viewZone&&(this._viewZone=new S4(0),this._showViewZone()),!i&&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 t=await this._controller.getGlobalBufferTerm();t&&t!==this._state.searchString&&(this._state.change({searchString:t},!1),this._findInput.select())}}))),this._findInputFocused=p2.bindTo(o),this._findFocusTracker=this._register(Ol(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=g2.bindTo(o),this._replaceFocusTracker=this._register(Ol(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 S4(0)),this._register(this._codeEditor.onDidChangeModel((()=>{this._isVisible&&(this._viewZoneId=void 0)}))),this._register(this._codeEditor.onDidScrollChange((t=>{t.scrollTopChanged?this._layoutViewZone():setTimeout((()=>{this._layoutViewZone()}),0)})))}getId(){return A4.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(t){if(t.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}t.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),t.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),t.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getOption(90)||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInput.width=rl(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(t.isRevealed||t.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),t.isRegex&&this._findInput.setRegex(this._state.isRegex),t.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),t.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),t.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),t.searchScope&&(this._toggleSelectionFind.checked=!!this._state.searchScope,this._updateToggleSelectionFindButton()),(t.searchString||t.matchesCount||t.matchesPosition)&&(this._domNode.classList.toggle("no-results",this._state.searchString.length>0&&0===this._state.matchesCount),this._updateMatchesCount(),this._updateButtons()),(t.searchString||t.currentMatch)&&this._layoutViewZone(),t.updateHistory&&this._delayedUpdateHistory(),t.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,Pi)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){let t;if(this._matchesCount.style.minWidth=k4+"px",this._matchesCount.title=this._state.matchesCount>=T2?w4:"",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild),this._state.matchesCount>0){let i=String(this._state.matchesCount);this._state.matchesCount>=T2&&(i+="+");let e=String(this._state.matchesPosition);"0"===e&&(e="?"),t=Kn(v4,e,i)}else t=b4;this._matchesCount.appendChild(document.createTextNode(t)),$m(this._getAriaLabel(t,this._state.currentMatch,this._state.searchString)),k4=Math.max(k4,this._matchesCount.clientWidth)}_getAriaLabel(t,i,e){if(t===b4)return""===e?rt(0,"{0} found",t):rt(0,"{0} found for '{1}'",t,e);if(i){const s=rt(0,"{0} found for '{1}', at {2}",t,e,i.startLineNumber+":"+i.startColumn),n=this._codeEditor.getModel();return n&&i.startLineNumber<=n.getLineCount()&&i.startLineNumber>=1?`${n.getLineContent(i.startLineNumber)}, ${s}`:s}return rt(0,"{0} found for '{1}'",t,e)}_updateToggleSelectionFindButton(){const t=this._codeEditor.getSelection();this._isVisible&&(this._toggleSelectionFind.checked||t&&(t.startLineNumber!==t.endLineNumber||t.startColumn!==t.endColumn))?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 t=this._state.searchString.length>0,i=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&t&&i&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&t&&i&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&t),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&t),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const e=!this._codeEditor.getOption(90);this._toggleReplaceBtn.setEnabled(this._isVisible&&e)}_reveal(){if(this._revealTimeouts.forEach((t=>{clearTimeout(t)})),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const t=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":this._toggleSelectionFind.checked=!!t&&t.startLineNumber!==t.endLineNumber}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 i=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&t){const e=this._codeEditor.getDomNode();if(e){const s=ol(e),n=this._codeEditor.getScrolledVisiblePosition(t.getStartPosition()),o=s.left+(n?n.left:0);if(this._viewZone&&(n?n.top:0)t.startLineNumber&&(i=!1);const e=nl(this._domNode).left;o>e&&(i=!1);const n=this._codeEditor.getScrolledVisiblePosition(t.getEndPosition());s.left+(n?n.left:0)>e&&(i=!1)}}}this._showViewZone(i)}}_hide(t){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(),t&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(t){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return void this._removeViewZone();if(!this._isVisible)return;const i=this._viewZone;void 0===this._viewZoneId&&i&&this._codeEditor.changeViewZones((e=>{i.heightInPx=this._getHeight(),this._viewZoneId=e.addZone(i),this._codeEditor.setScrollTop(t||this._codeEditor.getScrollTop()+i.heightInPx)}))}_showViewZone(t=!0){if(!this._isVisible)return;if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;void 0===this._viewZone&&(this._viewZone=new S4(0));const i=this._viewZone;this._codeEditor.changeViewZones((e=>{if(void 0!==this._viewZoneId){const s=this._getHeight();if(s===i.heightInPx)return;const n=s-i.heightInPx;return i.heightInPx=s,e.layoutZone(this._viewZoneId),void(t&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+n))}{let s=this._getHeight();if(s-=this._codeEditor.getOption(83).top,s<=0)return;i.heightInPx=s,this._viewZoneId=e.addZone(i),t&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+s)}}))}_removeViewZone(){this._codeEditor.changeViewZones((t=>{void 0!==this._viewZoneId&&(t.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)return;if(!this._domNode.isConnected)return;const t=this._codeEditor.getLayoutInfo();if(t.contentWidth<=0)return void this._domNode.classList.add("hiddenEditor");this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const i=t.width,e=t.minimap.minimapWidth;let s=!1,n=!1,o=!1;if(this._resized&&rl(this._domNode)>y4)return this._domNode.style.maxWidth=i-28-e-15+"px",void(this._replaceInput.width=rl(this._findInput.domNode));if(447+e>=i&&(n=!0),447+e-k4>=i&&(o=!0),447+e-k4>=i+50&&(s=!0),this._domNode.classList.toggle("collapsed-find-widget",s),this._domNode.classList.toggle("narrow-find-widget",o),this._domNode.classList.toggle("reduced-find-widget",n),o||s||(this._domNode.style.maxWidth=i-28-e-15+"px"),this._findInput.layout({collapsedFindWidget:s,narrowFindWidget:o,reducedFindWidget:n}),this._resized){const t=this._findInput.inputBox.element.clientWidth;t>0&&(this._replaceInput.width=t)}else this._isReplaceVisible&&(this._replaceInput.width=rl(this._findInput.domNode))}_getHeight(){let t=0;return t+=4,t+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(t+=4,t+=this._replaceInput.inputBox.height+2),t+=4,t}_tryUpdateHeight(){const t=this._getHeight();return(null===this._cachedHeight||this._cachedHeight!==t)&&(this._cachedHeight=t,this._domNode.style.height=`${t}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 t=this._codeEditor.getSelections();t.map((t=>(1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.startLineNumber===t.endLineNumber||Ls.equalsRange(t,this._state.currentMatch)?null:t))).filter((t=>!!t)),t.length&&this._state.change({searchScope:t},!0)}}_onFindInputMouseDown(t){t.middleButton&&t.stopPropagation()}_onFindInputKeyDown(t){return t.equals(3|C4)?(this._keybindingService.dispatchEvent(t,t.target)||this._findInput.inputBox.insertAtCursor("\n"),void t.preventDefault()):t.equals(2)?(this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),void t.preventDefault()):t.equals(2066)?(this._codeEditor.focus(),void t.preventDefault()):t.equals(16)?D4(t,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):t.equals(18)?E4(t,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):void 0}_onReplaceInputKeyDown(t){return t.equals(3|C4)?(this._keybindingService.dispatchEvent(t,t.target)||(Ct&&Et&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(rt(0,"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(x4,!0,0,0)),this._replaceInput.inputBox.insertAtCursor("\n")),void t.preventDefault()):t.equals(2)?(this._findInput.focusOnCaseSensitive(),void t.preventDefault()):t.equals(1026)?(this._findInput.focus(),void t.preventDefault()):t.equals(2066)?(this._codeEditor.focus(),void t.preventDefault()):t.equals(16)?D4(t,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):t.equals(18)?E4(t,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):void 0}getVerticalSashLeft(t){return 0}_keybindingLabelFor(t){const i=this._keybindingService.lookupKeybinding(t);return i?` (${i.getLabel()})`:""}_buildDomNode(){const t=!0,i=!0;this._findInput=this._register(new Z2(null,this._contextViewProvider,{width:221,label:r4,placeholder:h4,appendCaseSensitiveLabel:this._keybindingLabelFor(S2),appendWholeWordsLabel:this._keybindingLabelFor(D2),appendRegexLabel:this._keybindingLabelFor(E2),validation:t=>{if(0===t.length||!this._findInput.getRegex())return null;try{return null}catch(t){return{content:t.message}}},flexibleHeight:t,flexibleWidth:i,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>J2(this._keybindingService),inputBoxStyles:_B,toggleStyles:IB},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((t=>this._onFindInputKeyDown(t)))),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((t=>{t.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),t.preventDefault())}))),this._register(this._findInput.onRegexKeyDown((t=>{t.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),t.preventDefault())}))),this._register(this._findInput.inputBox.onDidHeightChange((()=>{this._tryUpdateHeight()&&this._showViewZone()}))),Dt&&this._register(this._findInput.onMouseDown((t=>this._onFindInputMouseDown(t)))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount(),this._prevBtn=this._register(new M4({label:c4+this._keybindingLabelFor(x2),icon:s4,onTrigger:()=>{G(this._codeEditor.getAction(x2)).run().then(void 0,Pi)}})),this._nextBtn=this._register(new M4({label:a4+this._keybindingLabelFor(k2),icon:n4,onTrigger:()=>{G(this._codeEditor.getAction(k2)).run().then(void 0,Pi)}}));const e=document.createElement("div");e.className="find-part",e.appendChild(this._findInput.domNode);const s=document.createElement("div");s.className="find-actions",e.appendChild(s),s.appendChild(this._matchesCount),s.appendChild(this._prevBtn.domNode),s.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new e$({icon:Y2,title:l4+this._keybindingLabelFor(A2),isChecked:!1,inputActiveOptionBackground:lw(Aw),inputActiveOptionBorder:lw(Ew),inputActiveOptionForeground:lw(Mw)})),this._register(this._toggleSelectionFind.onChange((()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){const t=this._codeEditor.getSelections();t.map((t=>(1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t))).filter((t=>!!t)),t.length&&this._state.change({searchScope:t},!0)}}else this._state.change({searchScope:null},!0)}))),s.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new M4({label:u4+this._keybindingLabelFor(C2),icon:Zz,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:t=>{t.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),t.preventDefault())}})),this._replaceInput=this._register(new Q2(null,void 0,{label:d4,placeholder:f4,appendPreserveCaseLabel:this._keybindingLabelFor(M2),history:[],flexibleHeight:t,flexibleWidth:i,flexibleMaxHeight:118,showHistoryHint:()=>J2(this._keybindingService),inputBoxStyles:_B,toggleStyles:IB},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown((t=>this._onReplaceInputKeyDown(t)))),this._register(this._replaceInput.inputBox.onDidChange((()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)}))),this._register(this._replaceInput.inputBox.onDidHeightChange((()=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()}))),this._register(this._replaceInput.onDidOptionChange((()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)}))),this._register(this._replaceInput.onPreserveCaseKeyDown((t=>{t.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(),t.preventDefault())}))),this._replaceBtn=this._register(new M4({label:p4+this._keybindingLabelFor(L2),icon:i4,onTrigger:()=>{this._controller.replace()},onKeyDown:t=>{t.equals(1026)&&(this._closeBtn.focus(),t.preventDefault())}})),this._replaceAllBtn=this._register(new M4({label:g4+this._keybindingLabelFor(F2),icon:e4,onTrigger:()=>{this._controller.replaceAll()}}));const n=document.createElement("div");n.className="replace-part",n.appendChild(this._replaceInput.domNode);const o=document.createElement("div");o.className="replace-actions",n.appendChild(o),o.appendChild(this._replaceBtn.domNode),o.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new M4({label:m4,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=rl(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=o4,this._domNode.role="dialog",this._domNode.style.width="419px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(e),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(n),this._resizeSash=new UP(this._domNode,this,{orientation:0,size:2}),this._resized=!1;let r=y4;this._register(this._resizeSash.onDidStart((()=>{r=rl(this._domNode)}))),this._register(this._resizeSash.onDidChange((t=>{this._resized=!0;const i=r+t.startX-t.currentX;i(parseFloat(tl(this._domNode).maxWidth)||0)||(this._domNode.style.width=`${i}px`,this._isReplaceVisible&&(this._replaceInput.width=rl(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())}))),this._register(this._resizeSash.onDidReset((()=>{const t=rl(this._domNode);if(t{this._opts.onTrigger(),t.preventDefault()})),this.onkeydown(this._domNode,(t=>{var i,e;if(t.equals(10)||t.equals(3))return this._opts.onTrigger(),void t.preventDefault();null===(e=(i=this._opts).onKeyDown)||void 0===e||e.call(i,t)}))}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(t){this._domNode.classList.toggle("disabled",!t),this._domNode.setAttribute("aria-disabled",String(!t)),this._domNode.tabIndex=t?0:-1}setExpanded(t){this._domNode.setAttribute("aria-expanded",String(!!t)),t?(this._domNode.classList.remove(...Sr.asClassNameArray(X2)),this._domNode.classList.add(...Sr.asClassNameArray(t4))):(this._domNode.classList.remove(...Sr.asClassNameArray(t4)),this._domNode.classList.add(...Sr.asClassNameArray(X2)))}}ox(((t,i)=>{const e=(t,e)=>{e&&i.addRule(`.monaco-editor ${t} { background-color: ${e}; }`)};e(".findMatch",t.getColor(Fv)),e(".currentFindMatch",t.getColor(Lv)),e(".findScope",t.getColor(Tv)),e(".find-widget",t.getColor(dv));const s=t.getColor(kw);s&&i.addRule(`.monaco-editor .find-widget { box-shadow: 0 0 8px 2px ${s}; }`);const n=t.getColor(xw);n&&i.addRule(`.monaco-editor .find-widget { border-left: 1px solid ${n}; border-right: 1px solid ${n}; border-bottom: 1px solid ${n}; }`);const o=t.getColor(Ov);o&&i.addRule(`.monaco-editor .findMatch { border: 1px ${Hy(t.type)?"dotted":"solid"} ${o}; box-sizing: border-box; }`);const r=t.getColor(Rv);r&&i.addRule(`.monaco-editor .currentFindMatch { border: 2px solid ${r}; padding: 1px; box-sizing: border-box; }`);const h=t.getColor(Iv);h&&i.addRule(`.monaco-editor .findScope { border: 1px ${Hy(t.type)?"dashed":"solid"} ${h}; }`);const c=t.getColor(vw);c&&i.addRule(`.monaco-editor .find-widget { border: 1px solid ${c}; }`);const a=t.getColor(fv);a&&i.addRule(`.monaco-editor .find-widget { color: ${a}; }`);const l=t.getColor(gw);l&&i.addRule(`.monaco-editor .find-widget.no-results .matchesCount { color: ${l}; }`);const u=t.getColor(gv);if(u)i.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${u}; }`);else{const e=t.getColor(pv);e&&i.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${e}; }`)}const d=t.getColor(Bb);d&&i.addRule(`\n\t\t.monaco-editor .find-widget .button:not(.disabled):hover,\n\t\t.monaco-editor .find-widget .codicon-find-selection:hover {\n\t\t\tbackground-color: ${d} !important;\n\t\t}\n\t`);const f=t.getColor(ww);f&&i.addRule(`.monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: ${f}; }`)}));var L4,F4=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},T4=function(t,i){return function(e,s){i(e,s,t)}};function R4(t,i="single",e=!1){if(!t.hasModel())return null;const s=t.getSelection();if("single"===i&&s.startLineNumber===s.endLineNumber||"multiple"===i)if(s.isEmpty()){const i=t.getConfiguredWordAtPosition(s.getStartPosition());if(i&&!1===e)return i.word}else if(t.getModel().getValueLengthInRange(s)<524288)return t.getModel().getValueInRange(s);return null}let O4=L4=class extends ie{get editor(){return this._editor}static get(t){return t.getContribution(L4.ID)}constructor(t,i,e,s,n){super(),this._editor=t,this._findWidgetVisible=f2.bindTo(i),this._contextKeyService=i,this._storageService=e,this._clipboardService=s,this._notificationService=n,this._updateHistoryDelayer=new cc(500),this._state=this._register(new _2),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange((t=>this._onStateChanged(t)))),this._model=null,this._register(this._editor.onDidChangeModel((()=>{const t=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),t&&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(t){this.saveQueryState(t),t.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),t.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(t){t.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),t.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),t.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),t.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!!p2.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()){const t=this._editor.getSelections();t.map((t=>(1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t))).filter((t=>!!t)),t.length&&this._state.change({searchScope:t},!0)}}setSearchString(t){this._state.isRegex&&(t=Zn(t)),this._state.change({searchString:t},!1)}highlightFindOptions(t=!1){}async _start(t,i){if(this.disposeModel(),!this._editor.hasModel())return;const e={...i,isRevealed:!0};if("single"===t.seedSearchStringFromSelection){const i=R4(this._editor,t.seedSearchStringFromSelection,t.seedSearchStringFromNonEmptySelection);i&&(e.searchString=this._state.isRegex?Zn(i):i)}else if("multiple"===t.seedSearchStringFromSelection&&!t.updateSearchScope){const i=R4(this._editor,t.seedSearchStringFromSelection);i&&(e.searchString=i)}if(!e.searchString&&t.seedSearchStringFromGlobalClipboard){const t=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;t&&(e.searchString=t)}if(t.forceRevealReplace||e.isReplaceRevealed?e.isReplaceRevealed=!0:this._findWidgetVisible.get()||(e.isReplaceRevealed=!1),t.updateSearchScope){const t=this._editor.getSelections();t.some((t=>!t.isEmpty()))&&(e.searchScope=t)}e.loop=t.loop,this._state.change(e,!1),this._model||(this._model=new R2(this._editor,this._state))}start(t,i){return this._start(t,i)}moveToNextMatch(){return!!this._model&&(this._model.moveToNextMatch(),!0)}moveToPrevMatch(){return!!this._model&&(this._model.moveToPrevMatch(),!0)}goToMatch(t){return!!this._model&&(this._model.moveToMatch(t),!0)}replace(){return!!this._model&&(this._model.replace(),!0)}replaceAll(){var t;return!!this._model&&((null===(t=this._editor.getModel())||void 0===t?void 0:t.isTooLargeForHeapOperation())?(this._notificationService.warn(rt(0,"The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0))}selectAllMatches(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(t){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(t)}};O4.ID="editor.contrib.findController",O4=L4=F4([T4(1,lh),T4(2,MB),T4(3,kH),T4(4,rT)],O4);let I4=class extends O4{constructor(t,i,e,s,n,o,r,h){super(t,e,r,h,o),this._contextViewService=i,this._keybindingService=s,this._themeService=n,this._widget=null,this._findOptionsWidget=null}async _start(t,i){this._widget||this._createFindWidget();const e=this._editor.getSelection();let s=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":s=!0;break;case"never":s=!1;break;case"multiline":s=!!e&&e.startLineNumber!==e.endLineNumber}t.updateSearchScope=t.updateSearchScope||s,await super._start(t,i),this._widget&&(2===t.shouldFocus?this._widget.focusReplaceInput():1===t.shouldFocus&&this._widget.focusFindInput())}highlightFindOptions(t=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!t?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new A4(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new O2(this._editor,this._state,this._keybindingService))}};I4=F4([T4(1,lI),T4(2,lh),T4(3,rC),T4(4,tx),T4(5,rT),T4(6,MB),T4(7,kH)],I4),lu(new ou({id:"actions.find",label:rt(0,"Find"),alias:"Find",precondition:Hr.or(XC.focus,Hr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:Oh.MenubarEditMenu,group:"3_find",title:rt(0,"&&Find"),order:1}})).addImplementation(0,((t,i)=>{const e=O4.get(i);return!!e&&e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"never"!==i.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:i.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop})}));const _4={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"},regex:{type:"boolean"},regexOverride:{type:"number",description:rt(0,'Overrides "Use Regular Expression" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},wholeWord:{type:"boolean"},wholeWordOverride:{type:"number",description:rt(0,'Overrides "Match Whole Word" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},matchCase:{type:"boolean"},matchCaseOverride:{type:"number",description:rt(0,'Overrides "Math Case" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},preserveCase:{type:"boolean"},preserveCaseOverride:{type:"number",description:rt(0,'Overrides "Preserve Case" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},findInSelection:{type:"boolean"}}}}]};class N4 extends nu{async run(t,i){const e=O4.get(i);e&&!this._run(e)&&(await e.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===e.getState().searchString.length&&"never"!==i.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop}),this._run(e))}}class B4 extends nu{async run(t,i){const e=O4.get(i);if(!e)return;const s=R4(i,"single",!1);s&&e.setSearchString(s),this._run(e)||(await e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop}),this._run(e))}}lu(new ou({id:"editor.action.startFindReplaceAction",label:rt(0,"Replace"),alias:"Replace",precondition:Hr.or(XC.focus,Hr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:Oh.MenubarEditMenu,group:"3_find",title:rt(0,"&&Replace"),order:2}})).addImplementation(0,((t,i)=>{if(!i.hasModel()||i.getOption(90))return!1;const e=O4.get(i);if(!e)return!1;const s=i.getSelection(),n=e.isFindInputFocused(),o=!s.isEmpty()&&s.startLineNumber===s.endLineNumber&&"never"!==i.getOption(41).seedSearchStringFromSelection&&!n,r=n||o?2:1;return e.start({forceRevealReplace:!0,seedSearchStringFromSelection:o?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:"never"!==i.getOption(41).seedSearchStringFromSelection,shouldFocus:r,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop})})),uu(O4.ID,I4,0),au(class extends nu{constructor(){super({id:"editor.actions.findWithArgs",label:rt(0,"Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:_4})}async run(t,i,e){const s=O4.get(i);if(s){const t=e?{searchString:e.searchString,replaceString:e.replaceString,isReplaceRevealed:void 0!==e.replaceString,isRegex:e.isRegex,wholeWord:e.matchWholeWord,matchCase:e.isCaseSensitive,preserveCase:e.preserveCase}:{};await s.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===s.getState().searchString.length&&"never"!==i.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(null==e?void 0:e.findInSelection)||!1,loop:i.getOption(41).loop},t),s.setGlobalBufferTerm(s.getState().searchString)}}}),au(class extends nu{constructor(){super({id:"actions.findWithSelection",label:rt(0,"Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(t,i){const e=O4.get(i);e&&(await e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop}),e.setGlobalBufferTerm(e.getState().searchString))}}),au(class extends N4{constructor(){super({id:k2,label:rt(0,"Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:XC.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:Hr.and(XC.focus,p2),primary:3,weight:100}]})}_run(t){return!!t.moveToNextMatch()&&(t.editor.pushUndoStop(),!0)}}),au(class extends N4{constructor(){super({id:x2,label:rt(0,"Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:XC.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:Hr.and(XC.focus,p2),primary:1027,weight:100}]})}_run(t){return t.moveToPrevMatch()}}),au(class extends nu{constructor(){super({id:"editor.action.goToMatchFindAction",label:rt(0,"Go to Match..."),alias:"Go to Match...",precondition:f2}),this._highlightDecorations=[]}run(t,i,e){const s=O4.get(i);if(!s)return;const n=s.getState().matchesCount;if(n<1)return void t.get(rT).notify({severity:oT.Warning,message:rt(0,"No matches. Try searching for something else.")});const o=t.get(Ij).createInputBox();o.placeholder=rt(0,"Type a number to go to a specific match (between 1 and {0})",n);const r=t=>{const i=parseInt(t);if(isNaN(i))return;const e=s.getState().matchesCount;return i>0&&i<=e?i-1:i<0&&i>=-e?e+i:void 0},h=t=>{const e=r(t);if("number"==typeof e){o.validationMessage=void 0,s.goToMatch(e);const t=s.getState().currentMatch;t&&this.addDecorations(i,t)}else o.validationMessage=rt(0,"Please type a number between 1 and {0}",s.getState().matchesCount),this.clearDecorations(i)};o.onDidChangeValue((t=>{h(t)})),o.onDidAccept((()=>{const t=r(o.value);"number"==typeof t?(s.goToMatch(t),o.hide()):o.validationMessage=rt(0,"Please type a number between 1 and {0}",s.getState().matchesCount)})),o.onDidHide((()=>{this.clearDecorations(i),o.dispose()})),o.show()}clearDecorations(t){t.changeDecorations((t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])}))}addDecorations(t,i){t.changeDecorations((t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[{range:i,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:i,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:ix(Ox),position:Nf.Full}}}])}))}}),au(class extends B4{constructor(){super({id:"editor.action.nextSelectionMatchFindAction",label:rt(0,"Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:2109,weight:100}})}_run(t){return t.moveToNextMatch()}}),au(class extends B4{constructor(){super({id:"editor.action.previousSelectionMatchFindAction",label:rt(0,"Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:3133,weight:100}})}_run(t){return t.moveToPrevMatch()}});const P4=su.bindToContribution(O4.get);cu(new P4({id:C2,precondition:f2,handler:t=>t.closeFindWidget(),kbOpts:{weight:105,kbExpr:Hr.and(XC.focus,Hr.not("isComposing")),primary:9,secondary:[1033]}})),cu(new P4({id:S2,precondition:void 0,handler:t=>t.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:XC.focus,primary:m2.primary,mac:m2.mac,win:m2.win,linux:m2.linux}})),cu(new P4({id:D2,precondition:void 0,handler:t=>t.toggleWholeWords(),kbOpts:{weight:105,kbExpr:XC.focus,primary:w2.primary,mac:w2.mac,win:w2.win,linux:w2.linux}})),cu(new P4({id:E2,precondition:void 0,handler:t=>t.toggleRegex(),kbOpts:{weight:105,kbExpr:XC.focus,primary:v2.primary,mac:v2.mac,win:v2.win,linux:v2.linux}})),cu(new P4({id:A2,precondition:void 0,handler:t=>t.toggleSearchScope(),kbOpts:{weight:105,kbExpr:XC.focus,primary:b2.primary,mac:b2.mac,win:b2.win,linux:b2.linux}})),cu(new P4({id:M2,precondition:void 0,handler:t=>t.togglePreserveCase(),kbOpts:{weight:105,kbExpr:XC.focus,primary:y2.primary,mac:y2.mac,win:y2.win,linux:y2.linux}})),cu(new P4({id:L2,precondition:f2,handler:t=>t.replace(),kbOpts:{weight:105,kbExpr:XC.focus,primary:3094}})),cu(new P4({id:L2,precondition:f2,handler:t=>t.replace(),kbOpts:{weight:105,kbExpr:Hr.and(XC.focus,g2),primary:3}})),cu(new P4({id:F2,precondition:f2,handler:t=>t.replaceAll(),kbOpts:{weight:105,kbExpr:XC.focus,primary:2563}})),cu(new P4({id:F2,precondition:f2,handler:t=>t.replaceAll(),kbOpts:{weight:105,kbExpr:Hr.and(XC.focus,g2),primary:void 0,mac:{primary:2051}}})),cu(new P4({id:"editor.action.selectAllMatches",precondition:f2,handler:t=>t.selectAllMatches(),kbOpts:{weight:105,kbExpr:XC.focus,primary:515}}));const $4={0:" ",1:"u",2:"r"},W4=16777215,j4=4278190080;class z4{constructor(t){const i=Math.ceil(t/32);this._states=new Uint32Array(i)}get(t){return!!(this._states[t/32|0]&1<65535)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=t,this._endIndexes=i,this._collapseStates=new z4(t.length),this._userDefinedStates=new z4(t.length),this._recoveredStates=new z4(t.length),this._types=e,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const t=[],i=(i,e)=>{const s=t[t.length-1];return this.getStartLineNumber(s)<=i&&this.getEndLineNumber(s)>=e};for(let e=0,s=this._startIndexes.length;eW4||n>W4)throw new Error("startLineNumber or endLineNumber must not exceed "+W4);for(;t.length>0&&!i(s,n);)t.pop();const o=t.length>0?t[t.length-1]:-1;t.push(e),this._startIndexes[e]=s+((255&o)<<24),this._endIndexes[e]=n+((65280&o)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(t){return this._startIndexes[t]&W4}getEndLineNumber(t){return this._endIndexes[t]&W4}getType(t){return this._types?this._types[t]:void 0}hasTypes(){return!!this._types}isCollapsed(t){return this._collapseStates.get(t)}setCollapsed(t,i){this._collapseStates.set(t,i)}isUserDefined(t){return this._userDefinedStates.get(t)}setUserDefined(t,i){return this._userDefinedStates.set(t,i)}isRecovered(t){return this._recoveredStates.get(t)}setRecovered(t,i){return this._recoveredStates.set(t,i)}getSource(t){return this.isUserDefined(t)?1:this.isRecovered(t)?2:0}setSource(t,i){1===i?(this.setUserDefined(t,!0),this.setRecovered(t,!1)):2===i?(this.setUserDefined(t,!1),this.setRecovered(t,!0)):(this.setUserDefined(t,!1),this.setRecovered(t,!1))}setCollapsedAllOfType(t,i){let e=!1;if(this._types)for(let s=0;s>>24)+((this._endIndexes[t]&j4)>>>16);return 65535===i?-1:i}contains(t,i){return this.getStartLineNumber(t)<=i&&this.getEndLineNumber(t)>=i}findIndex(t){let i=0,e=this._startIndexes.length;if(0===e)return-1;for(;i=0){if(this.getEndLineNumber(i)>=t)return i;for(i=this.getParentIndex(i);-1!==i;){if(this.contains(i,t))return i;i=this.getParentIndex(i)}}return-1}toString(){const t=[];for(let i=0;iArray.isArray(t)?e=>ee=a.startLineNumber))c&&c.startLineNumber===a.startLineNumber?(1===a.source?t=a:(t=c,t.isCollapsed=a.isCollapsed&&c.endLineNumber===a.endLineNumber,t.source=0),c=n(++r)):(t=a,a.isCollapsed&&0===a.source&&(t.source=2)),a=o(++h);else{let i=h,e=a;for(;;){if(!e||e.startLineNumber>c.endLineNumber){t=c;break}if(1===e.source&&e.endLineNumber>c.endLineNumber)break;e=o(++i)}c=n(++r)}if(t){for(;u&&u.endLineNumbert.startLineNumber&&t.startLineNumber>d&&t.endLineNumber<=e&&(!u||u.endLineNumber>=t.endLineNumber)&&(f.push(t),d=t.startLineNumber,u&&l.push(u),u=t)}}return f}}class V4{constructor(t,i){this.ranges=t,this.index=i}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(t){return t.startLineNumber<=this.startLineNumber&&t.endLineNumber>=this.endLineNumber}containsLine(t){return this.startLineNumber<=t&&t<=this.endLineNumber}}class U4{get regions(){return this._regions}get textModel(){return this._textModel}constructor(t,i){this._updateEventEmitter=new fe,this.onDidChange=this._updateEventEmitter.event,this._textModel=t,this._decorationProvider=i,this._regions=new H4(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(t){if(!t.length)return;t=t.sort(((t,i)=>t.regionIndex-i.regionIndex));const i={};this._decorationProvider.changeDecorations((e=>{let s=0,n=-1,o=-1;const r=t=>{for(;so&&(o=t),s++}};for(const e of t){const t=e.regionIndex,s=this._editorDecorationIds[t];if(s&&!i[s]){i[s]=!0,r(t);const e=!this._regions.isCollapsed(t);this._regions.setCollapsed(t,e),n=Math.max(n,this._regions.getEndLineNumber(t))}}r(this._regions.length)})),this._updateEventEmitter.fire({model:this,collapseStateChanged:t})}removeManualRanges(t){const i=new Array,e=i=>{for(const e of t)if(!(e.startLineNumber>i.endLineNumber||i.startLineNumber>e.endLineNumber))return!0;return!1};for(let t=0;te&&(e=o)}this._decorationProvider.changeDecorations((t=>this._editorDecorationIds=t.deltaDecorations(this._editorDecorationIds,i))),this._regions=t,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(t=[]){const i=(i,e)=>{for(const s of t)if(i=n.endLineNumber||n.startLineNumber<1||n.endLineNumber>e)continue;const o=this._getLinesChecksum(n.startLineNumber+1,n.endLineNumber);i.push({startLineNumber:n.startLineNumber,endLineNumber:n.endLineNumber,isCollapsed:n.isCollapsed,source:n.source,checksum:o})}return i.length>0?i:void 0}applyMemento(t){var i,e;if(!Array.isArray(t))return;const s=[],n=this._textModel.getLineCount();for(const o of t){if(o.startLineNumber>=o.endLineNumber||o.startLineNumber<1||o.endLineNumber>n)continue;const t=this._getLinesChecksum(o.startLineNumber+1,o.endLineNumber);o.checksum&&t!==o.checksum||s.push({startLineNumber:o.startLineNumber,endLineNumber:o.endLineNumber,type:void 0,isCollapsed:null===(i=o.isCollapsed)||void 0===i||i,source:null!==(e=o.source)&&void 0!==e?e:0})}const o=H4.sanitizeAndMerge(this._regions,s,n);this.updatePost(H4.fromFoldRanges(o))}_getLinesChecksum(t,i){return La(this._textModel.getLineContent(t)+this._textModel.getLineContent(i))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(t,i){const e=[];if(this._regions){let s=this._regions.findRange(t),n=1;for(;s>=0;){const t=this._regions.toRegion(s);i&&!i(t,n)||e.push(t),n++,s=t.parentIndex}}return e}getRegionAtLine(t){if(this._regions){const i=this._regions.findRange(t);if(i>=0)return this._regions.toRegion(i)}return null}getRegionsInside(t,i){const e=[],s=t?t.regionIndex+1:0,n=t?t.endLineNumber:Number.MAX_VALUE;if(i&&2===i.length){const t=[];for(let o=s,r=this._regions.length;o0&&!s.containedBy(t[t.length-1]);)t.pop();t.push(s),i(s,t.length)&&e.push(s)}}else for(let t=s,o=this._regions.length;t1){const o=t.getRegionsInside(e,((t,e)=>t.isCollapsed!==n&&e0)for(const o of s){const s=t.getRegionAtLine(o);if(s&&(s.isCollapsed!==i&&n.push(s),e>1)){const o=t.getRegionsInside(s,((t,s)=>t.isCollapsed!==i&&st.isCollapsed!==i&&st.isCollapsed!==i&&s<=e));n.push(...s)}t.toggleCollapseState(n)}function Z4(t,i,e){const s=[];for(const i of e){const e=t.getAllRegionsAtLine(i,void 0);e.length>0&&s.push(e[0])}const n=t.getRegionsInside(null,(t=>s.every((i=>!i.containedBy(t)&&!t.containedBy(i)))&&t.isCollapsed!==i));t.toggleCollapseState(n)}function Q4(t,i,e){const s=t.textModel,n=t.regions,o=[];for(let t=n.length-1;t>=0;t--)if(e!==n.isCollapsed(t)){const e=n.getStartLineNumber(t);i.test(s.getLineContent(e))&&o.push(n.toRegion(t))}t.toggleCollapseState(o)}function J4(t,i,e){const s=t.regions,n=[];for(let t=s.length-1;t>=0;t--)e!==s.isCollapsed(t)&&i===s.getType(t)&&n.push(s.toRegion(t));t.toggleCollapseState(n)}class Y4{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(t){this._updateEventEmitter=new fe,this._hasLineChanges=!1,this._foldingModel=t,this._foldingModelListener=t.onDidChange((()=>this.updateHiddenRanges())),this._hiddenRanges=[],t.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(t){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=t.changes.some((t=>t.range.endLineNumber!==t.range.startLineNumber||0!==GD(t.text)[0])))}updateHiddenRanges(){let t=!1;const i=[];let e=0,s=0,n=Number.MAX_VALUE,o=-1;const r=this._foldingModel.regions;for(;e0}isHidden(t){return null!==X4(this._hiddenRanges,t)}adjustSelections(t){let i=!1;const e=this._foldingModel.textModel;let s=null;const n=t=>(s&&function(t,i){return t>=i.startLineNumber&&t<=i.endLineNumber}(t,s)||(s=X4(this._hiddenRanges,t)),s?s.startLineNumber-1:null);for(let s=0,o=t.length;s0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function X4(t,i){const e=lp(t,(t=>i=0&&t[e].endLineNumber>=i?t[e]:null}class t5{constructor(t,i,e){this.editorModel=t,this.languageConfigurationService=i,this.foldingRangesLimit=e,this.id="indent"}dispose(){}compute(t){const i=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules;return Promise.resolve(function(t,i,e,s=e5){const n=t.getOptions().tabSize,o=new i5(s);let r;e&&(r=new RegExp(`(${e.start.source})|(?:${e.end.source})`));const h=[],c=t.getLineCount()+1;h.push({indent:-1,endAbove:c,line:c});for(let e=t.getLineCount();e>0;e--){const s=t.getLineContent(e),c=OS(s,n);let a,l=h[h.length-1];if(-1!==c){if(r&&(a=s.match(r))){if(!a[1]){h.push({indent:-2,endAbove:e,line:e});continue}{let t=h.length-1;for(;t>0&&-2!==h[t].indent;)t--;if(t>0){h.length=t+1,l=h[t],o.insertFirst(e,l.line,c),l.line=e,l.indent=c,l.endAbove=e;continue}}}if(l.indent>c){do{h.pop(),l=h[h.length-1]}while(l.indent>c);const t=l.endAbove-1;t-e>=1&&o.insertFirst(e,t,c)}l.indent===c?l.endAbove=e:h.push({indent:c,endAbove:e,line:e})}else i&&(l.endAbove=e)}return o.toIndentRanges(t)}(this.editorModel,i&&!!i.offSide,i&&i.markers,this.foldingRangesLimit))}}class i5{constructor(t){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=t}insertFirst(t,i,e){if(t>W4||i>W4)return;const s=this._length;this._startIndexes[s]=t,this._endIndexes[s]=i,this._length++,e<1e3&&(this._indentOccurrences[e]=(this._indentOccurrences[e]||0)+1)}toIndentRanges(t){const i=this._foldingRangesLimit.limit;if(this._length<=i){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let e=this._length-1,s=0;e>=0;e--,s++)t[s]=this._startIndexes[e],i[s]=this._endIndexes[e];return new H4(t,i)}{this._foldingRangesLimit.update(this._length,i);let e=0,s=this._indentOccurrences.length;for(let t=0;ti){s=t;break}e+=n}}const n=t.getOptions().tabSize,o=new Uint32Array(i),r=new Uint32Array(i);for(let h=this._length-1,c=0;h>=0;h--){const a=this._startIndexes[h],l=OS(t.getLineContent(a),n);(l{}},s5=fw("editor.foldBackground",{light:uy(Dv,.3),dark:uy(Dv,.3),hcDark:null,hcLight:null},rt(0,"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);fw("editorGutter.foldingControlForeground",{dark:mw,light:mw,hcDark:mw,hcLight:mw},rt(0,"Color of the folding control in the editor gutter."));const n5=Vz("folding-expanded",Is.chevronDown,rt(0,"Icon for expanded ranges in the editor glyph margin.")),o5=Vz("folding-collapsed",Is.chevronRight,rt(0,"Icon for collapsed ranges in the editor glyph margin.")),r5=Vz("folding-manual-collapsed",o5,rt(0,"Icon for manually collapsed ranges in the editor glyph margin.")),h5=Vz("folding-manual-expanded",n5,rt(0,"Icon for manually expanded ranges in the editor glyph margin.")),c5={color:ix(s5),position:Pf.Inline};class a5{constructor(t){this.editor=t,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(t,i,e){return i?a5.HIDDEN_RANGE_DECORATION:"never"===this.showFoldingControls?t?this.showFoldingHighlights?a5.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:a5.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:a5.NO_CONTROLS_EXPANDED_RANGE_DECORATION:t?e?this.showFoldingHighlights?a5.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:a5.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?a5.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:a5.COLLAPSED_VISUAL_DECORATION:"mouseover"===this.showFoldingControls?e?a5.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:a5.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:e?a5.MANUALLY_EXPANDED_VISUAL_DECORATION:a5.EXPANDED_VISUAL_DECORATION}changeDecorations(t){return this.editor.changeDecorations(t)}removeDecorations(t){this.editor.removeDecorations(t)}}a5.COLLAPSED_VISUAL_DECORATION=ML.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:Sr.asClassName(o5)}),a5.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=ML.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:c5,isWholeLine:!0,firstLineDecorationClassName:Sr.asClassName(o5)}),a5.MANUALLY_COLLAPSED_VISUAL_DECORATION=ML.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:Sr.asClassName(r5)}),a5.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=ML.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:c5,isWholeLine:!0,firstLineDecorationClassName:Sr.asClassName(r5)}),a5.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=ML.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0}),a5.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=ML.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:c5,isWholeLine:!0}),a5.EXPANDED_VISUAL_DECORATION=ML.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Sr.asClassName(n5)}),a5.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ML.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Sr.asClassName(n5)}),a5.MANUALLY_EXPANDED_VISUAL_DECORATION=ML.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Sr.asClassName(h5)}),a5.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ML.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Sr.asClassName(h5)}),a5.NO_CONTROLS_EXPANDED_RANGE_DECORATION=ML.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),a5.HIDDEN_RANGE_DECORATION=ML.register({description:"folding-hidden-range-decoration",stickiness:1});const l5={};class u5{constructor(t,i,e,s,n){this.editorModel=t,this.providers=i,this.handleFoldingRangesChange=e,this.foldingRangesLimit=s,this.fallbackRangeProvider=n,this.id="syntax",this.disposables=new te,n&&this.disposables.add(n);for(const t of i)"function"==typeof t.onDidChange&&this.disposables.add(t.onDidChange(e))}compute(t){return function(t,i,e){let s=null;const n=t.map(((t,n)=>Promise.resolve(t.provideFoldingRanges(i,l5,e)).then((t=>{if(!e.isCancellationRequested&&Array.isArray(t)){Array.isArray(s)||(s=[]);const e=i.getLineCount();for(const i of t)i.start>0&&i.end>i.start&&i.end<=e&&s.push({start:i.start,end:i.end,rank:n,kind:i.kind})}}),$i)));return Promise.all(n).then((()=>s))}(this.providers,this.editorModel,t).then((i=>{var e,s;return i?function(t,i){const e=t.sort(((t,i)=>{let e=t.start-i.start;return 0===e&&(e=t.rank-i.rank),e})),s=new d5(i);let n;const o=[];for(const t of e)if(n){if(t.start>n.start)if(t.end<=n.end)o.push(n),n=t,s.add(t.start,t.end,t.kind&&t.kind.value,o.length);else{if(t.start>n.end){do{n=o.pop()}while(n&&t.start>n.end);n&&o.push(n),n=t}s.add(t.start,t.end,t.kind&&t.kind.value,o.length)}}else n=t,s.add(t.start,t.end,t.kind&&t.kind.value,o.length);return s.toIndentRanges()}(i,this.foldingRangesLimit):null!==(s=null===(e=this.fallbackRangeProvider)||void 0===e?void 0:e.compute(t))&&void 0!==s?s:null}))}dispose(){this.disposables.dispose()}}class d5{constructor(t){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=t}add(t,i,e,s){if(t>W4||i>W4)return;const n=this._length;this._startIndexes[n]=t,this._endIndexes[n]=i,this._nestingLevels[n]=s,this._types[n]=e,this._length++,s<30&&(this._nestingLevelCounts[s]=(this._nestingLevelCounts[s]||0)+1)}toIndentRanges(){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let e=0;et){e=s;break}i+=n}}const s=new Uint32Array(t),n=new Uint32Array(t),o=[];for(let r=0,h=0;rthis.onModelChanged()))),this._register(this.editor.onDidChangeConfiguration((t=>{if(t.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),t.hasChanged(47)&&this.onModelChanged(),t.hasChanged(109)||t.hasChanged(45)){const t=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=t.get(109),this.foldingDecorationProvider.showFoldingHighlights=t.get(45),this.triggerFoldingModelChanged()}t.hasChanged(44)&&(this._useFoldingProviders="indentation"!==this.editor.getOptions().get(44),this.onFoldingStrategyChanged()),t.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),t.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))}))),this.onModelChanged()}saveViewState(){const t=this.editor.getModel();if(!t||!this._isEnabled||t.isTooLargeForTokenization())return{};if(this.foldingModel){const i=this.foldingModel.getMemento(),e=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:i,lineCount:t.getLineCount(),provider:e,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(t){const i=this.editor.getModel();if(i&&this._isEnabled&&!i.isTooLargeForTokenization()&&this.hiddenRangeModel&&t&&(this._currentModelHasFoldedImports=!!t.foldedImports,t.collapsedRegions&&t.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(t.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const t=this.editor.getModel();this._isEnabled&&t&&!t.isTooLargeForTokenization()&&(this._currentModelHasFoldedImports=!1,this.foldingModel=new U4(t,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new Y4(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange((t=>this.onHiddenRangesChanges(t)))),this.updateScheduler=new cc(this.updateDebounceInfo.get(t)),this.cursorChangedScheduler=new gc((()=>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),null===(t=this.updateScheduler)||void 0===t||t.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,null===(i=this.rangeProvider)||void 0===i||i.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var t;null===(t=this.rangeProvider)||void 0===t||t.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(t){if(this.rangeProvider)return this.rangeProvider;const i=new t5(t,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=i,this._useFoldingProviders&&this.foldingModel){const e=f5.getFoldingRangeProviders(this.languageFeaturesService,t);e.length>0&&(this.rangeProvider=new u5(t,e,(()=>this.triggerFoldingModelChanged()),this._foldingLimitReporter,i))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(t){var i;null===(i=this.hiddenRangeModel)||void 0===i||i.notifyChangeModelContent(t),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger((()=>{const t=this.foldingModel;if(!t)return null;const i=new he,e=this.getRangeProvider(t.textModel),s=this.foldingRegionPromise=oc((t=>e.compute(t)));return s.then((e=>{if(e&&s===this.foldingRegionPromise){let s;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const t=e.setCollapsedAllOfType(Gs.Imports.value,!0);t&&(s=eU.capture(this.editor),this._currentModelHasFoldedImports=t)}const n=this.editor.getSelections(),o=n?n.map((t=>t.startLineNumber)):[];t.update(e,o),null==s||s.restore(this.editor);const r=this.updateDebounceInfo.update(t.textModel,i.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=r)}return t}))})).then(void 0,(t=>(Pi(t),null))))}onHiddenRangesChanges(t){if(this.hiddenRangeModel&&t.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(t,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const t=this.getFoldingModel();t&&t.then((t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const e=[];for(const s of i){const i=s.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(i)&&e.push(...t.getAllRegionsAtLine(i,(t=>t.isCollapsed&&i>t.startLineNumber)))}e.length&&(t.toggleCollapseState(e),this.reveal(i[0].getPosition()))}}})).then(void 0,Pi)}onEditorMouseDown(t){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!t.target||!t.target.range)return;if(!t.event.leftButton&&!t.event.middleButton)return;const i=t.target.range;let e=!1;switch(t.target.type){case 4:if(t.target.detail.offsetX-t.target.element.offsetLeft<4)return;e=!0;break;case 7:if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!t.target.detail.isAfterLines)break;return;case 6:if(this.hiddenRangeModel.hasRanges()){const t=this.editor.getModel();if(t&&i.startColumn===t.getLineMaxColumn(i.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:i.startLineNumber,iconClicked:e}}onEditorMouseUp(t){const i=this.foldingModel;if(!i||!this.mouseDownInfo||!t.target)return;const e=this.mouseDownInfo.lineNumber,s=this.mouseDownInfo.iconClicked,n=t.target.range;if(!n||n.startLineNumber!==e)return;if(s){if(4!==t.target.type)return}else{const t=this.editor.getModel();if(!t||n.startColumn!==t.getLineMaxColumn(e))return}const o=i.getRegionAtLine(e);if(o&&o.startLineNumber===e){const n=o.isCollapsed;if(s||n){let s=[];if(t.event.altKey){const t=i.getRegionsInside(null,(t=>!t.containedBy(o)&&!o.containedBy(t)));for(const i of t)i.isCollapsed&&s.push(i);0===s.length&&(s=t)}else{const e=t.event.middleButton||t.event.shiftKey;if(e)for(const t of i.getRegionsInside(o))t.isCollapsed===n&&s.push(t);!n&&e&&0!==s.length||s.push(o)}i.toggleCollapseState(s),this.reveal({lineNumber:e,column:1})}}}reveal(t){this.editor.revealPositionInCenterIfOutsideViewport(t,0)}};m5.ID="editor.contrib.folding",m5=f5=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([p5(1,lh),p5(2,tf),p5(3,rT),p5(4,mR),p5(5,Cg)],m5);class w5{constructor(t){this.editor=t,this._onDidChange=new fe,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(t,i){t===this._computed&&i===this._limited||(this._computed=t,this._limited=i,this._onDidChange.fire())}}class v5 extends nu{runEditorCommand(t,i,e){const s=t.get(tf),n=m5.get(i);if(!n)return;const o=n.getFoldingModel();return o?(this.reportTelemetry(t,i),o.then((t=>{if(t){this.invoke(n,t,i,e,s);const o=i.getSelection();o&&n.reveal(o.getStartPosition())}}))):void 0}getSelectedLines(t){const i=t.getSelections();return i?i.map((t=>t.startLineNumber)):[]}getLineNumbers(t,i){return t&&t.selectionLines?t.selectionLines.map((t=>t+1)):this.getSelectedLines(i)}run(t,i){}}function b5(t){if(!V(t)){if(!$(t))return!1;const i=t;if(!V(i.levels)&&!j(i.levels))return!1;if(!V(i.direction)&&!P(i.direction))return!1;if(!(V(i.selectionLines)||Array.isArray(i.selectionLines)&&i.selectionLines.every(j)))return!1}return!0}class y5 extends v5{getFoldingLevel(){return parseInt(this.id.substr(y5.ID_PREFIX.length))}invoke(t,i,e){!function(t,i,e,s){const n=t.getRegionsInside(null,((t,e)=>e===i&&true!==t.isCollapsed&&!s.some((i=>t.containsLine(i)))));t.toggleCollapseState(n)}(i,this.getFoldingLevel(),0,this.getSelectedLines(e))}}y5.ID_PREFIX="editor.foldLevel",y5.ID=t=>y5.ID_PREFIX+t,uu(m5.ID,m5,0),au(class extends v5{constructor(){super({id:"editor.unfold",label:rt(0,"Unfold"),alias:"Unfold",precondition:g5,kbOpts:{kbExpr:XC.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\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* '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\t\t\t\t\t\t",constraint:b5,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(t,i,e,s){const n=s&&s.levels||1,o=this.getLineNumbers(s,e);s&&"up"===s.direction?G4(i,!1,n,o):K4(i,!1,n,o)}}),au(class extends v5{constructor(){super({id:"editor.unfoldRecursively",label:rt(0,"Unfold Recursively"),alias:"Unfold Recursively",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2142),weight:100}})}invoke(t,i,e,s){K4(i,!1,Number.MAX_VALUE,this.getSelectedLines(e))}}),au(class extends v5{constructor(){super({id:"editor.fold",label:rt(0,"Fold"),alias:"Fold",precondition:g5,kbOpts:{kbExpr:XC.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\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* '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\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t",constraint:b5,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(t,i,e,s){const n=this.getLineNumbers(s,e),o=s&&s.levels,r=s&&s.direction;"number"!=typeof o&&"string"!=typeof r?function(t,i,e){const s=[];for(const i of e){const e=t.getAllRegionsAtLine(i,(t=>true!==t.isCollapsed));e.length>0&&s.push(e[0])}t.toggleCollapseState(s)}(i,0,n):"up"===r?G4(i,!0,o||1,n):K4(i,!0,o||1,n)}}),au(class extends v5{constructor(){super({id:"editor.foldRecursively",label:rt(0,"Fold Recursively"),alias:"Fold Recursively",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2140),weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);K4(i,!0,Number.MAX_VALUE,s)}}),au(class extends v5{constructor(){super({id:"editor.foldAll",label:rt(0,"Fold All"),alias:"Fold All",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2069),weight:100}})}invoke(t,i,e){K4(i,!0)}}),au(class extends v5{constructor(){super({id:"editor.unfoldAll",label:rt(0,"Unfold All"),alias:"Unfold All",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2088),weight:100}})}invoke(t,i,e){K4(i,!1)}}),au(class extends v5{constructor(){super({id:"editor.foldAllBlockComments",label:rt(0,"Fold All Block Comments"),alias:"Fold All Block Comments",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2138),weight:100}})}invoke(t,i,e,s,n){if(i.regions.hasTypes())J4(i,Gs.Comment.value,!0);else{const t=e.getModel();if(!t)return;const s=n.getLanguageConfiguration(t.getLanguageId()).comments;s&&s.blockCommentStartToken&&Q4(i,new RegExp("^\\s*"+Zn(s.blockCommentStartToken)),!0)}}}),au(class extends v5{constructor(){super({id:"editor.foldAllMarkerRegions",label:rt(0,"Fold All Regions"),alias:"Fold All Regions",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2077),weight:100}})}invoke(t,i,e,s,n){if(i.regions.hasTypes())J4(i,Gs.Region.value,!0);else{const t=e.getModel();if(!t)return;const s=n.getLanguageConfiguration(t.getLanguageId()).foldingRules;s&&s.markers&&s.markers.start&&Q4(i,new RegExp(s.markers.start),!0)}}}),au(class extends v5{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:rt(0,"Unfold All Regions"),alias:"Unfold All Regions",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2078),weight:100}})}invoke(t,i,e,s,n){if(i.regions.hasTypes())J4(i,Gs.Region.value,!1);else{const t=e.getModel();if(!t)return;const s=n.getLanguageConfiguration(t.getLanguageId()).foldingRules;s&&s.markers&&s.markers.start&&Q4(i,new RegExp(s.markers.start),!1)}}}),au(class extends v5{constructor(){super({id:"editor.foldAllExcept",label:rt(0,"Fold All Except Selected"),alias:"Fold All Except Selected",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2136),weight:100}})}invoke(t,i,e){Z4(i,!0,this.getSelectedLines(e))}}),au(class extends v5{constructor(){super({id:"editor.unfoldAllExcept",label:rt(0,"Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2134),weight:100}})}invoke(t,i,e){Z4(i,!1,this.getSelectedLines(e))}}),au(class extends v5{constructor(){super({id:"editor.toggleFold",label:rt(0,"Toggle Fold"),alias:"Toggle Fold",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2090),weight:100}})}invoke(t,i,e){q4(i,1,this.getSelectedLines(e))}}),au(class extends v5{constructor(){super({id:"editor.gotoParentFold",label:rt(0,"Go to Parent Fold"),alias:"Go to Parent Fold",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);if(s.length>0){const t=function(t,i){let e=null;const s=i.getRegionAtLine(t);if(null!==s&&(e=s.startLineNumber,t===e)){const t=s.parentIndex;e=-1!==t?i.regions.getStartLineNumber(t):null}return e}(s[0],i);null!==t&&e.setSelection({startLineNumber:t,startColumn:1,endLineNumber:t,endColumn:1})}}}),au(class extends v5{constructor(){super({id:"editor.gotoPreviousFold",label:rt(0,"Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);if(s.length>0){const t=function(t,i){let e=i.getRegionAtLine(t);if(null!==e&&e.startLineNumber===t){if(t!==e.startLineNumber)return e.startLineNumber;{const t=e.parentIndex;let s=0;for(-1!==t&&(s=i.regions.getStartLineNumber(e.parentIndex));null!==e;){if(!(e.regionIndex>0))return null;if(e=i.regions.toRegion(e.regionIndex-1),e.startLineNumber<=s)return null;if(e.parentIndex===t)return e.startLineNumber}}}else if(i.regions.length>0)for(e=i.regions.toRegion(i.regions.length-1);null!==e;){if(e.startLineNumber0?i.regions.toRegion(e.regionIndex-1):null}return null}(s[0],i);null!==t&&e.setSelection({startLineNumber:t,startColumn:1,endLineNumber:t,endColumn:1})}}}),au(class extends v5{constructor(){super({id:"editor.gotoNextFold",label:rt(0,"Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);if(s.length>0){const t=function(t,i){let e=i.getRegionAtLine(t);if(null!==e&&e.startLineNumber===t){const t=e.parentIndex;let s=0;if(-1!==t)s=i.regions.getEndLineNumber(e.parentIndex);else{if(0===i.regions.length)return null;s=i.regions.getEndLineNumber(i.regions.length-1)}for(;null!==e;){if(!(e.regionIndex=s)return null;if(e.parentIndex===t)return e.startLineNumber}}else if(i.regions.length>0)for(e=i.regions.toRegion(0);null!==e;){if(e.startLineNumber>t)return e.startLineNumber;e=e.regionIndext.startLineNumber&&(n.push({startLineNumber:t.startLineNumber,endLineNumber:i,type:void 0,isCollapsed:!0,source:1}),e.setSelection({startLineNumber:t.startLineNumber,startColumn:1,endLineNumber:t.startLineNumber,endColumn:1}))}if(n.length>0){n.sort(((t,i)=>t.startLineNumber-i.startLineNumber));const t=H4.sanitizeAndMerge(i.regions,n,null===(s=e.getModel())||void 0===s?void 0:s.getLineCount());i.updatePost(H4.fromFoldRanges(t))}}}}),au(class extends v5{constructor(){super({id:"editor.removeManualFoldingRanges",label:rt(0,"Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2137),weight:100}})}invoke(t,i,e){const s=e.getSelections();if(s){const e=[];for(const t of s){const{startLineNumber:i,endLineNumber:s}=t;e.push(s>=i?{startLineNumber:i,endLineNumber:s}:{endLineNumber:s,startLineNumber:i})}i.removeManualRanges(e),t.triggerFoldingModelChanged()}}});for(let t=1;t<=7;t++)k5=new y5({id:y5.ID(t),label:rt(0,"Fold Level {0}",t),alias:`Fold Level ${t}`,precondition:g5,kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2048|21+t),weight:100}}),fu.INSTANCE.registerEditorAction(k5);var k5;Er.registerCommand("_executeFoldingRangeProvider",(async function(t,...i){const[e]=i;if(!(e instanceof ws))throw Vi();const s=t.get(Cg),n=t.get(gr).getModel(e);if(!n)throw Vi();const o=t.get(gd);if(!o.getValue("editor.folding",{resource:e}))return[];const r=t.get(tf),h=o.getValue("editor.foldingStrategy",{resource:e}),c={get limit(){return o.getValue("editor.foldingMaximumRegions",{resource:e})},update:()=>{}},a=new t5(n,r,c);let l=a;if("indentation"!==h){const t=m5.getFoldingRangeProviders(s,n);t.length&&(l=new u5(n,t,(()=>{}),c,a))}const u=await l.compute(xe.None),d=[];try{if(u)for(let t=0;t=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},C5=function(t,i){return function(e,s){i(e,s,t)}};let S5=class{constructor(t,i,e,s){this._editor=t,this._languageFeaturesService=i,this._workerService=e,this._accessibleNotificationService=s,this._disposables=new te,this._sessionDisposables=new te,this._disposables.add(i.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(t.onDidChangeModel((()=>this._update()))),this._disposables.add(t.onDidChangeModelLanguage((()=>this._update()))),this._disposables.add(t.onDidChangeConfiguration((t=>{t.hasChanged(56)&&this._update()}))),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56))return;if(!this._editor.hasModel())return;const t=this._editor.getModel(),[i]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(t);if(!i||!i.autoFormatTriggerCharacters)return;const e=new Af;for(const t of i.autoFormatTriggerCharacters)e.add(t.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType((t=>{const i=t.charCodeAt(t.length-1);e.has(i)&&this._trigger(String.fromCharCode(i))})))}_trigger(t){if(!this._editor.hasModel())return;if(this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const i=this._editor.getModel(),e=this._editor.getPosition(),s=new Se,n=this._editor.onDidChangeModelContent((t=>{if(t.isFlush)return s.cancel(),void n.dispose();for(let i=0,o=t.changes.length;i{s.token.isCancellationRequested||y(t)&&(this._accessibleNotificationService.notify("format",!1),LK.execute(this._editor,t,!0))})).finally((()=>{n.dispose()}))}};S5.ID="editor.contrib.autoFormat",S5=x5([C5(1,Cg),C5(2,bP),C5(3,Ym)],S5);let D5=class{constructor(t,i,e){this.editor=t,this._languageFeaturesService=i,this._instantiationService=e,this._callOnDispose=new te,this._callOnModel=new te,this._callOnDispose.add(t.onDidChangeConfiguration((()=>this._update()))),this._callOnDispose.add(t.onDidChangeModel((()=>this._update()))),this._callOnDispose.add(t.onDidChangeModelLanguage((()=>this._update()))),this._callOnDispose.add(i.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:t})=>this._trigger(t))))}_trigger(t){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(IK,this.editor,t,2,zO.None,xe.None,!1).catch(Pi))}};D5.ID="editor.contrib.formatOnPaste",D5=x5([C5(1,Cg),C5(2,dr)],D5),uu(S5.ID,S5,2),uu(D5.ID,D5,2),au(class extends nu{constructor(){super({id:"editor.action.formatDocument",label:rt(0,"Format Document"),alias:"Format Document",precondition:Hr.and(XC.notInCompositeEditor,XC.writable,XC.hasDocumentFormattingProvider),kbOpts:{kbExpr:XC.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(t,i){if(i.hasModel()){const e=t.get(dr),s=t.get(HO);await s.showWhile(e.invokeFunction(NK,i,1,zO.None,xe.None,!0),250)}}}),au(class extends nu{constructor(){super({id:"editor.action.formatSelection",label:rt(0,"Format Selection"),alias:"Format Selection",precondition:Hr.and(XC.writable,XC.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:XC.editorTextFocus,primary:Be(2089,2084),weight:100},contextMenuOpts:{when:XC.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(t,i){if(!i.hasModel())return;const e=t.get(dr),s=i.getModel(),n=i.getSelections().map((t=>t.isEmpty()?new Ls(t.startLineNumber,1,t.startLineNumber,s.getLineMaxColumn(t.startLineNumber)):t)),o=t.get(HO);await o.showWhile(e.invokeFunction(IK,i,n,1,zO.None,xe.None,!0),250)}}),Er.registerCommand("editor.action.format",(async t=>{const i=t.get(pr).getFocusedCodeEditor();if(!i||!i.hasModel())return;const e=t.get(Dr);i.getSelection().isEmpty()?await e.executeCommand("editor.action.formatDocument"):await e.executeCommand("editor.action.formatSelection")}));var E5=function(t,i){return function(e,s){i(e,s,t)}};class A5{remove(){var t;null===(t=this.parent)||void 0===t||t.children.delete(this.id)}static findId(t,i){let e;"string"==typeof t?e=`${i.id}/${t}`:(e=`${i.id}/${t.name}`,void 0!==i.children.get(e)&&(e=`${i.id}/${t.name}_${t.range.startLineNumber}_${t.range.startColumn}`));let s=e;for(let t=0;void 0!==i.children.get(s);t++)s=`${e}_${t}`;return s}static empty(t){return 0===t.children.size}}class M5 extends A5{constructor(t,i,e){super(),this.id=t,this.parent=i,this.symbol=e,this.children=new Map}}class L5 extends A5{constructor(t,i,e,s){super(),this.id=t,this.parent=i,this.label=e,this.order=s,this.children=new Map}}class F5 extends A5{static create(t,i,e){const s=new Se(e),n=new F5(i.uri),o=t.ordered(i),r=o.map(((t,e)=>{var o;const r=A5.findId(`provider_${e}`,n),h=new L5(r,n,null!==(o=t.displayName)&&void 0!==o?o:"Unknown Outline Provider",e);return Promise.resolve(t.provideDocumentSymbols(i,s.token)).then((t=>{for(const i of t||[])F5._makeOutlineElement(i,h);return h}),(t=>($i(t),h))).then((t=>{A5.empty(t)?t.remove():n._groups.set(r,t)}))})),h=t.onDidChange((()=>{u(t.ordered(i),o)||s.cancel()}));return Promise.all(r).then((()=>s.token.isCancellationRequested&&!e.isCancellationRequested?F5.create(t,i,e):n._compact())).finally((()=>{s.dispose(),h.dispose(),s.dispose()}))}static _makeOutlineElement(t,i){const e=A5.findId(t,i),s=new M5(e,i,t);if(t.children)for(const i of t.children)F5._makeOutlineElement(i,s);i.children.set(s.id,s)}constructor(t){super(),this.uri=t,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let t=0;for(const[i,e]of this._groups)0===e.children.size?this._groups.delete(i):t+=1;if(1!==t)this.children=this._groups;else{const t=Vt.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const t=[];for(const i of this.children.values())i instanceof M5?t.push(i.symbol):t.push(...Vt.map(i.children.values(),(t=>t.symbol)));return t.sort(((t,i)=>Ls.compareRangesUsingStarts(t.range,i.range)))}asListOfDocumentSymbols(){const t=this.getTopLevelSymbols(),i=[];return F5._flattenDocumentSymbols(i,t,""),i.sort(((t,i)=>Ms.compare(Ls.getStartPosition(t.range),Ls.getStartPosition(i.range))||Ms.compare(Ls.getEndPosition(i.range),Ls.getEndPosition(t.range))))}static _flattenDocumentSymbols(t,i,e){for(const s of i)t.push({kind:s.kind,tags:s.tags,name:s.name,detail:s.detail,containerName:s.containerName||e,range:s.range,selectionRange:s.selectionRange,children:void 0}),s.children&&F5._flattenDocumentSymbols(t,s.children,s.name)}}const T5=fr("IOutlineModelService");let R5=class{constructor(t,i,e){this._languageFeaturesService=t,this._disposables=new te,this._cache=new Up(10,.7),this._debounceInformation=i.for(t.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(e.onModelRemoved((t=>{this._cache.delete(t.id)})))}dispose(){this._disposables.dispose()}async getOrCreate(t,i){const e=this._languageFeaturesService.documentSymbolProvider,s=e.ordered(t);let n=this._cache.get(t.id);if(!n||n.versionId!==t.getVersionId()||!u(n.provider,s)){const i=new Se;n={versionId:t.getVersionId(),provider:s,promiseCnt:0,source:i,promise:F5.create(e,t,i.token),model:void 0},this._cache.set(t.id,n);const o=Date.now();n.promise.then((i=>{n.model=i,this._debounceInformation.update(t,Date.now()-o)})).catch((()=>{this._cache.delete(t.id)}))}if(n.model)return n.model;n.promiseCnt+=1;const o=i.onCancellationRequested((()=>{0==--n.promiseCnt&&(n.source.cancel(),this._cache.delete(t.id))}));try{return await n.promise}finally{o.dispose()}}};R5=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([E5(0,Cg),E5(1,mR),E5(2,gr)],R5),Sd(T5,R5,1),Er.registerCommand("_executeDocumentSymbolProvider",(async function(t,...i){const[e]=i;K(ws.isUri(e));const s=t.get(T5),n=t.get(mr),o=await n.createModelReference(e);try{return(await s.getOrCreate(o.object.textEditorModel,xe.None)).getTopLevelSymbols()}finally{o.dispose()}}));class O5 extends ie{constructor(t,i){super(),this.contextKeyService=t,this.model=i,this.inlineCompletionVisible=O5.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=O5.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=O5.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=O5.suppressSuggestions.bindTo(this.contextKeyService),this._register(jV((t=>{const i=this.model.read(t),e=null==i?void 0:i.state.read(t),s=!!(null==e?void 0:e.inlineCompletion)&&void 0!==(null==e?void 0:e.ghostText)&&!(null==e?void 0:e.ghostText.isEmpty());this.inlineCompletionVisible.set(s),(null==e?void 0:e.ghostText)&&(null==e?void 0:e.inlineCompletion)&&this.suppressSuggestions.set(e.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)}))),this._register(jV((t=>{const i=this.model.read(t);let e=!1,s=!0;const n=null==i?void 0:i.ghostText.read(t);if((null==i?void 0:i.selectedSuggestItem)&&n&&n.parts.length>0){const{column:t,lines:o}=n.parts[0],r=o[0];if(t<=i.textModel.getLineIndentColumn(n.lineNumber)){let t=io(r);-1===t&&(t=r.length-1),e=t>0;const n=i.textModel.getOptions().tabSize;s=tk.visibleColumnFromColumn(r,t+1,n)i)throw new Gi(`startColumn ${t} cannot be after endColumnExclusive ${i}`)}toRange(t){return new Ls(t,this.startColumn,t,this.endColumnExclusive)}equals(t){return this.startColumn===t.startColumn&&this.endColumnExclusive===t.endColumnExclusive}}function B5(t,i){return new Ms(t.lineNumber+i.lineNumber-1,1===i.lineNumber?t.column+i.column-1:i.column)}function P5(t){let i=1,e=1;for(const s of t)"\n"===s?(i++,e=1):e++;return new Ms(i,e)}class $5{constructor(t,i){this.lineNumber=t,this.parts=i}equals(t){return this.lineNumber===t.lineNumber&&this.parts.length===t.parts.length&&this.parts.every(((i,e)=>i.equals(t.parts[e])))}renderForScreenReader(t){if(0===this.parts.length)return"";const i=function(t,i){const e=new I5(t),s=i.map((t=>{const i=Ls.lift(t.range);return{startOffset:e.getOffset(i.getStartPosition()),endOffset:e.getOffset(i.getEndPosition()),text:t.text}}));s.sort(((t,i)=>i.startOffset-t.startOffset));for(const i of s)t=t.substring(0,i.startOffset)+i.text+t.substring(i.endOffset);return t}(t.substr(0,this.parts[this.parts.length-1].column-1),this.parts.map((t=>({range:{startLineNumber:1,endLineNumber:1,startColumn:t.column,endColumn:t.column},text:t.lines.join("\n")}))));return i.substring(this.parts[0].column-1)}isEmpty(){return this.parts.every((t=>0===t.lines.length))}get lineCount(){return 1+this.parts.reduce(((t,i)=>t+i.lines.length-1),0)}}class W5{constructor(t,i,e){this.column=t,this.lines=i,this.preview=e}equals(t){return this.column===t.column&&this.lines.length===t.lines.length&&this.lines.every(((i,e)=>i===t.lines[e]))}}class j5{constructor(t,i,e,s=0){this.lineNumber=t,this.columnRange=i,this.newLines=e,this.additionalReservedLineCount=s,this.parts=[new W5(this.columnRange.endColumnExclusive,this.newLines,!1)]}renderForScreenReader(t){return this.newLines.join("\n")}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every((t=>0===t.lines.length))}equals(t){return this.lineNumber===t.lineNumber&&this.columnRange.equals(t.columnRange)&&this.newLines.length===t.newLines.length&&this.newLines.every(((i,e)=>i===t.newLines[e]))&&this.additionalReservedLineCount===t.additionalReservedLineCount}}function z5(t,i){return t===i||!(!t||!i)&&(t instanceof $5&&i instanceof $5||t instanceof j5&&i instanceof j5)&&t.equals(i)}const H5="ghost-text";let V5=class extends ie{constructor(t,i,e){super(),this.editor=t,this.model=i,this.languageService=e,this.isDisposed=TV(this,!1),this.currentTextModel=GV(this.editor.onDidChangeModel,(()=>this.editor.getModel())),this.uiState=NV(this,(t=>{if(this.isDisposed.read(t))return;const i=this.currentTextModel.read(t);if(i!==this.model.targetTextModel.read(t))return;const e=this.model.ghostText.read(t);if(!e)return;const s=e instanceof j5?e.columnRange:void 0,n=[],o=[];function r(t,i){if(o.length>0){const e=o[o.length-1];i&&e.decorations.push(new jg(e.content.length+1,e.content.length+1+t[0].length,i,0)),e.content+=t[0],t=t.slice(1)}for(const e of t)o.push({content:e,decorations:i?[new jg(1,e.length+1,i,0)]:[]})}const h=i.getLineContent(e.lineNumber);let c,a=0;for(const t of e.parts){let i=t.lines;void 0===c?(n.push({column:t.column,text:i[0],preview:t.preview}),i=i.slice(1)):r([h.substring(a,t.column-1)],void 0),i.length>0&&(r(i,H5),void 0===c&&t.column<=h.length&&(c=t.column)),a=t.column-1}void 0!==c&&r([h.substring(a)],void 0);const l=void 0!==c?new N5(c,h.length+1):void 0;return{replacedRange:s,inlineTexts:n,additionalLines:o,hiddenRange:l,lineNumber:e.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(t),targetTextModel:i}})),this.decorations=NV(this,(t=>{const i=this.uiState.read(t);if(!i)return[];const e=[];i.replacedRange&&e.push({range:i.replacedRange.toRange(i.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),i.hiddenRange&&e.push({range:i.hiddenRange.toRange(i.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const t of i.inlineTexts)e.push({range:Ls.fromPositions(new Ms(i.lineNumber,t.column)),options:{description:H5,after:{content:t.text,inlineClassName:t.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:$f.Left},showIfCollapsed:!0}});return e})),this.additionalLinesWidget=this._register(new U5(this.editor,this.languageService.languageIdCodec,NV((t=>{const i=this.uiState.read(t);return i?{lineNumber:i.lineNumber,additionalLines:i.additionalLines,minReservedLineCount:i.additionalReservedLineCount,targetTextModel:i.targetTextModel}:void 0})))),this._register(Xi((()=>{this.isDisposed.set(!0,void 0)}))),this._register(function(t,i){const e=new te,s=t.createDecorationsCollection();return e.add(zV({debugName:()=>`Apply decorations from ${i.debugName}`},(t=>{const e=i.read(t);s.set(e)}))),e.add({dispose:()=>{s.clear()}}),e}(this.editor,this.decorations))}ownsViewZone(t){return this.additionalLinesWidget.viewZoneId===t}};V5=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,kd)],V5);class U5 extends ie{get viewZoneId(){return this._viewZoneId}constructor(t,i,e){super(),this.editor=t,this.languageIdCodec=i,this.lines=e,this._viewZoneId=void 0,this.editorOptionsChanged=QV("editorOptionChanged",ce.filter(this.editor.onDidChangeConfiguration,(t=>t.hasChanged(33)||t.hasChanged(116)||t.hasChanged(98)||t.hasChanged(93)||t.hasChanged(51)||t.hasChanged(50)||t.hasChanged(66)))),this._register(jV((t=>{const i=this.lines.read(t);this.editorOptionsChanged.read(t),i?this.updateLines(i.lineNumber,i.additionalLines,i.minReservedLineCount):this.clear()})))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones((t=>{this._viewZoneId&&(t.removeZone(this._viewZoneId),this._viewZoneId=void 0)}))}updateLines(t,i,e){const s=this.editor.getModel();if(!s)return;const{tabSize:n}=s.getOptions();this.editor.changeViewZones((s=>{this._viewZoneId&&(s.removeZone(this._viewZoneId),this._viewZoneId=void 0);const o=Math.max(i.length,e);if(o>0){const e=document.createElement("div");!function(t,i,e,s,n){const o=s.get(33),r=s.get(116),h=s.get(93),c=s.get(51),a=s.get(50),l=s.get(66),u=new id(1e4);u.appendString('
    ');for(let t=0,s=e.length;t');const f=Ao(d),p=Do(d),g=$g.createEmpty(d,n);Jg(new Kg(a.isMonospace&&!o,a.canUseHalfwidthRightwardsArrow,d,!1,f,p,0,g,s.decorations,i,0,a.spaceWidth,a.middotWidth,a.wsmiddotWidth,r,"none",h,c!==vi.OFF,null),u),u.appendString("
    ")}u.appendString(""),er(t,a);const d=u.build(),f=q5?q5.createHTML(d):d;t.innerHTML=f}(e,n,i,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=s.addZone({afterLineNumber:t,heightInLines:o,domNode:e,afterColumnAffinity:1})}}))}}const q5=Lu("editorGhostText",{createHTML:t=>t});class K5{constructor(t){this.lines=t,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(t){return this.lines[t-1].getLineContent().length}}class G5{constructor(){this.value="",this.pos=0}static isDigitCharacter(t){return t>=48&&t<=57}static isVariableCharacter(t){return 95===t||t>=97&&t<=122||t>=65&&t<=90}text(t){this.value=t,this.pos=0}tokenText(t){return this.value.substr(t.pos,t.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const t=this.pos;let i,e=0,s=this.value.charCodeAt(t);if(i=G5._table[s],"number"==typeof i)return this.pos+=1,{type:i,pos:t,len:1};if(G5.isDigitCharacter(s)){i=8;do{e+=1,s=this.value.charCodeAt(t+e)}while(G5.isDigitCharacter(s));return this.pos+=e,{type:i,pos:t,len:e}}if(G5.isVariableCharacter(s)){i=9;do{s=this.value.charCodeAt(t+ ++e)}while(G5.isVariableCharacter(s)||G5.isDigitCharacter(s));return this.pos+=e,{type:i,pos:t,len:e}}i=10;do{e+=1,s=this.value.charCodeAt(t+e)}while(!isNaN(s)&&void 0===G5._table[s]&&!G5.isDigitCharacter(s)&&!G5.isVariableCharacter(s));return this.pos+=e,{type:i,pos:t,len:e}}}G5._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};class Z5{constructor(){this._children=[]}appendChild(t){return t instanceof Q5&&this._children[this._children.length-1]instanceof Q5?this._children[this._children.length-1].value+=t.value:(t.parent=this,this._children.push(t)),this}replace(t,i){const{parent:e}=t,s=e.children.indexOf(t),n=e.children.slice(0);n.splice(s,1,...i),e._children=n,function t(i,e){for(const s of i)s.parent=e,t(s.children,s)}(i,e)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let t=this;for(;;){if(!t)return;if(t instanceof n3)return t;t=t.parent}}toString(){return this.children.reduce(((t,i)=>t+i.toString()),"")}len(){return 0}}class Q5 extends Z5{constructor(t){super(),this.value=t}toString(){return this.value}len(){return this.value.length}clone(){return new Q5(this.value)}}class J5 extends Z5{}class Y5 extends J5{static compareByIndex(t,i){return t.index===i.index?0:t.isFinalTabstop?1:i.isFinalTabstop||t.indexi.index?1:0}constructor(t){super(),this.index=t}get isFinalTabstop(){return 0===this.index}get choice(){return 1===this._children.length&&this._children[0]instanceof X5?this._children[0]:void 0}clone(){const t=new Y5(this.index);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map((t=>t.clone())),t}}class X5 extends Z5{constructor(){super(...arguments),this.options=[]}appendChild(t){return t instanceof Q5&&(t.parent=this,this.options.push(t)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const t=new X5;return this.options.forEach(t.appendChild,t),t}}class t3 extends Z5{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(t){const i=this;let e=!1,s=t.replace(this.regexp,(function(){return e=!0,i._replace(Array.prototype.slice.call(arguments,0,-2))}));return!e&&this._children.some((t=>t instanceof i3&&Boolean(t.elseValue)))&&(s=this._replace([])),s}_replace(t){let i="";for(const e of this._children)if(e instanceof i3){let s=t[e.index]||"";s=e.resolve(s),i+=s}else i+=e.toString();return i}toString(){return""}clone(){const t=new t3;return t.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),t._children=this.children.map((t=>t.clone())),t}}class i3 extends Z5{constructor(t,i,e,s){super(),this.index=t,this.shorthandName=i,this.ifValue=e,this.elseValue=s}resolve(t){return"upcase"===this.shorthandName?t?t.toLocaleUpperCase():"":"downcase"===this.shorthandName?t?t.toLocaleLowerCase():"":"capitalize"===this.shorthandName?t?t[0].toLocaleUpperCase()+t.substr(1):"":"pascalcase"===this.shorthandName?t?this._toPascalCase(t):"":"camelcase"===this.shorthandName?t?this._toCamelCase(t):"":Boolean(t)&&"string"==typeof this.ifValue?this.ifValue:Boolean(t)||"string"!=typeof this.elseValue?t||"":this.elseValue}_toPascalCase(t){const i=t.match(/[a-z0-9]+/gi);return i?i.map((t=>t.charAt(0).toUpperCase()+t.substr(1))).join(""):t}_toCamelCase(t){const i=t.match(/[a-z0-9]+/gi);return i?i.map(((t,i)=>0===i?t.charAt(0).toLowerCase()+t.substr(1):t.charAt(0).toUpperCase()+t.substr(1))).join(""):t}clone(){return new i3(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class e3 extends J5{constructor(t){super(),this.name=t}resolve(t){let i=t.resolve(this);return this.transform&&(i=this.transform.resolve(i||"")),void 0!==i&&(this._children=[new Q5(i)],!0)}clone(){const t=new e3(this.name);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map((t=>t.clone())),t}}function s3(t,i){const e=[...t];for(;e.length>0;){const t=e.shift();if(!i(t))break;e.unshift(...t.children)}}class n3 extends Z5{get placeholderInfo(){if(!this._placeholders){const t=[];let i;this.walk((function(e){return e instanceof Y5&&(t.push(e),i=!i||i.indexs===t?(e=!0,!1):(i+=s.len(),!0))),e?i:-1}fullLen(t){let i=0;return s3([t],(t=>(i+=t.len(),!0))),i}enclosingPlaceholders(t){const i=[];let{parent:e}=t;for(;e;)e instanceof Y5&&i.push(e),e=e.parent;return i}resolveVariables(t){return this.walk((i=>(i instanceof e3&&i.resolve(t)&&(this._placeholders=void 0),!0))),this}appendChild(t){return this._placeholders=void 0,super.appendChild(t)}replace(t,i){return this._placeholders=void 0,super.replace(t,i)}clone(){const t=new n3;return this._children=this.children.map((t=>t.clone())),t}walk(t){s3(this.children,t)}}class o3{constructor(){this._scanner=new G5,this._token={type:14,pos:0,len:0}}static escape(t){return t.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(t){return/\${?CLIPBOARD/.test(t)}parse(t,i,e){const s=new n3;return this.parseFragment(t,s),this.ensureFinalTabstop(s,null!=e&&e,null!=i&&i),s}parseFragment(t,i){const e=i.children.length;for(this._scanner.text(t),this._token=this._scanner.next();this._parse(i););const s=new Map,n=[];i.walk((t=>(t instanceof Y5&&(t.isFinalTabstop?s.set(0,void 0):!s.has(t.index)&&t.children.length>0?s.set(t.index,t.children):n.push(t)),!0)));const o=(t,e)=>{const n=s.get(t.index);if(!n)return;const r=new Y5(t.index);r.transform=t.transform;for(const t of n){const i=t.clone();r.appendChild(i),i instanceof Y5&&s.has(i.index)&&!e.has(i.index)&&(e.add(i.index),o(i,e),e.delete(i.index))}i.replace(t,[r])},r=new Set;for(const t of n)o(t,r);return i.children.slice(e)}ensureFinalTabstop(t,i,e){(i||e&&t.placeholders.length>0)&&(t.placeholders.find((t=>0===t.index))||t.appendChild(new Y5(0)))}_accept(t,i){if(void 0===t||this._token.type===t){const t=!i||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),t}return!1}_backTo(t){return this._scanner.pos=t.pos+t.len,this._token=t,!1}_until(t){const i=this._token;for(;this._token.type!==t;){if(14===this._token.type)return!1;if(5===this._token.type){const t=this._scanner.next();if(0!==t.type&&4!==t.type&&5!==t.type)return!1}this._token=this._scanner.next()}const e=this._scanner.value.substring(i.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),e}_parse(t){return this._parseEscaped(t)||this._parseTabstopOrVariableName(t)||this._parseComplexPlaceholder(t)||this._parseComplexVariable(t)||this._parseAnything(t)}_parseEscaped(t){let i;return!!(i=this._accept(5,!0))&&(i=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||i,t.appendChild(new Q5(i)),!0)}_parseTabstopOrVariableName(t){let i;const e=this._token;return this._accept(0)&&(i=this._accept(9,!0)||this._accept(8,!0))?(t.appendChild(/^\d+$/.test(i)?new Y5(Number(i)):new e3(i)),!0):this._backTo(e)}_parseComplexPlaceholder(t){let i;const e=this._token;if(!(this._accept(0)&&this._accept(3)&&(i=this._accept(8,!0))))return this._backTo(e);const s=new Y5(Number(i));if(this._accept(1))for(;;){if(this._accept(4))return t.appendChild(s),!0;if(!this._parse(s))return t.appendChild(new Q5("${"+i+":")),s.children.forEach(t.appendChild,t),!0}else{if(!(s.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(s)?(t.appendChild(s),!0):(this._backTo(e),!1):this._accept(4)?(t.appendChild(s),!0):this._backTo(e);{const i=new X5;for(;;){if(this._parseChoiceElement(i)){if(this._accept(2))continue;if(this._accept(7)&&(s.appendChild(i),this._accept(4)))return t.appendChild(s),!0}return this._backTo(e),!1}}}}_parseChoiceElement(t){const i=this._token,e=[];for(;2!==this._token.type&&7!==this._token.type;){let t;if(t=(t=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||t:this._accept(void 0,!0),!t)return this._backTo(i),!1;e.push(t)}return 0===e.length?(this._backTo(i),!1):(t.appendChild(new Q5(e.join(""))),!0)}_parseComplexVariable(t){let i;const e=this._token;if(!(this._accept(0)&&this._accept(3)&&(i=this._accept(9,!0))))return this._backTo(e);const s=new e3(i);if(!this._accept(1))return this._accept(6)?this._parseTransform(s)?(t.appendChild(s),!0):(this._backTo(e),!1):this._accept(4)?(t.appendChild(s),!0):this._backTo(e);for(;;){if(this._accept(4))return t.appendChild(s),!0;if(!this._parse(s))return t.appendChild(new Q5("${"+i+":")),s.children.forEach(t.appendChild,t),!0}}_parseTransform(t){const i=new t3;let e="",s="";for(;!this._accept(6);){let t;if(t=this._accept(5,!0))t=this._accept(6,!0)||t,e+=t;else{if(14===this._token.type)return!1;e+=this._accept(void 0,!0)}}for(;!this._accept(6);){let t;if(t=this._accept(5,!0))t=this._accept(5,!0)||this._accept(6,!0)||t,i.appendChild(new Q5(t));else if(!this._parseFormatString(i)&&!this._parseAnything(i))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;s+=this._accept(void 0,!0)}try{i.regexp=new RegExp(e,s)}catch(t){return!1}return t.transform=i,!0}_parseFormatString(t){const i=this._token;if(!this._accept(0))return!1;let e=!1;this._accept(3)&&(e=!0);const s=this._accept(8,!0);if(!s)return this._backTo(i),!1;if(!e)return t.appendChild(new i3(Number(s))),!0;if(this._accept(4))return t.appendChild(new i3(Number(s))),!0;if(!this._accept(1))return this._backTo(i),!1;if(this._accept(6)){const e=this._accept(9,!0);return e&&this._accept(4)?(t.appendChild(new i3(Number(s),e)),!0):(this._backTo(i),!1)}if(this._accept(11)){const i=this._until(4);if(i)return t.appendChild(new i3(Number(s),void 0,i,void 0)),!0}else if(this._accept(12)){const i=this._until(4);if(i)return t.appendChild(new i3(Number(s),void 0,void 0,i)),!0}else if(this._accept(13)){const i=this._until(1);if(i){const e=this._until(4);if(e)return t.appendChild(new i3(Number(s),void 0,i,e)),!0}}else{const i=this._until(4);if(i)return t.appendChild(new i3(Number(s),void 0,void 0,i)),!0}return this._backTo(i),!1}_parseAnything(t){return 14!==this._token.type&&(t.appendChild(new Q5(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}}async function r3(t,i,e,s,n=xe.None,o){const r=function(t,i){const e=i.getWordAtPosition(t),s=i.getLineMaxColumn(t.lineNumber);return e?new Ls(t.lineNumber,e.startColumn,t.lineNumber,s):Ls.fromPositions(t,t.with(void 0,s))}(i,e),h=t.all(e),c=new Kp;for(const t of h)t.groupId&&c.add(t.groupId,t);function a(t){if(!t.yieldsToGroupIds)return[];const i=[];for(const e of t.yieldsToGroupIds||[]){const t=c.get(e);for(const e of t)i.push(e)}return i}const l=new Map,u=new Set;function d(t,i){if(i=[...i,t],u.has(t))return i;u.add(t);try{const e=a(t);for(const t of e){const e=d(t,i);if(e)return e}}finally{u.delete(t)}}function f(t){const o=l.get(t);if(o)return o;const r=d(t,[]);r&&$i(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${r.map((t=>t.toString?t.toString():""+t)).join(" -> ")}`));const h=new yc;return l.set(t,h.p),(async()=>{if(!r){const i=a(t);for(const t of i){const i=await f(t);if(i&&i.items.length>0)return}}try{return await t.provideInlineCompletions(e,i,s,n)}catch(t){return void $i(t)}})().then((t=>h.complete(t)),(t=>h.error(t))),h.p}const p=await Promise.all(h.map((async t=>({provider:t,completions:await f(t)})))),g=new Map,m=[];for(const t of p){const i=t.completions;if(!i)continue;const s=new c3(i,t.provider);m.push(s);for(const t of i.items){const i=a3.from(t,s,r,e,o);g.set(i.hash(),i)}}return new h3(Array.from(g.values()),new Set(g.keys()),m)}class h3{constructor(t,i,e){this.completions=t,this.hashs=i,this.providerResults=e}has(t){return this.hashs.has(t.hash())}dispose(){for(const t of this.providerResults)t.removeRef()}}class c3{constructor(t,i){this.inlineCompletions=t,this.provider=i,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,0===this.refCount&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class a3{static from(t,i,e,s,n){let o,r,h=t.range?Ls.lift(t.range):e;if("string"==typeof t.insertText){if(o=t.insertText,n&&t.completeBracketPairs){o=l3(o,h.getStartPosition(),s,n);const i=o.length-t.insertText.length;0!==i&&(h=new Ls(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn+i))}r=void 0}else if("snippet"in t.insertText){const i=t.insertText.snippet.length;if(n&&t.completeBracketPairs){t.insertText.snippet=l3(t.insertText.snippet,h.getStartPosition(),s,n);const e=t.insertText.snippet.length-i;0!==e&&(h=new Ls(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn+e))}const e=(new o3).parse(t.insertText.snippet);1===e.children.length&&e.children[0]instanceof Q5?(o=e.children[0].value,r=void 0):(o=e.toString(),r={snippet:t.insertText.snippet,range:h})}else Ch();return new a3(o,t.command,h,o,r,t.additionalTextEdits||_5,t,i)}constructor(t,i,e,s,n,o,r,h){this.filterText=t,this.command=i,this.range=e,this.insertText=s,this.snippetInfo=n,this.additionalTextEdits=o,this.sourceInlineCompletion=r,this.source=h,s=(t=t.replace(/\r\n|\r/g,"\n")).replace(/\r\n|\r/g,"\n")}withRange(t){return new a3(this.filterText,this.command,t,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}}function l3(t,i,e,s){const n=e.getLineContent(i.lineNumber).substring(0,i.column-1)+t,o=e.tokenization.tokenizeLineWithEdit(i,n.length-(i.column-1),t),r=null==o?void 0:o.sliceAndInflate(i.column-1,n.length,0);if(!r)return t;const h=function(t,i){const e=new bE,s=new BE(e,(t=>i.getLanguageConfiguration(t))),n=VE(new OE(new K5([t]),s),[],void 0,!0);let o="";const r=t.getLineContent();return function t(i,e){if(2===i.kind)if(t(i.openingBracket,e),e=nE(e,i.openingBracket.length),i.child&&(t(i.child,e),e=nE(e,i.child.length)),i.closingBracket)t(i.closingBracket,e),e=nE(e,i.closingBracket.length);else{const t=s.getSingleLanguageBracketTokens(i.openingBracket.languageId).findClosingTokenText(i.openingBracket.bracketIds);o+=t}else if(3===i.kind);else if(0===i.kind||1===i.kind)o+=r.substring(e,nE(e,i.length));else if(4===i.kind)for(const s of i.children)t(s,e),e=nE(e,s.length)}(n,XD),o}(r,s);return h}class u3{constructor(t,i){this.range=t,this.text=i}removeCommonPrefix(t,i){const e=i?this.range.intersectRanges(i):this.range;if(!e)return this;const s=t.getValueInRange(e,1),n=po(s,this.text),o=B5(this.range.getStartPosition(),P5(s.substring(0,n))),r=this.text.substring(n),h=Ls.fromPositions(o,this.range.getEndPosition());return new u3(h,r)}augments(t){return this.text.startsWith(t.text)&&(i=this.range,(e=t.range).getStartPosition().equals(i.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(i.getEndPosition()));var i,e}computeGhostText(t,i,e,s=0){let n=this.removeCommonPrefix(t);if(n.range.endLineNumber!==n.range.startLineNumber)return;const o=t.getLineContent(n.range.startLineNumber),r=eo(o).length;if(n.range.startColumn-1<=r){const t=eo(n.text).length,i=o.substring(n.range.startColumn-1,r),[e,s]=[n.range.getStartPosition(),n.range.getEndPosition()],h=e.column+i.length<=s.column?e.delta(0,i.length):s,c=Ls.fromPositions(h,s),a=n.text.startsWith(i)?n.text.substring(i.length):n.text.substring(t);n=new u3(c,a)}const h=t.getValueInRange(n.range),c=function(t,i){if((null==d3?void 0:d3.originalValue)===t&&(null==d3?void 0:d3.newValue)===i)return null==d3?void 0:d3.changes;{let e=p3(t,i,!0);if(e){const s=f3(e);if(s>0){const n=p3(t,i,!1);n&&f3(n)0===t.originalLength));if(t.length>1||1===t.length&&t[0].originalStart!==h.length)return}const u=n.text.length-s;for(const t of c){const s=n.range.startColumn+t.originalStart+t.originalLength;if("subwordSmart"===i&&e&&e.lineNumber===n.range.startLineNumber&&s0)return;if(0===t.modifiedLength)continue;const o=t.modifiedStart+t.modifiedLength,r=Math.max(t.modifiedStart,Math.min(o,u)),h=n.text.substring(t.modifiedStart,r),c=n.text.substring(r,Math.max(t.modifiedStart,o));if(h.length>0){const t=to(h);l.push(new W5(s,t,!1))}if(c.length>0){const t=to(c);l.push(new W5(s,t,!0))}}return new $5(a,l)}}let d3;function f3(t){let i=0;for(const e of t)i+=e.originalLength;return i}function p3(t,i,e){if(t.length>5e3||i.length>5e3)return;function s(t){let i=0;for(let e=0,s=t.length;ei&&(i=s)}return i}const n=Math.max(s(t),s(i));function o(t){if(t<0)throw new Error("unexpected");return n+t+1}function r(t){let i=0,s=0;const n=new Int32Array(t.length);for(let r=0,h=t.length;rh},{getElements:()=>c}).ComputeDiff(!1).changes}var g3=function(t,i){return function(e,s){i(e,s,t)}};let m3=class extends ie{constructor(t,i,e,s,n){super(),this.textModel=t,this.versionId=i,this._debounceValue=e,this.languageFeaturesService=s,this.languageConfigurationService=n,this._updateOperation=this._register(new ee),this.inlineCompletions=OV("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=OV("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent((()=>{this._updateOperation.clear()})))}fetch(t,i,e){var s,n;const o=new w3(t,i,this.textModel.getVersionId()),r=i.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if(null===(s=this._updateOperation.value)||void 0===s?void 0:s.request.satisfies(o))return this._updateOperation.value.promise;if(null===(n=r.get())||void 0===n?void 0:n.request.satisfies(o))return Promise.resolve(!0);const h=!!this._updateOperation.value;this._updateOperation.clear();const c=new Se,a=(async()=>{var s;if((h||i.triggerKind===Ws.Automatic)&&await(s=this._debounceValue.get(this.textModel),new Promise((t=>{let i;setTimeout((()=>{i&&i.dispose(),t()}),s)}))),c.token.isCancellationRequested||this.textModel.getVersionId()!==o.versionId)return!1;const n=new Date,a=await r3(this.languageFeaturesService.inlineCompletionsProvider,t,this.textModel,i,c.token,this.languageConfigurationService);if(c.token.isCancellationRequested||this.textModel.getVersionId()!==o.versionId)return!1;const l=new Date;this._debounceValue.update(this.textModel,l.getTime()-n.getTime());const u=new b3(a,o,this.textModel,this.versionId);if(e){const i=e.toInlineCompletion(void 0);e.canBeReused(this.textModel,t)&&!a.has(i)&&u.prepend(e.inlineCompletion,i.range,!0)}return this._updateOperation.clear(),kV((t=>{r.set(u,t)})),!0})(),l=new v3(o,c,a);return this._updateOperation.value=l,a}clear(t){this._updateOperation.clear(),this.inlineCompletions.set(void 0,t),this.suggestWidgetInlineCompletions.set(void 0,t)}clearSuggestWidgetInlineCompletions(t){var i;(null===(i=this._updateOperation.value)||void 0===i?void 0:i.request.context.selectedSuggestionInfo)&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,t)}cancelUpdate(){this._updateOperation.clear()}};m3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([g3(3,Cg),g3(4,tf)],m3);class w3{constructor(t,i,e){this.position=t,this.context=i,this.versionId=e}satisfies(t){return this.position.equals(t.position)&&(e=t.context.selectedSuggestionInfo,(i=this.context.selectedSuggestionInfo)&&e?((t,i)=>t.equals(i))(i,e):i===e)&&(t.context.triggerKind===Ws.Automatic||this.context.triggerKind===Ws.Explicit)&&this.versionId===t.versionId;var i,e}}class v3{constructor(t,i,e){this.request=t,this.cancellationTokenSource=i,this.promise=e}dispose(){this.cancellationTokenSource.cancel()}}class b3{get inlineCompletions(){return this._inlineCompletions}constructor(t,i,e,s){this.inlineCompletionProviderResult=t,this.request=i,this.textModel=e,this.versionId=s,this._refCount=1,this._prependedInlineCompletionItems=[],this._rangeVersionIdValue=0,this._rangeVersionId=NV(this,(t=>{this.versionId.read(t);let i=!1;for(const t of this._inlineCompletions)i=i||t._updateRange(this.textModel);return i&&this._rangeVersionIdValue++,this._rangeVersionIdValue}));const n=e.deltaDecorations([],t.completions.map((t=>({range:t.range,options:{description:"inline-completion-tracking-range"}}))));this._inlineCompletions=t.completions.map(((t,i)=>new y3(t,n[i],this._rangeVersionId)))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,0===this._refCount){setTimeout((()=>{this.textModel.isDisposed()||this.textModel.deltaDecorations(this._inlineCompletions.map((t=>t.decorationId)),[])}),0),this.inlineCompletionProviderResult.dispose();for(const t of this._prependedInlineCompletionItems)t.source.removeRef()}}prepend(t,i,e){e&&t.source.addRef();const s=this.textModel.deltaDecorations([],[{range:i,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new y3(t,s,this._rangeVersionId,i)),this._prependedInlineCompletionItems.push(t)}}class y3{get forwardStable(){var t;return null!==(t=this.inlineCompletion.source.inlineCompletions.enableForwardStability)&&void 0!==t&&t}constructor(t,i,e,s){this.inlineCompletion=t,this.decorationId=i,this.rangeVersion=e,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._isValid=!0,this._updatedRange=null!=s?s:t.range}toInlineCompletion(t){return this.inlineCompletion.withRange(this._getUpdatedRange(t))}toSingleTextEdit(t){return new u3(this._getUpdatedRange(t),this.inlineCompletion.insertText)}isVisible(t,i,e){const s=this._toFilterTextReplacement(e).removeCommonPrefix(t);if(!this._isValid||!this.inlineCompletion.range.getStartPosition().equals(this._getUpdatedRange(e).getStartPosition())||i.lineNumber!==s.range.startLineNumber)return!1;const n=t.getValueInRange(s.range,1),o=s.text,r=Math.max(0,i.column-s.range.startColumn);let h=o.substring(0,r),c=o.substring(r),a=n.substring(0,r),l=n.substring(r);const u=t.getLineIndentColumn(s.range.startLineNumber);return s.range.startColumn<=u&&(a=a.trimStart(),0===a.length&&(l=l.trimStart()),h=h.trimStart(),0===h.length&&(c=c.trimStart())),h.startsWith(a)&&!!jI(l,c)}canBeReused(t,i){return this._isValid&&this._getUpdatedRange(void 0).containsPosition(i)&&this.isVisible(t,i,void 0)&&!this._isSmallerThanOriginal(void 0)}_toFilterTextReplacement(t){return new u3(this._getUpdatedRange(t),this.inlineCompletion.filterText)}_isSmallerThanOriginal(t){return k3(this._getUpdatedRange(t)).isBefore(k3(this.inlineCompletion.range))}_getUpdatedRange(t){return this.rangeVersion.read(t),this._updatedRange}_updateRange(t){const i=t.getDecorationRange(this.decorationId);return i?!this._updatedRange.equalsRange(i)&&(this._updatedRange=i,!0):(this._isValid=!1,!0)}}function k3(t){return t.startLineNumber===t.endLineNumber?new Ms(1,1+t.endColumn-t.startColumn):new Ms(1+t.endLineNumber-t.startLineNumber,t.endColumn)}const x3={Visible:z2,HasFocusedSuggestion:new ah("suggestWidgetHasFocusedSuggestion",!1,rt(0,"Whether any suggestion is focused")),DetailsVisible:new ah("suggestWidgetDetailsVisible",!1,rt(0,"Whether suggestion details are visible")),MultipleSuggestions:new ah("suggestWidgetMultipleSuggestions",!1,rt(0,"Whether there are multiple suggestions to pick from")),MakesTextEdit:new ah("suggestionMakesTextEdit",!0,rt(0,"Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new ah("acceptSuggestionOnEnter",!0,rt(0,"Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new ah("suggestionHasInsertAndReplaceRange",!1,rt(0,"Whether the current suggestion has insert and replace behaviour")),InsertMode:new ah("suggestionInsertMode",void 0,{type:"string",description:rt(0,"Whether the default behaviour is to insert or replace")}),CanResolve:new ah("suggestionCanResolve",!1,rt(0,"Whether the current suggestion supports to resolve further details"))},C3=new Oh("suggestWidgetStatusBar");class S3{constructor(t,i,e,s){var n;this.position=t,this.completion=i,this.container=e,this.provider=s,this.isInvalid=!1,this.score=C_.Default,this.distance=0,this.textLabel="string"==typeof i.label?i.label:null===(n=i.label)||void 0===n?void 0:n.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=i.sortText&&i.sortText.toLowerCase(),this.filterTextLow=i.filterText&&i.filterText.toLowerCase(),this.extensionId=i.extensionId,Ls.isIRange(i.range)?(this.editStart=new Ms(i.range.startLineNumber,i.range.startColumn),this.editInsertEnd=new Ms(i.range.endLineNumber,i.range.endColumn),this.editReplaceEnd=new Ms(i.range.endLineNumber,i.range.endColumn),this.isInvalid=this.isInvalid||Ls.spansMultipleLines(i.range)||i.range.startLineNumber!==t.lineNumber):(this.editStart=new Ms(i.range.insert.startLineNumber,i.range.insert.startColumn),this.editInsertEnd=new Ms(i.range.insert.endLineNumber,i.range.insert.endColumn),this.editReplaceEnd=new Ms(i.range.replace.endLineNumber,i.range.replace.endColumn),this.isInvalid=this.isInvalid||Ls.spansMultipleLines(i.range.insert)||Ls.spansMultipleLines(i.range.replace)||i.range.insert.startLineNumber!==t.lineNumber||i.range.replace.startLineNumber!==t.lineNumber||i.range.insert.startColumn!==i.range.replace.startColumn),"function"!=typeof s.resolveCompletionItem&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return void 0!==this._resolveDuration}get resolveDuration(){return void 0!==this._resolveDuration?this._resolveDuration:-1}async resolve(t){if(!this._resolveCache){const i=t.onCancellationRequested((()=>{this._resolveCache=void 0,this._resolveDuration=void 0})),e=new he(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,t)).then((t=>{Object.assign(this.completion,t),this._resolveDuration=e.elapsed()}),(t=>{zi(t)&&(this._resolveCache=void 0,this._resolveDuration=void 0)})).finally((()=>{i.dispose()}))}return this._resolveCache}}class D3{constructor(t=2,i=new Set,e=new Set,s=new Map,n=!0){this.snippetSortOrder=t,this.kindFilter=i,this.providerFilter=e,this.providerItemsToReuse=s,this.showDeprecated=n}}D3.default=new D3;class E3{constructor(t,i,e,s){this.items=t,this.needsClipboard=i,this.durations=e,this.disposable=s}}async function A3(t,i,e,s=D3.default,n={triggerKind:0},o=xe.None){const r=new he;e=e.clone();const h=i.getWordAtPosition(e),c=h?new Ls(e.lineNumber,h.startColumn,e.lineNumber,h.endColumn):Ls.fromPositions(e),a={replace:c,insert:c.setEndPosition(e.lineNumber,e.column)},l=[],u=new te,d=[];let f=!1;const p=(t,i,n)=>{var o,r,h;let c=!1;if(!i)return c;for(const n of i.suggestions)if(!s.kindFilter.has(n.kind)){if(!s.showDeprecated&&(null===(o=null==n?void 0:n.tags)||void 0===o?void 0:o.includes(1)))continue;n.range||(n.range=a),n.sortText||(n.sortText="string"==typeof n.label?n.label:n.label.label),!f&&n.insertTextRules&&4&n.insertTextRules&&(f=o3.guessNeedsClipboard(n.insertText)),l.push(new S3(e,n,i,t)),c=!0}return Qi(i)&&u.add(i),d.push({providerName:null!==(r=t._debugDisplayName)&&void 0!==r?r:"unknown_provider",elapsedProvider:null!==(h=i.duration)&&void 0!==h?h:-1,elapsedOverall:n.elapsed()}),c},g=(async()=>{})();for(const r of t.orderedGroups(i)){let t=!1;if(await Promise.all(r.map((async r=>{if(s.providerItemsToReuse.has(r)){const i=s.providerItemsToReuse.get(r);return i.forEach((t=>l.push(t))),void(t=t||i.length>0)}if(!(s.providerFilter.size>0)||s.providerFilter.has(r))try{const s=new he,h=await r.provideCompletionItems(i,e,n,o);t=p(r,h,s)||t}catch(t){$i(t)}}))),t||o.isCancellationRequested)break}return await g,o.isCancellationRequested?(u.dispose(),Promise.reject(new Hi)):new E3(l.sort(L3.get(s.snippetSortOrder)),f,{entries:d,elapsed:r.elapsed()},u)}function M3(t,i){if(t.sortTextLow&&i.sortTextLow){if(t.sortTextLowi.sortTextLow)return 1}return t.textLabeli.textLabel?1:t.completion.kind-i.completion.kind}const L3=new Map;L3.set(0,(function(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return-1;if(27===i.completion.kind)return 1}return M3(t,i)})),L3.set(2,(function(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return 1;if(27===i.completion.kind)return-1}return M3(t,i)})),L3.set(1,M3),Er.registerCommand("_executeCompletionItemProvider",(async(t,...i)=>{const[e,s,n,o]=i;K(ws.isUri(e)),K(Ms.isIPosition(s)),K("string"==typeof n||!n),K("number"==typeof o||!o);const{completionProvider:r}=t.get(Cg),h=await t.get(mr).createModelReference(e);try{const t={incomplete:!1,suggestions:[]},i=[],e=h.object.textEditorModel.validatePosition(s),c=await A3(r,h.object.textEditorModel,e,void 0,{triggerCharacter:null!=n?n:void 0,triggerKind:n?1:0});for(const e of c.items)i.length<(null!=o?o:0)&&i.push(e.resolve(xe.None)),t.incomplete=t.incomplete||e.container.incomplete,t.suggestions.push(e.completion);try{return await Promise.all(i),t}finally{setTimeout((()=>c.disposable.dispose()),100)}}finally{h.dispose()}}));class F3{static isAllOff(t){return"off"===t.other&&"off"===t.comments&&"off"===t.strings}static isAllOn(t){return"on"===t.other&&"on"===t.comments&&"on"===t.strings}static valueFor(t,i){switch(i){case 1:return t.comments;case 2:return t.strings;default:return t.other}}}function T3(t,i=Ct){return function(t,i=Ct){return!!i&&pA(t.charCodeAt(0))&&58===t.charCodeAt(1)}(t,i)?t.charAt(0).toUpperCase()+t.slice(1):t}Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,CURRENT_SECONDS_UNIX:!0,CURRENT_TIMEZONE_OFFSET:!0,SELECTION:!0,CLIPBOARD:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0,CURSOR_INDEX:!0,CURSOR_NUMBER:!0,RELATIVE_FILEPATH:!0,BLOCK_COMMENT_START:!0,BLOCK_COMMENT_END:!0,LINE_COMMENT:!0,WORKSPACE_NAME:!0,WORKSPACE_FOLDER:!0,RANDOM:!0,RANDOM_HEX:!0,UUID:!0});class R3{constructor(t){this._delegates=t}resolve(t){for(const i of this._delegates){const e=i.resolve(t);if(void 0!==e)return e}}}class O3{constructor(t,i,e,s){this._model=t,this._selection=i,this._selectionIdx=e,this._overtypingCapturer=s}resolve(t){const{name:i}=t;if("SELECTION"===i||"TM_SELECTED_TEXT"===i){let i=this._model.getValueInRange(this._selection)||void 0,e=this._selection.startLineNumber!==this._selection.endLineNumber;if(!i&&this._overtypingCapturer){const t=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);t&&(i=t.value,e=t.multiline)}if(i&&e&&t.snippet){const e=eo(this._model.getLineContent(this._selection.startLineNumber),0,this._selection.startColumn-1);let s=e;t.snippet.walk((i=>i!==t&&(i instanceof Q5&&(s=eo(to(i.value).pop())),!0)));const n=po(s,e);i=i.replace(/(\r\n|\r|\n)(.*)/g,((t,i,e)=>`${i}${s.substr(n)}${e}`))}return i}if("TM_CURRENT_LINE"===i)return this._model.getLineContent(this._selection.positionLineNumber);if("TM_CURRENT_WORD"===i){const t=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return t&&t.word||void 0}return"TM_LINE_INDEX"===i?String(this._selection.positionLineNumber-1):"TM_LINE_NUMBER"===i?String(this._selection.positionLineNumber):"CURSOR_INDEX"===i?String(this._selectionIdx):"CURSOR_NUMBER"===i?String(this._selectionIdx+1):void 0}}class I3{constructor(t,i){this._labelService=t,this._model=i}resolve(t){const{name:i}=t;if("TM_FILENAME"===i)return cs(this._model.uri.fsPath);if("TM_FILENAME_BASE"===i){const t=cs(this._model.uri.fsPath),i=t.lastIndexOf(".");return i<=0?t:t.slice(0,i)}return"TM_DIRECTORY"===i?"."===hs(this._model.uri.fsPath)?"":this._labelService.getUriLabel(xA(this._model.uri)):"TM_FILEPATH"===i?this._labelService.getUriLabel(this._model.uri):"RELATIVE_FILEPATH"===i?this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0}):void 0}}class _3{constructor(t,i,e,s){this._readClipboardText=t,this._selectionIdx=i,this._selectionCount=e,this._spread=s}resolve(t){if("CLIPBOARD"!==t.name)return;const i=this._readClipboardText();if(i){if(this._spread){const t=i.split(/\r\n|\n|\r/).filter((t=>!Un(t)));if(t.length===this._selectionCount)return t[this._selectionIdx]}return i}}}let N3=class{constructor(t,i,e){this._model=t,this._selection=i,this._languageConfigurationService=e}resolve(t){const{name:i}=t,e=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),s=this._languageConfigurationService.getLanguageConfiguration(e).comments;if(s)return"LINE_COMMENT"===i?s.lineCommentToken||void 0:"BLOCK_COMMENT_START"===i?s.blockCommentStartToken||void 0:"BLOCK_COMMENT_END"===i&&s.blockCommentEndToken||void 0}};N3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,tf)],N3);class B3{constructor(){this._date=new Date}resolve(t){const{name:i}=t;if("CURRENT_YEAR"===i)return String(this._date.getFullYear());if("CURRENT_YEAR_SHORT"===i)return String(this._date.getFullYear()).slice(-2);if("CURRENT_MONTH"===i)return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if("CURRENT_DATE"===i)return String(this._date.getDate().valueOf()).padStart(2,"0");if("CURRENT_HOUR"===i)return String(this._date.getHours().valueOf()).padStart(2,"0");if("CURRENT_MINUTE"===i)return String(this._date.getMinutes().valueOf()).padStart(2,"0");if("CURRENT_SECOND"===i)return String(this._date.getSeconds().valueOf()).padStart(2,"0");if("CURRENT_DAY_NAME"===i)return B3.dayNames[this._date.getDay()];if("CURRENT_DAY_NAME_SHORT"===i)return B3.dayNamesShort[this._date.getDay()];if("CURRENT_MONTH_NAME"===i)return B3.monthNames[this._date.getMonth()];if("CURRENT_MONTH_NAME_SHORT"===i)return B3.monthNamesShort[this._date.getMonth()];if("CURRENT_SECONDS_UNIX"===i)return String(Math.floor(this._date.getTime()/1e3));if("CURRENT_TIMEZONE_OFFSET"===i){const t=this._date.getTimezoneOffset(),i=t>0?"-":"+",e=Math.trunc(Math.abs(t/60)),s=e<10?"0"+e:e,n=Math.abs(t)-60*e;return i+s+":"+(n<10?"0"+n:n)}}}B3.dayNames=[rt(0,"Sunday"),rt(0,"Monday"),rt(0,"Tuesday"),rt(0,"Wednesday"),rt(0,"Thursday"),rt(0,"Friday"),rt(0,"Saturday")],B3.dayNamesShort=[rt(0,"Sun"),rt(0,"Mon"),rt(0,"Tue"),rt(0,"Wed"),rt(0,"Thu"),rt(0,"Fri"),rt(0,"Sat")],B3.monthNames=[rt(0,"January"),rt(0,"February"),rt(0,"March"),rt(0,"April"),rt(0,"May"),rt(0,"June"),rt(0,"July"),rt(0,"August"),rt(0,"September"),rt(0,"October"),rt(0,"November"),rt(0,"December")],B3.monthNamesShort=[rt(0,"Jan"),rt(0,"Feb"),rt(0,"Mar"),rt(0,"Apr"),rt(0,"May"),rt(0,"Jun"),rt(0,"Jul"),rt(0,"Aug"),rt(0,"Sep"),rt(0,"Oct"),rt(0,"Nov"),rt(0,"Dec")];class P3{constructor(t){this._workspaceService=t}resolve(t){if(!this._workspaceService)return;const i="string"==typeof(e=this._workspaceService.getWorkspace())||void 0===e?"string"==typeof e?{id:cs(e)}:YO:e.configuration?{id:e.id,configPath:e.configuration}:1===e.folders.length?{id:e.id,uri:e.folders[0].uri}:{id:e.id};var e,s;return"string"!=typeof(null==(s=i)?void 0:s.id)||JO(s)||function(t){return"string"==typeof(null==t?void 0:t.id)&&ws.isUri(t.configPath)}(s)?"WORKSPACE_NAME"===t.name?this._resolveWorkspaceName(i):"WORKSPACE_FOLDER"===t.name?this._resoveWorkspacePath(i):void 0:void 0}_resolveWorkspaceName(t){if(JO(t))return cs(t.uri.path);let i=cs(t.configPath.path);return i.endsWith("code-workspace")&&(i=i.substr(0,i.length-14-1)),i}_resoveWorkspacePath(t){if(JO(t))return T3(t.uri.fsPath);const i=cs(t.configPath.path);let e=t.configPath.fsPath;return e.endsWith(i)&&(e=e.substr(0,e.length-i.length-1)),e?T3(e):"/"}}class $3{resolve(t){const{name:i}=t;return"RANDOM"===i?Math.random().toString().slice(-6):"RANDOM_HEX"===i?Math.random().toString(16).slice(-6):"UUID"===i?u1():void 0}}var W3;class j3{constructor(t,i,e){this._editor=t,this._snippet=i,this._snippetLineLeadingWhitespace=e,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=p(i.placeholders,Y5.compareByIndex),this._placeholderGroupsIdx=-1}initialize(t){this._offset=t.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(-1===this._offset)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const t=this._editor.getModel();this._editor.changeDecorations((i=>{for(const e of this._snippet.placeholders){const s=this._snippet.offset(e),n=this._snippet.fullLen(e),o=Ls.fromPositions(t.getPositionAt(this._offset+s),t.getPositionAt(this._offset+s+n)),r=i.addDecoration(o,e.isFinalTabstop?j3._decor.inactiveFinal:j3._decor.inactive);this._placeholderDecorations.set(e,r)}}))}move(t){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const t=[];for(const i of this._placeholderGroups[this._placeholderGroupsIdx])if(i.transform){const e=this._placeholderDecorations.get(i),s=this._editor.getModel().getDecorationRange(e),n=this._editor.getModel().getValueInRange(s),o=i.transform.resolve(n).split(/\r\n|\r|\n/);for(let t=1;t0&&this._editor.executeEdits("snippet.placeholderTransform",t)}let i=!1;!0===t&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,i=!0);const e=this._editor.getModel().changeDecorations((t=>{const e=new Set,s=[];for(const n of this._placeholderGroups[this._placeholderGroupsIdx]){const o=this._placeholderDecorations.get(n),r=this._editor.getModel().getDecorationRange(o);s.push(new Fs(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn)),i=i&&this._hasPlaceholderBeenCollapsed(n),t.changeDecorationOptions(o,n.isFinalTabstop?j3._decor.activeFinal:j3._decor.active),e.add(n);for(const i of this._snippet.enclosingPlaceholders(n)){const s=this._placeholderDecorations.get(i);t.changeDecorationOptions(s,i.isFinalTabstop?j3._decor.activeFinal:j3._decor.active),e.add(i)}}for(const[i,s]of this._placeholderDecorations)e.has(i)||t.changeDecorationOptions(s,i.isFinalTabstop?j3._decor.inactiveFinal:j3._decor.inactive);return s}));return i?this.move(t):null!=e?e:[]}_hasPlaceholderBeenCollapsed(t){let i=t;for(;i;){if(i instanceof Y5){const t=this._placeholderDecorations.get(i);if(this._editor.getModel().getDecorationRange(t).isEmpty()&&i.toString().length>0)return!0}i=i.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||0===this._placeholderGroups.length}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(0===this._snippet.placeholders.length)return!0;if(1===this._snippet.placeholders.length){const[t]=this._snippet.placeholders;if(t.isFinalTabstop&&this._snippet.rightMostDescendant===t)return!0}return!1}computePossibleSelections(){const t=new Map;for(const i of this._placeholderGroups){let e;for(const s of i){if(s.isFinalTabstop)break;e||(e=[],t.set(s.index,e));const i=this._placeholderDecorations.get(s),n=this._editor.getModel().getDecorationRange(i);if(!n){t.delete(s.index);break}e.push(n)}}return t}get activeChoice(){if(!this._placeholderDecorations)return;const t=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(null==t?void 0:t.choice))return;const i=this._placeholderDecorations.get(t);if(!i)return;const e=this._editor.getModel().getDecorationRange(i);return e?{range:e,choice:t.choice}:void 0}get hasChoice(){let t=!1;return this._snippet.walk((i=>(t=i instanceof X5,!t))),t}merge(t){const i=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations((e=>{for(const s of this._placeholderGroups[this._placeholderGroupsIdx]){const n=t.shift();console.assert(-1!==n._offset),console.assert(!n._placeholderDecorations);const o=n._snippet.placeholderInfo.last.index;for(const t of n._snippet.placeholderInfo.all)t.index=t.isFinalTabstop?s.index+(o+1)/this._nestingLevel:s.index+t.index/this._nestingLevel;this._snippet.replace(s,n._snippet.children);const r=this._placeholderDecorations.get(s);e.removeDecoration(r),this._placeholderDecorations.delete(s);for(const t of n._snippet.placeholders){const s=n._snippet.offset(t),o=n._snippet.fullLen(t),r=Ls.fromPositions(i.getPositionAt(n._offset+s),i.getPositionAt(n._offset+s+o)),h=e.addDecoration(r,j3._decor.inactive);this._placeholderDecorations.set(t,h)}}this._placeholderGroups=p(this._snippet.placeholders,Y5.compareByIndex)}))}}j3._decor={active:ML.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:ML.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:ML.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:ML.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};const z3={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let H3=W3=class{static adjustWhitespace(t,i,e,s,n){const o=eo(t.getLineContent(i.lineNumber),0,i.column-1);let r;return s.walk((i=>{if(!(i instanceof Q5)||i.parent instanceof X5)return!0;if(n&&!n.has(i))return!0;const h=i.value.split(/\r\n|\r|\n/);if(e){const e=s.offset(i);if(0===e)h[0]=t.normalizeIndentation(h[0]);else{r=null!=r?r:s.toString();const i=r.charCodeAt(e-1);10!==i&&13!==i||(h[0]=t.normalizeIndentation(o+h[0]))}for(let i=1;it.get(QO))),f=t.invokeWithinContext((t=>new I3(t.get(WO),u))),p=()=>r,g=u.getValueInRange(W3.adjustSelection(u,t.getSelection(),e,0)),m=u.getValueInRange(W3.adjustSelection(u,t.getSelection(),0,s)),w=u.getLineFirstNonWhitespaceColumn(t.getSelection().positionLineNumber),v=t.getSelections().map(((t,i)=>({selection:t,idx:i}))).sort(((t,i)=>Ls.compareRangesUsingStarts(t.selection,i.selection)));for(const{selection:r,idx:b}of v){let y=W3.adjustSelection(u,r,e,0),k=W3.adjustSelection(u,r,0,s);g!==u.getValueInRange(y)&&(y=r),m!==u.getValueInRange(k)&&(k=r);const x=r.setStartPosition(y.startLineNumber,y.startColumn).setEndPosition(k.endLineNumber,k.endColumn),C=(new o3).parse(i,!0,n),S=x.getStartPosition(),D=W3.adjustWhitespace(u,S,o||b>0&&w!==u.getLineFirstNonWhitespaceColumn(r.positionLineNumber),C);C.resolveVariables(new R3([f,new _3(p,b,v.length,"spread"===t.getOption(78)),new O3(u,r,b,h),new N3(u,r,c),new B3,new P3(d),new $3])),a[b]=gO.replace(x,C.toString()),a[b].identifier={major:b,minor:0},a[b]._isTracked=!0,l[b]=new j3(t,C,D)}return{edits:a,snippets:l}}static createEditsAndSnippetsFromEdits(t,i,e,s,n,o,r){if(!t.hasModel()||0===i.length)return{edits:[],snippets:[]};const h=[],c=t.getModel(),a=new o3,l=new n3,u=new R3([t.invokeWithinContext((t=>new I3(t.get(WO),c))),new _3((()=>n),0,t.getSelections().length,"spread"===t.getOption(78)),new O3(c,t.getSelection(),0,o),new N3(c,t.getSelection(),r),new B3,new P3(t.invokeWithinContext((t=>t.get(QO)))),new $3]);i=i.sort(((t,i)=>Ls.compareRangesUsingStarts(t.range,i.range)));let d=0;for(let t=0;t0){const s=Ls.fromPositions(i[t-1].range.getEndPosition(),e.getStartPosition()),n=new Q5(c.getValueInRange(s));l.appendChild(n),d+=n.value.length}const n=a.parseFragment(s,l);W3.adjustWhitespace(c,e.getStartPosition(),!0,l,new Set(n)),l.resolveVariables(u);const o=l.toString(),r=o.slice(d);d=o.length;const f=gO.replace(e,r);f.identifier={major:t,minor:0},f._isTracked=!0,h.push(f)}return a.ensureFinalTabstop(l,e,!0),{edits:h,snippets:[new j3(t,l,"")]}}constructor(t,i,e=z3,s){this._editor=t,this._template=i,this._options=e,this._languageConfigurationService=s,this._templateMerges=[],this._snippets=[]}dispose(){Ji(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:t,snippets:i}="string"==typeof this._template?W3.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):W3.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=i,this._editor.executeEdits("snippet",t,(t=>{const e=t.filter((t=>!!t.identifier));for(let t=0;tFs.fromPositions(t.range.getEndPosition())))})),this._editor.revealRange(this._editor.getSelections()[0])}merge(t,i=z3){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,t]);const{edits:e,snippets:s}=W3.createEditsAndSnippetsFromSelections(this._editor,t,i.overwriteBefore,i.overwriteAfter,!0,i.adjustWhitespace,i.clipboardText,i.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",e,(t=>{const i=t.filter((t=>!!t.identifier));for(let t=0;tFs.fromPositions(t.range.getEndPosition())))}))}next(){const t=this._move(!0);this._editor.setSelections(t),this._editor.revealPositionInCenterIfOutsideViewport(t[0].getPosition())}prev(){const t=this._move(!1);this._editor.setSelections(t),this._editor.revealPositionInCenterIfOutsideViewport(t[0].getPosition())}_move(t){const i=[];for(const e of this._snippets){const s=e.move(t);i.push(...s)}return i}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 t=this._editor.getSelections();if(t.length{t.push(...s.get(i))}))}t.sort(Ls.compareRangesUsingStarts);for(const[e,s]of i)if(s.length===t.length){s.sort(Ls.compareRangesUsingStarts);for(let n=0;n0}};H3=W3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,tf)],H3);var V3,U3=function(t,i){return function(e,s){i(e,s,t)}};const q3={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let K3=V3=class{static get(t){return t.getContribution(V3.ID)}constructor(t,i,e,s,n){this._editor=t,this._logService=i,this._languageFeaturesService=e,this._languageConfigurationService=n,this._snippetListener=new te,this._modelVersionId=-1,this._inSnippet=V3.InSnippetMode.bindTo(s),this._hasNextTabstop=V3.HasNextTabstop.bindTo(s),this._hasPrevTabstop=V3.HasPrevTabstop.bindTo(s)}dispose(){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),null===(t=this._session)||void 0===t||t.dispose(),this._snippetListener.dispose()}insert(t,i){try{this._doInsert(t,void 0===i?q3:{...q3,...i})}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",t),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(t,i){var e;if(this._editor.hasModel()){if(this._snippetListener.clear(),i.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&"string"!=typeof t&&this.cancel(),this._session?(K("string"==typeof t),this._session.merge(t,i)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new H3(this._editor,t,i,this._languageConfigurationService),this._session.insert()),i.undoStopAfter&&this._editor.getModel().pushStackElement(),null===(e=this._session)||void 0===e?void 0:e.hasChoice){const t={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(t,i)=>{if(!this._session||t!==this._editor.getModel()||!Ms.equals(this._editor.getPosition(),i))return;const{activeChoice:e}=this._session;if(!e||0===e.choice.options.length)return;const s=t.getValueInRange(e.range),n=Boolean(e.choice.options.find((t=>t.value===s))),o=[];for(let t=0;t{s||(e=this._languageFeaturesService.completionProvider.register({language:i.getLanguageId(),pattern:i.uri.fsPath,scheme:i.uri.scheme,exclusive:!0},t),this._snippetListener.add(e),s=!0)},disable:()=>{null==e||e.dispose(),s=!1}}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent((t=>t.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())return void(this._currentChoice=void 0);const{activeChoice:i}=this._session;if(!i||!this._choiceCompletions)return null===(t=this._choiceCompletions)||void 0===t||t.disable(),void(this._currentChoice=void 0);this._currentChoice!==i.choice&&(this._currentChoice=i.choice,this._choiceCompletions.enable(),queueMicrotask((()=>{!function(t,i){var e;null===(e=t.getContribution("editor.contrib.suggestController"))||void 0===e||e.triggerSuggest((new Set).add(i),void 0,!0)}(this._editor,this._choiceCompletions.provider)})))}finish(){for(;this._inSnippet.get();)this.next()}cancel(t=!1){var i;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,null===(i=this._session)||void 0===i||i.dispose(),this._session=void 0,this._modelVersionId=-1,t&&this._editor.setSelections([this._editor.getSelection()])}prev(){var t;null===(t=this._session)||void 0===t||t.prev(),this._updateState()}next(){var t;null===(t=this._session)||void 0===t||t.next(),this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}};K3.ID="snippetController2",K3.InSnippetMode=new ah("inSnippetMode",!1,rt(0,"Whether the editor in current in snippet mode")),K3.HasNextTabstop=new ah("hasNextTabstop",!1,rt(0,"Whether there is a next tab stop when in snippet mode")),K3.HasPrevTabstop=new ah("hasPrevTabstop",!1,rt(0,"Whether there is a previous tab stop when in snippet mode")),K3=V3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([U3(1,zh),U3(2,Cg),U3(3,lh),U3(4,tf)],K3),uu(K3.ID,K3,4);const G3=su.bindToContribution(K3.get);cu(new G3({id:"jumpToNextSnippetPlaceholder",precondition:Hr.and(K3.InSnippetMode,K3.HasNextTabstop),handler:t=>t.next(),kbOpts:{weight:130,kbExpr:XC.editorTextFocus,primary:2}})),cu(new G3({id:"jumpToPrevSnippetPlaceholder",precondition:Hr.and(K3.InSnippetMode,K3.HasPrevTabstop),handler:t=>t.prev(),kbOpts:{weight:130,kbExpr:XC.editorTextFocus,primary:1026}})),cu(new G3({id:"leaveSnippet",precondition:K3.InSnippetMode,handler:t=>t.cancel(!0),kbOpts:{weight:130,kbExpr:XC.editorTextFocus,primary:9,secondary:[1033]}})),cu(new G3({id:"acceptSnippet",precondition:K3.InSnippetMode,handler:t=>t.finish()}));var Z3,Q3=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t[t.Undo=0]="Undo",t[t.Redo=1]="Redo",t[t.AcceptWord=2]="AcceptWord",t[t.Other=3]="Other"}(Z3||(Z3={}));let J3=class extends ie{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(t,i,e,s,n,o,r,h,c,a,l,u){let d;super(),this.textModel=t,this.selectedSuggestItem=i,this.cursorPosition=e,this.textModelVersionId=s,this._debounceValue=n,this._suggestPreviewEnabled=o,this._suggestPreviewMode=r,this._inlineSuggestMode=h,this._enabled=c,this._instantiationService=a,this._commandService=l,this._languageConfigurationService=u,this._source=this._register(this._instantiationService.createInstance(m3,this.textModel,this.textModelVersionId,this._debounceValue)),this._isActive=TV(this,!1),this._forceUpdateSignal=YV("forceUpdate"),this._selectedInlineCompletionId=TV(this,void 0),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([Z3.Redo,Z3.Undo,Z3.AcceptWord]),this._fetchInlineCompletions=function(t,i){var e;return new WV(t.owner,t.debugName,i,t.createEmptyChangeSummary,t.handleChange,void 0,null!==(e=t.equalityComparer)&&void 0!==e?e:_V)}({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:Ws.Automatic}),handleChange:(t,i)=>(t.didChange(this.textModelVersionId)&&this._preserveCurrentCompletionReasons.has(t.change)?i.preserveCurrentCompletion=!0:t.didChange(this._forceUpdateSignal)&&(i.inlineCompletionTriggerKind=t.change),!0)},((t,i)=>{if(this._forceUpdateSignal.read(t),!(this._enabled.read(t)&&this.selectedSuggestItem.read(t)||this._isActive.read(t)))return void this._source.cancelUpdate();this.textModelVersionId.read(t);const e=this.selectedInlineCompletion.get(),s=i.preserveCurrentCompletion||(null==e?void 0:e.forwardStable)?e:void 0,n=this._source.suggestWidgetInlineCompletions.get(),o=this.selectedSuggestItem.read(t);if(n&&!o){const t=this._source.inlineCompletions.get();kV((i=>{(!t||n.request.versionId>t.request.versionId)&&this._source.inlineCompletions.set(n.clone(),i),this._source.clearSuggestWidgetInlineCompletions(i)}))}const r=this.cursorPosition.read(t),h={triggerKind:i.inlineCompletionTriggerKind,selectedSuggestionInfo:null==o?void 0:o.toSelectedSuggestionInfo()};return this._source.fetch(r,h,s)})),this._filteredInlineCompletionItems=NV(this,(t=>{const i=this._source.inlineCompletions.read(t);if(!i)return[];const e=this.cursorPosition.read(t),s=i.inlineCompletions.filter((i=>i.isVisible(this.textModel,e,t)));return s})),this.selectedInlineCompletionIndex=NV(this,(t=>{const i=this._selectedInlineCompletionId.read(t),e=this._filteredInlineCompletionItems.read(t),s=void 0===this._selectedInlineCompletionId?-1:e.findIndex((t=>t.semanticId===i));return-1===s?(this._selectedInlineCompletionId.set(void 0,void 0),0):s})),this.selectedInlineCompletion=NV(this,(t=>this._filteredInlineCompletionItems.read(t)[this.selectedInlineCompletionIndex.read(t)])),this.lastTriggerKind=this._source.inlineCompletions.map(this,(t=>null==t?void 0:t.request.context.triggerKind)),this.inlineCompletionsCount=NV(this,(t=>this.lastTriggerKind.read(t)===Ws.Explicit?this._filteredInlineCompletionItems.read(t).length:void 0)),this.state=BV({owner:this,equalityComparer:(t,i)=>t&&i?z5(t.ghostText,i.ghostText)&&t.inlineCompletion===i.inlineCompletion&&t.suggestItem===i.suggestItem:t===i},(t=>{var i;const e=this.textModel,s=this.selectedSuggestItem.read(t);if(s){const n=s.toSingleTextEdit().removeCommonPrefix(e),o=this._computeAugmentedCompletion(n,t);if(!this._suggestPreviewEnabled.read(t)&&!o)return;const r=null!==(i=null==o?void 0:o.edit)&&void 0!==i?i:n,h=o?o.edit.text.length-n.text.length:0,c=this._suggestPreviewMode.read(t),a=this.cursorPosition.read(t),l=r.computeGhostText(e,c,a,h);return{ghostText:null!=l?l:new $5(r.range.endLineNumber,[]),inlineCompletion:null==o?void 0:o.completion,suggestItem:s}}{if(!this._isActive.read(t))return;const i=this.selectedInlineCompletion.read(t);if(!i)return;const s=i.toSingleTextEdit(t),n=this._inlineSuggestMode.read(t),o=this.cursorPosition.read(t),r=s.computeGhostText(e,n,o);return r?{ghostText:r,inlineCompletion:i,suggestItem:void 0}:void 0}})),this.ghostText=BV({owner:this,equalityComparer:z5},(t=>{const i=this.state.read(t);if(i)return i.ghostText})),this._register(tU(this._fetchInlineCompletions)),this._register(jV((t=>{var i,e;const s=this.state.read(t),n=null==s?void 0:s.inlineCompletion;if((null==n?void 0:n.semanticId)!==(null==d?void 0:d.semanticId)&&(d=n,n)){const t=n.inlineCompletion,s=t.source;null===(e=(i=s.provider).handleItemDidShow)||void 0===e||e.call(i,s.inlineCompletions,t.sourceInlineCompletion,t.insertText)}})))}async trigger(t){this._isActive.set(!0,t),await this._fetchInlineCompletions.get()}async triggerExplicitly(t){CV(t,(t=>{this._isActive.set(!0,t),this._forceUpdateSignal.trigger(t,Ws.Explicit)})),await this._fetchInlineCompletions.get()}stop(t){CV(t,(t=>{this._isActive.set(!1,t),this._source.clear(t)}))}_computeAugmentedCompletion(t,i){const e=this.textModel,s=this._source.suggestWidgetInlineCompletions.read(i);return function(t,i){for(const e of t){const t=i(e);if(void 0!==t)return t}}(s?s.inlineCompletions:[this.selectedInlineCompletion.read(i)].filter(U),(s=>{let n=s.toSingleTextEdit(i);return n=n.removeCommonPrefix(e,Ls.fromPositions(n.range.getStartPosition(),t.range.getEndPosition())),n.augments(t)?{edit:n,completion:s}:void 0}))}async _deltaSelectedInlineCompletionIndex(t){await this.triggerExplicitly();const i=this._filteredInlineCompletionItems.get()||[];if(i.length>0){const e=(this.selectedInlineCompletionIndex.get()+t+i.length)%i.length;this._selectedInlineCompletionId.set(i[e].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(t){var i;if(t.getModel()!==this.textModel)throw new Gi;const e=this.state.get();if(!e||e.ghostText.isEmpty()||!e.inlineCompletion)return;const s=e.inlineCompletion.toInlineCompletion(void 0);t.pushUndoStop(),s.snippetInfo?(t.executeEdits("inlineSuggestion.accept",[gO.replaceMove(s.range,""),...s.additionalTextEdits]),t.setPosition(s.snippetInfo.range.getStartPosition()),null===(i=K3.get(t))||void 0===i||i.insert(s.snippetInfo.snippet,{undoStopBefore:!1})):t.executeEdits("inlineSuggestion.accept",[gO.replaceMove(s.range,s.insertText),...s.additionalTextEdits]),s.command&&s.source.addRef(),kV((t=>{this._source.clear(t),this._isActive.set(!1,t)})),s.command&&(await this._commandService.executeCommand(s.command.id,...s.command.arguments||[]).then(void 0,$i),s.source.removeRef())}async acceptNextWord(t){await this._acceptNext(t,((t,i)=>{const e=this.textModel.getLanguageIdAtPosition(t.lineNumber,t.column),s=this._languageConfigurationService.getLanguageConfiguration(e),n=new RegExp(s.wordDefinition.source,s.wordDefinition.flags.replace("g","")),o=i.match(n);let r=0;r=o&&void 0!==o.index?0===o.index?o[0].length:o.index:i.length;const h=/\s+/g.exec(i);return h&&void 0!==h.index&&h.index+h[0].length{const e=i.match(/\n/);return e&&void 0!==e.index?e.index+1:i.length}))}async _acceptNext(t,i){if(t.getModel()!==this.textModel)throw new Gi;const e=this.state.get();if(!e||e.ghostText.isEmpty()||!e.inlineCompletion)return;const s=e.ghostText,n=e.inlineCompletion.toInlineCompletion(void 0);if(n.snippetInfo||n.filterText!==n.insertText)return void await this.accept(t);const o=s.parts[0],r=new Ms(s.lineNumber,o.column),h=o.lines.join("\n"),c=i(r,h);if(c===h.length&&1===s.parts.length)return void this.accept(t);const a=h.substring(0,c);n.source.addRef();try{this._isAcceptingPartially=!0;try{t.pushUndoStop(),t.executeEdits("inlineSuggestion.accept",[gO.replace(Ls.fromPositions(r),a)]);const i=P5(a);t.setPosition(B5(r,i))}finally{this._isAcceptingPartially=!1}if(n.source.provider.handlePartialAccept){const i=Ls.fromPositions(n.range.getStartPosition(),B5(r,P5(a))),e=t.getModel().getValueInRange(i,1);n.source.provider.handlePartialAccept(n.source.inlineCompletions,n.sourceInlineCompletion,e.length)}}finally{n.source.removeRef()}}handleSuggestAccepted(t){var i,e;const s=t.toSingleTextEdit().removeCommonPrefix(this.textModel),n=this._computeAugmentedCompletion(s,void 0);if(!n)return;const o=n.completion.inlineCompletion;null===(e=(i=o.source.provider).handlePartialAccept)||void 0===e||e.call(i,o.source.inlineCompletions,o.sourceInlineCompletion,s.text.length)}};J3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Q3(9,dr),Q3(10,Dr),Q3(11,tf)],J3);var Y3,X3=function(t,i){return function(e,s){i(e,s,t)}};class t6{constructor(t){this.name=t}select(t,i,e){if(0===e.length)return 0;const s=e[0].score[0];for(let t=0;tthis._saveState()),500),this._disposables.add(t.onWillSaveState((t=>{t.reason===LB.SHUTDOWN&&this._saveState()})))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(t,i,e){this._withStrategy(t,i).memorize(t,i,e),this._persistSoon.schedule()}select(t,i,e){return this._withStrategy(t,i).select(t,i,e)}_withStrategy(t,i){var e;const s=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:t.getLanguageIdAtPosition(i.lineNumber,i.column),resource:t.uri});if((null===(e=this._strategy)||void 0===e?void 0:e.name)!==s){this._saveState();const t=Y3._strategyCtors.get(s)||i6;this._strategy=new t;try{const t=this._configService.getValue("editor.suggest.shareSuggestSelections"),i=this._storageService.get(`${Y3._storagePrefix}/${s}`,t?0:1);i&&this._strategy.fromJSON(JSON.parse(i))}catch(t){}}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(`${Y3._storagePrefix}/${this._strategy.name}`,i,t,1)}}};e6._strategyCtors=new Map([["recentlyUsedByPrefix",class extends t6{constructor(){super("recentlyUsedByPrefix"),this._trie=ZO.forStrings(),this._seq=0}memorize(t,i,e){const{word:s}=t.getWordUntilPosition(i),n=`${t.getLanguageId()}/${s}`;this._trie.set(n,{type:e.completion.kind,insertText:e.completion.insertText,touch:this._seq++})}select(t,i,e){const{word:s}=t.getWordUntilPosition(i);if(!s)return super.select(t,i,e);const n=`${t.getLanguageId()}/${s}`;let o=this._trie.get(n);if(o||(o=this._trie.findSubstr(n)),o)for(let t=0;tt.push([e,i]))),t.sort(((t,i)=>-(t[1].touch-i[1].touch))).forEach(((t,i)=>t[1].touch=i)),t.slice(0,200)}fromJSON(t){if(this._trie.clear(),t.length>0){this._seq=t[0][1].touch+1;for(const[i,e]of t)e.type="number"==typeof e.type?e.type:$s.fromString(e.type),this._trie.set(i,e)}}}],["recentlyUsed",class extends t6{constructor(){super("recentlyUsed"),this._cache=new Up(300,.66),this._seq=0}memorize(t,i,e){const s=`${t.getLanguageId()}/${e.textLabel}`;this._cache.set(s,{touch:this._seq++,type:e.completion.kind,insertText:e.completion.insertText})}select(t,i,e){if(0===e.length)return 0;const s=t.getLineContent(i.lineNumber).substr(i.column-10,i.column-1);if(/\s$/.test(s))return super.select(t,i,e);const n=e[0].score[0];let o=-1,r=-1;for(let i=0;ir&&n.type===e[i].completion.kind&&n.insertText===e[i].completion.insertText&&(r=n.touch,o=i),e[i].completion.preselect)return i}return-1!==o?o:0}toJSON(){return this._cache.toJSON()}fromJSON(t){this._cache.clear();for(const[i,e]of t)e.touch=0,e.type="number"==typeof e.type?e.type:$s.fromString(e.type),this._cache.set(i,e);this._seq=this._cache.size}}],["first",i6]]),e6._storagePrefix="suggest/memories",e6=Y3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([X3(0,MB),X3(1,gd)],e6);const s6=fr("ISuggestMemories");Sd(s6,e6,1);var n6;let o6=n6=class{constructor(t,i){this._editor=t,this._enabled=!1,this._ckAtEnd=n6.AtEnd.bindTo(i),this._configListener=this._editor.onDidChangeConfiguration((t=>t.hasChanged(122)&&this._update())),this._update()}dispose(){var t;this._configListener.dispose(),null===(t=this._selectionListener)||void 0===t||t.dispose(),this._ckAtEnd.reset()}_update(){const t="on"===this._editor.getOption(122);if(this._enabled!==t)if(this._enabled=t,this._enabled){const t=()=>{if(!this._editor.hasModel())return void this._ckAtEnd.set(!1);const t=this._editor.getModel(),i=this._editor.getSelection(),e=t.getWordAtPosition(i.getStartPosition());this._ckAtEnd.set(!!e&&e.endColumn===i.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};o6.AtEnd=new ah("atEndOfWord",!1),o6=n6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,lh)],o6);var r6;let h6=r6=class{constructor(t,i){this._editor=t,this._index=0,this._ckOtherSuggestions=r6.OtherSuggestions.bindTo(i)}dispose(){this.reset()}reset(){var t;this._ckOtherSuggestions.reset(),null===(t=this._listener)||void 0===t||t.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:t,index:i},e){0!==t.items.length&&r6._moveIndex(!0,t,i)!==i?(this._acceptNext=e,this._model=t,this._index=i,this._listener=this._editor.onDidChangeCursorPosition((()=>{this._ignore||this.reset()})),this._ckOtherSuggestions.set(!0)):this.reset()}static _moveIndex(t,i,e){let s=e;for(let n=i.items.length;n>0&&(s=(s+i.items.length+(t?1:-1))%i.items.length,s!==e)&&i.items[s].completion.additionalTextEdits;n--);return s}next(){this._move(!0)}prev(){this._move(!1)}_move(t){if(this._model)try{this._ignore=!0,this._index=r6._moveIndex(t,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};h6.OtherSuggestions=new ah("hasOtherSuggestions",!1),h6=r6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,lh)],h6);class c6{constructor(t,i,e,s){this._disposables=new te,this._disposables.add(e.onDidSuggest((t=>{0===t.completionModel.items.length&&this.reset()}))),this._disposables.add(e.onDidCancel((()=>{this.reset()}))),this._disposables.add(i.onDidShow((()=>this._onItem(i.getFocusedItem())))),this._disposables.add(i.onDidFocus(this._onItem,this)),this._disposables.add(i.onDidHide(this.reset,this)),this._disposables.add(t.onWillType((n=>{if(this._active&&!i.isFrozen()&&0!==e.state){const i=n.charCodeAt(n.length-1);this._active.acceptCharacters.has(i)&&t.getOption(0)&&s(this._active.item)}})))}_onItem(t){if(!t||!y(t.item.completion.commitCharacters))return void this.reset();if(this._active&&this._active.item.item===t.item)return;const i=new Af;for(const e of t.item.completion.commitCharacters)e.length>0&&i.add(e.charCodeAt(0));this._active={acceptCharacters:i,item:t}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}class a6{async provideSelectionRanges(t,i){const e=[];for(const s of i){const i=[];e.push(i);const n=new Map;await new Promise((i=>a6._bracketsRightYield(i,0,t,s,n))),await new Promise((e=>a6._bracketsLeftYield(e,0,t,s,n,i)))}return e}static _bracketsRightYield(t,i,e,s,n){const o=new Map,r=Date.now();for(;;){if(i>=a6._maxRounds){t();break}if(!s){t();break}const h=e.bracketPairs.findNextBracket(s);if(!h){t();break}if(Date.now()-r>a6._maxDuration){setTimeout((()=>a6._bracketsRightYield(t,i+1,e,s,n)));break}if(h.bracketInfo.isOpeningBracket){const t=h.bracketInfo.bracketText,i=o.has(t)?o.get(t):0;o.set(t,i+1)}else{const t=h.bracketInfo.getOpeningBrackets()[0].bracketText;let i=o.has(t)?o.get(t):0;if(i-=1,o.set(t,Math.max(0,i)),i<0){let i=n.get(t);i||(i=new qt,n.set(t,i)),i.push(h.range)}}s=h.range.getEndPosition()}}static _bracketsLeftYield(t,i,e,s,n,o){const r=new Map,h=Date.now();for(;;){if(i>=a6._maxRounds&&0===n.size){t();break}if(!s){t();break}const c=e.bracketPairs.findPrevBracket(s);if(!c){t();break}if(Date.now()-h>a6._maxDuration){setTimeout((()=>a6._bracketsLeftYield(t,i+1,e,s,n,o)));break}if(c.bracketInfo.isOpeningBracket){const t=c.bracketInfo.bracketText;let i=r.has(t)?r.get(t):0;if(i-=1,r.set(t,Math.max(0,i)),i<0){const i=n.get(t);if(i){const s=i.shift();0===i.size&&n.delete(t);const r=Ls.fromPositions(c.range.getEndPosition(),s.getStartPosition()),h=Ls.fromPositions(c.range.getStartPosition(),s.getEndPosition());o.push({range:r}),o.push({range:h}),a6._addBracketLeading(e,h,o)}}}else{const t=c.bracketInfo.getOpeningBrackets()[0].bracketText,i=r.has(t)?r.get(t):0;r.set(t,i+1)}s=c.range.getStartPosition()}}static _addBracketLeading(t,i,e){if(i.startLineNumber===i.endLineNumber)return;const s=i.startLineNumber,n=t.getLineFirstNonWhitespaceColumn(s);0!==n&&n!==i.startColumn&&(e.push({range:Ls.fromPositions(new Ms(s,n),i.getEndPosition())}),e.push({range:Ls.fromPositions(new Ms(s,1),i.getEndPosition())}));const o=s-1;if(o>0){const s=t.getLineFirstNonWhitespaceColumn(o);s===i.startColumn&&s!==t.getLineLastNonWhitespaceColumn(o)&&(e.push({range:Ls.fromPositions(new Ms(o,s),i.getEndPosition())}),e.push({range:Ls.fromPositions(new Ms(o,1),i.getEndPosition())}))}}}a6._maxDuration=30,a6._maxRounds=2;class l6{static async create(t,i){if(!i.getOption(117).localityBonus)return l6.None;if(!i.hasModel())return l6.None;const e=i.getModel(),s=i.getPosition();if(!t.canComputeWordRanges(e.uri))return l6.None;const[n]=await(new a6).provideSelectionRanges(e,[s]);if(0===n.length)return l6.None;const o=await t.computeWordRanges(e.uri,n[0].range);if(!o)return l6.None;const r=e.getWordUntilPosition(s);return delete o[r.word],new class extends l6{distance(t,e){if(!s.equals(i.getPosition()))return 0;if(17===e.kind)return 2<<20;const r=o["string"==typeof e.label?e.label:e.label.label];if(b(r))return 2<<20;const h=d(r,Ls.fromPositions(t),Ls.compareRangesUsingStarts),c=h>=0?r[h]:r[Math.max(0,~h-1)];let a=n.length;for(const t of n){if(!Ls.containsRange(t.range,c))break;a-=1}return a}}}}l6.None=new class extends l6{distance(){return 0}};class u6{constructor(t,i){this.leadingLineContent=t,this.characterCountDelta=i}}class d6{constructor(t,i,e,s,n,o,r=S_.default,h){this.clipboardText=h,this._snippetCompareFn=d6._compareCompletionItems,this._items=t,this._column=i,this._wordDistance=s,this._options=n,this._refilterKind=1,this._lineContext=e,this._fuzzyScoreOptions=r,"top"===o?this._snippetCompareFn=d6._compareCompletionItemsSnippetsUp:"bottom"===o&&(this._snippetCompareFn=d6._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(t){this._lineContext.leadingLineContent===t.leadingLineContent&&this._lineContext.characterCountDelta===t.characterCountDelta||(this._refilterKind=this._lineContext.characterCountDelta0&&e[0].container.incomplete&&t.add(i);return t}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){0!==this._refilterKind&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const t=[],{leadingLineContent:i,characterCountDelta:e}=this._lineContext;let s="",n="";const o=1===this._refilterKind?this._items:this._filteredItems,r=[],h=!this._options.filterGraceful||o.length>2e3?D_:A_;for(let c=0;c=d)a.score=C_.Default;else if("string"==typeof a.completion.filterText){const i=h(s,n,t,a.completion.filterText,a.filterTextLow,0,this._fuzzyScoreOptions);if(!i)continue;0===ro(a.completion.filterText,a.textLabel)?a.score=i:(a.score=l_(s,n,t,a.textLabel,a.labelLow,0),a.score[0]=i[0])}else{const i=h(s,n,t,a.textLabel,a.labelLow,0,this._fuzzyScoreOptions);if(!i)continue;a.score=i}}a.idx=c,a.distance=this._wordDistance.distance(a.position,a.completion),r.push(a),t.push(a.textLabel.length)}this._filteredItems=r.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:t.length?f(t.length-.85,t,((t,i)=>t-i)):0}}static _compareCompletionItems(t,i){return t.score[0]>i.score[0]?-1:t.score[0]i.distance?1:t.idxi.idx?1:0}static _compareCompletionItemsSnippetsDown(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return 1;if(27===i.completion.kind)return-1}return d6._compareCompletionItems(t,i)}static _compareCompletionItemsSnippetsUp(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return-1;if(27===i.completion.kind)return 1}return d6._compareCompletionItems(t,i)}}var f6,p6=function(t,i){return function(e,s){i(e,s,t)}};class g6{static shouldAutoTrigger(t){if(!t.hasModel())return!1;const i=t.getModel(),e=t.getPosition();i.tokenization.tokenizeIfCheap(e.lineNumber);const s=i.getWordAtPosition(e);return!(!s||s.endColumn!==e.column&&s.startColumn+1!==e.column||!isNaN(Number(s.word)))}constructor(t,i,e){this.leadingLineContent=t.getLineContent(i.lineNumber).substr(0,i.column-1),this.leadingWord=t.getWordUntilPosition(i),this.lineNumber=i.lineNumber,this.column=i.column,this.triggerOptions=e}}let m6=f6=class{constructor(t,i,e,s,n,o,r,h,c){this._editor=t,this._editorWorkerService=i,this._clipboardService=e,this._telemetryService=s,this._logService=n,this._contextKeyService=o,this._configurationService=r,this._languageFeaturesService=h,this._envService=c,this._toDispose=new te,this._triggerCharacterListener=new te,this._triggerQuickSuggest=new fc,this._triggerState=void 0,this._completionDisposables=new te,this._onDidCancel=new fe,this._onDidTrigger=new fe,this._onDidSuggest=new fe,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Fs(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 a=!1;this._toDispose.add(this._editor.onDidCompositionStart((()=>{a=!0}))),this._toDispose.add(this._editor.onDidCompositionEnd((()=>{a=!1,this._onCompositionEnd()}))),this._toDispose.add(this._editor.onDidChangeCursorSelection((t=>{a||this._onCursorChange(t)}))),this._toDispose.add(this._editor.onDidChangeModelContent((()=>{a||void 0===this._triggerState||this._refilterCompletionItems()}))),this._updateTriggerCharacters()}dispose(){Ji(this._triggerCharacterListener),Ji([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(90)||!this._editor.hasModel()||!this._editor.getOption(120))return;const t=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const e of i.triggerCharacters||[]){let s=t.get(e);s||(s=new Set,s.add(void 0),t.set(e,s)),s.add(i)}const i=i=>{var e;if(!function(t,i){if(!Boolean(i.getContextKeyValue("inlineSuggestionVisible")))return!0;const e=i.getContextKeyValue(O5.suppressSuggestions.key);return void 0!==e?!e:!t.getOption(62).suppressSuggestions}(this._editor,this._contextKeyService))return;if(g6.shouldAutoTrigger(this._editor))return;if(!i){const t=this._editor.getPosition();i=this._editor.getModel().getLineContent(t.lineNumber).substr(0,t.column-1)}let s="";wo(i.charCodeAt(i.length-1))?mo(i.charCodeAt(i.length-2))&&(s=i.substr(i.length-2)):s=i.charAt(i.length-1);const n=t.get(s);if(n){const t=new Map;if(this._completionModel)for(const[i,e]of this._completionModel.getItemsByProvider())n.has(i)||t.set(i,e);this.trigger({auto:!0,triggerKind:1,triggerCharacter:s,retrigger:Boolean(this._completionModel),clipboardText:null===(e=this._completionModel)||void 0===e?void 0:e.clipboardText,completionOptions:{providerFilter:n,providerItemsToReuse:t}})}};this._triggerCharacterListener.add(this._editor.onDidType(i)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd((()=>i())))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(t=!1){var i;void 0!==this._triggerState&&(this._triggerQuickSuggest.cancel(),null===(i=this._requestToken)||void 0===i||i.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:t}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){void 0!==this._triggerState&&(this._editor.hasModel()&&this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.trigger({auto:this._triggerState.auto,retrigger:!0}):this.cancel())}_onCursorChange(t){if(!this._editor.hasModel())return;const i=this._currentSelection;this._currentSelection=this._editor.getSelection(),!t.selection.isEmpty()||0!==t.reason&&3!==t.reason||"keyboard"!==t.source&&"deleteLeft"!==t.source?this.cancel():void 0===this._triggerState&&0===t.reason?(i.containsRange(this._currentSelection)||i.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():void 0!==this._triggerState&&3===t.reason&&this._refilterCompletionItems()}_onCompositionEnd(){void 0===this._triggerState?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var t;F3.isAllOff(this._editor.getOption(88))||this._editor.getOption(117).snippetsPreventQuickSuggestions&&(null===(t=K3.get(this._editor))||void 0===t?void 0:t.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet((()=>{if(void 0!==this._triggerState)return;if(!g6.shouldAutoTrigger(this._editor))return;if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const t=this._editor.getModel(),i=this._editor.getPosition(),e=this._editor.getOption(88);if(!F3.isAllOff(e)){if(!F3.isAllOn(e)){t.tokenization.tokenizeIfCheap(i.lineNumber);const s=t.tokenization.getLineTokens(i.lineNumber),n=s.getStandardTokenType(s.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if("on"!==F3.valueFor(e,n))return}(function(t,i){if(!Boolean(i.getContextKeyValue(O5.inlineSuggestionVisible.key)))return!0;const e=i.getContextKeyValue(O5.suppressSuggestions.key);return void 0!==e?!e:!t.getOption(62).suppressSuggestions})(this._editor,this._contextKeyService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}}),this._editor.getOption(89)))}_refilterCompletionItems(){K(this._editor.hasModel()),K(void 0!==this._triggerState);const t=this._editor.getModel(),i=this._editor.getPosition(),e=new g6(t,i,{...this._triggerState,refilter:!0});this._onNewContext(e)}trigger(t){var i,e,s,n,o,r;if(!this._editor.hasModel())return;const h=this._editor.getModel(),c=new g6(h,this._editor.getPosition(),t);this.cancel(t.retrigger),this._triggerState=t,this._onDidTrigger.fire({auto:t.auto,shy:null!==(i=t.shy)&&void 0!==i&&i,position:this._editor.getPosition()}),this._context=c;let a={triggerKind:null!==(e=t.triggerKind)&&void 0!==e?e:0};t.triggerCharacter&&(a={triggerKind:1,triggerCharacter:t.triggerCharacter}),this._requestToken=new Se;let l=1;switch(this._editor.getOption(111)){case"top":l=0;break;case"bottom":l=2}const{itemKind:u,showDeprecated:d}=f6._createSuggestFilter(this._editor),f=new D3(l,null!==(n=null===(s=t.completionOptions)||void 0===s?void 0:s.kindFilter)&&void 0!==n?n:u,null===(o=t.completionOptions)||void 0===o?void 0:o.providerFilter,null===(r=t.completionOptions)||void 0===r?void 0:r.providerItemsToReuse,d),p=l6.create(this._editorWorkerService,this._editor),g=A3(this._languageFeaturesService.completionProvider,h,this._editor.getPosition(),f,a,this._requestToken.token);Promise.all([g,p]).then((async([i,e])=>{var s;if(null===(s=this._requestToken)||void 0===s||s.dispose(),!this._editor.hasModel())return;let n=null==t?void 0:t.clipboardText;if(!n&&i.needsClipboard&&(n=await this._clipboardService.readText()),void 0===this._triggerState)return;const o=this._editor.getModel(),r=new g6(o,this._editor.getPosition(),t),h={...S_.default,firstMatchCanBeWeak:!this._editor.getOption(117).matchOnWordStartOnly};if(this._completionModel=new d6(i.items,this._context.column,{leadingLineContent:r.leadingLineContent,characterCountDelta:r.column-this._context.column},e,this._editor.getOption(117),this._editor.getOption(111),h,n),this._completionDisposables.add(i.disposable),this._onNewContext(r),this._reportDurationsTelemetry(i.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const t of i.items)t.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${t.provider._debugDisplayName}`,t.completion)})).catch(Pi)}_reportDurationsTelemetry(t){this._telemetryGate++%230==0&&setTimeout((()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(t)}),this._logService.debug("suggest.durations.json",t)}))}static _createSuggestFilter(t){const i=new Set;"none"===t.getOption(111)&&i.add(27);const e=t.getOption(117);return e.showMethods||i.add(0),e.showFunctions||i.add(1),e.showConstructors||i.add(2),e.showFields||i.add(3),e.showVariables||i.add(4),e.showClasses||i.add(5),e.showStructs||i.add(6),e.showInterfaces||i.add(7),e.showModules||i.add(8),e.showProperties||i.add(9),e.showEvents||i.add(10),e.showOperators||i.add(11),e.showUnits||i.add(12),e.showValues||i.add(13),e.showConstants||i.add(14),e.showEnums||i.add(15),e.showEnumMembers||i.add(16),e.showKeywords||i.add(17),e.showWords||i.add(18),e.showColors||i.add(19),e.showFiles||i.add(20),e.showReferences||i.add(21),e.showColors||i.add(22),e.showFolders||i.add(23),e.showTypeParameters||i.add(24),e.showSnippets||i.add(27),e.showUsers||i.add(25),e.showIssues||i.add(26),{itemKind:i,showDeprecated:e.showDeprecated}}_onNewContext(t){if(this._context)if(t.lineNumber===this._context.lineNumber)if(eo(t.leadingLineContent)===eo(this._context.leadingLineContent)){if(t.columnthis._context.leadingWord.startColumn){if(g6.shouldAutoTrigger(this._editor)&&this._context){const t=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:t}})}}else if(t.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&0!==t.leadingWord.word.length){const t=new Map,i=new Set;for(const[e,s]of this._completionModel.getItemsByProvider())s.length>0&&s[0].container.incomplete?i.add(e):t.set(e,s);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:i,providerItemsToReuse:t}})}else{const i=this._completionModel.lineContext;let e=!1;if(this._completionModel.lineContext={leadingLineContent:t.leadingLineContent,characterCountDelta:t.column-this._context.column},0===this._completionModel.items.length){const s=g6.shouldAutoTrigger(this._editor);if(!this._context)return void this.cancel();if(s&&this._context.leadingWord.endColumn0,e&&0===t.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:t.triggerOptions,isFrozen:e})}}else this.cancel();else this.cancel()}};m6=f6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([p6(1,bP),p6(2,kH),p6(3,jh),p6(4,zh),p6(5,lh),p6(6,gd),p6(7,Cg),p6(8,pR)],m6);class w6{constructor(t,i){this._disposables=new te,this._lastOvertyped=[],this._locked=!1,this._disposables.add(t.onWillType((()=>{if(this._locked||!t.hasModel())return;const i=t.getSelections(),e=i.length;let s=!1;for(let t=0;tw6._maxSelectionLength)return;this._lastOvertyped[t]={value:n.getValueInRange(e),multiline:e.startLineNumber!==e.endLineNumber}}}))),this._disposables.add(i.onDidTrigger((()=>{this._locked=!0}))),this._disposables.add(i.onDidCancel((()=>{this._locked=!1})))}getLastOvertypedInfo(t){if(t>=0&&tt instanceof Ph?e.createInstance(b6,t,void 0):void 0;this._leftActions=new XB(this.element,{actionViewItemProvider:o}),this._rightActions=new XB(this.element,{actionViewItemProvider:o}),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 t=this._menuService.createMenu(this._menuId,this._contextKeyService),i=()=>{const i=[],e=[];for(const[s,n]of t.getActions())"left"===s?i.push(...n):e.push(...n);this._leftActions.clear(),this._leftActions.push(i),this._rightActions.clear(),this._rightActions.push(e)};this._menuDisposables.add(t.onDidChange((()=>i()))),this._menuDisposables.add(t)}hide(){this._menuDisposables.clear()}};y6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([v6(2,dr),v6(3,Ih),v6(4,lh)],y6);function k6(t){return!!t&&Boolean(t.completion.documentation||t.completion.detail&&t.completion.detail!==t.completion.label)}let x6=class{constructor(t,i){this._editor=t,this._onDidClose=new fe,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new fe,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new te,this._renderDisposeable=new te,this._borderWidth=1,this._size=new sl(330,0),this.domNode=Wl(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=i.createInstance(uQ,{editor:t}),this._body=Wl(".body"),this._scrollbar=new Rk(this._body,{alwaysConsumeMouseWheel:!0}),Il(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=Il(this._body,Wl(".header")),this._close=Il(this._header,Wl("span"+Sr.asCSSSelector(Is.close))),this._close.title=rt(0,"Close"),this._type=Il(this._header,Wl("p.type")),this._docs=Il(this._body,Wl("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._configureFont()})))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const t=this._editor.getOptions(),i=t.get(50),e=i.getMassagedFontFamily(),s=t.get(118)||i.fontSize,n=t.get(119)||i.lineHeight,o=i.fontWeight,r=`${n}px`;this.domNode.style.fontSize=`${s}px`,this.domNode.style.lineHeight=""+n/s,this.domNode.style.fontWeight=o,this.domNode.style.fontFeatureSettings=i.fontFeatureSettings,this._type.style.fontFamily=e,this._close.style.height=r,this._close.style.width=r}getLayoutInfo(){const t=this._editor.getOption(119)||this._editor.getOption(50).lineHeight,i=this._borderWidth;return{lineHeight:t,borderWidth:i,borderHeight:2*i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=rt(0,"Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,2*this.getLayoutInfo().lineHeight),this._onDidChangeContents.fire(this)}renderItem(t,i){var e,s;this._renderDisposeable.clear();let{detail:n,documentation:o}=t.completion;if(i){let i="";i+=`score: ${t.score[0]}\n`,i+=`prefix: ${null!==(e=t.word)&&void 0!==e?e:"(no prefix)"}\n`,i+=`word: ${t.completion.filterText?t.completion.filterText+" (filterText)":t.textLabel}\n`,i+=`distance: ${t.distance} (localityBonus-setting)\n`,i+=`index: ${t.idx}, based on ${t.completion.sortText&&`sortText: "${t.completion.sortText}"`||"label"}\n`,i+=`commit_chars: ${null===(s=t.completion.commitCharacters)||void 0===s?void 0:s.join("")}\n`,o=(new B_).appendCodeblock("empty",i),n=`Provider: ${t.provider._debugDisplayName}`}if(i||k6(t)){if(this.domNode.classList.remove("no-docs","no-type"),n){const t=n.length>1e5?`${n.substr(0,1e5)}…`:n;this._type.textContent=t,this._type.title=t,jl(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gim.test(t))}else Ha(this._type),this._type.title="",zl(this._type),this.domNode.classList.add("no-type");if(Ha(this._docs),"string"==typeof o)this._docs.classList.remove("markdown-docs"),this._docs.textContent=o;else if(o){this._docs.classList.add("markdown-docs"),Ha(this._docs);const t=this._markdownRenderer.render(o);this._docs.appendChild(t.element),this._renderDisposeable.add(t),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=t=>{t.preventDefault(),t.stopPropagation()},this._close.onclick=t=>{t.preventDefault(),t.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}else this.clearContents()}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get size(){return this._size}layout(t,i){const e=new sl(t,i);sl.equals(e,this._size)||(this._size=e,function(t,i,e){"number"==typeof i&&(t.style.width=`${i}px`),"number"==typeof e&&(t.style.height=`${e}px`)}(this.domNode,t,i)),this._scrollbar.scanDomNode()}scrollDown(t=8){this._body.scrollTop+=t}scrollUp(t=8){this._body.scrollTop-=t}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(t){this._borderWidth=t}get borderWidth(){return this._borderWidth}};x6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,dr)],x6);class C6{constructor(t,i){let e,s;this.widget=t,this._editor=i,this._disposables=new te,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new SX,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(t.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let n=0,o=0;this._disposables.add(this._resizable.onDidWillResize((()=>{e=this._topLeft,s=this._resizable.size}))),this._disposables.add(this._resizable.onDidResize((t=>{if(e&&s){this.widget.layout(t.dimension.width,t.dimension.height);let i=!1;t.west&&(o=s.width-t.dimension.width,i=!0),t.north&&(n=s.height-t.dimension.height,i=!0),i&&this._applyTopLeft({top:e.top+n,left:e.left+o})}t.done&&(e=void 0,s=void 0,n=0,o=0,this._userSize=t.dimension)}))),this._disposables.add(this.widget.onDidChangeContents((()=>{var t;this._anchorBox&&this._placeAtAnchor(this._anchorBox,null!==(t=this._userSize)&&void 0!==t?t: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 null}show(){this._added||(this._editor.addOverlayWidget(this),this.getDomNode().style.position="fixed",this._added=!0)}hide(t=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),t&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(t,i){var e;const s=t.getBoundingClientRect();this._anchorBox=s,this._preferAlignAtTop=i,this._placeAtAnchor(this._anchorBox,null!==(e=this._userSize)&&void 0!==e?e:this.widget.size,i)}_placeAtAnchor(t,i,e){var s;const n=il(this.getDomNode().ownerDocument.body),o=this.widget.getLayoutInfo(),r=new sl(220,2*o.lineHeight),h=t.top,c=function(){const e=n.width-(t.left+t.width+o.borderWidth+o.horizontalPadding),s=-o.borderWidth+t.left+t.width,c=new sl(e,n.height-t.top-o.borderHeight-o.verticalPadding),a=c.with(void 0,t.top+t.height-o.borderHeight-o.verticalPadding);return{top:h,left:s,fit:e-i.width,maxSizeTop:c,maxSizeBottom:a,minSize:r.with(Math.min(e,r.width))}}(),a=[c,function(){const e=t.left-o.borderWidth-o.horizontalPadding,s=Math.max(o.horizontalPadding,t.left-i.width-o.borderWidth),c=new sl(e,n.height-t.top-o.borderHeight-o.verticalPadding),a=c.with(void 0,t.top+t.height-o.borderHeight-o.verticalPadding);return{top:h,left:s,fit:e-i.width,maxSizeTop:c,maxSizeBottom:a,minSize:r.with(Math.min(e,r.width))}}(),function(){const e=t.left,s=-o.borderWidth+t.top+t.height,h=new sl(t.width-o.borderHeight,n.height-t.top-t.height-o.verticalPadding);return{top:s,left:e,fit:h.height-i.height,maxSizeBottom:h,maxSizeTop:h,minSize:r.with(h.width)}}()],l=null!==(s=a.find((t=>t.fit>=0)))&&void 0!==s?s:a.sort(((t,i)=>i.fit-t.fit))[0],u=t.top+t.height-o.borderHeight;let d,f=i.height;const p=Math.max(l.maxSizeTop.height,l.maxSizeBottom.height);let g;f>p&&(f=p),e?f<=l.maxSizeTop.height?(d=!0,g=l.maxSizeTop):(d=!1,g=l.maxSizeBottom):f<=l.maxSizeBottom.height?(d=!1,g=l.maxSizeBottom):(d=!0,g=l.maxSizeTop),this._applyTopLeft({left:l.left,top:d?l.top:u-f}),this.getDomNode().style.position="fixed",this._resizable.enableSashes(!d,l===c,d,l!==c),this._resizable.minSize=l.minSize,this._resizable.maxSize=g,this._resizable.layout(f,Math.min(g.width,i.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(t){this._topLeft=t,this.getDomNode().style.left=`${this._topLeft.left}px`,this.getDomNode().style.top=`${this._topLeft.top}px`}}var S6;!function(t){t[t.FILE=0]="FILE",t[t.FOLDER=1]="FOLDER",t[t.ROOT_FOLDER=2]="ROOT_FOLDER"}(S6||(S6={}));const D6=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function E6(t,i,e,s){const n=s===S6.ROOT_FOLDER?["rootfolder-icon"]:s===S6.FOLDER?["folder-icon"]:["file-icon"];if(e){let o;if(e.scheme===xa.data)o=LA.parseMetaData(e).get(LA.META_DATA_LABEL);else{const t=e.path.match(D6);t?(o=A6(t[2].toLowerCase()),t[1]&&n.push(`${A6(t[1].toLowerCase())}-name-dir-icon`)):o=A6(e.authority.toLowerCase())}if(s===S6.ROOT_FOLDER)n.push(`${o}-root-name-folder-icon`);else if(s===S6.FOLDER)n.push(`${o}-name-folder-icon`);else{if(o){if(n.push(`${o}-name-file-icon`),n.push("name-file-icon"),o.length<=255){const t=o.split(".");for(let i=1;i{const t=this._editor.getOptions(),i=t.get(50),n=i.getMassagedFontFamily(),o=i.fontFeatureSettings,h=t.get(118)||i.fontSize,c=t.get(119)||i.lineHeight,a=i.fontWeight,l=`${c}px`,u=`${i.letterSpacing}px`;e.style.fontSize=`${h}px`,e.style.fontWeight=a,e.style.letterSpacing=u,r.style.fontFamily=n,r.style.fontFeatureSettings=o,r.style.lineHeight=l,s.style.height=l,s.style.width=l,p.style.height=l,p.style.width=l};return g(),i.add(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(50)||t.hasChanged(118)||t.hasChanged(119))&&g()}))),{root:e,left:c,right:a,icon:s,colorspan:n,iconLabel:l,iconContainer:h,parametersLabel:u,qualifierLabel:d,detailsLabel:f,readMore:p,disposables:i}}renderElement(t,i,e){const{completion:s}=t;e.root.id=F6(i),e.colorspan.style.backgroundColor="";const n={labelEscapeNewLines:!0,matches:u_(t.score)},o=[];if(19===s.kind&&R6.extract(t,o))e.icon.className="icon customcolor",e.iconContainer.className="icon hide",e.colorspan.style.backgroundColor=o[0];else if(20===s.kind&&this._themeService.getFileIconTheme().hasFileIcons){e.icon.className="icon hide",e.iconContainer.className="icon hide";const i=E6(this._modelService,this._languageService,ws.from({scheme:"fake",path:t.textLabel}),S6.FILE),o=E6(this._modelService,this._languageService,ws.from({scheme:"fake",path:s.detail}),S6.FILE);n.extraClasses=i.length>o.length?i:o}else 23===s.kind&&this._themeService.getFileIconTheme().hasFolderIcons?(e.icon.className="icon hide",e.iconContainer.className="icon hide",n.extraClasses=[E6(this._modelService,this._languageService,ws.from({scheme:"fake",path:t.textLabel}),S6.FOLDER),E6(this._modelService,this._languageService,ws.from({scheme:"fake",path:s.detail}),S6.FOLDER)].flat()):(e.icon.className="icon hide",e.iconContainer.className="",e.iconContainer.classList.add("suggest-icon",...Sr.asClassNameArray($s.toIcon(s.kind))));s.tags&&s.tags.indexOf(1)>=0&&(n.extraClasses=(n.extraClasses||[]).concat(["deprecated"]),n.matches=[]),e.iconLabel.setLabel(t.textLabel,void 0,n),"string"==typeof s.label?(e.parametersLabel.textContent="",e.detailsLabel.textContent=I6(s.detail||""),e.root.classList.add("string-label")):(e.parametersLabel.textContent=I6(s.label.detail||""),e.detailsLabel.textContent=I6(s.label.description||""),e.root.classList.remove("string-label")),this._editor.getOption(117).showInlineDetails?jl(e.detailsLabel):zl(e.detailsLabel),k6(t)?(e.right.classList.add("can-expand-details"),jl(e.readMore),e.readMore.onmousedown=t=>{t.stopPropagation(),t.preventDefault()},e.readMore.onclick=t=>{t.stopPropagation(),t.preventDefault(),this._onDidToggleDetails.fire()}):(e.right.classList.remove("can-expand-details"),zl(e.readMore),e.readMore.onmousedown=null,e.readMore.onclick=null)}disposeTemplate(t){t.disposables.dispose()}};function I6(t){return t.replace(/\r\n|\r|\n/g,"")}O6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([L6(1,gr),L6(2,kd),L6(3,tx)],O6);var _6,N6=function(t,i){return function(e,s){i(e,s,t)}};fw("editorSuggestWidget.background",{dark:dv,light:dv,hcDark:dv,hcLight:dv},rt(0,"Background color of the suggest widget.")),fw("editorSuggestWidget.border",{dark:pv,light:pv,hcDark:pv,hcLight:pv},rt(0,"Border color of the suggest widget."));const B6=fw("editorSuggestWidget.foreground",{dark:uv,light:uv,hcDark:uv,hcLight:uv},rt(0,"Foreground color of the suggest widget."));fw("editorSuggestWidget.selectedForeground",{dark:Ab,light:Ab,hcDark:Ab,hcLight:Ab},rt(0,"Foreground color of the selected entry in the suggest widget.")),fw("editorSuggestWidget.selectedIconForeground",{dark:Mb,light:Mb,hcDark:Mb,hcLight:Mb},rt(0,"Icon foreground color of the selected entry in the suggest widget."));const P6=fw("editorSuggestWidget.selectedBackground",{dark:Lb,light:Lb,hcDark:Lb,hcLight:Lb},rt(0,"Background color of the selected entry in the suggest widget."));fw("editorSuggestWidget.highlightForeground",{dark:ub,light:ub,hcDark:ub,hcLight:ub},rt(0,"Color of the match highlights in the suggest widget.")),fw("editorSuggestWidget.focusHighlightForeground",{dark:db,light:db,hcDark:db,hcLight:db},rt(0,"Color of the match highlights in the suggest widget when an item is focused.")),fw("editorSuggestWidgetStatus.foreground",{dark:uy(B6,.5),light:uy(B6,.5),hcDark:uy(B6,.5),hcLight:uy(B6,.5)},rt(0,"Foreground color of the suggest widget status."));class $6{constructor(t,i){this._service=t,this._key=`suggestWidget.size/${i.getEditorType()}/${i instanceof qJ}`}restore(){var t;const i=null!==(t=this._service.get(this._key,0))&&void 0!==t?t:"";try{const t=JSON.parse(i);if(sl.is(t))return sl.lift(t)}catch(t){}}store(t){this._service.store(this._key,JSON.stringify(t),0,1)}reset(){this._service.remove(this._key,0)}}let W6=_6=class{constructor(t,i,e,s,n){this.editor=t,this._storageService=i,this._state=0,this._isAuto=!1,this._pendingLayout=new ee,this._pendingShowDetails=new ee,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new fc,this._disposables=new te,this._onDidSelect=new ge,this._onDidFocus=new ge,this._onDidHide=new fe,this._onDidShow=new fe,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new fe,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new SX,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new j6(this,t),this._persistedSize=new $6(i,t);class o{constructor(t,i,e=!1,s=!1){this.persistedSize=t,this.currentSize=i,this.persistHeight=e,this.persistWidth=s}}let r;this._disposables.add(this.element.onDidWillResize((()=>{this._contentWidget.lockPreference(),r=new o(this._persistedSize.restore(),this.element.size)}))),this._disposables.add(this.element.onDidResize((t=>{var i,e,s,n;if(this._resize(t.dimension.width,t.dimension.height),r&&(r.persistHeight=r.persistHeight||!!t.north||!!t.south,r.persistWidth=r.persistWidth||!!t.east||!!t.west),t.done){if(r){const{itemHeight:t,defaultSize:o}=this.getLayoutInfo(),h=Math.round(t/2);let{width:c,height:a}=this.element.size;(!r.persistHeight||Math.abs(r.currentSize.height-a)<=h)&&(a=null!==(e=null===(i=r.persistedSize)||void 0===i?void 0:i.height)&&void 0!==e?e:o.height),(!r.persistWidth||Math.abs(r.currentSize.width-c)<=h)&&(c=null!==(n=null===(s=r.persistedSize)||void 0===s?void 0:s.width)&&void 0!==n?n:o.width),this._persistedSize.store(new sl(c,a))}this._contentWidget.unlockPreference(),r=void 0}}))),this._messageElement=Il(this.element.domNode,Wl(".message")),this._listElement=Il(this.element.domNode,Wl(".tree"));const h=this._disposables.add(n.createInstance(x6,this.editor));h.onDidClose(this.toggleDetails,this,this._disposables),this._details=new C6(h,this.editor);const c=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(117).showIcons);c();const a=n.createInstance(O6,this.editor);this._disposables.add(a),this._disposables.add(a.onDidToggleDetails((()=>this.toggleDetails()))),this._list=new lB("SuggestWidget",this._listElement,{getHeight:()=>this.getLayoutInfo().itemHeight,getTemplateId:()=>"suggestion"},[a],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>rt(0,"Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:t=>{let i=t.textLabel;if("string"!=typeof t.completion.label){const{detail:e,description:s}=t.completion.label;e&&s?i=rt(0,"{0} {1}, {2}",i,e,s):e?i=rt(0,"{0} {1}",i,e):s&&(i=rt(0,"{0}, {1}",i,s))}if(!t.isResolved||!this._isDetailsVisible())return i;const{documentation:e,detail:s}=t.completion;return rt(0,"{0}, docs: {1}",i,Kn("{0}{1}",s||"",e?"string"==typeof e?e:e.value:""))}}}),this._list.style($B({listInactiveFocusBackground:P6,listInactiveFocusOutline:bw})),this._status=n.createInstance(y6,this.element.domNode,C3);const l=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(117).showStatusBar);l(),this._disposables.add(s.onDidColorThemeChange((t=>this._onThemeChange(t)))),this._onThemeChange(s.getColorTheme()),this._disposables.add(this._list.onMouseDown((t=>this._onListMouseDownOrTap(t)))),this._disposables.add(this._list.onTap((t=>this._onListMouseDownOrTap(t)))),this._disposables.add(this._list.onDidChangeSelection((t=>this._onListSelection(t)))),this._disposables.add(this._list.onDidChangeFocus((t=>this._onListFocus(t)))),this._disposables.add(this.editor.onDidChangeCursorSelection((()=>this._onCursorSelectionChanged()))),this._disposables.add(this.editor.onDidChangeConfiguration((t=>{t.hasChanged(117)&&(l(),c())}))),this._ctxSuggestWidgetVisible=x3.Visible.bindTo(e),this._ctxSuggestWidgetDetailsVisible=x3.DetailsVisible.bindTo(e),this._ctxSuggestWidgetMultipleSuggestions=x3.MultipleSuggestions.bindTo(e),this._ctxSuggestWidgetHasFocusedSuggestion=x3.HasFocusedSuggestion.bindTo(e),this._disposables.add(Ka(this._details.widget.domNode,"keydown",(t=>{this._onDetailsKeydown.fire(t)}))),this._disposables.add(this.editor.onMouseDown((t=>this._onEditorMouseDown(t))))}dispose(){var t;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),null===(t=this._loadingTimeout)||void 0===t||t.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(t){this._details.widget.domNode.contains(t.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(t.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){0!==this._state&&this._contentWidget.layout()}_onListMouseDownOrTap(t){void 0!==t.element&&void 0!==t.index&&(t.browserEvent.preventDefault(),t.browserEvent.stopPropagation(),this._select(t.element,t.index))}_onListSelection(t){t.elements.length&&this._select(t.elements[0],t.indexes[0])}_select(t,i){const e=this._completionModel;e&&(this._onDidSelect.fire({item:t,index:i,model:e}),this.editor.focus())}_onThemeChange(t){this._details.widget.borderWidth=Hy(t.type)?2:1}_onListFocus(t){var i;if(this._ignoreFocusEvents)return;if(!t.elements.length)return this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),void this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const e=t.elements[0],s=t.indexes[0];e!==this._focusedItem&&(null===(i=this._currentSuggestionDetails)||void 0===i||i.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=e,this._list.reveal(s),this._currentSuggestionDetails=oc((async t=>{const i=uc((()=>{this._isDetailsVisible()&&this.showDetails(!0)}),250),s=t.onCancellationRequested((()=>i.dispose()));try{return await e.resolve(t)}finally{i.dispose(),s.dispose()}})),this._currentSuggestionDetails.then((()=>{s>=this._list.length||e!==this._list.element(s)||(this._ignoreFocusEvents=!0,this._list.splice(s,1,[e]),this._list.setFocus([s]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:F6(s)}))})).catch(Pi)),this._onDidFocus.fire({item:e,index:s,model:this._completionModel})}_setState(t){if(this._state!==t)switch(this._state=t,this.element.domNode.classList.toggle("frozen",4===t),this.element.domNode.classList.remove("message"),t){case 0:zl(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=_6.LOADING_MESSAGE,zl(this._listElement,this._status.element),jl(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Wm(_6.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=_6.NO_SUGGESTIONS_MESSAGE,zl(this._listElement,this._status.element),jl(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Wm(_6.NO_SUGGESTIONS_MESSAGE);break;case 3:case 4:zl(this._messageElement),jl(this._listElement,this._status.element),this._show();break;case 5:zl(this._messageElement),jl(this._listElement,this._status.element),this._details.show(),this._show()}}_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(t,i){0===this._state&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!t,this._isAuto||(this._loadingTimeout=uc((()=>this._setState(1)),i)))}showSuggestions(t,i,e,s,n){var o,r;if(this._contentWidget.setPosition(this.editor.getPosition()),null===(o=this._loadingTimeout)||void 0===o||o.dispose(),null===(r=this._currentSuggestionDetails)||void 0===r||r.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==t&&(this._completionModel=t),e&&2!==this._state&&0!==this._state)return void this._setState(4);const h=this._completionModel.items.length,c=0===h;if(this._ctxSuggestWidgetMultipleSuggestions.set(h>1),c)return this._setState(s?0:2),void(this._completionModel=void 0);this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(e?4:3),this._list.reveal(i,0),this._list.setFocus(n?[]:[i])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=Qa(Ba(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(0!==this._state&&2!==this._state&&1!==this._state&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){5===this._state?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):3===this._state&&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")):!k6(this._list.getFocusedElements()[0])&&!this._explainMode||3!==this._state&&5!==this._state&&4!==this._state||(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(t){this._pendingShowDetails.value=Qa(Ba(this.element.domNode),(()=>{this._pendingShowDetails.clear(),this._details.show(),t?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._positionDetails(),this.editor.focus(),this.element.domNode.classList.add("shows-details")}))}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var t;this._pendingLayout.clear(),this._pendingShowDetails.clear(),null===(t=this._loadingTimeout)||void 0===t||t.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const i=this._persistedSize.restore(),e=Math.ceil(4.3*this.getLayoutInfo().itemHeight);i&&i.heightc&&(h=c);const a=this._completionModel?this._completionModel.stats.pLabelLen*o.typicalHalfwidthCharacterWidth:h,l=o.statusBarHeight+this._list.contentHeight+o.borderHeight,u=o.itemHeight+o.statusBarHeight,d=ol(this.editor.getDomNode()),f=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),p=Math.min(n.height-(d.top+f.top+f.height)-o.verticalPadding,l),g=d.top+f.top-o.verticalPadding,m=Math.min(g,l);let w=Math.min(Math.max(m,p)+o.borderHeight,l);r===(null===(i=this._cappedHeight)||void 0===i?void 0:i.capped)&&(r=this._cappedHeight.wanted),rw&&(r=w),r>p||this._forceRenderingAbove&&g>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),w=m):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),w=p),this.element.preferredSize=new sl(a,o.defaultSize.height),this.element.maxSize=new sl(c,w),this.element.minSize=new sl(220,u),this._cappedHeight=r===l?{wanted:null!==(s=null===(e=this._cappedHeight)||void 0===e?void 0:e.wanted)&&void 0!==s?s:t.height,capped:r}:void 0}this._resize(h,r)}_resize(t,i){const{width:e,height:s}=this.element.maxSize;t=Math.min(e,t),i=Math.min(s,i);const{statusBarHeight:n}=this.getLayoutInfo();this._list.layout(i-n,t),this._listElement.style.height=i-n+"px",this.element.layout(i,t),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var t;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,2===(null===(t=this._contentWidget.getPosition())||void 0===t?void 0:t.preference[0]))}getLayoutInfo(){const t=this.editor.getOption(50),i=uR(this.editor.getOption(119)||t.lineHeight,8,1e3),e=this.editor.getOption(117).showStatusBar&&2!==this._state&&1!==this._state?i:0,s=this._details.widget.borderWidth,n=2*s;return{itemHeight:i,statusBarHeight:e,borderWidth:s,borderHeight:n,typicalHalfwidthCharacterWidth:t.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new sl(430,e+12*i+n)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(t){this._storageService.store("expandSuggestionDocs",t,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};W6.LOADING_MESSAGE=rt(0,"Loading..."),W6.NO_SUGGESTIONS_MESSAGE=rt(0,"No suggestions."),W6=_6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([N6(1,MB),N6(2,lh),N6(3,tx),N6(4,dr)],W6);class j6{constructor(t,i){this._widget=t,this._editor=i,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?{position:this._position,preference:[this._preference]}:null}beforeRender(){const{height:t,width:i}=this._widget.element.size,{borderWidth:e,horizontalPadding:s}=this._widget.getLayoutInfo();return new sl(i+2*e+s,t+2*e)}afterRender(t){this._widget._afterRender(t)}setPreference(t){this._preferenceLocked||(this._preference=t)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(t){this._position=t}}var z6,H6=function(t,i){return function(e,s){i(e,s,t)}};class V6{constructor(t,i){if(this._model=t,this._position=i,t.getLineMaxColumn(i.lineNumber)!==i.column){const e=t.getOffsetAt(i),s=t.getPositionAt(e+1);this._marker=t.deltaDecorations([],[{range:Ls.fromPositions(i,s),options:{description:"suggest-line-suffix",stickiness:1}}])}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.deltaDecorations(this._marker,[])}delta(t){if(this._model.isDisposed()||this._position.lineNumber!==t.lineNumber)return 0;if(this._marker){const i=this._model.getDecorationRange(this._marker[0]);return this._model.getOffsetAt(i.getStartPosition())-this._model.getOffsetAt(t)}return this._model.getLineMaxColumn(t.lineNumber)-t.column}}let U6=z6=class{static get(t){return t.getContribution(z6.ID)}constructor(t,i,e,s,n,o,r){this._memoryService=i,this._commandService=e,this._contextKeyService=s,this._instantiationService=n,this._logService=o,this._telemetryService=r,this._lineSuffix=new ee,this._toDispose=new te,this._selectors=new q6((t=>t.priority)),this._onWillInsertSuggestItem=new fe,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=t,this.model=n.createInstance(m6,this.editor),this._selectors.register({priority:0,select:(t,i,e)=>this._memoryService.select(t,i,e)});const h=x3.InsertMode.bindTo(s);h.set(t.getOption(117).insertMode),this._toDispose.add(this.model.onDidTrigger((()=>h.set(t.getOption(117).insertMode)))),this.widget=this._toDispose.add(new Za(Ba(t.getDomNode()),(()=>{const t=this._instantiationService.createInstance(W6,this.editor);this._toDispose.add(t),this._toDispose.add(t.onDidSelect((t=>this._insertSuggestion(t,0)),this));const i=new c6(this.editor,t,this.model,(t=>this._insertSuggestion(t,2)));this._toDispose.add(i);const e=x3.MakesTextEdit.bindTo(this._contextKeyService),s=x3.HasInsertAndReplaceRange.bindTo(this._contextKeyService),n=x3.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(Xi((()=>{e.reset(),s.reset(),n.reset()}))),this._toDispose.add(t.onDidFocus((({item:t})=>{const i=this.editor.getPosition(),o=t.editStart.column,r=i.column;let h=!0;"smart"!==this.editor.getOption(1)||2!==this.model.state||t.completion.additionalTextEdits||4&t.completion.insertTextRules||r-o!==t.completion.insertText.length||(h=this.editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:o,endLineNumber:i.lineNumber,endColumn:r})!==t.completion.insertText),e.set(h),s.set(!Ms.equals(t.editInsertEnd,t.editReplaceEnd)),n.set(Boolean(t.provider.resolveCompletionItem)||Boolean(t.completion.documentation)||t.completion.detail!==t.completion.label)}))),this._toDispose.add(t.onDetailsKeyDown((t=>{t.toKeyCodeChord().equals(new vh(!0,!1,!1,!1,33))||St&&t.toKeyCodeChord().equals(new vh(!1,!1,!1,!0,33))?t.stopPropagation():t.toKeyCodeChord().isModifierKey()||this.editor.focus()}))),t}))),this._overtypingCapturer=this._toDispose.add(new Za(Ba(t.getDomNode()),(()=>this._toDispose.add(new w6(this.editor,this.model))))),this._alternatives=this._toDispose.add(new Za(Ba(t.getDomNode()),(()=>this._toDispose.add(new h6(this.editor,this._contextKeyService))))),this._toDispose.add(n.createInstance(o6,t)),this._toDispose.add(this.model.onDidTrigger((t=>{this.widget.value.showTriggered(t.auto,t.shy?250:50),this._lineSuffix.value=new V6(this.editor.getModel(),t.position)}))),this._toDispose.add(this.model.onDidSuggest((t=>{if(t.triggerOptions.shy)return;let i=-1;for(const e of this._selectors.itemsOrderedByPriorityDesc)if(i=e.select(this.editor.getModel(),this.editor.getPosition(),t.completionModel.items),-1!==i)break;-1===i&&(i=0);let e=!1;if(t.triggerOptions.auto){const i=this.editor.getOption(117);"never"===i.selectionMode||"always"===i.selectionMode?e="never"===i.selectionMode:"whenTriggerCharacter"===i.selectionMode?e=1!==t.triggerOptions.triggerKind:"whenQuickSuggestion"===i.selectionMode&&(e=1===t.triggerOptions.triggerKind&&!t.triggerOptions.refilter)}this.widget.value.showSuggestions(t.completionModel,i,t.isFrozen,t.triggerOptions.auto,e)}))),this._toDispose.add(this.model.onDidCancel((t=>{t.retrigger||this.widget.value.hideWidget()}))),this._toDispose.add(this.editor.onDidBlurEditorWidget((()=>{this.model.cancel(),this.model.clear()})));const c=x3.AcceptSuggestionsOnEnter.bindTo(s),a=()=>{const t=this.editor.getOption(1);c.set("on"===t||"smart"===t)};this._toDispose.add(this.editor.onDidChangeConfiguration((()=>a()))),a()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(t,i){if(!t||!t.item)return this._alternatives.value.reset(),this.model.cancel(),void this.model.clear();if(!this.editor.hasModel())return;const e=K3.get(this.editor);if(!e)return;this._onWillInsertSuggestItem.fire({item:t.item});const s=this.editor.getModel(),n=s.getAlternativeVersionId(),{item:o}=t,r=[],h=new Se;1&i||this.editor.pushUndoStop();const c=this.getOverwriteInfo(o,Boolean(8&i));this._memoryService.memorize(s,this.editor.getPosition(),o);const a=o.isResolved;let l=-1,u=-1;if(Array.isArray(o.completion.additionalTextEdits)){this.model.cancel();const t=eU.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",o.completion.additionalTextEdits.map((t=>gO.replaceMove(Ls.lift(t.range),t.text)))),t.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!a){const t=new he;let e;const n=s.onDidChangeContent((t=>{if(t.isFlush)return h.cancel(),void n.dispose();for(const i of t.changes){const t=Ls.getEndPosition(i.range);e&&!Ms.isBefore(t,e)||(e=t)}})),c=i;i|=2;let a=!1;const l=this.editor.onWillType((()=>{l.dispose(),a=!0,2&c||this.editor.pushUndoStop()}));r.push(o.resolve(h.token).then((()=>{if(!o.completion.additionalTextEdits||h.token.isCancellationRequested)return;if(e&&o.completion.additionalTextEdits.some((t=>Ms.isBefore(e,Ls.getStartPosition(t.range)))))return!1;a&&this.editor.pushUndoStop();const t=eU.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",o.completion.additionalTextEdits.map((t=>gO.replaceMove(Ls.lift(t.range),t.text)))),t.restoreRelativeVerticalPositionOfCursor(this.editor),!a&&2&c||this.editor.pushUndoStop(),!0})).then((i=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",t.elapsed(),i),u=!0===i?1:!1===i?0:-2})).finally((()=>{n.dispose(),l.dispose()})))}let{insertText:d}=o.completion;if(4&o.completion.insertTextRules||(d=o3.escape(d)),this.model.cancel(),e.insert(d,{overwriteBefore:c.overwriteBefore,overwriteAfter:c.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(1&o.completion.insertTextRules),clipboardText:t.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),2&i||this.editor.pushUndoStop(),o.completion.command)if(o.completion.command.id===K6.id)this.model.trigger({auto:!0,retrigger:!0});else{const t=new he;r.push(this._commandService.executeCommand(o.completion.command.id,...o.completion.command.arguments?[...o.completion.command.arguments]:[]).catch((t=>{o.completion.extensionId?$i(t):Pi(t)})).finally((()=>{l=t.elapsed()})))}4&i&&this._alternatives.value.set(t,(t=>{for(h.cancel();s.canUndo();){n!==s.getAlternativeVersionId()&&s.undo(),this._insertSuggestion(t,3|(8&i?8:0));break}})),this._alertCompletionItem(o),Promise.all(r).finally((()=>{this._reportSuggestionAcceptedTelemetry(o,s,a,l,u),this.model.clear(),h.dispose()}))}_reportSuggestionAcceptedTelemetry(t,i,e,s,n){var o,r,h;0!==Math.floor(100*Math.random())&&this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:null!==(r=null===(o=t.extensionId)||void 0===o?void 0:o.value)&&void 0!==r?r:"unknown",providerId:null!==(h=t.provider._debugDisplayName)&&void 0!==h?h:"unknown",kind:t.completion.kind,basenameHash:La(yA(i.uri)).toString(16),languageId:i.getLanguageId(),fileExtension:kA(i.uri),resolveInfo:t.provider.resolveCompletionItem?e?1:0:-1,resolveDuration:t.resolveDuration,commandDuration:s,additionalEditsAsync:n})}getOverwriteInfo(t,i){K(this.editor.hasModel());let e="replace"===this.editor.getOption(117).insertMode;i&&(e=!e);const s=(e?t.editReplaceEnd.column:t.editInsertEnd.column)-t.position.column;return{overwriteBefore:t.position.column-t.editStart.column+(this.editor.getPosition().column-t.position.column),overwriteAfter:s+(this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0)}}_alertCompletionItem(t){y(t.completion.additionalTextEdits)&&$m(rt(0,"Accepting '{0}' made {1} additional edits",t.textLabel,t.completion.additionalTextEdits.length))}triggerSuggest(t,i,e){this.editor.hasModel()&&(this.model.trigger({auto:null!=i&&i,completionOptions:{providerFilter:t,kindFilter:e?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(t){if(!this.editor.hasModel())return;const i=this.editor.getPosition(),e=()=>{i.equals(this.editor.getPosition())&&this._commandService.executeCommand(t.fallback)},s=t=>{if(4&t.completion.insertTextRules||t.completion.additionalTextEdits)return!0;const i=this.editor.getPosition(),e=t.editStart.column,s=i.column;return s-e!==t.completion.insertText.length||this.editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:e,endLineNumber:i.lineNumber,endColumn:s})!==t.completion.insertText};ce.once(this.model.onDidTrigger)((()=>{const t=[];ce.any(this.model.onDidTrigger,this.model.onDidCancel)((()=>{Ji(t),e()}),void 0,t),this.model.onDidSuggest((({completionModel:i})=>{if(Ji(t),0===i.items.length)return void e();const n=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),i.items),o=i.items[n];s(o)?(this.editor.pushUndoStop(),this._insertSuggestion({index:n,item:o,model:i},7)):e()}),void 0,t)})),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(i,0),this.editor.focus()}acceptSelectedSuggestion(t,i){const e=this.widget.value.getFocusedItem();let s=0;t&&(s|=4),i&&(s|=8),this._insertSuggestion(e,s)}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(t){return this._selectors.register(t)}};U6.ID="editor.contrib.suggestController",U6=z6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([H6(1,s6),H6(2,Dr),H6(3,lh),H6(4,dr),H6(5,zh),H6(6,jh)],U6);class q6{constructor(t){this.prioritySelector=t,this._items=new Array}register(t){if(-1!==this._items.indexOf(t))throw new Error("Value is already registered");return this._items.push(t),this._items.sort(((t,i)=>this.prioritySelector(i)-this.prioritySelector(t))),{dispose:()=>{const i=this._items.indexOf(t);i>=0&&this._items.splice(i,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class K6 extends nu{constructor(){super({id:K6.id,label:rt(0,"Trigger Suggest"),alias:"Trigger Suggest",precondition:Hr.and(XC.writable,XC.hasCompletionItemProvider,x3.Visible.toNegated()),kbOpts:{kbExpr:XC.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(t,i,e){const s=U6.get(i);if(!s)return;let n;e&&"object"==typeof e&&!0===e.auto&&(n=!0),s.triggerSuggest(void 0,n,void 0)}}K6.id="editor.action.triggerSuggest",uu(U6.ID,U6,2),au(K6);const G6=190,Z6=su.bindToContribution(U6.get);cu(new Z6({id:"acceptSelectedSuggestion",precondition:Hr.and(x3.Visible,x3.HasFocusedSuggestion),handler(t){t.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:Hr.and(x3.Visible,XC.textInputFocus),weight:G6},{primary:3,kbExpr:Hr.and(x3.Visible,XC.textInputFocus,x3.AcceptSuggestionsOnEnter,x3.MakesTextEdit),weight:G6}],menuOpts:[{menuId:C3,title:rt(0,"Insert"),group:"left",order:1,when:x3.HasInsertAndReplaceRange.toNegated()},{menuId:C3,title:rt(0,"Insert"),group:"left",order:1,when:Hr.and(x3.HasInsertAndReplaceRange,x3.InsertMode.isEqualTo("insert"))},{menuId:C3,title:rt(0,"Replace"),group:"left",order:1,when:Hr.and(x3.HasInsertAndReplaceRange,x3.InsertMode.isEqualTo("replace"))}]})),cu(new Z6({id:"acceptAlternativeSelectedSuggestion",precondition:Hr.and(x3.Visible,XC.textInputFocus,x3.HasFocusedSuggestion),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:1027,secondary:[1026]},handler(t){t.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:C3,group:"left",order:2,when:Hr.and(x3.HasInsertAndReplaceRange,x3.InsertMode.isEqualTo("insert")),title:rt(0,"Replace")},{menuId:C3,group:"left",order:2,when:Hr.and(x3.HasInsertAndReplaceRange,x3.InsertMode.isEqualTo("replace")),title:rt(0,"Insert")}]})),Er.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),cu(new Z6({id:"hideSuggestWidget",precondition:x3.Visible,handler:t=>t.cancelSuggestWidget(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:9,secondary:[1033]}})),cu(new Z6({id:"selectNextSuggestion",precondition:Hr.and(x3.Visible,Hr.or(x3.MultipleSuggestions,x3.HasFocusedSuggestion.negate())),handler:t=>t.selectNextSuggestion(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),cu(new Z6({id:"selectNextPageSuggestion",precondition:Hr.and(x3.Visible,Hr.or(x3.MultipleSuggestions,x3.HasFocusedSuggestion.negate())),handler:t=>t.selectNextPageSuggestion(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:12,secondary:[2060]}})),cu(new Z6({id:"selectLastSuggestion",precondition:Hr.and(x3.Visible,Hr.or(x3.MultipleSuggestions,x3.HasFocusedSuggestion.negate())),handler:t=>t.selectLastSuggestion()})),cu(new Z6({id:"selectPrevSuggestion",precondition:Hr.and(x3.Visible,Hr.or(x3.MultipleSuggestions,x3.HasFocusedSuggestion.negate())),handler:t=>t.selectPrevSuggestion(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),cu(new Z6({id:"selectPrevPageSuggestion",precondition:Hr.and(x3.Visible,Hr.or(x3.MultipleSuggestions,x3.HasFocusedSuggestion.negate())),handler:t=>t.selectPrevPageSuggestion(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:11,secondary:[2059]}})),cu(new Z6({id:"selectFirstSuggestion",precondition:Hr.and(x3.Visible,Hr.or(x3.MultipleSuggestions,x3.HasFocusedSuggestion.negate())),handler:t=>t.selectFirstSuggestion()})),cu(new Z6({id:"focusSuggestion",precondition:Hr.and(x3.Visible,x3.HasFocusedSuggestion.negate()),handler:t=>t.focusSuggestion(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),cu(new Z6({id:"focusAndAcceptSuggestion",precondition:Hr.and(x3.Visible,x3.HasFocusedSuggestion.negate()),handler:t=>{t.focusSuggestion(),t.acceptSelectedSuggestion(!0,!1)}})),cu(new Z6({id:"toggleSuggestionDetails",precondition:Hr.and(x3.Visible,x3.HasFocusedSuggestion),handler:t=>t.toggleSuggestionDetails(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:C3,group:"right",order:1,when:Hr.and(x3.DetailsVisible,x3.CanResolve),title:rt(0,"show less")},{menuId:C3,group:"right",order:1,when:Hr.and(x3.DetailsVisible.toNegated(),x3.CanResolve),title:rt(0,"show more")}]})),cu(new Z6({id:"toggleExplainMode",precondition:x3.Visible,handler:t=>t.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),cu(new Z6({id:"toggleSuggestionFocus",precondition:x3.Visible,handler:t=>t.toggleSuggestionFocus(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:2570,mac:{primary:778}}})),cu(new Z6({id:"insertBestCompletion",precondition:Hr.and(XC.textInputFocus,Hr.equals("config.editor.tabCompletion","on"),o6.AtEnd,x3.Visible.toNegated(),h6.OtherSuggestions.toNegated(),K3.InSnippetMode.toNegated()),handler:(t,i)=>{t.triggerSuggestAndAcceptBest($(i)?{fallback:"tab",...i}:{fallback:"tab"})},kbOpts:{weight:G6,primary:2}})),cu(new Z6({id:"insertNextSuggestion",precondition:Hr.and(XC.textInputFocus,Hr.equals("config.editor.tabCompletion","on"),h6.OtherSuggestions,x3.Visible.toNegated(),K3.InSnippetMode.toNegated()),handler:t=>t.acceptNextSuggestion(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:2}})),cu(new Z6({id:"insertPrevSuggestion",precondition:Hr.and(XC.textInputFocus,Hr.equals("config.editor.tabCompletion","on"),h6.OtherSuggestions,x3.Visible.toNegated(),K3.InSnippetMode.toNegated()),handler:t=>t.acceptPrevSuggestion(),kbOpts:{weight:G6,kbExpr:XC.textInputFocus,primary:1026}})),au(class extends nu{constructor(){super({id:"editor.action.resetSuggestSize",label:rt(0,"Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(t,i){var e;null===(e=U6.get(i))||void 0===e||e.resetWidgetSize()}});class Q6 extends ie{get selectedItem(){return this._selectedItem}constructor(t,i,e,s){super(),this.editor=t,this.suggestControllerPreselector=i,this.checkModelVersion=e,this.onWillAccept=s,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._selectedItem=TV(this,void 0),this._register(t.onKeyDown((t=>{t.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))}))),this._register(t.onKeyUp((t=>{t.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))})));const n=U6.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(t,i,e)=>{var s;kV((t=>this.checkModelVersion(t)));const o=this.editor.getModel();if(!o)return-1;const r=null===(s=this.suggestControllerPreselector())||void 0===s?void 0:s.removeCommonPrefix(o);if(!r)return-1;const h=Ms.lift(i),c=dp(e.map(((t,i)=>{const e=J6.fromSuggestion(n,o,h,t,this.isShiftKeyPressed).toSingleTextEdit().removeCommonPrefix(o);return{index:i,valid:r.augments(e),prefixLength:e.text.length,suggestItem:t}})).filter((t=>t&&t.valid&&t.prefixLength>0)),R((t=>t.prefixLength),O));return c?c.index:-1}}));let t=!1;const i=()=>{t||(t=!0,this._register(n.widget.value.onDidShow((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))),this._register(n.widget.value.onDidHide((()=>{this.isSuggestWidgetVisible=!1,this.update(!1)}))),this._register(n.widget.value.onDidFocus((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))))};this._register(ce.once(n.model.onDidTrigger)((()=>{i()}))),this._register(n.onWillInsertSuggestItem((t=>{const i=this.editor.getPosition(),e=this.editor.getModel();if(!i||!e)return;const s=J6.fromSuggestion(n,e,i,t.item,this.isShiftKeyPressed);this.onWillAccept(s)})))}this.update(this._isActive)}update(t){const i=this.getSuggestItemInfo();var e,s;this._isActive===t&&((e=this._currentSuggestItemInfo)===(s=i)||e&&s&&e.equals(s))||(this._isActive=t,this._currentSuggestItemInfo=i,kV((t=>{this.checkModelVersion(t),this._selectedItem.set(this._isActive?this._currentSuggestItemInfo:void 0,t)})))}getSuggestItemInfo(){const t=U6.get(this.editor);if(!t||!this.isSuggestWidgetVisible)return;const i=t.widget.value.getFocusedItem(),e=this.editor.getPosition(),s=this.editor.getModel();return i&&e&&s?J6.fromSuggestion(t,s,e,i.item,this.isShiftKeyPressed):void 0}stopForceRenderingAbove(){const t=U6.get(this.editor);null==t||t.stopForceRenderingAbove()}forceRenderingAbove(){const t=U6.get(this.editor);null==t||t.forceRenderingAbove()}}class J6{static fromSuggestion(t,i,e,s,n){let{insertText:o}=s.completion,r=!1;if(4&s.completion.insertTextRules){const t=(new o3).parse(o);t.children.length<100&&H3.adjustWhitespace(i,e,!0,t),o=t.toString(),r=!0}const h=t.getOverwriteInfo(s,n);return new J6(Ls.fromPositions(e.delta(0,-h.overwriteBefore),e.delta(0,Math.max(h.overwriteAfter,0))),o,s.completion.kind,r)}constructor(t,i,e,s){this.range=t,this.insertText=i,this.completionItemKind=e,this.isSnippetText=s}equals(t){return this.range.equalsRange(t.range)&&this.insertText===t.insertText&&this.completionItemKind===t.completionItemKind&&this.isSnippetText===t.isSnippetText}toSelectedSuggestionInfo(){return new Hs(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new u3(this.range,this.insertText)}}var Y6,X6=function(t,i){return function(e,s){i(e,s,t)}};let t9=Y6=class extends ie{static get(t){return t.getContribution(Y6.ID)}constructor(t,i,e,s,n,o,r,h,c){super(),this.editor=t,this._instantiationService=i,this._contextKeyService=e,this._configurationService=s,this._commandService=n,this._debounceService=o,this._languageFeaturesService=r,this._audioCueService=h,this._keybindingService=c,this.model=OV("inlineCompletionModel",void 0),this._textModelVersionId=TV(this,-1),this._cursorPosition=TV(this,new Ms(1,1)),this._suggestWidgetAdaptor=this._register(new Q6(this.editor,(()=>{var t,i;return null===(i=null===(t=this.model.get())||void 0===t?void 0:t.selectedInlineCompletion.get())||void 0===i?void 0:i.toSingleTextEdit(void 0)}),(t=>this.updateObservables(t,Z3.Other)),(t=>{kV((i=>{var e;this.updateObservables(i,Z3.Other),null===(e=this.model.get())||void 0===e||e.handleSuggestAccepted(t)}))}))),this._enabled=GV(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(62).enabled)),this._ghostTextWidget=this._register(this._instantiationService.createInstance(V5,this.editor,{ghostText:this.model.map(((t,i)=>null==t?void 0:t.ghostText.read(i))),minReservedLineCount:qV(0),targetTextModel:this.model.map((t=>null==t?void 0:t.textModel))})),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this._playAudioCueSignal=YV(this),this._isReadonly=GV(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(90))),this._textModel=GV(this.editor.onDidChangeModel,(()=>this.editor.getModel())),this._textModelIfWritable=NV((t=>this._isReadonly.read(t)?void 0:this._textModel.read(t))),this._register(new O5(this._contextKeyService,this.model)),this._register(jV((e=>{const s=this._textModelIfWritable.read(e);kV((e=>{if(this.model.set(void 0,e),this.updateObservables(e,Z3.Other),s){const n=i.createInstance(J3,s,this._suggestWidgetAdaptor.selectedItem,this._cursorPosition,this._textModelVersionId,this._debounceValue,GV(t.onDidChangeConfiguration,(()=>t.getOption(117).preview)),GV(t.onDidChangeConfiguration,(()=>t.getOption(117).previewMode)),GV(t.onDidChangeConfiguration,(()=>t.getOption(62).mode)),this._enabled);this.model.set(n,e)}}))})));const a=t=>{var i;return t.isUndoing?Z3.Undo:t.isRedoing?Z3.Redo:(null===(i=this.model.get())||void 0===i?void 0:i.isAcceptingPartially)?Z3.AcceptWord:Z3.Other};let l;this._register(t.onDidChangeModelContent((t=>kV((i=>this.updateObservables(i,a(t))))))),this._register(t.onDidChangeCursorPosition((t=>kV((i=>{var e;this.updateObservables(i,Z3.Other),3!==t.reason&&"api"!==t.source||null===(e=this.model.get())||void 0===e||e.stop(i)}))))),this._register(t.onDidType((()=>kV((t=>{var i;this.updateObservables(t,Z3.Other),this._enabled.get()&&(null===(i=this.model.get())||void 0===i||i.trigger(t))}))))),this._register(this._commandService.onDidExecuteCommand((i=>{new Set([cS.Tab.id,cS.DeleteLeft.id,cS.DeleteRight.id,M0,"acceptSelectedSuggestion"]).has(i.commandId)&&t.hasTextFocus()&&this._enabled.get()&&kV((t=>{var i;null===(i=this.model.get())||void 0===i||i.trigger(t)}))}))),this._register(this.editor.onDidBlurEditorWidget((()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||t.getOption(62).keepOnBlur||B0.dropDownVisible||kV((t=>{var i;null===(i=this.model.get())||void 0===i||i.stop(t)}))}))),this._register(jV((t=>{var i;const e=null===(i=this.model.read(t))||void 0===i?void 0:i.state.read(t);(null==e?void 0:e.suggestItem)?e.ghostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()}))),this._register(Xi((()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}))),this._register(HV({handleChange:t=>(t.didChange(this._playAudioCueSignal)&&(l=void 0),!0)},(async t=>{this._playAudioCueSignal.read(t);const i=this.model.read(t),e=null==i?void 0:i.state.read(t);if(i&&e&&e.inlineCompletion){if(e.inlineCompletion.semanticId!==l){l=e.inlineCompletion.semanticId;const t=i.textModel.getLineContent(e.ghostText.lineNumber);this._audioCueService.playAudioCue(qH.inlineSuggestion).then((()=>{this.editor.getOption(8)&&this.provideScreenReaderUpdate(e.ghostText.renderForScreenReader(t))}))}}else l=void 0}))),this._register(new I0(this.editor,this.model,this._instantiationService)),this._register(this._configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}))),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAudioCue(t){this._playAudioCueSignal.trigger(t)}provideScreenReaderUpdate(t){const i=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),e=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let s;!i&&e&&this.editor.getOption(147)&&(s=rt(0,"Inspect this in the accessible view ({0})",e.getAriaLabel())),$m(s?t+", "+s:t)}updateObservables(t,i){var e,s;const n=this.editor.getModel();this._textModelVersionId.set(null!==(e=null==n?void 0:n.getVersionId())&&void 0!==e?e:-1,t,i),this._cursorPosition.set(null!==(s=this.editor.getPosition())&&void 0!==s?s:new Ms(1,1),t)}shouldShowHoverAt(t){var i;const e=null===(i=this.model.get())||void 0===i?void 0:i.ghostText.get();return!!e&&e.parts.some((i=>t.containsPosition(new Ms(e.lineNumber,i.column))))}shouldShowHoverAtViewZone(t){return this._ghostTextWidget.ownsViewZone(t)}};t9.ID="editor.contrib.inlineCompletionsController",t9=Y6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([X6(1,dr),X6(2,lh),X6(3,gd),X6(4,Dr),X6(5,mR),X6(6,Cg),X6(7,HH),X6(8,rC)],t9);class i9 extends nu{constructor(){super({id:i9.ID,label:rt(0,"Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:Hr.and(XC.writable,O5.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(t,i){var e;const s=t9.get(i);null===(e=null==s?void 0:s.model.get())||void 0===e||e.next()}}i9.ID=F0;class e9 extends nu{constructor(){super({id:e9.ID,label:rt(0,"Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:Hr.and(XC.writable,O5.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(t,i){var e;const s=t9.get(i);null===(e=null==s?void 0:s.model.get())||void 0===e||e.previous()}}e9.ID=L0;class s9 extends nu{constructor(){super({id:s9.ID,label:rt(0,"Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:O5.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(t,i){const e=t9.get(i);kV((t=>{var i;null===(i=null==e?void 0:e.model.get())||void 0===i||i.stop(t)}))}}s9.ID="editor.action.inlineSuggest.hide";class n9 extends $h{constructor(){super({id:n9.ID,title:rt(0,"Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:Oh.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:Hr.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(t,i){const e=t.get(gd),s=e.getValue("editor.inlineSuggest.showToolbar");e.updateValue("editor.inlineSuggest.showToolbar","always"===s?"onHover":"always")}}n9.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";var o9=function(t,i){return function(e,s){i(e,s,t)}};class r9{constructor(t,i,e){this.owner=t,this.range=i,this.controller=e}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}let h9=class{constructor(t,i,e,s,n,o){this._editor=t,this._languageService=i,this._openerService=e,this.accessibilityService=s,this._instantiationService=n,this._telemetryService=o,this.hoverOrdinal=4}suggestHoverAnchor(t){const i=t9.get(this._editor);if(!i)return null;const e=t.target;if(8===e.type){const s=e.detail;if(i.shouldShowHoverAtViewZone(s.viewZoneId))return new xX(1e3,this,Ls.fromPositions(this._editor.getModel().validatePosition(s.positionBefore||s.position)),t.event.posx,t.event.posy,!1)}return 7===e.type&&i.shouldShowHoverAt(e.range)||6===e.type&&e.detail.mightBeForeignElement&&i.shouldShowHoverAt(e.range)?new xX(1e3,this,e.range,t.event.posx,t.event.posy,!1):null}computeSync(t,i){if("onHover"!==this._editor.getOption(62).showToolbar)return[];const e=t9.get(this._editor);return e&&e.shouldShowHoverAt(t.range)?[new r9(this,t.range,e)]:[]}renderHoverParts(t,i){const e=new te,s=i[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&this.renderScreenReaderText(t,s,e);const n=s.controller.model.get(),o=this._instantiationService.createInstance(B0,this._editor,!1,qV(null),n.selectedInlineCompletionIndex,n.inlineCompletionsCount,n.selectedInlineCompletion.map((t=>{var i;return null!==(i=null==t?void 0:t.inlineCompletion.source.inlineCompletions.commands)&&void 0!==i?i:[]})));return t.fragment.appendChild(o.getDomNode()),n.triggerExplicitly(),e.add(o),e}renderScreenReaderText(t,i,e){const s=Wl,n=s("div.hover-row.markdown-hover"),o=Il(n,s("div.hover-contents",{"aria-live":"assertive"})),r=e.add(new uQ({editor:this._editor},this._languageService,this._openerService));e.add(jV((s=>{var n;const h=null===(n=i.controller.model.read(s))||void 0===n?void 0:n.ghostText.read(s);if(h){const i=this._editor.getModel().getLineContent(h.lineNumber);(i=>{e.add(r.onDidRenderAsync((()=>{o.className="hover-contents code-hover-contents",t.onContentsChanged()})));const s=rt(0,"Suggestion:"),n=e.add(r.render((new B_).appendText(s).appendCodeblock("text",i)));o.replaceChildren(n.element)})(h.renderForScreenReader(i))}else Nl(o)}))),t.fragment.appendChild(n)}};function c9(t,i){let e=0;for(let s=0;s=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([o9(1,kd),o9(2,fP),o9(3,Qm),o9(4,dr),o9(5,jh)],h9),uu(t9.ID,t9,3),au(class extends nu{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:rt(0,"Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:XC.writable})}async run(t,i){const e=t9.get(i);await async function(t){const i=new SV(t,void 0);try{await t(i)}finally{i.finish()}}((async t=>{var i;await(null===(i=null==e?void 0:e.model.get())||void 0===i?void 0:i.triggerExplicitly(t)),null==e||e.playAudioCue(t)}))}}),au(i9),au(e9),au(class extends nu{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:rt(0,"Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:Hr.and(XC.writable,O5.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:Hr.and(XC.writable,O5.inlineSuggestionVisible)},menuOpts:[{menuId:Oh.InlineSuggestionToolbar,title:rt(0,"Accept Word"),group:"primary",order:2}]})}async run(t,i){var e;const s=t9.get(i);await(null===(e=null==s?void 0:s.model.get())||void 0===e?void 0:e.acceptNextWord(s.editor))}}),au(class extends nu{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:rt(0,"Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:Hr.and(XC.writable,O5.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:Oh.InlineSuggestionToolbar,title:rt(0,"Accept Line"),group:"secondary",order:2}]})}async run(t,i){var e;const s=t9.get(i);await(null===(e=null==s?void 0:s.model.get())||void 0===e?void 0:e.acceptNextLine(s.editor))}}),au(class extends nu{constructor(){super({id:M0,label:rt(0,"Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:O5.inlineSuggestionVisible,menuOpts:[{menuId:Oh.InlineSuggestionToolbar,title:rt(0,"Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:Hr.and(O5.inlineSuggestionVisible,XC.tabMovesFocus.toNegated(),O5.inlineSuggestionHasIndentationLessThanTabSize,x3.Visible.toNegated(),XC.hoverFocused.toNegated())}})}async run(t,i){var e;const s=t9.get(i);s&&(null===(e=s.model.get())||void 0===e||e.accept(s.editor),s.editor.focus())}}),au(s9),Wh(n9),CX.register(h9);function l9(t,i,e,s,n){if(1===t.getLineCount()&&1===t.getLineMaxColumn(1))return[];const o=i.getLanguageConfiguration(t.getLanguageId()).indentationRules;if(!o)return[];for(s=Math.min(s,t.getLineCount());e<=s&&o.unIndentedLinePattern;){const i=t.getLineContent(e);if(!o.unIndentedLinePattern.test(i))break;e++}if(e>s-1)return[];const{tabSize:r,indentSize:h,insertSpaces:c}=t.getOptions(),a=(t,i)=>WC.shiftIndent(t,t.length+(i=i||1),r,h,c),l=(t,i)=>WC.unshiftIndent(t,t.length+(i=i||1),r,h,c),u=[];let d;const f=t.getLineContent(e);let p=f;if(null!=n){d=n;const t=eo(f);p=d+f.substring(t.length),o.decreaseIndentPattern&&o.decreaseIndentPattern.test(p)&&(d=l(d),p=d+f.substring(t.length)),f!==p&&u.push(gO.replaceMove(new Fs(e,1,e,t.length+1),uC(d,h,c)))}else d=eo(f);let g=d;o.increaseIndentPattern&&o.increaseIndentPattern.test(p)?(g=a(g),d=a(d)):o.indentNextLinePattern&&o.indentNextLinePattern.test(p)&&(g=a(g));for(let i=++e;i<=s;i++){const e=t.getLineContent(i),s=eo(e),n=g+e.substring(s.length);o.decreaseIndentPattern&&o.decreaseIndentPattern.test(n)&&(g=l(g),d=l(d)),s!==g&&u.push(gO.replaceMove(new Fs(i,1,i,s.length+1),uC(g,h,c))),o.unIndentedLinePattern&&o.unIndentedLinePattern.test(e)||(o.increaseIndentPattern&&o.increaseIndentPattern.test(n)?(d=a(d),g=d):g=o.indentNextLinePattern&&o.indentNextLinePattern.test(n)?a(g):d)}return u}class u9 extends nu{constructor(){super({id:u9.ID,label:rt(0,"Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:XC.writable})}run(t,i){const e=i.getModel();if(!e)return;const s=e.getOptions(),n=i.getSelection();if(!n)return;const o=new k9(n,s.tabSize);i.pushUndoStop(),i.executeCommands(this.id,[o]),i.pushUndoStop(),e.updateOptions({insertSpaces:!0})}}u9.ID="editor.action.indentationToSpaces";class d9 extends nu{constructor(){super({id:d9.ID,label:rt(0,"Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:XC.writable})}run(t,i){const e=i.getModel();if(!e)return;const s=e.getOptions(),n=i.getSelection();if(!n)return;const o=new x9(n,s.tabSize);i.pushUndoStop(),i.executeCommands(this.id,[o]),i.pushUndoStop(),e.updateOptions({insertSpaces:!1})}}d9.ID="editor.action.indentationToTabs";class f9 extends nu{constructor(t,i,e){super(e),this.insertSpaces=t,this.displaySizeOnly=i}run(t,i){const e=t.get(Ij),s=t.get(gr),n=i.getModel();if(!n)return;const o=s.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget),r=n.getOptions(),h=[1,2,3,4,5,6,7,8].map((t=>({id:t.toString(),label:t.toString(),description:t===o.tabSize&&t===r.tabSize?rt(0,"Configured Tab Size"):t===o.tabSize?rt(0,"Default Tab Size"):t===r.tabSize?rt(0,"Current Tab Size"):void 0}))),c=Math.min(n.getOptions().tabSize-1,7);setTimeout((()=>{e.pick(h,{placeHolder:rt(0,"Select Tab Size for Current File"),activeItem:h[c]}).then((t=>{if(t&&n&&!n.isDisposed()){const i=parseInt(t.label,10);n.updateOptions(this.displaySizeOnly?{tabSize:i}:{tabSize:i,indentSize:i,insertSpaces:this.insertSpaces})}}))}),50)}}class p9 extends f9{constructor(){super(!1,!1,{id:p9.ID,label:rt(0,"Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0})}}p9.ID="editor.action.indentUsingTabs";class g9 extends f9{constructor(){super(!0,!1,{id:g9.ID,label:rt(0,"Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0})}}g9.ID="editor.action.indentUsingSpaces";class m9 extends f9{constructor(){super(!0,!0,{id:m9.ID,label:rt(0,"Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0})}}m9.ID="editor.action.changeTabDisplaySize";class w9 extends nu{constructor(){super({id:w9.ID,label:rt(0,"Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0})}run(t,i){const e=t.get(gr),s=i.getModel();if(!s)return;const n=e.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget);s.detectIndentation(n.insertSpaces,n.tabSize)}}w9.ID="editor.action.detectIndentation";class v9{constructor(t,i){this._initialSelection=i,this._edits=[],this._selectionId=null;for(const i of t)i.range&&"string"==typeof i.text&&this._edits.push(i)}getEditOperations(t,i){for(const t of this._edits)i.addEditOperation(Ls.lift(t.range),t.text);let e=!1;Array.isArray(this._edits)&&1===this._edits.length&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(e=!0,this._selectionId=i.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(e=!0,this._selectionId=i.trackSelection(this._initialSelection,!1))),e||(this._selectionId=i.trackSelection(this._initialSelection))}computeCursorState(t,i){return i.getTrackedSelection(this._selectionId)}}let b9=class{constructor(t,i){this.editor=t,this._languageConfigurationService=i,this.callOnDispose=new te,this.callOnModel=new te,this.callOnDispose.add(t.onDidChangeConfiguration((()=>this.update()))),this.callOnDispose.add(t.onDidChangeModel((()=>this.update()))),this.callOnDispose.add(t.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:t})=>{this.trigger(t)})))}trigger(t){const i=this.editor.getSelections();if(null===i||i.length>1)return;const e=this.editor.getModel();if(!e)return;if(!e.tokenization.isCheapToTokenize(t.getStartPosition().lineNumber))return;const s=this.editor.getOption(12),{tabSize:n,indentSize:o,insertSpaces:r}=e.getOptions(),h=[],c={shiftIndent:t=>WC.shiftIndent(t,t.length+1,n,o,r),unshiftIndent:t=>WC.unshiftIndent(t,t.length+1,n,o,r)};let a=t.startLineNumber;for(;a<=t.endLineNumber&&this.shouldIgnoreLine(e,a);)a++;if(a>t.endLineNumber)return;let l=e.getLineContent(a);if(!/\S/.test(l.substring(0,t.startColumn-1))){const t=VC(s,e,e.getLanguageId(),a,c,this._languageConfigurationService);if(null!==t){const i=eo(l),s=c9(t,n);if(s!==c9(i,n)){const t=a9(s,n,r);h.push({range:new Ls(a,1,a,i.length+1),text:t}),l=t+l.substr(i.length)}else{const t=UC(e,a,this._languageConfigurationService);if(0===t||8===t)return}}}const u=a;for(;ae.tokenization.getLineTokens(t),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(t,i)=>e.getLanguageIdAtPosition(t,i)},getLineContent:t=>t===u?l:e.getLineContent(t)},e.getLanguageId(),a+1,c,this._languageConfigurationService);if(null!==i){const s=c9(i,n),o=c9(eo(e.getLineContent(a+1)),n);if(s!==o){const i=s-o;for(let s=a+1;s<=t.endLineNumber;s++){const t=eo(e.getLineContent(s)),o=a9(c9(t,n)+i,n,r);o!==t&&h.push({range:new Ls(s,1,s,t.length+1),text:o})}}}}if(h.length>0){this.editor.pushUndoStop();const t=new v9(h,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",t),this.editor.pushUndoStop()}}shouldIgnoreLine(t,i){t.tokenization.forceTokenization(i);const e=t.getLineFirstNonWhitespaceColumn(i);if(0===e)return!0;const s=t.tokenization.getLineTokens(i);if(s.getCount()>0){const t=s.findTokenIndexAtOffset(e);if(t>=0&&1===s.getStandardTokenType(t))return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};function y9(t,i,e,s){if(1===t.getLineCount()&&1===t.getLineMaxColumn(1))return;let n="";for(let t=0;t=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,tf)],b9);class k9{constructor(t,i){this.selection=t,this.tabSize=i,this.selectionId=null}getEditOperations(t,i){this.selectionId=i.trackSelection(this.selection),y9(t,i,this.tabSize,!0)}computeCursorState(t,i){return i.getTrackedSelection(this.selectionId)}}class x9{constructor(t,i){this.selection=t,this.tabSize=i,this.selectionId=null}getEditOperations(t,i){this.selectionId=i.trackSelection(this.selection),y9(t,i,this.tabSize,!1)}computeCursorState(t,i){return i.getTrackedSelection(this.selectionId)}}uu(b9.ID,b9,2),au(u9),au(d9),au(p9),au(g9),au(m9),au(w9),au(class extends nu{constructor(){super({id:"editor.action.reindentlines",label:rt(0,"Reindent Lines"),alias:"Reindent Lines",precondition:XC.writable})}run(t,i){const e=t.get(tf),s=i.getModel();if(!s)return;const n=l9(s,e,1,s.getLineCount());n.length>0&&(i.pushUndoStop(),i.executeEdits(this.id,n),i.pushUndoStop())}}),au(class extends nu{constructor(){super({id:"editor.action.reindentselectedlines",label:rt(0,"Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:XC.writable})}run(t,i){const e=t.get(tf),s=i.getModel();if(!s)return;const n=i.getSelections();if(null===n)return;const o=[];for(const t of n){let i=t.startLineNumber,n=t.endLineNumber;if(i!==n&&1===t.endColumn&&n--,1===i){if(i===n)continue}else i--;const r=l9(s,e,i,n);o.push(...r)}o.length>0&&(i.pushUndoStop(),i.executeEdits(this.id,o),i.pushUndoStop())}});class C9{constructor(t,i){this.range=t,this.direction=i}}class S9{constructor(t,i,e){this.hint=t,this.anchor=i,this.provider=e,this._isResolved=!1}with(t){const i=new S9(this.hint,t.anchor,this.provider);return i._isResolved=this._isResolved,i._currentResolve=this._currentResolve,i}async resolve(t){if("function"==typeof this.provider.resolveInlayHint){if(this._currentResolve){if(await this._currentResolve,t.isCancellationRequested)return;return this.resolve(t)}this._isResolved||(this._currentResolve=this._doResolve(t).finally((()=>this._currentResolve=void 0))),await this._currentResolve}}async _doResolve(t){var i,e;try{const s=await Promise.resolve(this.provider.resolveInlayHint(this.hint,t));this.hint.tooltip=null!==(i=null==s?void 0:s.tooltip)&&void 0!==i?i:this.hint.tooltip,this.hint.label=null!==(e=null==s?void 0:s.label)&&void 0!==e?e:this.hint.label,this._isResolved=!0}catch(t){$i(t),this._isResolved=!1}}}class D9{static async create(t,i,e,s){const n=[],o=t.ordered(i).reverse().map((t=>e.map((async e=>{try{const o=await t.provideInlayHints(i,e,s);(null==o?void 0:o.hints.length)&&n.push([o,t])}catch(t){$i(t)}}))));if(await Promise.all(o.flat()),s.isCancellationRequested||i.isDisposed())throw new Hi;return new D9(e,n,i)}constructor(t,i,e){this._disposables=new te,this.ranges=t,this.provider=new Set;const s=[];for(const[t,n]of i){this._disposables.add(t),this.provider.add(n);for(const i of t.hints){const t=e.validatePosition(i.position);let o="before";const r=D9._getRangeAtPosition(e,t);let h;r.getStartPosition().isBefore(t)?(h=Ls.fromPositions(r.getStartPosition(),t),o="after"):(h=Ls.fromPositions(t,r.getEndPosition()),o="before"),s.push(new S9(i,new C9(h,o),n))}}this.items=s.sort(((t,i)=>Ms.compare(t.hint.position,i.hint.position)))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(t,i){const e=i.lineNumber,s=t.getWordAtPosition(i);if(s)return new Ls(e,s.startColumn,e,s.endColumn);t.tokenization.tokenizeIfCheap(e);const n=t.tokenization.getLineTokens(e),o=i.column-1,r=n.findTokenIndexAtOffset(o);let h=n.getStartOffset(r),c=n.getEndOffset(r);return c-h==1&&(h===o&&r>1?(h=n.getStartOffset(r-1),c=n.getEndOffset(r-1)):c===o&&rRh(t)?t.command.id:u1())));for(const t of rX.all())d.has(t.desc.id)&&u.push(new wr(t.desc.id,Ph.label(t.desc,{renderShortTitle:!0}),void 0,!0,(async()=>{const e=await o.createModelReference(l.uri);try{const n=new oX(e.object.textEditorModel,Ls.getStartPosition(l.range)),o=s.item.anchor.range;await c.invokeFunction(t.runEditorCommand.bind(t),i,n,o)}finally{e.dispose()}})));if(s.part.command){const{command:t}=s.part;u.push(new br),u.push(new wr(t.id,t.title,void 0,!0,(async()=>{var i;try{await h.executeCommand(t.id,...null!==(i=t.arguments)&&void 0!==i?i:[])}catch(t){a.notify({severity:oT.Error,source:s.item.provider.displayName,message:t})}})))}const f=i.getOption(126);r.showContextMenu({domForShadowRoot:f&&null!==(n=i.getDomNode())&&void 0!==n?n:void 0,getAnchor:()=>{const t=ol(e);return{x:t.left,y:t.top+t.height+8}},getActions:()=>u,onHide:()=>{i.focus()},autoSelectFirstItem:!0})}async function A9(t,i,e,s){const n=t.get(mr),o=await n.createModelReference(s.uri);await e.invokeWithinContext((async t=>{const n=i.hasSideBySideModifier,r=t.get(lh),h=eY.inPeekEditor.getValue(r),c=!n&&e.getOption(87)&&!h;return new hX({openToSide:n,openInPeek:c,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(t,new oX(o.object.textEditorModel,Ls.getStartPosition(s.range)),Ls.lift(s.range))})),o.dispose()}var M9,L9=function(t,i){return function(e,s){i(e,s,t)}};class F9{constructor(){this._entries=new Up(50)}get(t){const i=F9._key(t);return this._entries.get(i)}set(t,i){const e=F9._key(t);this._entries.set(e,i)}static _key(t){return`${t.uri.toString()}/${t.getVersionId()}`}}const T9=fr("IInlayHintsCache");Sd(T9,F9,1);class R9{constructor(t,i){this.item=t,this.index=i}get part(){const t=this.item.hint.label;return"string"==typeof t?{label:t}:t[this.index]}}class O9{constructor(t,i){this.part=t,this.hasTriggerModifier=i}}let I9=M9=class{static get(t){var i;return null!==(i=t.getContribution(M9.ID))&&void 0!==i?i:void 0}constructor(t,i,e,s,n,o,r){this._editor=t,this._languageFeaturesService=i,this._inlayHintsCache=s,this._commandService=n,this._notificationService=o,this._instaService=r,this._disposables=new te,this._sessionDisposables=new te,this._decorationsMetadata=new Map,this._ruleFactory=new My(this._editor),this._activeRenderMode=0,this._debounceInfo=e.for(i.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(i.inlayHintsProvider.onDidChange((()=>this._update()))),this._disposables.add(t.onDidChangeModel((()=>this._update()))),this._disposables.add(t.onDidChangeModelLanguage((()=>this._update()))),this._disposables.add(t.onDidChangeConfiguration((t=>{t.hasChanged(139)&&this._update()}))),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const t=this._editor.getOption(139);if("off"===t.enabled)return;const i=this._editor.getModel();if(!i||!this._languageFeaturesService.inlayHintsProvider.has(i))return;const e=this._inlayHintsCache.get(i);let s;e&&this._updateHintsDecorators([i.getFullModelRange()],e),this._sessionDisposables.add(Xi((()=>{i.isDisposed()||this._cacheHintsForFastRestore(i)})));const n=new Set,o=new gc((async()=>{const t=Date.now();null==s||s.dispose(!0),s=new Se;const e=i.onWillDispose((()=>null==s?void 0:s.cancel()));try{const e=s.token,r=await D9.create(this._languageFeaturesService.inlayHintsProvider,i,this._getHintsRanges(),e);if(o.delay=this._debounceInfo.update(i,Date.now()-t),e.isCancellationRequested)return void r.dispose();for(const t of r.provider)"function"!=typeof t.onDidChangeInlayHints||n.has(t)||(n.add(t),this._sessionDisposables.add(t.onDidChangeInlayHints((()=>{o.isScheduled()||o.schedule()}))));this._sessionDisposables.add(r),this._updateHintsDecorators(r.ranges,r.items),this._cacheHintsForFastRestore(i)}catch(t){Pi(t)}finally{s.dispose(),e.dispose()}}),this._debounceInfo.get(i));if(this._sessionDisposables.add(o),this._sessionDisposables.add(Xi((()=>null==s?void 0:s.dispose(!0)))),o.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange((t=>{!t.scrollTopChanged&&o.isScheduled()||o.schedule()}))),this._sessionDisposables.add(this._editor.onDidChangeModelContent((()=>{const t=Math.max(o.delay,1250);o.schedule(t)}))),"on"===t.enabled)this._activeRenderMode=0;else{let i,e;"onUnlessPressed"===t.enabled?(i=0,e=1):(i=1,e=0),this._activeRenderMode=i,this._sessionDisposables.add(Zl.getInstance().event((t=>{if(!this._editor.hasModel())return;const s=t.altKey&&t.ctrlKey&&!t.shiftKey&&!t.metaKey?e:i;if(s!==this._activeRenderMode){this._activeRenderMode=s;const t=this._editor.getModel(),i=this._copyInlayHintsWithCurrentAnchor(t);this._updateHintsDecorators([t.getFullModelRange()],i),o.schedule(0)}})))}this._sessionDisposables.add(this._installDblClickGesture((()=>o.schedule(0)))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const t=new te,i=t.add(new VJ(this._editor)),e=new te;return t.add(e),t.add(i.onMouseMoveOrRelevantKeyDown((t=>{const[i]=t,s=this._getInlayHintLabelPart(i),n=this._editor.getModel();if(!s||!n)return void e.clear();const o=new Se;e.add(Xi((()=>o.dispose(!0)))),s.item.resolve(o.token),this._activeInlayHintPart=s.part.command||s.part.location?new O9(s,i.hasTriggerModifier):void 0;const r=n.validatePosition(s.item.hint.position).lineNumber,h=new Ls(r,1,r,n.getLineMaxColumn(r)),c=this._getInlineHintsForRange(h);this._updateHintsDecorators([h],c),e.add(Xi((()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([h],c)})))}))),t.add(i.onCancel((()=>e.clear()))),t.add(i.onExecute((async t=>{const i=this._getInlayHintLabelPart(t);if(i){const e=i.part;e.location?this._instaService.invokeFunction(A9,t,this._editor,e.location):qs.is(e.command)&&await this._invokeCommand(e.command,i.item)}}))),t}_getInlineHintsForRange(t){const i=new Set;for(const e of this._decorationsMetadata.values())t.containsRange(e.item.anchor.range)&&i.add(e.item);return Array.from(i)}_installDblClickGesture(t){return this._editor.onMouseUp((async i=>{if(2!==i.event.detail)return;const e=this._getInlayHintLabelPart(i);if(e&&(i.event.preventDefault(),await e.item.resolve(xe.None),y(e.item.hint.textEdits))){const i=e.item.hint.textEdits.map((t=>gO.replace(Ls.lift(t.range),t.text)));this._editor.executeEdits("inlayHint.default",i),t()}}))}_installContextMenu(){return this._editor.onContextMenu((async t=>{if(!(t.event.target instanceof HTMLElement))return;const i=this._getInlayHintLabelPart(t);i&&await this._instaService.invokeFunction(E9,this._editor,t.event.target,i)}))}_getInlayHintLabelPart(t){var i;if(6!==t.target.type)return;const e=null===(i=t.target.detail.injectedText)||void 0===i?void 0:i.options;return e instanceof AL&&(null==e?void 0:e.attachedData)instanceof R9?e.attachedData:void 0}async _invokeCommand(t,i){var e;try{await this._commandService.executeCommand(t.id,...null!==(e=t.arguments)&&void 0!==e?e:[])}catch(t){this._notificationService.notify({severity:oT.Error,source:i.provider.displayName,message:t})}}_cacheHintsForFastRestore(t){const i=this._copyInlayHintsWithCurrentAnchor(t);this._inlayHintsCache.set(t,i)}_copyInlayHintsWithCurrentAnchor(t){const i=new Map;for(const[e,s]of this._decorationsMetadata){if(i.has(s.item))continue;const n=t.getDecorationRange(e);if(n){const t=new C9(n,s.item.anchor.direction),e=s.item.with({anchor:t});i.set(s.item,e)}}return Array.from(i.values())}_getHintsRanges(){const t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),e=[];for(const s of i.sort(Ls.compareRangesUsingStarts)){const i=t.validateRange(new Ls(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));0!==e.length&&Ls.areIntersectingOrTouching(e[e.length-1],i)?e[e.length-1]=Ls.plusRange(e[e.length-1],i):e.push(i)}return e}_updateHintsDecorators(t,i){var e,s;const n=[],o=(t,i,e,s,o)=>{const r={content:e,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:i.className,cursorStops:s,attachedData:o};n.push({item:t,classNameRef:i,decoration:{range:t.anchor.range,options:{description:"InlayHint",showIfCollapsed:t.anchor.range.isEmpty(),collapseOnReplaceEdit:!t.anchor.range.isEmpty(),stickiness:0,[t.anchor.direction]:0===this._activeRenderMode?r:void 0}}})},r=(t,i)=>{const e=this._ruleFactory.createClassNameRef({width:(h/3|0)+"px",display:"inline-block"});o(t,e," ",i?$f.Right:$f.None)},{fontSize:h,fontFamily:c,padding:a,isUniform:l}=this._getLayoutInfo(),u="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(u,c);for(const t of i){t.hint.paddingLeft&&r(t,!1);const i="string"==typeof t.hint.label?[{label:t.hint.label}]:t.hint.label;for(let s=0;sM9._MAX_DECORATORS)break}const d=[];for(const i of t)for(const{id:t}of null!==(s=this._editor.getDecorationsInRange(i))&&void 0!==s?s:[]){const i=this._decorationsMetadata.get(t);i&&(d.push(t),i.classNameRef.dispose(),this._decorationsMetadata.delete(t))}const f=eU.capture(this._editor);this._editor.changeDecorations((t=>{const i=t.deltaDecorations(d,n.map((t=>t.decoration)));for(let t=0;te)&&(n=e);const o=t.fontFamily||s;return{fontSize:n,fontFamily:o,padding:i,isUniform:!i&&o===s&&n===e}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const t of this._decorationsMetadata.values())t.classNameRef.dispose();this._decorationsMetadata.clear()}};I9.ID="editor.contrib.InlayHints",I9._MAX_DECORATORS=1500,I9=M9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([L9(1,Cg),L9(2,mR),L9(3,T9),L9(4,Dr),L9(5,rT),L9(6,dr)],I9),Er.registerCommand("_executeInlayHintProvider",(async(t,...i)=>{const[e,s]=i;K(ws.isUri(e)),K(Ls.isIRange(s));const{inlayHintsProvider:n}=t.get(Cg),o=await t.get(mr).createModelReference(e);try{const t=await D9.create(n,o.object.textEditorModel,[Ls.lift(s)],xe.None),i=t.items.map((t=>t.hint));return setTimeout((()=>t.dispose()),0),i}finally{o.dispose()}}));var _9=function(t,i){return function(e,s){i(e,s,t)}};class N9 extends xX{constructor(t,i,e,s){super(10,i,t.item.anchor.range,e,s,!0),this.part=t}}let B9=class extends KX{constructor(t,i,e,s,n,o){super(t,i,e,s,o),this._resolverService=n,this.hoverOrdinal=6}suggestHoverAnchor(t){var i;if(!I9.get(this._editor))return null;if(6!==t.target.type)return null;const e=null===(i=t.target.detail.injectedText)||void 0===i?void 0:i.options;return e instanceof AL&&e.attachedData instanceof R9?new N9(e.attachedData,this,t.event.posx,t.event.posy):null}computeSync(){return[]}computeAsync(t,i,e){return t instanceof N9?new xc((async i=>{const{part:s}=t;if(await s.item.resolve(e),e.isCancellationRequested)return;let n,o;if("string"==typeof s.item.hint.tooltip?n=(new B_).appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(n=s.item.hint.tooltip),n&&i.emitOne(new qX(this,t.range,[n],!1,0)),y(s.item.hint.textEdits)&&i.emitOne(new qX(this,t.range,[(new B_).appendText(rt(0,"Double-click to insert"))],!1,10001)),"string"==typeof s.part.tooltip?o=(new B_).appendText(s.part.tooltip):s.part.tooltip&&(o=s.part.tooltip),o&&i.emitOne(new qX(this,t.range,[o],!1,1)),s.part.location||s.part.command){let e;const n=rt(0,"altKey"===this._editor.getOption(77)?St?"cmd + click":"ctrl + click":St?"option + click":"alt + click");s.part.location&&s.part.command?e=(new B_).appendText(rt(0,"Go to Definition ({0}), right click for more",n)):s.part.location?e=(new B_).appendText(rt(0,"Go to Definition ({0})",n)):s.part.command&&(e=new B_(`[${rt(0,"Execute Command")}](${r=s.part.command,ws.from({scheme:xa.command,path:r.id,query:r.arguments&&encodeURIComponent(JSON.stringify(r.arguments))}).toString()} "${s.part.command.title}") (${n})`,{isTrusted:!0})),e&&i.emitOne(new qX(this,t.range,[e],!1,1e4))}var r;const h=await this._resolveInlayHintLabelPartHover(s,e);for await(const t of h)i.emitOne(t)})):xc.EMPTY}async _resolveInlayHintLabelPartHover(t,i){if(!t.part.location)return xc.EMPTY;const{uri:e,range:s}=t.part.location,n=await this._resolverService.createModelReference(e);try{const e=n.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(e)?HX(this._languageFeaturesService.hoverProvider,e,new Ms(s.startLineNumber,s.startColumn),i).filter((t=>!P_(t.hover.contents))).map((i=>new qX(this,t.item.anchor.range,i.hover.contents,!1,2+i.ordinal))):xc.EMPTY}finally{n.dispose()}}};B9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([_9(1,kd),_9(2,fP),_9(3,gd),_9(4,mr),_9(5,Cg)],B9),uu(I9.ID,I9,1),CX.register(B9);class P9{constructor(t,i,e){this._editRange=t,this._originalSelection=i,this._text=e}getEditOperations(t,i){i.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(t,i){const e=i.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new Fs(e.endLineNumber,Math.min(this._originalSelection.positionColumn,e.endColumn),e.endLineNumber,Math.min(this._originalSelection.positionColumn,e.endColumn)):new Fs(e.endLineNumber,e.endColumn-this._text.length,e.endLineNumber,e.endColumn)}}var $9;let W9=$9=class{static get(t){return t.getContribution($9.ID)}constructor(t,i){this.editor=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(t,i){var e;null===(e=this.currentRequest)||void 0===e||e.cancel();const s=this.editor.getSelection(),n=this.editor.getModel();if(!n||!s)return;let o=s;if(o.startLineNumber!==o.endLineNumber)return;const r=new CK(this.editor,5),h=n.uri;return this.editorWorkerService.canNavigateValueSet(h)?(this.currentRequest=oc((()=>this.editorWorkerService.navigateValueSet(h,o,i))),this.currentRequest.then((i=>{var e;if(!i||!i.range||!i.value)return;if(!r.validate(this.editor))return;const s=Ls.lift(i.range);let n=i.range;const h=i.value.length-(o.endColumn-o.startColumn);n={startLineNumber:n.startLineNumber,startColumn:n.startColumn,endLineNumber:n.endLineNumber,endColumn:n.startColumn+i.value.length},h>1&&(o=new Fs(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn+h-1));const c=new P9(s,o,i.value);this.editor.pushUndoStop(),this.editor.executeCommand(t,c),this.editor.pushUndoStop(),this.decorations.set([{range:n,options:$9.DECORATION}]),null===(e=this.decorationRemover)||void 0===e||e.cancel(),this.decorationRemover=lc(350),this.decorationRemover.then((()=>this.decorations.clear())).catch(Pi)})).catch(Pi)):Promise.resolve(void 0)}};W9.ID="editor.contrib.inPlaceReplaceController",W9.DECORATION=ML.register({description:"in-place-replace",className:"valueSetReplacement"}),W9=$9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,bP)],W9),uu(W9.ID,W9,4),au(class extends nu{constructor(){super({id:"editor.action.inPlaceReplace.up",label:rt(0,"Replace with Previous Value"),alias:"Replace with Previous Value",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:3159,weight:100}})}run(t,i){const e=W9.get(i);return e?e.run(this.id,!1):Promise.resolve(void 0)}}),au(class extends nu{constructor(){super({id:"editor.action.inPlaceReplace.down",label:rt(0,"Replace with Next Value"),alias:"Replace with Next Value",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:3161,weight:100}})}run(t,i){const e=W9.get(i);return e?e.run(this.id,!0):Promise.resolve(void 0)}}),au(class extends nu{constructor(){super({id:"expandLineSelection",label:rt(0,"Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:XC.textInputFocus,primary:2090}})}run(t,i,e){if(e=e||{},!i.hasModel())return;const s=i._getViewModel();s.model.pushStackElement(),s.setCursorStates(e.source,3,IC.expandLineSelection(s,s.getCursorStates())),s.revealPrimaryCursor(e.source,!0)}});class j9{constructor(t,i){this._selection=t,this._cursors=i,this._selectionId=null}getEditOperations(t,i){const e=function(t,i){i.sort(((t,i)=>t.lineNumber===i.lineNumber?t.column-i.column:t.lineNumber-i.lineNumber));for(let t=i.length-2;t>=0;t--)i[t].lineNumber===i[t+1].lineNumber&&i.splice(t,1);const e=[];let s=0,n=0;const o=i.length;for(let r=1,h=t.getLineCount();r<=h;r++){const h=t.getLineContent(r),c=h.length+1;let a=0;if(nt.tokenization.getLineTokens(i),getLanguageId:()=>t.getLanguageId(),getLanguageIdAtPosition:(i,e)=>t.getLanguageIdAtPosition(i,e)},getLineContent:null};if(s.startLineNumber===s.endLineNumber&&1===t.getLineMaxColumn(s.startLineNumber)){const e=s.startLineNumber,n=this._isMovingDown?e+1:e-1;1===t.getLineMaxColumn(n)?i.addEditOperation(new Ls(1,1,1,1),null):(i.addEditOperation(new Ls(e,1,e,1),t.getLineContent(n)),i.addEditOperation(new Ls(n,1,n,t.getLineMaxColumn(n)),null)),s=new Fs(n,1,n,1)}else{let e,o;if(this._isMovingDown){e=s.endLineNumber+1,o=t.getLineContent(e),i.addEditOperation(new Ls(e-1,t.getLineMaxColumn(e-1),e,t.getLineMaxColumn(e)),null);let a=o;if(this.shouldAutoIndent(t,s)){const l=this.matchEnterRule(t,h,n,e,s.startLineNumber-1);if(null!==l){const i=a9(l+c9(eo(t.getLineContent(e)),n),n,r);a=i+this.trimStart(o)}else{c.getLineContent=i=>t.getLineContent(i===s.startLineNumber?e:i);const i=VC(this._autoIndent,c,t.getLanguageIdAtPosition(e,1),s.startLineNumber,h,this._languageConfigurationService);if(null!==i){const s=eo(t.getLineContent(e)),h=c9(i,n);if(h!==c9(s,n)){const t=a9(h,n,r);a=t+this.trimStart(o)}}}i.addEditOperation(new Ls(s.startLineNumber,1,s.startLineNumber,1),a+"\n");const u=this.matchEnterRuleMovingDown(t,h,n,s.startLineNumber,e,a);if(null!==u)0!==u&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,u);else{c.getLineContent=i=>i===s.startLineNumber?a:t.getLineContent(i>=s.startLineNumber+1&&i<=s.endLineNumber+1?i-1:i);const o=VC(this._autoIndent,c,t.getLanguageIdAtPosition(e,1),s.startLineNumber+1,h,this._languageConfigurationService);if(null!==o){const e=eo(t.getLineContent(s.startLineNumber)),h=c9(o,n),c=c9(e,n);h!==c&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,h-c)}}}else i.addEditOperation(new Ls(s.startLineNumber,1,s.startLineNumber,1),a+"\n")}else if(e=s.startLineNumber-1,o=t.getLineContent(e),i.addEditOperation(new Ls(e,1,e+1,1),null),i.addEditOperation(new Ls(s.endLineNumber,t.getLineMaxColumn(s.endLineNumber),s.endLineNumber,t.getLineMaxColumn(s.endLineNumber)),"\n"+o),this.shouldAutoIndent(t,s)){c.getLineContent=i=>t.getLineContent(i===e?s.startLineNumber:i);const o=this.matchEnterRule(t,h,n,s.startLineNumber,s.startLineNumber-2);if(null!==o)0!==o&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,o);else{const o=VC(this._autoIndent,c,t.getLanguageIdAtPosition(s.startLineNumber,1),e,h,this._languageConfigurationService);if(null!==o){const e=eo(t.getLineContent(s.startLineNumber)),h=c9(o,n),c=c9(e,n);h!==c&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,h-c)}}}}this._selectionId=i.trackSelection(s)}buildIndentConverter(t,i,e){return{shiftIndent:s=>WC.shiftIndent(s,s.length+1,t,i,e),unshiftIndent:s=>WC.unshiftIndent(s,s.length+1,t,i,e)}}parseEnterResult(t,i,e,s,n){if(n){let o=n.indentation;n.indentAction===Ou.None||n.indentAction===Ou.Indent?o=n.indentation+n.appendText:n.indentAction===Ou.IndentOutdent?o=n.indentation:n.indentAction===Ou.Outdent&&(o=i.unshiftIndent(n.indentation)+n.appendText);const r=t.getLineContent(s);if(this.trimStart(r).indexOf(this.trimStart(o))>=0){const n=eo(t.getLineContent(s));let r=eo(o);const h=UC(t,s,this._languageConfigurationService);return null!==h&&2&h&&(r=i.unshiftIndent(r)),c9(r,e)-c9(n,e)}}return null}matchEnterRuleMovingDown(t,i,e,s,n,o){if(so(o)>=0){const o=t.getLineMaxColumn(n),r=NC(this._autoIndent,t,new Ls(n,o,n,o),this._languageConfigurationService);return this.parseEnterResult(t,i,e,s,r)}{let n=s-1;for(;n>=1&&!(so(t.getLineContent(n))>=0);)n--;if(n<1||s>t.getLineCount())return null;const o=t.getLineMaxColumn(n),r=NC(this._autoIndent,t,new Ls(n,o,n,o),this._languageConfigurationService);return this.parseEnterResult(t,i,e,s,r)}}matchEnterRule(t,i,e,s,n,o){let r=n;for(;r>=1;){let i;if(i=r===n&&void 0!==o?o:t.getLineContent(r),so(i)>=0)break;r--}if(r<1||s>t.getLineCount())return null;const h=t.getLineMaxColumn(r),c=NC(this._autoIndent,t,new Ls(r,h,r,h),this._languageConfigurationService);return this.parseEnterResult(t,i,e,s,c)}trimStart(t){return t.replace(/^\s+/,"")}shouldAutoIndent(t,i){if(this._autoIndent<4)return!1;if(!t.tokenization.isCheapToTokenize(i.startLineNumber))return!1;const e=t.getLanguageIdAtPosition(i.startLineNumber,1);return e===t.getLanguageIdAtPosition(i.endLineNumber,1)&&null!==this._languageConfigurationService.getLanguageConfiguration(e).indentRulesSupport}getIndentEditsOfMovingBlock(t,i,e,s,n,o){for(let r=e.startLineNumber;r<=e.endLineNumber;r++){const h=eo(t.getLineContent(r)),c=a9(c9(h,s)+o,s,n);c!==h&&(i.addEditOperation(new Ls(r,1,r,h.length+1),c),r===e.endLineNumber&&e.endColumn<=h.length+1&&""===c&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(t,i){let e=i.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(e=e.setEndPosition(e.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&e.startLineNumber=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,tf)],H9);class V9{static getCollator(){return V9._COLLATOR||(V9._COLLATOR=new Intl.Collator),V9._COLLATOR}constructor(t,i){this.selection=t,this.descending=i,this.selectionId=null}getEditOperations(t,i){const e=function(t,i,e){const s=U9(t,i,e);return s?gO.replace(new Ls(s.startLineNumber,1,s.endLineNumber,t.getLineMaxColumn(s.endLineNumber)),s.after.join("\n")):null}(t,this.selection,this.descending);e&&i.addEditOperation(e.range,e.text),this.selectionId=i.trackSelection(this.selection)}computeCursorState(t,i){return i.getTrackedSelection(this.selectionId)}static canRun(t,i,e){if(null===t)return!1;const s=U9(t,i,e);if(!s)return!1;for(let t=0,i=s.before.length;t=n)return null;const o=[];for(let i=s;i<=n;i++)o.push(t.getLineContent(i));let r=o.slice(0);return r.sort(V9.getCollator().compare),!0===e&&(r=r.reverse()),{startLineNumber:s,endLineNumber:n,before:o,after:r}}V9._COLLATOR=null;class q9 extends nu{constructor(t,i){super(i),this.down=t}run(t,i){if(!i.hasModel())return;const e=i.getSelections().map(((t,i)=>({selection:t,index:i,ignore:!1})));e.sort(((t,i)=>Ls.compareRangesUsingStarts(t.selection,i.selection)));let s=e[0];for(let t=1;tnew Ms(t.positionLineNumber,t.positionColumn))));const n=i.getSelection();if(null===n)return;const o=new j9(n,s);i.pushUndoStop(),i.executeCommands(this.id,[o]),i.pushUndoStop()}}Z9.ID="editor.action.trimTrailingWhitespace";class Q9 extends nu{run(t,i){if(!i.hasModel())return;const e=i.getSelection(),s=this._getRangesToDelete(i),n=[];for(let t=0,i=s.length-1;tgO.replace(t,"")));i.pushUndoStop(),i.executeEdits(this.id,r,o),i.pushUndoStop()}}class J9 extends nu{run(t,i){const e=i.getSelections();if(null===e)return;const s=i.getModel();if(null===s)return;const n=i.getOption(129),o=[];for(const t of e)if(t.isEmpty()){const e=t.getStartPosition(),r=i.getConfiguredWordAtPosition(e);if(!r)continue;const h=new Ls(e.lineNumber,r.startColumn,e.lineNumber,r.endColumn),c=s.getValueInRange(h);o.push(gO.replace(h,this._modifyText(c,n)))}else{const i=s.getValueInRange(t);o.push(gO.replace(t,this._modifyText(i,n)))}i.pushUndoStop(),i.executeEdits(this.id,o),i.pushUndoStop()}}class Y9{constructor(t,i){this._pattern=t,this._flags=i,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch(t){}}return this._actual}isSupported(){return null!==this.get()}}class X9 extends J9{constructor(){super({id:"editor.action.transformToTitlecase",label:rt(0,"Transform to Title Case"),alias:"Transform to Title Case",precondition:XC.writable})}_modifyText(t,i){const e=X9.titleBoundary.get();return e?t.toLocaleLowerCase().replace(e,(t=>t.toLocaleUpperCase())):t}}X9.titleBoundary=new Y9("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");class t7 extends J9{constructor(){super({id:"editor.action.transformToSnakecase",label:rt(0,"Transform to Snake Case"),alias:"Transform to Snake Case",precondition:XC.writable})}_modifyText(t,i){const e=t7.caseBoundary.get(),s=t7.singleLetters.get();return e&&s?t.replace(e,"$1_$2").replace(s,"$1_$2$3").toLocaleLowerCase():t}}t7.caseBoundary=new Y9("(\\p{Ll})(\\p{Lu})","gmu"),t7.singleLetters=new Y9("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");class i7 extends J9{constructor(){super({id:"editor.action.transformToCamelcase",label:rt(0,"Transform to Camel Case"),alias:"Transform to Camel Case",precondition:XC.writable})}_modifyText(t,i){const e=i7.wordBoundary.get();if(!e)return t;const s=t.split(e);return s.shift()+s.map((t=>t.substring(0,1).toLocaleUpperCase()+t.substring(1))).join("")}}i7.wordBoundary=new Y9("[_\\s-]","gm");class e7 extends J9{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every((t=>t.isSupported()))}constructor(){super({id:"editor.action.transformToKebabcase",label:rt(0,"Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:XC.writable})}_modifyText(t,i){const e=e7.caseBoundary.get(),s=e7.singleLetters.get(),n=e7.underscoreBoundary.get();return e&&s&&n?t.replace(n,"$1-$3").replace(e,"$1-$2").replace(s,"$1-$2").toLocaleLowerCase():t}}e7.caseBoundary=new Y9("(\\p{Ll})(\\p{Lu})","gmu"),e7.singleLetters=new Y9("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),e7.underscoreBoundary=new Y9("(\\S)(_)(\\S)","gm"),au(class extends q9{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:rt(0,"Copy Line Up"),alias:"Copy Line Up",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"2_line",title:rt(0,"&&Copy Line Up"),order:1}})}}),au(class extends q9{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:rt(0,"Copy Line Down"),alias:"Copy Line Down",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"2_line",title:rt(0,"Co&&py Line Down"),order:2}})}}),au(class extends nu{constructor(){super({id:"editor.action.duplicateSelection",label:rt(0,"Duplicate Selection"),alias:"Duplicate Selection",precondition:XC.writable,menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"2_line",title:rt(0,"&&Duplicate Selection"),order:5}})}run(t,i,e){if(!i.hasModel())return;const s=[],n=i.getSelections(),o=i.getModel();for(const t of n)if(t.isEmpty())s.push(new z9(t,!0));else{const i=new Fs(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn);s.push(new SC(i,o.getValueInRange(t)))}i.pushUndoStop(),i.executeCommands(this.id,s),i.pushUndoStop()}}),au(class extends K9{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:rt(0,"Move Line Up"),alias:"Move Line Up",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"2_line",title:rt(0,"Mo&&ve Line Up"),order:3}})}}),au(class extends K9{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:rt(0,"Move Line Down"),alias:"Move Line Down",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"2_line",title:rt(0,"Move &&Line Down"),order:4}})}}),au(class extends G9{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:rt(0,"Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:XC.writable})}}),au(class extends G9{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:rt(0,"Sort Lines Descending"),alias:"Sort Lines Descending",precondition:XC.writable})}}),au(class extends nu{constructor(){super({id:"editor.action.removeDuplicateLines",label:rt(0,"Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:XC.writable})}run(t,i){if(!i.hasModel())return;const e=i.getModel();if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return;const s=[],n=[];let o=0;for(const t of i.getSelections()){const i=new Set,r=[];for(let s=t.startLineNumber;s<=t.endLineNumber;s++){const t=e.getLineContent(s);i.has(t)||(r.push(t),i.add(t))}const h=new Fs(t.startLineNumber,1,t.endLineNumber,e.getLineMaxColumn(t.endLineNumber)),c=t.startLineNumber-o,a=new Fs(c,1,c+r.length-1,r[r.length-1].length);s.push(gO.replace(h,r.join("\n"))),n.push(a),o+=t.endLineNumber-t.startLineNumber+1-r.length}i.pushUndoStop(),i.executeEdits(this.id,s,n),i.pushUndoStop()}}),au(Z9),au(class extends nu{constructor(){super({id:"editor.action.deleteLines",label:rt(0,"Delete Line"),alias:"Delete Line",precondition:XC.writable,kbOpts:{kbExpr:XC.textInputFocus,primary:3113,weight:100}})}run(t,i){if(!i.hasModel())return;const e=this._getLinesToRemove(i),s=i.getModel();if(1===s.getLineCount()&&1===s.getLineMaxColumn(1))return;let n=0;const o=[],r=[];for(let t=0,i=e.length;t1&&(h-=1,a=s.getLineMaxColumn(h)),o.push(gO.replace(new Fs(h,a,c,l),"")),r.push(new Fs(h-n,i.positionColumn,h-n,i.positionColumn)),n+=i.endLineNumber-i.startLineNumber+1}i.pushUndoStop(),i.executeEdits(this.id,o,r),i.pushUndoStop()}_getLinesToRemove(t){const i=t.getSelections().map((t=>{let i=t.endLineNumber;return t.startLineNumbert.startLineNumber===i.startLineNumber?t.endLineNumber-i.endLineNumber:t.startLineNumber-i.startLineNumber));const e=[];let s=i[0];for(let t=1;t=i[t].startLineNumber?s.endLineNumber=i[t].endLineNumber:(e.push(s),s=i[t]);return e.push(s),e}}),au(class extends nu{constructor(){super({id:"editor.action.indentLines",label:rt(0,"Indent Line"),alias:"Indent Line",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:2142,weight:100}})}run(t,i){const e=i._getViewModel();e&&(i.pushUndoStop(),i.executeCommands(this.id,qC.indent(e.cursorConfig,i.getModel(),i.getSelections())),i.pushUndoStop())}}),au(class extends nu{constructor(){super({id:"editor.action.outdentLines",label:rt(0,"Outdent Line"),alias:"Outdent Line",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:2140,weight:100}})}run(t,i){cS.Outdent.runEditorCommand(t,i,null)}}),au(class extends nu{constructor(){super({id:"editor.action.insertLineBefore",label:rt(0,"Insert Line Above"),alias:"Insert Line Above",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:3075,weight:100}})}run(t,i){const e=i._getViewModel();e&&(i.pushUndoStop(),i.executeCommands(this.id,qC.lineInsertBefore(e.cursorConfig,i.getModel(),i.getSelections())))}}),au(class extends nu{constructor(){super({id:"editor.action.insertLineAfter",label:rt(0,"Insert Line Below"),alias:"Insert Line Below",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:2051,weight:100}})}run(t,i){const e=i._getViewModel();e&&(i.pushUndoStop(),i.executeCommands(this.id,qC.lineInsertAfter(e.cursorConfig,i.getModel(),i.getSelections())))}}),au(class extends Q9{constructor(){super({id:"deleteAllLeft",label:rt(0,"Delete All Left"),alias:"Delete All Left",precondition:XC.writable,kbOpts:{kbExpr:XC.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(t,i){let e=null;const s=[];let n=0;return i.forEach((i=>{let o;if(1===i.endColumn&&n>0){const t=i.startLineNumber-n;o=new Fs(t,i.startColumn,t,i.startColumn)}else o=new Fs(i.startLineNumber,i.startColumn,i.startLineNumber,i.startColumn);n+=i.endLineNumber-i.startLineNumber,i.intersectRanges(t)?e=o:s.push(o)})),e&&s.unshift(e),s}_getRangesToDelete(t){const i=t.getSelections();if(null===i)return[];let e=i;const s=t.getModel();return null===s?[]:(e.sort(Ls.compareRangesUsingStarts),e=e.map((t=>{if(t.isEmpty()){if(1===t.startColumn){const i=Math.max(1,t.startLineNumber-1),e=1===t.startLineNumber?1:s.getLineLength(i)+1;return new Ls(i,e,t.startLineNumber,1)}return new Ls(t.startLineNumber,1,t.startLineNumber,t.startColumn)}return new Ls(t.startLineNumber,1,t.endLineNumber,t.endColumn)})),e)}}),au(class extends Q9{constructor(){super({id:"deleteAllRight",label:rt(0,"Delete All Right"),alias:"Delete All Right",precondition:XC.writable,kbOpts:{kbExpr:XC.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(t,i){let e=null;const s=[];for(let n=0,o=i.length,r=0;n{if(t.isEmpty()){const e=i.getLineMaxColumn(t.startLineNumber);return t.startColumn===e?new Ls(t.startLineNumber,t.startColumn,t.startLineNumber+1,1):new Ls(t.startLineNumber,t.startColumn,t.startLineNumber,e)}return t}));return s.sort(Ls.compareRangesUsingStarts),s}}),au(class extends nu{constructor(){super({id:"editor.action.joinLines",label:rt(0,"Join Lines"),alias:"Join Lines",precondition:XC.writable,kbOpts:{kbExpr:XC.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(t,i){const e=i.getSelections();if(null===e)return;let s=i.getSelection();if(null===s)return;e.sort(Ls.compareRangesUsingStarts);const n=[],o=e.reduce(((t,i)=>t.isEmpty()?t.endLineNumber===i.startLineNumber?(s.equalsSelection(t)&&(s=i),i):i.startLineNumber>t.endLineNumber+1?(n.push(t),i):new Fs(t.startLineNumber,t.startColumn,i.endLineNumber,i.endColumn):i.startLineNumber>t.endLineNumber?(n.push(t),i):new Fs(t.startLineNumber,t.startColumn,i.endLineNumber,i.endColumn)));n.push(o);const r=i.getModel();if(null===r)return;const h=[],c=[];let a=s,l=0;for(let t=0,i=n.length;t=1){let t=!0;""===g&&(t=!1),!t||" "!==g.charAt(g.length-1)&&"\t"!==g.charAt(g.length-1)||(t=!1,g=g.replace(/[\s\uFEFF\xA0]+$/g," "));const s=i.substr(e-1);g+=(t?" ":"")+s,f=t?s.length+1:s.length}else f=0}const m=new Ls(e,o,u,d);if(!m.isEmpty()){let t;i.isEmpty()?(h.push(gO.replace(m,g)),t=new Fs(m.startLineNumber-l,g.length-f+1,e-l,g.length-f+1)):i.startLineNumber===i.endLineNumber?(h.push(gO.replace(m,g)),t=new Fs(i.startLineNumber-l,i.startColumn,i.endLineNumber-l,i.endColumn)):(h.push(gO.replace(m,g)),t=new Fs(i.startLineNumber-l,i.startColumn,i.startLineNumber-l,g.length-p)),null!==Ls.intersectRanges(m,s)?a=t:c.push(t)}l+=m.endLineNumber-m.startLineNumber}c.unshift(a),i.pushUndoStop(),i.executeEdits(this.id,h,c),i.pushUndoStop()}}),au(class extends nu{constructor(){super({id:"editor.action.transpose",label:rt(0,"Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:XC.writable})}run(t,i){const e=i.getSelections();if(null===e)return;const s=i.getModel();if(null===s)return;const n=[];for(let t=0,i=e.length;t=r){if(o.lineNumber===s.getLineCount())continue;const t=new Ls(o.lineNumber,Math.max(1,o.column-1),o.lineNumber+1,1),i=s.getValueInRange(t).split("").reverse().join("");n.push(new CC(new Fs(o.lineNumber,Math.max(1,o.column-1),o.lineNumber+1,1),i))}else{const t=new Ls(o.lineNumber,Math.max(1,o.column-1),o.lineNumber,o.column+1),i=s.getValueInRange(t).split("").reverse().join("");n.push(new AC(t,i,new Fs(o.lineNumber,o.column+1,o.lineNumber,o.column+1)))}}i.pushUndoStop(),i.executeCommands(this.id,n),i.pushUndoStop()}}),au(class extends J9{constructor(){super({id:"editor.action.transformToUppercase",label:rt(0,"Transform to Uppercase"),alias:"Transform to Uppercase",precondition:XC.writable})}_modifyText(t,i){return t.toLocaleUpperCase()}}),au(class extends J9{constructor(){super({id:"editor.action.transformToLowercase",label:rt(0,"Transform to Lowercase"),alias:"Transform to Lowercase",precondition:XC.writable})}_modifyText(t,i){return t.toLocaleLowerCase()}}),t7.caseBoundary.isSupported()&&t7.singleLetters.isSupported()&&au(t7),i7.wordBoundary.isSupported()&&au(i7),X9.titleBoundary.isSupported()&&au(X9),e7.isSupported()&&au(e7);var s7,n7=function(t,i){return function(e,s){i(e,s,t)}};const o7=new ah("LinkedEditingInputVisible",!1);let r7=s7=class extends ie{static get(t){return t.getContribution(s7.ID)}constructor(t,i,e,s,n){super(),this.languageConfigurationService=s,this._syncRangesToken=0,this._localToDispose=this._register(new te),this._editor=t,this._providers=e.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=o7.bindTo(i),this._debounceInformation=n.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 te),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequest=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel((()=>this.reinitialize(!0)))),this._register(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(69)||t.hasChanged(92))&&this.reinitialize(!1)}))),this._register(this._providers.onDidChange((()=>this.reinitialize(!1)))),this._register(this._editor.onDidChangeModelLanguage((()=>this.reinitialize(!0)))),this.reinitialize(!0)}reinitialize(t){const i=this._editor.getModel(),e=null!==i&&(this._editor.getOption(69)||this._editor.getOption(92))&&this._providers.has(i);if(e===this._enabled&&!t)return;if(this._enabled=e,this.clearRanges(),this._localToDispose.clear(),!e||null===i)return;this._localToDispose.add(ce.runAndSubscribe(i.onDidChangeLanguageConfiguration,(()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId()).getWordDefinition()})));const s=new cc(this._debounceInformation.get(i)),n=()=>{var t;this._rangeUpdateTriggerPromise=s.trigger((()=>this.updateRanges()),null!==(t=this._debounceDuration)&&void 0!==t?t:this._debounceInformation.get(i))},o=new cc(0),r=t=>{this._rangeSyncTriggerPromise=o.trigger((()=>this._syncRanges(t)))};this._localToDispose.add(this._editor.onDidChangeCursorPosition((()=>{n()}))),this._localToDispose.add(this._editor.onDidChangeModelContent((t=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const i=this._currentDecorations.getRange(0);if(i&&t.changes.every((t=>i.intersectRanges(t.range))))return void r(this._syncRangesToken)}n()}))),this._localToDispose.add({dispose:()=>{s.dispose(),o.dispose()}}),this.updateRanges()}_syncRanges(t){if(!this._editor.hasModel()||t!==this._syncRangesToken||0===this._currentDecorations.length)return;const i=this._editor.getModel(),e=this._currentDecorations.getRange(0);if(!e||e.startLineNumber!==e.endLineNumber)return this.clearRanges();const s=i.getValueInRange(e);if(this._currentWordPattern){const t=s.match(this._currentWordPattern);if((t?t[0].length:0)!==s.length)return this.clearRanges()}const n=[];for(let t=1,e=this._currentDecorations.length;t1)return void this.clearRanges();const e=this._editor.getModel(),s=e.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===s){if(i.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const t=this._currentDecorations.getRange(0);if(t&&t.containsPosition(i))return}}this.clearRanges(),this._currentRequestPosition=i,this._currentRequestModelVersion=s;const n=oc((async t=>{try{const o=new he(!1),r=await h7(this._providers,e,i,t);if(this._debounceInformation.update(e,o.elapsed()),n!==this._currentRequest)return;if(this._currentRequest=null,s!==e.getVersionId())return;let h=[];(null==r?void 0:r.ranges)&&(h=r.ranges),this._currentWordPattern=(null==r?void 0:r.wordPattern)||this._languageWordPattern;let c=!1;for(let t=0,e=h.length;t({range:t,options:s7.DECORATION})));this._visibleContextKey.set(!0),this._currentDecorations.set(a),this._syncRangesToken++}catch(t){zi(t)||Pi(t),this._currentRequest!==n&&this._currentRequest||this.clearRanges()}}));return this._currentRequest=n,n}};function h7(t,i,e,s){return dc(t.ordered(i).map((t=>async()=>{try{return await t.provideLinkedEditingRanges(i,e,s)}catch(t){return void $i(t)}})),(t=>!!t&&y(null==t?void 0:t.ranges)))}r7.ID="editor.contrib.linkedEditing",r7.DECORATION=ML.register({description:"linked-editing",stickiness:0,className:"linked-editing-decoration"}),r7=s7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([n7(1,lh),n7(2,Cg),n7(3,tf),n7(4,mR)],r7),cu(new(su.bindToContribution(r7.get))({id:"cancelLinkedEditingInput",precondition:o7,handler:t=>t.clearRanges(),kbOpts:{kbExpr:XC.editorTextFocus,weight:199,primary:9,secondary:[1033]}})),fw("editor.linkedEditingBackground",{dark:ug.fromHex("#f00").transparent(.3),light:ug.fromHex("#f00").transparent(.3),hcDark:ug.fromHex("#f00").transparent(.3),hcLight:ug.white},rt(0,"Background color when the editor auto renames on type.")),hu("_executeLinkedEditingProvider",((t,i,e)=>{const{linkedEditingRangeProvider:s}=t.get(Cg);return h7(s,i,e,xe.None)})),uu(r7.ID,r7,1),au(class extends nu{constructor(){super({id:"editor.action.linkedEditing",label:rt(0,"Start Linked Editing"),alias:"Start Linked Editing",precondition:Hr.and(XC.writable,XC.hasRenameProvider),kbOpts:{kbExpr:XC.editorTextFocus,primary:3132,weight:100}})}runCommand(t,i){const e=t.get(pr),[s,n]=Array.isArray(i)&&i||[void 0,void 0];return ws.isUri(s)&&Ms.isIPosition(n)?e.openCodeEditor({resource:s},e.getActiveCodeEditor()).then((t=>{t&&(t.setPosition(n),t.invokeWithinContext((i=>(this.reportTelemetry(i,t),this.run(i,t)))))}),Pi):super.runCommand(t,i)}run(t,i){const e=r7.get(i);return e?Promise.resolve(e.updateRanges(!0)):Promise.resolve()}});class c7{constructor(t,i){this._link=t,this._provider=i}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(t){return this._link.url?this._link.url:"function"==typeof this._provider.resolveLink?Promise.resolve(this._provider.resolveLink(this._link,t)).then((i=>(this._link=i||this._link,this._link.url?this.resolve(t):Promise.reject(new Error("missing"))))):Promise.reject(new Error("missing"))}}class a7{constructor(t){this._disposables=new te;let i=[];for(const[e,s]of t){const t=e.links.map((t=>new c7(t,s)));i=a7._union(i,t),Qi(e)&&this._disposables.add(e)}this.links=i}dispose(){this._disposables.dispose(),this.links.length=0}static _union(t,i){const e=[];let s,n,o,r;for(s=0,o=0,n=t.length,r=i.length;sPromise.resolve(t.provideLinks(i,e)).then((i=>{i&&(s[n]=[i,t])}),$i)));return Promise.all(n).then((()=>{const t=new a7(w(s));return e.isCancellationRequested?(t.dispose(),new a7([])):t}))}Er.registerCommand("_executeLinkProvider",(async(t,...i)=>{let[e,s]=i;K(e instanceof ws),"number"!=typeof s&&(s=0);const{linkProvider:n}=t.get(Cg),o=t.get(gr).getModel(e);if(!o)return[];const r=await l7(n,o,xe.None);if(!r)return[];for(let t=0;tthis.computeLinksNow()),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const o=this._register(new VJ(t));this._register(o.onMouseMoveOrRelevantKeyDown((([t,i])=>{this._onEditorMouseMove(t,i)}))),this._register(o.onExecute((t=>{this.onEditorMouseUp(t)}))),this._register(o.onCancel((()=>{this.cleanUpActiveLinkDecoration()}))),this._register(t.onDidChangeConfiguration((t=>{t.hasChanged(70)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))}))),this._register(t.onDidChangeModelContent((()=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))}))),this._register(t.onDidChangeModel((()=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)}))),this._register(t.onDidChangeModelLanguage((()=>{this.stop(),this.computeLinks.schedule(0)}))),this._register(this.providers.onDidChange((()=>{this.stop(),this.computeLinks.schedule(0)}))),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(70))return;const t=this.editor.getModel();if(!t.isTooLargeForSyncing()&&this.providers.has(t)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=oc((i=>l7(this.providers,t,i)));try{const i=new he(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(t,i.elapsed()),t.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){Pi(t)}finally{this.computePromise=null}}}updateDecorations(t){const i="altKey"===this.editor.getOption(77),e=[],s=Object.keys(this.currentOccurrences);for(const t of s)e.push(this.currentOccurrences[t].decorationId);const n=[];if(t)for(const e of t)n.push(m7.decoration(e,i));this.editor.changeDecorations((i=>{const s=i.deltaDecorations(e,n);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let i=0,e=s.length;i{i.activate(t,e),this.activeLinkDecorationId=i.decorationId}))}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const t="altKey"===this.editor.getOption(77);if(this.activeLinkDecorationId){const i=this.currentOccurrences[this.activeLinkDecorationId];i&&this.editor.changeDecorations((e=>{i.deactivate(e,t)})),this.activeLinkDecorationId=null}}onEditorMouseUp(t){if(!this.isEnabled(t))return;const i=this.getLinkOccurrence(t.target.position);i&&this.openLinkOccurrence(i,t.hasSideBySideModifier,!0)}openLinkOccurrence(t,i,e=!1){if(!this.openerService)return;const{link:s}=t;s.resolve(xe.None).then((t=>{if("string"==typeof t&&this.editor.hasModel()){const i=this.editor.getModel().uri;if(i.scheme===xa.file&&t.startsWith(`${xa.file}:`)){const e=ws.parse(t);if(e.scheme===xa.file){const s=gA(e);let n=null;s.startsWith("/./")?n=`.${s.substr(1)}`:s.startsWith("//./")&&(n=`.${s.substr(2)}`),n&&(t=CA(i,n))}}}return this.openerService.open(t,{openToSide:i,fromUserGesture:e,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})}),(t=>{const i=t instanceof Error?t.message:t;"invalid"===i?this.notificationService.warn(rt(0,"Failed to open this link because it is not well-formed: {0}",s.url.toString())):"missing"===i?this.notificationService.warn(rt(0,"Failed to open this link because its target is missing.")):Pi(t)}))}getLinkOccurrence(t){if(!this.editor.hasModel()||!t)return null;const i=this.editor.getModel().getDecorationsInRange({startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:t.lineNumber,endColumn:t.column},0,!0);for(const t of i){const i=this.currentOccurrences[t.id];if(i)return i}return null}isEnabled(t,i){return Boolean(6===t.target.type&&(t.hasTriggerModifier||i&&i.keyCodeIsTriggerKey))}stop(){var t;this.computeLinks.cancel(),this.activeLinksList&&(null===(t=this.activeLinksList)||void 0===t||t.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};f7.ID="editor.linkDetector",f7=u7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([d7(1,fP),d7(2,rT),d7(3,Cg),d7(4,mR)],f7);const p7=ML.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),g7=ML.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"});class m7{static decoration(t,i){return{range:t.range,options:m7._getOptions(t,i,!1)}}static _getOptions(t,i,e){const s={...e?g7:p7};return s.hoverMessage=function(t,i){const e=t.url&&/^command:/i.test(t.url.toString()),s=t.tooltip?t.tooltip:rt(0,e?"Execute command":"Follow link"),n=rt(0,i?St?"cmd + click":"ctrl + click":St?"option + click":"alt + click");if(t.url){let i="";if(/^command:/i.test(t.url.toString())){const e=t.url.toString().match(/^command:([^?#]+)/);e&&(i=rt(0,"Execute command {0}",e[1]))}return new B_("",!0).appendLink(t.url.toString(!0).replace(/ /g,"%20"),s,i).appendMarkdown(` (${n})`)}return(new B_).appendText(`${s} (${n})`)}(t,i),s}constructor(t,i){this.link=t,this.decorationId=i}activate(t,i){t.changeDecorationOptions(this.decorationId,m7._getOptions(this.link,i,!0))}deactivate(t,i){t.changeDecorationOptions(this.decorationId,m7._getOptions(this.link,i,!1))}}uu(f7.ID,f7,1),au(class extends nu{constructor(){super({id:"editor.action.openLink",label:rt(0,"Open Link"),alias:"Open Link",precondition:void 0})}run(t,i){const e=f7.get(i);if(!e)return;if(!i.hasModel())return;const s=i.getSelections();for(const t of s){const i=e.getLinkOccurrence(t.getEndPosition());i&&e.openLinkOccurrence(i,!1)}}});class w7 extends ie{constructor(t){super(),this._editor=t,this._register(this._editor.onMouseDown((t=>{const i=this._editor.getOption(116);i>=0&&6===t.target.type&&t.target.position.column>=i&&this._editor.updateOptions({stopRenderingLineAfter:-1})})))}}w7.ID="editor.contrib.longLinesHelper",uu(w7.ID,w7,2);const v7=fw("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},rt(0,"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);fw("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},rt(0,"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),fw("editor.wordHighlightTextBackground",{light:v7,dark:v7,hcDark:v7,hcLight:v7},rt(0,"Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const b7=fw("editor.wordHighlightBorder",{light:null,dark:null,hcDark:bw,hcLight:bw},rt(0,"Border color of a symbol during read-access, like reading a variable."));fw("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:bw,hcLight:bw},rt(0,"Border color of a symbol during write-access, like writing to a variable.")),fw("editor.wordHighlightTextBorder",{light:b7,dark:b7,hcDark:b7,hcLight:b7},rt(0,"Border color of a textual occurrence for a symbol."));const y7=fw("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},rt(0,"Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),k7=fw("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hcDark:"#C0A0C0CC",hcLight:"#C0A0C0CC"},rt(0,"Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),x7=fw("editorOverviewRuler.wordHighlightTextForeground",{dark:Jb,light:Jb,hcDark:Jb,hcLight:Jb},rt(0,"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),C7=ML.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:ix(k7),position:Nf.Center},minimap:{color:ix(Xb),position:Pf.Inline}}),S7=ML.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:ix(x7),position:Nf.Center},minimap:{color:ix(Xb),position:Pf.Inline}}),D7=ML.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:ix(Jb),position:Nf.Center},minimap:{color:ix(Xb),position:Pf.Inline}}),E7=ML.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),A7=ML.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:ix(y7),position:Nf.Center},minimap:{color:ix(Xb),position:Pf.Inline}});function M7(t){return t?E7:D7}ox(((t,i)=>{const e=t.getColor(Mv);e&&i.addRule(`.monaco-editor .selectionHighlight { background-color: ${e.transparent(.5)}; }`)}));var L7;function F7(t,i){const e=i.filter((i=>!t.find((t=>t.equals(i)))));if(e.length>=1){const t=e.map((t=>`line ${t.viewState.position.lineNumber} column ${t.viewState.position.column}`)).join(", ");Wm(rt(0,1===e.length?"Cursor added: {0}":"Cursors added: {0}",t))}}class T7{constructor(t,i,e){this.selections=t,this.revealRange=i,this.revealScrollType=e}}class R7{static create(t,i){if(!t.hasModel())return null;const e=i.getState();if(!t.hasTextFocus()&&e.isRevealed&&e.searchString.length>0)return new R7(t,i,!1,e.searchString,e.wholeWord,e.matchCase,null);let s,n,o=!1;const r=t.getSelections();1===r.length&&r[0].isEmpty()?(o=!0,s=!0,n=!0):(s=e.wholeWord,n=e.matchCase);const h=t.getSelection();let c,a=null;if(h.isEmpty()){const i=t.getConfiguredWordAtPosition(h.getStartPosition());if(!i)return null;c=i.word,a=new Fs(h.startLineNumber,i.startColumn,h.startLineNumber,i.endColumn)}else c=t.getModel().getValueInRange(h).replace(/\r\n/g,"\n");return new R7(t,i,o,c,s,n,a)}constructor(t,i,e,s,n,o,r){this._editor=t,this.findController=i,this.isDisconnectedFromFindController=e,this.searchText=s,this.wholeWord=n,this.matchCase=o,this.currentMatch=r}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const t=this._getNextMatch();if(!t)return null;const i=this._editor.getSelections();return new T7(i.concat(t),t,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const t=this._getNextMatch();if(!t)return null;const i=this._editor.getSelections();return new T7(i.slice(0,i.length-1).concat(t),t,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const t=this.currentMatch;return this.currentMatch=null,t}this.findController.highlightFindOptions();const t=this._editor.getSelections(),i=t[t.length-1],e=this._editor.getModel().findNextMatch(this.searchText,i.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(129):null,!1);return e?new Fs(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const t=this._getPreviousMatch();if(!t)return null;const i=this._editor.getSelections();return new T7(i.concat(t),t,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const t=this._getPreviousMatch();if(!t)return null;const i=this._editor.getSelections();return new T7(i.slice(0,i.length-1).concat(t),t,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const t=this.currentMatch;return this.currentMatch=null,t}this.findController.highlightFindOptions();const t=this._editor.getSelections(),i=t[t.length-1],e=this._editor.getModel().findPreviousMatch(this.searchText,i.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(129):null,!1);return e?new Fs(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn):null}selectAll(t){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();return this._editor.getModel().findMatches(this.searchText,t||!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(129):null,!1,1073741824)}}class O7 extends ie{static get(t){return t.getContribution(O7.ID)}constructor(t){super(),this._sessionDispose=this._register(new te),this._editor=t,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(t){if(!this._session){const i=R7.create(this._editor,t);if(!i)return;this._session=i;const e={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(e.wholeWordOverride=1,e.matchCaseOverride=1,e.isRegexOverride=2),t.getState().change(e,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection((()=>{this._ignoreSelectionChange||this._endSession()}))),this._sessionDispose.add(this._editor.onDidBlurEditorText((()=>{this._endSession()}))),this._sessionDispose.add(t.getState().onFindReplaceStateChange((t=>{(t.matchCase||t.wholeWord)&&this._endSession()})))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const t={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(t,!1)}this._session=null}_setSelections(t){this._ignoreSelectionChange=!0,this._editor.setSelections(t),this._ignoreSelectionChange=!1}_expandEmptyToWord(t,i){if(!i.isEmpty())return i;const e=this._editor.getConfiguredWordAtPosition(i.getStartPosition());return e?new Fs(i.startLineNumber,e.startColumn,i.startLineNumber,e.endColumn):i}_applySessionResult(t){t&&(this._setSelections(t.selections),t.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(t.revealRange,t.revealScrollType))}getSession(t){return this._session}addSelectionToNextFindMatch(t){if(this._editor.hasModel()){if(!this._session){const i=this._editor.getSelections();if(i.length>1){const e=t.getState().matchCase;if(!B7(this._editor.getModel(),i,e)){const t=this._editor.getModel(),e=[];for(let s=0,n=i.length;s0&&e.isRegex){i=this._editor.getModel().findMatches(e.searchString,!e.searchScope||e.searchScope,e.isRegex,e.matchCase,e.wholeWord?this._editor.getOption(129):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(t),!this._session)return;i=this._session.selectAll(e.searchScope)}if(i.length>0){const t=this._editor.getSelection();for(let e=0,s=i.length;enew Fs(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn))))}}}O7.ID="editor.contrib.multiCursorController";class I7 extends nu{run(t,i){const e=O7.get(i);if(!e)return;const s=i._getViewModel();if(s){const n=s.getCursorStates(),o=O4.get(i);if(o)this._run(e,o);else{const s=t.get(dr).createInstance(O4,i);this._run(e,s),s.dispose()}F7(n,s.getCursorStates())}}}class _7{constructor(t,i,e,s,n){this._model=t,this._searchText=i,this._matchCase=e,this._wordSeparators=s,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,n&&this._model===n._model&&this._searchText===n._searchText&&this._matchCase===n._matchCase&&this._wordSeparators===n._wordSeparators&&this._modelVersionId===n._modelVersionId&&(this._cachedFindMatches=n._cachedFindMatches)}findMatches(){return null===this._cachedFindMatches&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map((t=>t.range)),this._cachedFindMatches.sort(Ls.compareRangesUsingStarts)),this._cachedFindMatches}}let N7=L7=class extends ie{constructor(t,i){super(),this._languageFeaturesService=i,this.editor=t,this._isEnabled=t.getOption(107),this._decorations=t.createDecorationsCollection(),this.updateSoon=this._register(new gc((()=>this._update()),300)),this.state=null,this._register(t.onDidChangeConfiguration((()=>{this._isEnabled=t.getOption(107)}))),this._register(t.onDidChangeCursorSelection((t=>{this._isEnabled&&(t.selection.isEmpty()?3===t.reason?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())}))),this._register(t.onDidChangeModel((()=>{this._setState(null)}))),this._register(t.onDidChangeModelContent((()=>{this._isEnabled&&this.updateSoon.schedule()})));const e=O4.get(t);e&&this._register(e.getState().onFindReplaceStateChange((()=>{this._update()}))),this.updateSoon.schedule()}_update(){this._setState(L7._createState(this.state,this._isEnabled,this.editor))}static _createState(t,i,e){if(!i)return null;if(!e.hasModel())return null;const s=e.getSelection();if(s.startLineNumber!==s.endLineNumber)return null;const n=O7.get(e);if(!n)return null;const o=O4.get(e);if(!o)return null;let r=n.getSession(o);if(!r){const t=e.getSelections();if(t.length>1){const i=o.getState().matchCase;if(!B7(e.getModel(),t,i))return null}r=R7.create(e,o)}if(!r)return null;if(r.currentMatch)return null;if(/^[ \t]+$/.test(r.searchText))return null;if(r.searchText.length>200)return null;const h=o.getState(),c=h.matchCase;if(h.isRevealed){let t=h.searchString;c||(t=t.toLowerCase());let i=r.searchText;if(c||(i=i.toLowerCase()),t===i&&r.matchCase===h.matchCase&&r.wholeWord===h.wholeWord&&!h.isRegex)return null}return new _7(e.getModel(),r.searchText,r.matchCase,r.wholeWord?e.getOption(129):null,t)}_setState(t){if(this.state=t,!this.state)return void this._decorations.clear();if(!this.editor.hasModel())return;const i=this.editor.getModel();if(i.isTooLargeForTokenization())return;const e=this.state.findMatches(),s=this.editor.getSelections();s.sort(Ls.compareRangesUsingStarts);const n=[];for(let t=0,i=0,o=e.length,r=s.length;t=r)n.push(o),t++;else{const e=Ls.compareRangesUsingStarts(o,s[i]);e<0?(!s[i].isEmpty()&&Ls.areIntersecting(o,s[i])||n.push(o),t++):(e>0||t++,i++)}}const o="off"!==this.editor.getOption(80),r=this._languageFeaturesService.documentHighlightProvider.has(i)&&o,h=n.map((t=>({range:t,options:M7(r)})));this._decorations.set(h)}dispose(){this._setState(null),super.dispose()}};function B7(t,i,e){const s=P7(t,i[0],!e);for(let n=1,o=i.length;n=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,Cg)],N7),uu(O7.ID,O7,4),uu(N7.ID,N7,1),au(class extends nu{constructor(){super({id:"editor.action.insertCursorAbove",label:rt(0,"Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:XC.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"&&Add Cursor Above"),order:2}})}run(t,i,e){if(!i.hasModel())return;let s=!0;e&&!1===e.logicalLine&&(s=!1);const n=i._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const o=n.getCursorStates();n.setCursorStates(e.source,3,IC.addCursorUp(n,o,s)),n.revealTopMostCursor(e.source),F7(o,n.getCursorStates())}}),au(class extends nu{constructor(){super({id:"editor.action.insertCursorBelow",label:rt(0,"Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:XC.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"A&&dd Cursor Below"),order:3}})}run(t,i,e){if(!i.hasModel())return;let s=!0;e&&!1===e.logicalLine&&(s=!1);const n=i._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const o=n.getCursorStates();n.setCursorStates(e.source,3,IC.addCursorDown(n,o,s)),n.revealBottomMostCursor(e.source),F7(o,n.getCursorStates())}}),au(class extends nu{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:rt(0,"Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:XC.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(t,i,e){if(!t.isEmpty()){for(let s=t.startLineNumber;s1&&e.push(new Fs(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn))}}run(t,i){if(!i.hasModel())return;const e=i.getModel(),s=i.getSelections(),n=i._getViewModel(),o=n.getCursorStates(),r=[];s.forEach((t=>this.getCursorsForSelection(t,e,r))),r.length>0&&i.setSelections(r),F7(o,n.getCursorStates())}}),au(class extends I7{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:rt(0,"Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:2082,weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"Add &&Next Occurrence"),order:5}})}_run(t,i){t.addSelectionToNextFindMatch(i)}}),au(class extends I7{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:rt(0,"Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"Add P&&revious Occurrence"),order:6}})}_run(t,i){t.addSelectionToPreviousFindMatch(i)}}),au(class extends I7{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:rt(0,"Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:Be(2089,2082),weight:100}})}_run(t,i){t.moveSelectionToNextFindMatch(i)}}),au(class extends I7{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:rt(0,"Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(t,i){t.moveSelectionToPreviousFindMatch(i)}}),au(class extends I7{constructor(){super({id:"editor.action.selectHighlights",label:rt(0,"Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:3114,weight:100},menuOpts:{menuId:Oh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"Select All &&Occurrences"),order:7}})}_run(t,i){t.selectAll(i)}}),au(class extends I7{constructor(){super({id:"editor.action.changeAll",label:rt(0,"Change All Occurrences"),alias:"Change All Occurrences",precondition:Hr.and(XC.writable,XC.editorTextFocus),kbOpts:{kbExpr:XC.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(t,i){t.selectAll(i)}}),au(class extends nu{constructor(){super({id:"editor.action.addCursorsToBottom",label:rt(0,"Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(t,i){if(!i.hasModel())return;const e=i.getSelections(),s=i.getModel().getLineCount(),n=[];for(let t=e[0].startLineNumber;t<=s;t++)n.push(new Fs(t,e[0].startColumn,t,e[0].endColumn));const o=i._getViewModel(),r=o.getCursorStates();n.length>0&&i.setSelections(n),F7(r,o.getCursorStates())}}),au(class extends nu{constructor(){super({id:"editor.action.addCursorsToTop",label:rt(0,"Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(t,i){if(!i.hasModel())return;const e=i.getSelections(),s=[];for(let t=e[0].startLineNumber;t>=1;t--)s.push(new Fs(t,e[0].startColumn,t,e[0].endColumn));const n=i._getViewModel(),o=n.getCursorStates();s.length>0&&i.setSelections(s),F7(o,n.getCursorStates())}}),au(class extends nu{constructor(){super({id:"editor.action.focusNextCursor",label:rt(0,"Focus Next Cursor"),metadata:{description:rt(0,"Focuses the next cursor"),args:[]},alias:"Focus Next Cursor",precondition:void 0})}run(t,i,e){if(!i.hasModel())return;const s=i._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const n=Array.from(s.getCursorStates()),o=n.shift();o&&(n.push(o),s.setCursorStates(e.source,3,n),s.revealPrimaryCursor(e.source,!0),F7(n,s.getCursorStates()))}}),au(class extends nu{constructor(){super({id:"editor.action.focusPreviousCursor",label:rt(0,"Focus Previous Cursor"),metadata:{description:rt(0,"Focuses the previous cursor"),args:[]},alias:"Focus Previous Cursor",precondition:void 0})}run(t,i,e){if(!i.hasModel())return;const s=i._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const n=Array.from(s.getCursorStates()),o=n.pop();o&&(n.unshift(o),s.setCursorStates(e.source,3,n),s.revealPrimaryCursor(e.source,!0),F7(n,s.getCursorStates()))}});const $7={Visible:new ah("parameterHintsVisible",!1),MultipleSignatures:new ah("parameterHintsMultipleSignatures",!1)};async function W7(t,i,e,s,n){const o=t.ordered(i);for(const t of o)try{const o=await t.provideSignatureHelp(i,e,n,s);if(o)return o}catch(t){$i(t)}}var j7;Er.registerCommand("_executeSignatureHelpProvider",(async(t,...i)=>{const[e,s,n]=i;K(ws.isUri(e)),K(Ms.isIPosition(s)),K("string"==typeof n||!n);const o=t.get(Cg),r=await t.get(mr).createModelReference(e);try{const t=await W7(o.signatureHelpProvider,r.object.textEditorModel,Ms.lift(s),{triggerKind:js.Invoke,isRetrigger:!1,triggerCharacter:n},xe.None);if(!t)return;return setTimeout((()=>t.dispose()),0),t.value}finally{r.dispose()}})),function(t){t.Default={type:0},t.Pending=class{constructor(t,i){this.request=t,this.previouslyActiveHints=i,this.type=2}},t.Active=class{constructor(t){this.hints=t,this.type=1}}}(j7||(j7={}));class z7 extends ie{constructor(t,i,e=z7.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new fe),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=j7.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new ee),this.triggerChars=new Af,this.retriggerChars=new Af,this.triggerId=0,this.editor=t,this.providers=i,this.throttledDelayer=new cc(e),this._register(this.editor.onDidBlurEditorWidget((()=>this.cancel()))),this._register(this.editor.onDidChangeConfiguration((()=>this.onEditorConfigurationChange()))),this._register(this.editor.onDidChangeModel((()=>this.onModelChanged()))),this._register(this.editor.onDidChangeModelLanguage((()=>this.onModelChanged()))),this._register(this.editor.onDidChangeCursorSelection((t=>this.onCursorChange(t)))),this._register(this.editor.onDidChangeModelContent((()=>this.onModelContentChange()))),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType((t=>this.onDidType(t)))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(t){2===this._state.type&&this._state.request.cancel(),this._state=t}cancel(t=!1){this.state=j7.Default,this.throttledDelayer.cancel(),t||this._onChangedHints.fire(void 0)}trigger(t,i){const e=this.editor.getModel();if(!e||!this.providers.has(e))return;const s=++this.triggerId;this._pendingTriggers.push(t),this.throttledDelayer.trigger((()=>this.doTrigger(s)),i).catch(Pi)}next(){if(1!==this.state.type)return;const t=this.state.hints.signatures.length,i=this.state.hints.activeSignature,e=i%t==t-1,s=this.editor.getOption(85).cycle;!(t<2||e)||s?this.updateActiveSignature(e&&s?0:i+1):this.cancel()}previous(){if(1!==this.state.type)return;const t=this.state.hints.signatures.length,i=this.state.hints.activeSignature,e=0===i,s=this.editor.getOption(85).cycle;!(t<2||e)||s?this.updateActiveSignature(e&&s?t-1:i-1):this.cancel()}updateActiveSignature(t){1===this.state.type&&(this.state=new j7.Active({...this.state.hints,activeSignature:t}),this._onChangedHints.fire(this.state.hints))}async doTrigger(t){const i=1===this.state.type||2===this.state.type,e=this.getLastActiveHints();if(this.cancel(!0),0===this._pendingTriggers.length)return!1;const s=this._pendingTriggers.reduce(H7);this._pendingTriggers=[];const n={triggerKind:s.triggerKind,triggerCharacter:s.triggerCharacter,isRetrigger:i,activeSignatureHelp:e};if(!this.editor.hasModel())return!1;const o=this.editor.getModel(),r=this.editor.getPosition();this.state=new j7.Pending(oc((t=>W7(this.providers,o,r,n,t))),e);try{const i=await this.state.request;return t!==this.triggerId?(null==i||i.dispose(),!1):i&&i.value.signatures&&0!==i.value.signatures.length?(this.state=new j7.Active(i.value),this._lastSignatureHelpResult.value=i,this._onChangedHints.fire(this.state.hints),!0):(null==i||i.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1)}catch(i){return t===this.triggerId&&(this.state=j7.Default),Pi(i),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return 1===this.state.type||2===this.state.type||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const t=this.editor.getModel();if(t)for(const i of this.providers.ordered(t)){for(const t of i.signatureHelpTriggerCharacters||[])if(t.length){const i=t.charCodeAt(0);this.triggerChars.add(i),this.retriggerChars.add(i)}for(const t of i.signatureHelpRetriggerCharacters||[])t.length&&this.retriggerChars.add(t.charCodeAt(0))}}onDidType(t){if(!this.triggerOnType)return;const i=t.length-1,e=t.charCodeAt(i);(this.triggerChars.has(e)||this.isTriggered&&this.retriggerChars.has(e))&&this.trigger({triggerKind:js.TriggerCharacter,triggerCharacter:t.charAt(i)})}onCursorChange(t){"mouse"===t.source?this.cancel():this.isTriggered&&this.trigger({triggerKind:js.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:js.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(85).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}function H7(t,i){switch(i.triggerKind){case js.Invoke:return i;case js.ContentChange:return t;default:return i}}z7.DEFAULT_DELAY=120;var V7,U7=function(t,i){return function(e,s){i(e,s,t)}};const q7=Wl,K7=Vz("parameter-hints-next",Is.chevronDown,rt(0,"Icon for show next parameter hint.")),G7=Vz("parameter-hints-previous",Is.chevronUp,rt(0,"Icon for show previous parameter hint."));let Z7=V7=class extends ie{constructor(t,i,e,s,n){super(),this.editor=t,this.model=i,this.renderDisposeables=this._register(new te),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new uQ({editor:t},n,s)),this.keyVisible=$7.Visible.bindTo(e),this.keyMultipleSignatures=$7.MultipleSignatures.bindTo(e)}createParameterHintDOMNodes(){const t=q7(".editor-widget.parameter-hints-widget"),i=Il(t,q7(".phwrapper"));i.tabIndex=-1;const e=Il(i,q7(".controls")),s=Il(e,q7(".button"+Sr.asCSSSelector(G7))),n=Il(e,q7(".overloads")),o=Il(e,q7(".button"+Sr.asCSSSelector(K7)));this._register(Ua(s,"click",(t=>{Tl(t),this.previous()}))),this._register(Ua(o,"click",(t=>{Tl(t),this.next()})));const r=q7(".body"),h=new Rk(r,{alwaysConsumeMouseWheel:!0});this._register(h),i.appendChild(h.getDomNode());const c=Il(r,q7(".signature")),a=Il(r,q7(".docs"));t.style.userSelect="text",this.domNodes={element:t,signature:c,overloads:n,docs:a,scrollbar:h},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection((()=>{this.visible&&this.editor.layoutContentWidget(this)})));const l=()=>{if(!this.domNodes)return;const t=this.editor.getOption(50);this.domNodes.element.style.fontSize=`${t.fontSize}px`,this.domNodes.element.style.lineHeight=""+t.lineHeight/t.fontSize};l(),this._register(ce.chain(this.editor.onDidChangeConfiguration.bind(this.editor),(t=>t.filter((t=>t.hasChanged(50)))))(l)),this._register(this.editor.onDidLayoutChange((()=>this.updateMaxHeight()))),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout((()=>{var t;null===(t=this.domNodes)||void 0===t||t.element.classList.add("visible")}),100),this.editor.layoutContentWidget(this))}hide(){var t;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,null===(t=this.domNodes)||void 0===t||t.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(t){var i;if(this.renderDisposeables.clear(),!this.domNodes)return;const e=t.signatures.length>1;this.domNodes.element.classList.toggle("multiple",e),this.keyMultipleSignatures.set(e),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const s=t.signatures[t.activeSignature];if(!s)return;const n=Il(this.domNodes.signature,q7(".code")),o=this.editor.getOption(50);n.style.fontSize=`${o.fontSize}px`,n.style.fontFamily=o.fontFamily;const r=null!==(i=s.activeParameter)&&void 0!==i?i:t.activeParameter;s.parameters.length>0?this.renderParameters(n,s,r):Il(n,q7("span")).textContent=s.label;const h=s.parameters[r];if(null==h?void 0:h.documentation){const t=q7("span.documentation");if("string"==typeof h.documentation)t.textContent=h.documentation;else{const i=this.renderMarkdownDocs(h.documentation);t.appendChild(i.element)}Il(this.domNodes.docs,q7("p",{},t))}if(void 0===s.documentation);else if("string"==typeof s.documentation)Il(this.domNodes.docs,q7("p",{},s.documentation));else{const t=this.renderMarkdownDocs(s.documentation);Il(this.domNodes.docs,t.element)}const c=this.hasDocs(s,h);if(this.domNodes.signature.classList.toggle("has-docs",c),this.domNodes.docs.classList.toggle("empty",!c),this.domNodes.overloads.textContent=String(t.activeSignature+1).padStart(t.signatures.length.toString().length,"0")+"/"+t.signatures.length,h){let t="";const i=s.parameters[r];t=Array.isArray(i.label)?s.label.substring(i.label[0],i.label[1]):i.label,i.documentation&&(t+="string"==typeof i.documentation?`, ${i.documentation}`:`, ${i.documentation.value}`),s.documentation&&(t+="string"==typeof s.documentation?`, ${s.documentation}`:`, ${s.documentation.value}`),this.announcedLabel!==t&&($m(rt(0,"{0}, hint",t)),this.announcedLabel=t)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(t){const i=this.renderDisposeables.add(this.markdownRenderer.render(t,{asyncRenderCallback:()=>{var t;null===(t=this.domNodes)||void 0===t||t.scrollbar.scanDomNode()}}));return i.element.classList.add("markdown-docs"),i}hasDocs(t,i){return!!(i&&"string"==typeof i.documentation&&G(i.documentation).length>0||i&&"object"==typeof i.documentation&&G(i.documentation).value.length>0||t.documentation&&"string"==typeof t.documentation&&G(t.documentation).length>0||t.documentation&&"object"==typeof t.documentation&&G(t.documentation.value).length>0)}renderParameters(t,i,e){const[s,n]=this.getParameterLabelOffsets(i,e),o=document.createElement("span");o.textContent=i.label.substring(0,s);const r=document.createElement("span");r.textContent=i.label.substring(s,n),r.className="parameter active";const h=document.createElement("span");h.textContent=i.label.substring(n),Il(t,o,r,h)}getParameterLabelOffsets(t,i){const e=t.parameters[i];if(e){if(Array.isArray(e.label))return e.label;if(e.label.length){const i=new RegExp(`(\\W|^)${Zn(e.label)}(?=\\W|$)`,"g");i.test(t.label);const s=i.lastIndex-e.label.length;return s>=0?[s,i.lastIndex]:[0,0]}return[0,0]}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 V7.ID}updateMaxHeight(){if(!this.domNodes)return;const t=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=t;const i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}};Z7.ID="editor.widget.parameterHintsWidget",Z7=V7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([U7(2,lh),U7(3,fP),U7(4,kd)],Z7),fw("editorHoverWidget.highlightForeground",{dark:ub,light:ub,hcDark:ub,hcLight:ub},rt(0,"Foreground color of the active item in the parameter hint."));var Q7,J7=function(t,i){return function(e,s){i(e,s,t)}};let Y7=Q7=class extends ie{static get(t){return t.getContribution(Q7.ID)}constructor(t,i,e){super(),this.editor=t,this.model=this._register(new z7(t,e.signatureHelpProvider)),this._register(this.model.onChangedHints((t=>{var i;t?(this.widget.value.show(),this.widget.value.render(t)):null===(i=this.widget.rawValue)||void 0===i||i.hide()}))),this.widget=new Hn((()=>this._register(i.createInstance(Z7,this.editor,this.model))))}cancel(){this.model.cancel()}previous(){var t;null===(t=this.widget.rawValue)||void 0===t||t.previous()}next(){var t;null===(t=this.widget.rawValue)||void 0===t||t.next()}trigger(t){this.model.trigger(t,0)}};Y7.ID="editor.controller.parameterHints",Y7=Q7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([J7(1,dr),J7(2,Cg)],Y7),uu(Y7.ID,Y7,2),au(class extends nu{constructor(){super({id:"editor.action.triggerParameterHints",label:rt(0,"Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:XC.hasSignatureHelpProvider,kbOpts:{kbExpr:XC.editorTextFocus,primary:3082,weight:100}})}run(t,i){const e=Y7.get(i);null==e||e.trigger({triggerKind:js.Invoke})}});const X7=su.bindToContribution(Y7.get);cu(new X7({id:"closeParameterHints",precondition:$7.Visible,handler:t=>t.cancel(),kbOpts:{weight:175,kbExpr:XC.focus,primary:9,secondary:[1033]}})),cu(new X7({id:"showPrevParameterHint",precondition:Hr.and($7.Visible,$7.MultipleSignatures),handler:t=>t.previous(),kbOpts:{weight:175,kbExpr:XC.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),cu(new X7({id:"showNextParameterHint",precondition:Hr.and($7.Visible,$7.MultipleSignatures),handler:t=>t.next(),kbOpts:{weight:175,kbExpr:XC.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var t8=function(t,i){return function(e,s){i(e,s,t)}};const i8=new ah("renameInputVisible",!1,rt(0,"Whether the rename input widget is visible"));let e8=class{constructor(t,i,e,s,n){this._editor=t,this._acceptKeybindings=i,this._themeService=e,this._keybindingService=s,this._disposables=new te,this.allowEditorOverflow=!0,this._visibleContextKey=i8.bindTo(n),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._updateFont()}))),this._disposables.add(e.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._input=document.createElement("input"),this._input.className="rename-input",this._input.type="text",this._input.setAttribute("aria-label",rt(0,"Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._input),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(t){var i,e,s,n;if(!this._input||!this._domNode)return;const o=t.getColor(kw),r=t.getColor(xw);this._domNode.style.backgroundColor=String(null!==(i=t.getColor(dv))&&void 0!==i?i:""),this._domNode.style.boxShadow=o?` 0 0 8px 2px ${o}`:"",this._domNode.style.border=r?`1px solid ${r}`:"",this._domNode.style.color=String(null!==(e=t.getColor(Sw))&&void 0!==e?e:""),this._input.style.backgroundColor=String(null!==(s=t.getColor(Cw))&&void 0!==s?s:"");const h=t.getColor(Dw);this._input.style.borderWidth=h?"1px":"0px",this._input.style.borderStyle=h?"solid":"none",this._input.style.borderColor=null!==(n=null==h?void 0:h.toString())&&void 0!==n?n:"none"}_updateFont(){if(!this._input||!this._label)return;const t=this._editor.getOption(50);this._input.style.fontFamily=t.fontFamily,this._input.style.fontWeight=t.fontWeight,this._input.style.fontSize=`${t.fontSize}px`,this._label.style.fontSize=.8*t.fontSize+"px"}getPosition(){return this._visible?{position:this._position,preference:[2,1]}:null}beforeRender(){var t,i;const[e,s]=this._acceptKeybindings;return this._label.innerText=rt(0,"{0} to Rename, {1} to Preview",null===(t=this._keybindingService.lookupKeybinding(e))||void 0===t?void 0:t.getLabel(),null===(i=this._keybindingService.lookupKeybinding(s))||void 0===i?void 0:i.getLabel()),null}afterRender(t){t||this.cancelInput(!0)}acceptInput(t){var i;null===(i=this._currentAcceptInput)||void 0===i||i.call(this,t)}cancelInput(t){var i;null===(i=this._currentCancelInput)||void 0===i||i.call(this,t)}getInput(t,i,e,s,n,o){this._domNode.classList.toggle("preview",n),this._position=new Ms(t.startLineNumber,t.startColumn),this._input.value=i,this._input.setAttribute("selectionStart",e.toString()),this._input.setAttribute("selectionEnd",s.toString()),this._input.size=Math.max(1.1*(t.endColumn-t.startColumn),20);const r=new te;return new Promise((t=>{this._currentCancelInput=i=>(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,t(i),!0),this._currentAcceptInput=e=>{0!==this._input.value.trim().length&&this._input.value!==i?(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,t({newName:this._input.value,wantsPreview:n&&e})):this.cancelInput(!0)},r.add(o.onCancellationRequested((()=>this.cancelInput(!0)))),r.add(this._editor.onDidBlurEditorWidget((()=>{var t;return this.cancelInput(!(null===(t=this._domNode)||void 0===t?void 0:t.ownerDocument.hasFocus()))}))),this._show()})).finally((()=>{r.dispose(),this._hide()}))}_show(){this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout((()=>{this._input.focus(),this._input.setSelectionRange(parseInt(this._input.getAttribute("selectionStart")),parseInt(this._input.getAttribute("selectionEnd")))}),100)}_hide(){this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}};e8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([t8(2,tx),t8(3,rC),t8(4,lh)],e8);var s8,n8=function(t,i){return function(e,s){i(e,s,t)}};class o8{constructor(t,i,e){this.model=t,this.position=i,this._providerRenameIdx=0,this._providers=e.ordered(t)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(t){const i=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?i.join("\n"):void 0}:{range:Ls.fromPositions(this.position),text:"",rejectReason:i.length>0?i.join("\n"):void 0}}async provideRenameEdits(t,i){return this._provideRenameEdits(t,this._providerRenameIdx,[],i)}async _provideRenameEdits(t,i,e,s){const n=this._providers[i];if(!n)return{edits:[],rejectReason:e.join("\n")};const o=await n.provideRenameEdits(this.model,this.position,t,s);return o?o.rejectReason?this._provideRenameEdits(t,i+1,e.concat(o.rejectReason),s):o:this._provideRenameEdits(t,i+1,e.concat(rt(0,"No result.")),s)}}let r8=s8=class{static get(t){return t.getContribution(s8.ID)}constructor(t,i,e,s,n,o,r,h){this.editor=t,this._instaService=i,this._notificationService=e,this._bulkEditService=s,this._progressService=n,this._logService=o,this._configService=r,this._languageFeaturesService=h,this._disposableStore=new te,this._cts=new Se,this._renameInputField=this._disposableStore.add(this._instaService.createInstance(e8,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var t,i;if(this._cts.dispose(!0),this._cts=new Se,!this.editor.hasModel())return;const e=this.editor.getPosition(),s=new o8(this.editor.getModel(),e,this._languageFeaturesService.renameProvider);if(!s.hasProvider())return;const n=new SK(this.editor,5,void 0,this._cts.token);let o;try{const t=s.resolveRenameLocation(n.token);this._progressService.showWhile(t,250),o=await t}catch(i){return void(null===(t=mQ.get(this.editor))||void 0===t||t.showMessage(i||rt(0,"An unknown error occurred while resolving rename location"),e))}finally{n.dispose()}if(!o)return;if(o.rejectReason)return void(null===(i=mQ.get(this.editor))||void 0===i||i.showMessage(o.rejectReason,e));if(n.token.isCancellationRequested)return;const r=new SK(this.editor,5,o.range,this._cts.token),h=this.editor.getSelection();let c=0,a=o.text.length;Ls.isEmpty(h)||Ls.spansMultipleLines(h)||!Ls.containsRange(o.range,h)||(c=Math.max(0,h.startColumn-o.range.startColumn),a=Math.min(o.range.endColumn,h.endColumn)-o.range.startColumn);const l=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),u=await this._renameInputField.getInput(o.range,o.text,c,a,l,r.token);if("boolean"==typeof u)return u&&this.editor.focus(),void r.dispose();this.editor.focus();const d=rc(s.provideRenameEdits(u.newName,r.token),r.token).then((async t=>{t&&this.editor.hasModel()&&(t.rejectReason?this._notificationService.info(t.rejectReason):(this.editor.setSelection(Ls.fromPositions(this.editor.getSelection().getPosition())),this._bulkEditService.apply(t,{editor:this.editor,showPreview:u.wantsPreview,label:rt(0,"Renaming '{0}' to '{1}'",null==o?void 0:o.text,u.newName),code:"undoredo.rename",quotableLabel:rt(0,"Renaming {0} to {1}",null==o?void 0:o.text,u.newName),respectAutoSaveConfig:!0}).then((t=>{t.ariaSummary&&$m(rt(0,"Successfully renamed '{0}' to '{1}'. Summary: {2}",o.text,u.newName,t.ariaSummary))})).catch((t=>{this._notificationService.error(rt(0,"Rename failed to apply edits")),this._logService.error(t)}))))}),(t=>{this._notificationService.error(rt(0,"Rename failed to compute edits")),this._logService.error(t)})).finally((()=>{r.dispose()}));return this._progressService.showWhile(d,250),d}acceptRenameInput(t){this._renameInputField.acceptInput(t)}cancelRenameInput(){this._renameInputField.cancelInput(!0)}};r8.ID="editor.contrib.renameController",r8=s8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([n8(1,dr),n8(2,rT),n8(3,oO),n8(4,HO),n8(5,zh),n8(6,kg),n8(7,Cg)],r8),uu(r8.ID,r8,4),au(class extends nu{constructor(){super({id:"editor.action.rename",label:rt(0,"Rename Symbol"),alias:"Rename Symbol",precondition:Hr.and(XC.writable,XC.hasRenameProvider),kbOpts:{kbExpr:XC.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(t,i){const e=t.get(pr),[s,n]=Array.isArray(i)&&i||[void 0,void 0];return ws.isUri(s)&&Ms.isIPosition(n)?e.openCodeEditor({resource:s},e.getActiveCodeEditor()).then((t=>{t&&(t.setPosition(n),t.invokeWithinContext((i=>(this.reportTelemetry(i,t),this.run(i,t)))))}),Pi):super.runCommand(t,i)}run(t,i){const e=r8.get(i);return e?e.run():Promise.resolve()}});const h8=su.bindToContribution(r8.get);function c8(t){const i=new Uint32Array(function(t){let i=0;if(i+=2,"full"===t.type)i+=1+t.data.length;else{i+=1,i+=3*t.deltas.length;for(const e of t.deltas)e.data&&(i+=e.data.length)}return i}(t));let e=0;if(i[e++]=t.id,"full"===t.type)i[e++]=1,i[e++]=t.data.length,i.set(t.data,e),e+=t.data.length;else{i[e++]=2,i[e++]=t.deltas.length;for(const s of t.deltas)i[e++]=s.start,i[e++]=s.deleteCount,s.data?(i[e++]=s.data.length,i.set(s.data,e),e+=s.data.length):i[e++]=0}return function(t){const i=new Uint8Array(t.buffer,t.byteOffset,4*t.length);return Pt()||function(t){for(let i=0,e=t.length;it.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:Hr.and(XC.focus,Hr.not("isComposing")),primary:3}})),cu(new h8({id:"acceptRenameInputWithPreview",precondition:Hr.and(i8,Hr.has("config.editor.rename.enablePreview")),handler:t=>t.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:Hr.and(XC.focus,Hr.not("isComposing")),primary:1027}})),cu(new h8({id:"cancelRenameInput",precondition:i8,handler:t=>t.cancelRenameInput(),kbOpts:{weight:199,kbExpr:XC.focus,primary:9,secondary:[1033]}})),hu("_executeDocumentRenameProvider",(function(t,i,e,...s){const[n]=s;K("string"==typeof n);const{renameProvider:o}=t.get(Cg);return async function(t,i,e,s){const n=new o8(i,e,t),o=await n.resolveRenameLocation(xe.None);return(null==o?void 0:o.rejectReason)?{edits:[],rejectReason:o.rejectReason}:n.provideRenameEdits(s,xe.None)}(o,i,e,n)})),hu("_executePrepareRename",(async function(t,i,e){const{renameProvider:s}=t.get(Cg),n=new o8(i,e,s),o=await n.resolveRenameLocation(xe.None);if(null==o?void 0:o.rejectReason)throw new Error(o.rejectReason);return o})),Eh.as(Ld).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:rt(0,"Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});class u8{constructor(t,i,e){this.provider=t,this.tokens=i,this.error=e}}function d8(t,i){return t.has(i)}async function f8(t,i,e,s,n){const o=function(t,i){const e=t.orderedGroups(i);return e.length>0?e[0]:[]}(t,i),r=await Promise.all(o.map((async t=>{let o,r=null;try{o=await t.provideDocumentSemanticTokens(i,t===e?s:null,n)}catch(t){r=t,o=null}return o&&(a8(o)||l8(o))||(o=null),new u8(t,o,r)})));for(const t of r){if(t.error)throw t.error;if(t.tokens)return t}return r.length>0?r[0]:null}class p8{constructor(t,i){this.provider=t,this.tokens=i}}function g8(t,i){const e=t.orderedGroups(i);return e.length>0?e[0]:[]}async function m8(t,i,e,s){const n=g8(t,i),o=await Promise.all(n.map((async t=>{let n;try{n=await t.provideDocumentRangeSemanticTokens(i,e,s)}catch(t){$i(t),n=null}return n&&a8(n)||(n=null),new p8(t,n)})));for(const t of o)if(t.tokens)return t;return o.length>0?o[0]:null}Er.registerCommand("_provideDocumentSemanticTokensLegend",(async(t,...i)=>{const[e]=i;K(e instanceof ws);const s=t.get(gr).getModel(e);if(!s)return;const{documentSemanticTokensProvider:n}=t.get(Cg),o=function(t,i){const e=t.orderedGroups(i);return e.length>0?e[0]:null}(n,s);return o?o[0].getLegend():t.get(Dr).executeCommand("_provideDocumentRangeSemanticTokensLegend",e)})),Er.registerCommand("_provideDocumentSemanticTokens",(async(t,...i)=>{const[e]=i;K(e instanceof ws);const s=t.get(gr).getModel(e);if(!s)return;const{documentSemanticTokensProvider:n}=t.get(Cg);if(!d8(n,s))return t.get(Dr).executeCommand("_provideDocumentRangeSemanticTokens",e,s.getFullModelRange());const o=await f8(n,s,null,null,xe.None);if(!o)return;const{provider:r,tokens:h}=o;if(!h||!a8(h))return;const c=c8({id:0,type:"full",data:h.data});return h.resultId&&r.releaseDocumentSemanticTokens(h.resultId),c})),Er.registerCommand("_provideDocumentRangeSemanticTokensLegend",(async(t,...i)=>{const[e,s]=i;K(e instanceof ws);const n=t.get(gr).getModel(e);if(!n)return;const{documentRangeSemanticTokensProvider:o}=t.get(Cg),r=g8(o,n);if(0===r.length)return;if(1===r.length)return r[0].getLegend();if(!s||!Ls.isIRange(s))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();const h=await m8(o,n,Ls.lift(s),xe.None);return h?h.provider.getLegend():void 0})),Er.registerCommand("_provideDocumentRangeSemanticTokens",(async(t,...i)=>{const[e,s]=i;K(e instanceof ws),K(Ls.isIRange(s));const n=t.get(gr).getModel(e);if(!n)return;const{documentRangeSemanticTokensProvider:o}=t.get(Cg),r=await m8(o,n,Ls.lift(s),xe.None);return r&&r.tokens?c8({id:0,type:"full",data:r.tokens.data}):void 0}));const w8="editor.semanticHighlighting";function v8(t,i,e){var s;const n=null===(s=e.getValue(w8,{overrideIdentifier:t.getLanguageId(),resource:t.uri}))||void 0===s?void 0:s.enabled;return"boolean"==typeof n?n:i.getColorTheme().semanticHighlighting}var b8,y8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},k8=function(t,i){return function(e,s){i(e,s,t)}};let x8=class extends ie{constructor(t,i,e,s,n,o){super(),this._watchers=Object.create(null);const r=i=>{this._watchers[i.uri.toString()]=new C8(i,t,e,n,o)},h=(t,i)=>{i.dispose(),delete this._watchers[t.uri.toString()]},c=()=>{for(const t of i.getModels()){const i=this._watchers[t.uri.toString()];v8(t,e,s)?i||r(t):i&&h(t,i)}};this._register(i.onModelAdded((t=>{v8(t,e,s)&&r(t)}))),this._register(i.onModelRemoved((t=>{const i=this._watchers[t.uri.toString()];i&&h(t,i)}))),this._register(s.onDidChangeConfiguration((t=>{t.affectsConfiguration(w8)&&c()}))),this._register(e.onDidColorThemeChange(c))}dispose(){for(const t of Object.values(this._watchers))t.dispose();super.dispose()}};x8=y8([k8(0,LR),k8(1,gr),k8(2,tx),k8(3,gd),k8(4,mR),k8(5,Cg)],x8);let C8=b8=class extends ie{constructor(t,i,e,s,n){super(),this._semanticTokensStylingService=i,this._isDisposed=!1,this._model=t,this._provider=n.documentSemanticTokensProvider,this._debounceInformation=s.for(this._provider,"DocumentSemanticTokens",{min:b8.REQUEST_MIN_DELAY,max:b8.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new gc((()=>this._fetchDocumentSemanticTokensNow()),b8.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 o=()=>{Ji(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const i of this._provider.all(t))"function"==typeof i.onDidChange&&this._documentProvidersChangeListeners.push(i.onDidChange((()=>{this._currentDocumentRequestCancellationTokenSource?this._providersChangedDuringRequest=!0:this._fetchDocumentSemanticTokens.schedule(0)})))};o(),this._register(this._provider.onDidChange((()=>{o(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(e.onDidColorThemeChange((()=>{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),Ji(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!d8(this._provider,this._model))return void(this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1));if(!this._model.isAttachedToEditor())return;const t=new Se,i=f8(this._provider,this._model,this._currentDocumentResponse?this._currentDocumentResponse.provider:null,this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,t.token);this._currentDocumentRequestCancellationTokenSource=t,this._providersChangedDuringRequest=!1;const e=[],s=this._model.onDidChangeContent((t=>{e.push(t)})),n=new he(!1);i.then((t=>{if(this._debounceInformation.update(this._model,n.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),t){const{provider:i,tokens:s}=t,n=this._semanticTokensStylingService.getStyling(i);this._setDocumentSemanticTokens(i,s||null,n,e)}else this._setDocumentSemanticTokens(null,null,null,e)}),(t=>{t&&(zi(t)||"string"==typeof t.message&&-1!==t.message.indexOf("busy"))||Pi(t),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),(e.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))}))}static _copy(t,i,e,s,n){n=Math.min(n,e.length-s,t.length-i);for(let o=0;o{(s.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)t&&i&&t.releaseDocumentSemanticTokens(i.resultId);else if(t&&e){if(!i)return this._model.tokenization.setSemanticTokens(null,!0),void o();if(l8(i)){if(!n)return void this._model.tokenization.setSemanticTokens(null,!0);if(0===i.edits.length)i={resultId:i.resultId,data:n.data};else{let t=0;for(const e of i.edits)t+=(e.data?e.data.length:0)-e.deleteCount;const s=n.data,o=new Uint32Array(s.length+t);let r=s.length,h=o.length;for(let t=i.edits.length-1;t>=0;t--){const c=i.edits[t];if(c.start>s.length)return e.warnInvalidEditStart(n.resultId,i.resultId,t,c.start,s.length),void this._model.tokenization.setSemanticTokens(null,!0);const a=r-(c.start+c.deleteCount);a>0&&(b8._copy(s,r-a,o,h-a,a),h-=a),c.data&&(b8._copy(c.data,0,o,h-c.data.length,c.data.length),h-=c.data.length),r=c.start}r>0&&b8._copy(s,0,o,0,r),i={resultId:i.resultId,data:o}}}if(a8(i)){this._currentDocumentResponse=new S8(t,i.resultId,i.data);const n=ER(i,e,this._model.getLanguageId());if(s.length>0)for(const t of s)for(const i of n)for(const e of t.changes)i.applyEdit(e.range,e.text);this._model.tokenization.setSemanticTokens(n,!0)}else this._model.tokenization.setSemanticTokens(null,!0);o()}else this._model.tokenization.setSemanticTokens(null,!1)}};C8.REQUEST_MIN_DELAY=300,C8.REQUEST_MAX_DELAY=2e3,C8=b8=y8([k8(1,LR),k8(2,tx),k8(3,mR),k8(4,Cg)],C8);class S8{constructor(t,i,e){this.provider=t,this.resultId=i,this.data=e}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}ZH(x8);var D8=function(t,i){return function(e,s){i(e,s,t)}};let E8=class extends ie{constructor(t,i,e,s,n,o){super(),this._semanticTokensStylingService=i,this._themeService=e,this._configurationService=s,this._editor=t,this._provider=o.documentRangeSemanticTokensProvider,this._debounceInformation=n.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new gc((()=>this._tokenizeViewportNow()),100)),this._outstandingRequests=[];const r=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange((()=>{r()}))),this._register(this._editor.onDidChangeModel((()=>{this._cancelAll(),r()}))),this._register(this._editor.onDidChangeModelContent((()=>{this._cancelAll(),r()}))),this._register(this._provider.onDidChange((()=>{this._cancelAll(),r()}))),this._register(this._configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration(w8)&&(this._cancelAll(),r())}))),this._register(this._themeService.onDidColorThemeChange((()=>{this._cancelAll(),r()}))),r()}_cancelAll(){for(const t of this._outstandingRequests)t.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(t){for(let i=0,e=this._outstandingRequests.length;ithis._requestRange(t,i))))}_requestRange(t,i){const e=t.getVersionId(),s=oc((e=>Promise.resolve(m8(this._provider,t,i,e)))),n=new he(!1);return s.then((s=>{if(this._debounceInformation.update(t,n.elapsed()),!s||!s.tokens||t.isDisposed()||t.getVersionId()!==e)return;const{provider:o,tokens:r}=s,h=this._semanticTokensStylingService.getStyling(o);t.tokenization.setPartialSemanticTokens(i,ER(r,h,t.getLanguageId()))})).then((()=>this._removeOutstandingRequest(s)),(()=>this._removeOutstandingRequest(s))),s}};E8.ID="editor.contrib.viewportSemanticTokens",E8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([D8(1,LR),D8(2,tx),D8(3,gd),D8(4,mR),D8(5,Cg)],E8),uu(E8.ID,E8,1);class A8{constructor(t=!0){this.selectSubwords=t}provideSelectionRanges(t,i){const e=[];for(const s of i){const i=[];e.push(i),this.selectSubwords&&this._addInWordRanges(i,t,s),this._addWordRanges(i,t,s),this._addWhitespaceLine(i,t,s),i.push({range:t.getFullModelRange()})}return e}_addInWordRanges(t,i,e){const s=i.getWordAtPosition(e);if(!s)return;const{word:n,startColumn:o}=s,r=e.column-o;let h=r,c=r,a=0;for(;h>=0;h--){const t=n.charCodeAt(h);if(h!==r&&(95===t||45===t))break;if(ao(t)&&lo(a))break;a=t}for(h+=1;c0&&0===i.getLineFirstNonWhitespaceColumn(e.lineNumber)&&0===i.getLineLastNonWhitespaceColumn(e.lineNumber)&&t.push({range:new Ls(e.lineNumber,1,e.lineNumber,i.getLineMaxColumn(e.lineNumber))})}}var M8;class L8{constructor(t,i){this.index=t,this.ranges=i}mov(t){const i=this.index+(t?1:-1);if(i<0||i>=this.ranges.length)return this;const e=new L8(i,this.ranges);return e.ranges[i].equalsRange(this.ranges[this.index])?e.mov(t):e}}let F8=M8=class{static get(t){return t.getContribution(M8.ID)}constructor(t,i){this._editor=t,this._languageFeaturesService=i,this._ignoreSelection=!1}dispose(){var t;null===(t=this._selectionListener)||void 0===t||t.dispose()}async run(t){if(!this._editor.hasModel())return;const i=this._editor.getSelections(),e=this._editor.getModel();if(this._state||await R8(this._languageFeaturesService.selectionRangeProvider,e,i.map((t=>t.getPosition())),this._editor.getOption(112),xe.None).then((t=>{var e;if(y(t)&&t.length===i.length&&this._editor.hasModel()&&u(this._editor.getSelections(),i,((t,i)=>t.equalsSelection(i)))){for(let e=0;et.containsPosition(i[e].getStartPosition())&&t.containsPosition(i[e].getEndPosition()))),t[e].unshift(i[e]);this._state=t.map((t=>new L8(0,t))),null===(e=this._selectionListener)||void 0===e||e.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition((()=>{var t;this._ignoreSelection||(null===(t=this._selectionListener)||void 0===t||t.dispose(),this._state=void 0)}))}})),!this._state)return;this._state=this._state.map((i=>i.mov(t)));const s=this._state.map((t=>Fs.fromPositions(t.ranges[t.index].getStartPosition(),t.ranges[t.index].getEndPosition())));this._ignoreSelection=!0;try{this._editor.setSelections(s)}finally{this._ignoreSelection=!1}}};F8.ID="editor.contrib.smartSelectController",F8=M8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,Cg)],F8);class T8 extends nu{constructor(t,i){super(i),this._forward=t}async run(t,i){const e=F8.get(i);e&&await e.run(this._forward)}}async function R8(t,i,e,s,n){const o=t.all(i).concat(new A8(s.selectSubwords));1===o.length&&o.unshift(new a6);const r=[],h=[];for(const t of o)r.push(Promise.resolve(t.provideSelectionRanges(i,e,n)).then((t=>{if(y(t)&&t.length===e.length)for(let i=0;i{if(0===t.length)return[];t.sort(((t,i)=>Ms.isBefore(t.getStartPosition(),i.getStartPosition())?1:Ms.isBefore(i.getStartPosition(),t.getStartPosition())||Ms.isBefore(t.getEndPosition(),i.getEndPosition())?-1:Ms.isBefore(i.getEndPosition(),t.getEndPosition())?1:0));const e=[];let n;for(const i of t)(!n||Ls.containsRange(i,n)&&!Ls.equalsRange(i,n))&&(e.push(i),n=i);if(!s.selectLeadingAndTrailingWhitespace)return e;const o=[e[0]];for(let t=1;tt}),N8="data-sticky-line-index",B8="data-sticky-is-line",P8="data-sticky-is-folding-icon";class $8 extends ie{constructor(t){super(),this._editor=t,this._foldingIconStore=new te,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(66),this._stickyLines=[],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",t instanceof qJ),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const i=()=>{this._linesDomNode.style.left=this._editor.getOption(114).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(114)&&i(),t.hasChanged(66)&&(this._lineHeight=this._editor.getOption(66))}))),this._register(this._editor.onDidScrollChange((t=>{t.scrollLeftChanged&&i(),t.scrollWidthChanged&&this._updateWidgetWidth()}))),this._register(this._editor.onDidChangeModel((()=>{i(),this._updateWidgetWidth()}))),this._register(this._foldingIconStore),i(),this._register(this._editor.onDidLayoutChange((()=>{this._updateWidgetWidth()}))),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getStickyLineForLine(t){return this._stickyLines.find((i=>i.lineNumber===t))}getCurrentLines(){return this._lineNumbers}setState(t,i,e=1/0){if((!this._previousState&&!t||this._previousState&&this._previousState.equals(t))&&e===1/0)return;this._previousState=t;const s=this._stickyLines;if(this._clearStickyWidget(),t&&this._editor._getViewModel()){if(t.startLineNumbers.length*this._lineHeight+t.lastLineRelativePosition>0){this._lastLineRelativePosition=t.lastLineRelativePosition;const i=[...t.startLineNumbers];null!==t.showEndForLine&&(i[t.showEndForLine]=t.endLineNumbers[t.showEndForLine]),this._lineNumbers=i}else this._lastLineRelativePosition=0,this._lineNumbers=[];this._renderRootNode(s,i,e)}}_updateWidgetWidth(){const t=this._editor.getLayoutInfo();this._lineNumbersDomNode.style.width=`${t.contentLeft}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",this._editor.getScrollWidth()-t.verticalScrollbarWidth+"px"),this._rootDomNode.style.width=t.width-t.verticalScrollbarWidth+"px"}_clearStickyWidget(){this._stickyLines=[],this._foldingIconStore.clear(),Ha(this._lineNumbersDomNode),Ha(this._linesDomNode),this._rootDomNode.style.display="none"}_useFoldingOpacityTransition(t){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${t?.5:0}s`)}_setFoldingIconsVisibility(t){for(const i of this._stickyLines){const e=i.foldingIcon;e&&e.setVisible(!!t||e.isCollapsed)}}async _renderRootNode(t,i,e=1/0){const s=this._editor.getLayoutInfo();for(const[n,o]of this._lineNumbers.entries()){const r=t[n],h=o>=e||(null==r?void 0:r.lineNumber)!==o?this._renderChildNode(n,o,i,s):this._updateTopAndZIndexOfStickyLine(r);h&&(this._linesDomNode.appendChild(h.lineDomNode),this._lineNumbersDomNode.appendChild(h.lineNumberDomNode),this._stickyLines.push(h))}i&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin));const n=this._lineNumbers.length*this._lineHeight+this._lastLineRelativePosition;0!==n?(this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${n}px`,this._linesDomNodeScrollable.style.height=`${n}px`,this._rootDomNode.style.height=`${n}px`,this._rootDomNode.style.marginLeft="0px",this._updateMinContentWidth(),this._editor.layoutOverlayWidget(this)):this._clearStickyWidget()}_setFoldingHoverListeners(){"mouseover"===this._editor.getOption(109)&&(this._foldingIconStore.add(Ua(this._lineNumbersDomNode,Fl.MOUSE_ENTER,(()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)}))),this._foldingIconStore.add(Ua(this._lineNumbersDomNode,Fl.MOUSE_LEAVE,(()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)}))))}_renderChildNode(t,i,e,s){const n=this._editor._getViewModel();if(!n)return;const o=n.coordinatesConverter.convertModelPositionToViewPosition(new Ms(i,1)).lineNumber,r=n.getViewLineRenderingData(o),h=this._editor.getOption(67);let c;try{c=jg.filter(r.inlineDecorations,o,r.minColumn,r.maxColumn)}catch(t){c=[]}const a=new Kg(!0,!0,r.content,r.continuesWithWrappedLine,r.isBasicASCII,r.containsRTL,0,r.tokens,c,r.tabSize,r.startVisibleColumn,1,1,1,500,"none",!0,!0,null),l=new id(2e3),u=Jg(a,l);let d;d=_8?_8.createHTML(l.build()):l.build();const f=document.createElement("span");f.setAttribute(N8,String(t)),f.setAttribute(B8,""),f.setAttribute("role","listitem"),f.tabIndex=0,f.className="sticky-line-content",f.classList.add(`stickyLine${i}`),f.style.lineHeight=`${this._lineHeight}px`,f.innerHTML=d;const p=document.createElement("span");p.setAttribute(N8,String(t)),p.setAttribute("data-sticky-is-line-number",""),p.className="sticky-line-number",p.style.lineHeight=`${this._lineHeight}px`,p.style.width=`${s.contentLeft}px`;const g=document.createElement("span");1===h.renderType||3===h.renderType&&i%10==0?g.innerText=i.toString():2===h.renderType&&(g.innerText=Math.abs(i-this._editor.getPosition().lineNumber).toString()),g.className="sticky-line-number-inner",g.style.lineHeight=`${this._lineHeight}px`,g.style.width=`${s.lineNumbersWidth}px`,g.style.paddingLeft=`${s.lineNumbersLeft}px`,p.appendChild(g);const m=this._renderFoldingIconForLine(e,i);m&&p.appendChild(m.domNode),this._editor.applyFontInfo(f),this._editor.applyFontInfo(g),p.style.lineHeight=`${this._lineHeight}px`,f.style.lineHeight=`${this._lineHeight}px`,p.style.height=`${this._lineHeight}px`,f.style.height=`${this._lineHeight}px`;const w=new W8(t,i,f,p,m,u.characterMapping);return this._updateTopAndZIndexOfStickyLine(w)}_updateTopAndZIndexOfStickyLine(t){var i;const e=t.index,s=t.lineDomNode,n=t.lineNumberDomNode,o=e===this._lineNumbers.length-1;s.style.zIndex=o?"0":"1",n.style.zIndex=o?"0":"1";const r=`${e*this._lineHeight+this._lastLineRelativePosition+((null===(i=t.foldingIcon)||void 0===i?void 0:i.isCollapsed)?1:0)}px`,h=e*this._lineHeight+"px";return s.style.top=o?r:h,n.style.top=o?r:h,t}_renderFoldingIconForLine(t,i){const e=this._editor.getOption(109);if(!t||"never"===e)return;const s=t.regions,n=s.findRange(i),o=s.getStartLineNumber(n);if(i!==o)return;const r=s.isCollapsed(n),h=new j8(r,o,s.getEndLineNumber(n),this._lineHeight);return h.setVisible(!!this._isOnGlyphMargin||r||"always"===e),h.domNode.setAttribute(P8,""),h}_updateMinContentWidth(){this._minContentWidthInPx=0;for(const t of this._stickyLines)t.lineDomNode.scrollWidth>this._minContentWidthInPx&&(this._minContentWidthInPx=t.lineDomNode.scrollWidth);this._minContentWidthInPx+=this._editor.getLayoutInfo().verticalScrollbarWidth}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:null}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(t){0<=t&&t0)return null;const i=this._getRenderedStickyLineFromChildDomNode(t);if(!i)return null;const e=Xy(i.characterMapping,t,0);return new Ms(i.lineNumber,e)}getLineNumberFromChildDomNode(t){var i,e;return null!==(e=null===(i=this._getRenderedStickyLineFromChildDomNode(t))||void 0===i?void 0:i.lineNumber)&&void 0!==e?e:null}_getRenderedStickyLineFromChildDomNode(t){const i=this.getLineIndexFromChildDomNode(t);return null===i||i<0||i>=this._stickyLines.length?null:this._stickyLines[i]}getLineIndexFromChildDomNode(t){const i=this._getAttributeValue(t,N8);return i?parseInt(i,10):null}isInStickyLine(t){return void 0!==this._getAttributeValue(t,B8)}isInFoldingIconDomNode(t){return void 0!==this._getAttributeValue(t,P8)}_getAttributeValue(t,i){for(;t&&t!==this._rootDomNode;){const e=t.getAttribute(i);if(null!==e)return e;t=t.parentElement}}}class W8{constructor(t,i,e,s,n,o){this.index=t,this.lineNumber=i,this.lineDomNode=e,this.lineNumberDomNode=s,this.foldingIcon=n,this.characterMapping=o}}class j8{constructor(t,i,e,s){this.isCollapsed=t,this.foldingStartLine=i,this.foldingEndLine=e,this.dimension=s,this.domNode=document.createElement("div"),this.domNode.style.width=`${s}px`,this.domNode.style.height=`${s}px`,this.domNode.className=Sr.asClassName(t?o5:n5)}setVisible(t){this.domNode.style.cursor=t?"pointer":"default",this.domNode.style.opacity=t?"1":"0"}}class z8{constructor(t,i){this.startLineNumber=t,this.endLineNumber=i}}class H8{constructor(t,i,e){this.range=t,this.children=i,this.parent=e}}class V8{constructor(t,i,e,s){this.uri=t,this.version=i,this.element=e,this.outlineProviderId=s}}var U8,q8,K8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},G8=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t.OUTLINE_MODEL="outlineModel",t.FOLDING_PROVIDER_MODEL="foldingProviderModel",t.INDENTATION_MODEL="indentationModel"}(U8||(U8={})),function(t){t[t.VALID=0]="VALID",t[t.INVALID=1]="INVALID",t[t.CANCELED=2]="CANCELED"}(q8||(q8={}));let Z8=class extends ie{constructor(t,i,e,s){super(),this._editor=t,this._languageConfigurationService=i,this._languageFeaturesService=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new cc(300)),this._updateOperation=this._register(new te);const n=new J8(e),o=new ttt(this._editor,e),r=new X8(this._editor,i);switch(s){case U8.OUTLINE_MODEL:this._modelProviders.push(n),this._modelProviders.push(o),this._modelProviders.push(r);break;case U8.FOLDING_PROVIDER_MODEL:this._modelProviders.push(o),this._modelProviders.push(r);break;case U8.INDENTATION_MODEL:this._modelProviders.push(r)}}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(t,i,e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger((async()=>{for(const s of this._modelProviders){const{statusPromise:n,modelPromise:o}=s.computeStickyModel(t,i,e);this._modelPromise=o;const r=await n;if(this._modelPromise!==o)return null;switch(r){case q8.CANCELED:return this._updateOperation.clear(),null;case q8.VALID:return s.stickyModel}}return null})).catch((t=>(Pi(t),null)))}};Z8=K8([G8(1,tf),G8(2,Cg)],Z8);class Q8{constructor(){this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,q8.INVALID}computeStickyModel(t,i,e){if(e.isCancellationRequested||!this.isProviderValid(t))return{statusPromise:this._invalid(),modelPromise:null};const s=oc((e=>this.createModelFromProvider(t,i,e)));return{statusPromise:s.then((s=>this.isModelValid(s)?e.isCancellationRequested?q8.CANCELED:(this._stickyModel=this.createStickyModel(t,i,e,s),q8.VALID):this._invalid())).then(void 0,(t=>(Pi(t),q8.CANCELED))),modelPromise:s}}isModelValid(t){return!0}isProviderValid(t){return!0}}let J8=class extends Q8{constructor(t){super(),this._languageFeaturesService=t}createModelFromProvider(t,i,e){return F5.create(this._languageFeaturesService.documentSymbolProvider,t,e)}createStickyModel(t,i,e,s){var n;const{stickyOutlineElement:o,providerID:r}=this._stickyModelFromOutlineModel(s,null===(n=this._stickyModel)||void 0===n?void 0:n.outlineProviderId);return new V8(t.uri,i,o,r)}isModelValid(t){return t&&t.children.size>0}_stickyModelFromOutlineModel(t,i){let e;if(Vt.first(t.children.values())instanceof L5){const s=Vt.find(t.children.values(),(t=>t.id===i));if(s)e=s.children;else{let s,n="",o=-1;for(const[i,e]of t.children.entries()){const t=this._findSumOfRangesOfGroup(e);t>o&&(s=e,o=t,n=e.id)}i=n,e=s.children}}else e=t.children;const s=[],n=Array.from(e.values()).sort(((t,i)=>{const e=new z8(t.symbol.range.startLineNumber,t.symbol.range.endLineNumber),s=new z8(i.symbol.range.startLineNumber,i.symbol.range.endLineNumber);return this._comparator(e,s)}));for(const t of n)s.push(this._stickyModelFromOutlineElement(t,t.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new H8(void 0,s,void 0),providerID:i}}_stickyModelFromOutlineElement(t,i){const e=[];for(const s of t.children.values())if(s.symbol.selectionRange.startLineNumber!==s.symbol.range.endLineNumber)if(s.symbol.selectionRange.startLineNumber!==i)e.push(this._stickyModelFromOutlineElement(s,s.symbol.selectionRange.startLineNumber));else for(const t of s.children.values())e.push(this._stickyModelFromOutlineElement(t,s.symbol.selectionRange.startLineNumber));e.sort(((t,i)=>this._comparator(t.range,i.range)));const s=new z8(t.symbol.selectionRange.startLineNumber,t.symbol.range.endLineNumber);return new H8(s,e,void 0)}_comparator(t,i){return t.startLineNumber!==i.startLineNumber?t.startLineNumber-i.startLineNumber:i.endLineNumber-t.endLineNumber}_findSumOfRangesOfGroup(t){let i=0;for(const e of t.children.values())i+=this._findSumOfRangesOfGroup(e);return t instanceof M5?i+t.symbol.range.endLineNumber-t.symbol.selectionRange.startLineNumber:i}};J8=K8([G8(0,Cg)],J8);class Y8 extends Q8{constructor(t){super(),this._foldingLimitReporter=new w5(t)}createStickyModel(t,i,e,s){const n=this._fromFoldingRegions(s);return new V8(t.uri,i,n,void 0)}isModelValid(t){return null!==t}_fromFoldingRegions(t){const i=t.length,e=[],s=new H8(void 0,[],void 0);for(let n=0;n0}createModelFromProvider(t,i,e){const s=m5.getFoldingRangeProviders(this._languageFeaturesService,t);return new u5(t,s,(()=>this.createModelFromProvider(t,i,e)),this._foldingLimitReporter,void 0).compute(e)}};ttt=K8([G8(1,Cg)],ttt);var itt=function(t,i){return function(e,s){i(e,s,t)}};class ett{constructor(t,i,e){this.startLineNumber=t,this.endLineNumber=i,this.nestingDepth=e}}let stt=class extends ie{constructor(t,i,e){super(),this._languageFeaturesService=i,this._languageConfigurationService=e,this._onDidChangeStickyScroll=this._register(new fe),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._options=null,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=t,this._sessionStore=this._register(new te),this._updateSoon=this._register(new gc((()=>this.update()),50)),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(114)&&this.readConfiguration()}))),this.readConfiguration()}readConfiguration(){this._stickyModelProvider=null,this._sessionStore.clear(),this._options=this._editor.getOption(114),this._options.enabled&&(this._stickyModelProvider=this._sessionStore.add(new Z8(this._editor,this._languageConfigurationService,this._languageFeaturesService,this._options.defaultModel)),this._sessionStore.add(this._editor.onDidChangeModel((()=>{this._model=null,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.update())}getVersionId(){var t;return null===(t=this._model)||void 0===t?void 0:t.version}async update(){var t;null===(t=this._cts)||void 0===t||t.dispose(!0),this._cts=new Se,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(t){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization())return void(this._model=null);const i=this._editor.getModel(),e=i.getVersionId(),s=await this._stickyModelProvider.update(i,e,t);t.isCancellationRequested||(this._model=s)}updateIndex(t){return-1===t?t=0:t<0&&(t=-t-2),t}getCandidateStickyLinesIntersectingFromStickyModel(t,i,e,s,n){if(0===i.children.length)return;let o=n;const r=[];for(let t=0;tt-i))),c=this.updateIndex(d(r,t.startLineNumber+s,((t,i)=>t-i)));for(let r=h;r<=c;r++){const h=i.children[r];if(!h)return;if(h.range){const i=h.range.startLineNumber,n=h.range.endLineNumber;t.startLineNumber<=n+1&&i-1<=t.endLineNumber&&i!==o&&(o=i,e.push(new ett(i,n-1,s+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(t,h,e,s+1,i))}else this.getCandidateStickyLinesIntersectingFromStickyModel(t,h,e,s,n)}}getCandidateStickyLinesIntersecting(t){var i,e;if(!(null===(i=this._model)||void 0===i?void 0:i.element))return[];let s=[];this.getCandidateStickyLinesIntersectingFromStickyModel(t,this._model.element,s,0,-1);const n=null===(e=this._editor._getViewModel())||void 0===e?void 0:e.getHiddenAreas();if(n)for(const t of n)s=s.filter((i=>!(i.startLineNumber>=t.startLineNumber&&i.endLineNumber<=t.endLineNumber+1)));return s}};stt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([itt(1,Cg),itt(2,tf)],stt);var ntt,ott=function(t,i){return function(e,s){i(e,s,t)}};let rtt=ntt=class extends ie{constructor(t,i,e,s,n,o,r){super(),this._editor=t,this._contextMenuService=i,this._languageFeaturesService=e,this._instaService=s,this._contextKeyService=r,this._sessionStore=new te,this._foldingModel=null,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._showEndForLine=null,this._stickyScrollWidget=new $8(this._editor),this._stickyLineCandidateProvider=new stt(this._editor,e,n),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=new I8([],[],0),this._readConfiguration();const h=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(114)||t.hasChanged(72)||t.hasChanged(66)||t.hasChanged(109))&&this._readConfiguration()}))),this._register(Ua(h,Fl.CONTEXT_MENU,(async t=>{this._onContextMenu(Ba(h),t)}))),this._stickyScrollFocusedContextKey=XC.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=XC.stickyScrollVisible.bindTo(this._contextKeyService);const c=this._register(Ol(h));this._register(c.onDidBlur((()=>{!1===this._positionRevealed&&0===h.clientHeight?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()}))),this._register(c.onDidFocus((()=>{this.focus()}))),this._registerMouseListeners(),this._register(Ua(h,Fl.MOUSE_DOWN,(()=>{this._onMouseDown=!0})))}static get(t){return t.getContribution(ntt.ID)}_disposeFocusStickyScrollStore(){var t;this._stickyScrollFocusedContextKey.set(!1),null===(t=this._focusDisposableStore)||void 0===t||t.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown)return this._onMouseDown=!1,void this._editor.focus();!0!==this._stickyScrollFocusedContextKey.get()&&(this._focused=!0,this._focusDisposableStore=new te,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(t){this._focusedStickyElementIndex=t?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const t=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:t[this._focusedStickyElementIndex],column:1})}_revealPosition(t){this._reveaInEditor(t,(()=>this._editor.revealPosition(t)))}_revealLineInCenterIfOutsideViewport(t){this._reveaInEditor(t,(()=>this._editor.revealLineInCenterIfOutsideViewport(t.lineNumber,0)))}_reveaInEditor(t,i){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,i(),this._editor.setSelection(Ls.fromPositions(t)),this._editor.focus()}_registerMouseListeners(){const t=this._register(new te),i=this._register(new VJ(this._editor,{extractLineNumberFromMouseEvent:t=>{const i=this._stickyScrollWidget.getEditorPositionFromNode(t.target.element);return i?i.lineNumber:0}})),e=t=>{if(!this._editor.hasModel())return null;if(12!==t.target.type||t.target.detail!==this._stickyScrollWidget.getId())return null;const i=t.target.element;if(!i||i.innerText!==i.innerHTML)return null;const e=this._stickyScrollWidget.getEditorPositionFromNode(i);return e?{range:new Ls(e.lineNumber,e.column,e.lineNumber,e.column+i.innerText.length),textElement:i}:null},s=this._stickyScrollWidget.getDomNode();this._register(Ka(s,Fl.CLICK,(t=>{if(t.ctrlKey||t.altKey||t.metaKey)return;if(!t.leftButton)return;if(t.shiftKey){const i=this._stickyScrollWidget.getLineIndexFromChildDomNode(t.target);if(null===i)return;const e=new Ms(this._endLineNumbers[i],1);return void this._revealLineInCenterIfOutsideViewport(e)}if(this._stickyScrollWidget.isInFoldingIconDomNode(t.target)){const i=this._stickyScrollWidget.getLineNumberFromChildDomNode(t.target);return void this._toggleFoldingRegionForLine(i)}if(!this._stickyScrollWidget.isInStickyLine(t.target))return;let i=this._stickyScrollWidget.getEditorPositionFromNode(t.target);if(!i){const e=this._stickyScrollWidget.getLineNumberFromChildDomNode(t.target);if(null===e)return;i=new Ms(e,1)}this._revealPosition(i)}))),this._register(Ka(s,Fl.MOUSE_MOVE,(t=>{if(t.shiftKey){const i=this._stickyScrollWidget.getLineIndexFromChildDomNode(t.target);if(null===i||null!==this._showEndForLine&&this._showEndForLine===i)return;return this._showEndForLine=i,void this._renderStickyScroll()}null!==this._showEndForLine&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._register(Ua(s,Fl.MOUSE_LEAVE,(()=>{null!==this._showEndForLine&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._register(i.onMouseMoveOrRelevantKeyDown((([i,s])=>{const n=e(i);if(!n||!i.hasTriggerModifier||!this._editor.hasModel())return void t.clear();const{range:o,textElement:r}=n;if(o.equalsRange(this._stickyRangeProjectedOnEditor)){if("underline"===r.style.textDecoration)return}else this._stickyRangeProjectedOnEditor=o,t.clear();const h=new Se;let c;t.add(Xi((()=>h.dispose(!0)))),UY(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Ms(o.startLineNumber,o.startColumn+1),h.token).then((i=>{if(!h.token.isCancellationRequested)if(0!==i.length){this._candidateDefinitionsLength=i.length;const e=r;c!==e?(t.clear(),c=e,c.style.textDecoration="underline",t.add(Xi((()=>{c.style.textDecoration="none"})))):c||(c=e,c.style.textDecoration="underline",t.add(Xi((()=>{c.style.textDecoration="none"}))))}else t.clear()}))}))),this._register(i.onCancel((()=>{t.clear()}))),this._register(i.onExecute((async t=>{if(12!==t.target.type||t.target.detail!==this._stickyScrollWidget.getId())return;const i=this._stickyScrollWidget.getEditorPositionFromNode(t.target.element);i&&(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:i.lineNumber,column:1})),this._instaService.invokeFunction(A9,t,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor}))})))}_onContextMenu(t,i){const e=new ic(t,i);this._contextMenuService.showContextMenu({menuId:Oh.StickyScrollContext,getAnchor:()=>e})}_toggleFoldingRegionForLine(t){if(!this._foldingModel||null===t)return;const i=this._stickyScrollWidget.getStickyLineForLine(t),e=null==i?void 0:i.foldingIcon;if(!e)return;q4(this._foldingModel,Number.MAX_VALUE,[t]),e.isCollapsed=!e.isCollapsed;const s=this._editor.getTopForLineNumber(e.isCollapsed?e.foldingEndLine:e.foldingStartLine)-this._editor.getOption(66)*i.index+1;this._editor.setScrollTop(s),this._renderStickyScroll(t)}_readConfiguration(){const t=this._editor.getOption(114);if(!1===t.enabled)return this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),void(this._enabled=!1);t.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange((t=>{t.scrollTopChanged&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._sessionStore.add(this._editor.onDidLayoutChange((()=>this._onDidResize()))),this._sessionStore.add(this._editor.onDidChangeModelTokens((t=>this._onTokensChange(t)))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll((()=>{this._showEndForLine=null,this._renderStickyScroll()}))),this._enabled=!0),2===this._editor.getOption(67).renderType&&this._sessionStore.add(this._editor.onDidChangeCursorPosition((()=>{this._showEndForLine=null,this._renderStickyScroll(-1)})))}_needsUpdate(t){const i=this._stickyScrollWidget.getCurrentLines();for(const e of i)for(const i of t.ranges)if(e>=i.fromLineNumber&&e<=i.toLineNumber)return!0;return!1}_onTokensChange(t){this._needsUpdate(t)&&this._renderStickyScroll(-1)}_onDidResize(){const t=this._editor.getLayoutInfo().height/this._editor.getOption(66);this._maxStickyLines=Math.round(.25*t)}async _renderStickyScroll(t=1/0){var i,e;const s=this._editor.getModel();if(!s||s.isTooLargeForTokenization())return this._foldingModel=null,void this._stickyScrollWidget.setState(void 0,null,t);const n=this._stickyLineCandidateProvider.getVersionId();if(void 0===n||n===s.getVersionId())if(this._foldingModel=null!==(e=await(null===(i=m5.get(this._editor))||void 0===i?void 0:i.getFoldingModel()))&&void 0!==e?e:null,this._widgetState=this.findScrollWidgetState(),this._stickyScrollVisibleContextKey.set(!(0===this._widgetState.startLineNumbers.length)),this._focused)if(-1===this._focusedStickyElementIndex)this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,t),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,-1!==this._focusedStickyElementIndex&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const i=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,t),0===this._stickyScrollWidget.lineNumberCount?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(i)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}else this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,t)}findScrollWidgetState(){const t=this._editor.getOption(66),i=Math.min(this._maxStickyLines,this._editor.getOption(114).maxLineCount),e=this._editor.getScrollTop();let s=0;const n=[],o=[],r=this._editor.getVisibleRanges();if(0!==r.length){const h=new z8(r[0].startLineNumber,r[r.length-1].endLineNumber),c=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(h);for(const r of c){const h=r.startLineNumber,c=r.endLineNumber,a=r.nestingDepth;if(c-h>0){const r=(a-1)*t,l=a*t,u=this._editor.getBottomForLineNumber(h)-e,d=this._editor.getTopForLineNumber(c)-e,f=this._editor.getBottomForLineNumber(c)-e;if(r>d&&r<=f){n.push(h),o.push(c+1),s=f-l;break}if(l>u&&l<=f&&(n.push(h),o.push(c+1)),n.length===i)break}}}return this._endLineNumbers=o,new I8(n,o,s,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};rtt.ID="store.contrib.stickyScrollController",rtt=ntt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([ott(1,uI),ott(2,Cg),ott(3,dr),ott(4,tf),ott(5,mR),ott(6,lh)],rtt);const htt=100;uu(rtt.ID,rtt,1),Wh(class extends $h{constructor(){super({id:"editor.action.toggleStickyScroll",title:{value:rt(0,"Toggle Sticky Scroll"),mnemonicTitle:rt(0,"&&Toggle Sticky Scroll"),original:"Toggle Sticky Scroll"},category:O8.View,toggled:{condition:Hr.equals("config.editor.stickyScroll.enabled",!0),title:rt(0,"Sticky Scroll"),mnemonicTitle:rt(0,"&&Sticky Scroll")},menu:[{id:Oh.CommandPalette},{id:Oh.MenubarAppearanceMenu,group:"4_editor",order:3},{id:Oh.StickyScrollContext}]})}async run(t){const i=t.get(gd),e=!i.getValue("editor.stickyScroll.enabled");return i.updateValue("editor.stickyScroll.enabled",e)}}),Wh(class extends ru{constructor(){super({id:"editor.action.focusStickyScroll",title:{value:rt(0,"Focus Sticky Scroll"),mnemonicTitle:rt(0,"&&Focus Sticky Scroll"),original:"Focus Sticky Scroll"},precondition:Hr.and(Hr.has("config.editor.stickyScroll.enabled"),XC.stickyScrollVisible),menu:[{id:Oh.CommandPalette}]})}runEditorCommand(t,i){var e;null===(e=rtt.get(i))||void 0===e||e.focus()}}),Wh(class extends ru{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:{value:rt(0,"Select previous sticky scroll line"),original:"Select previous sticky scroll line"},precondition:XC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:htt,primary:16}})}runEditorCommand(t,i){var e;null===(e=rtt.get(i))||void 0===e||e.focusPrevious()}}),Wh(class extends ru{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:{value:rt(0,"Select next sticky scroll line"),original:"Select next sticky scroll line"},precondition:XC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:htt,primary:18}})}runEditorCommand(t,i){var e;null===(e=rtt.get(i))||void 0===e||e.focusNext()}}),Wh(class extends ru{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:{value:rt(0,"Go to focused sticky scroll line"),original:"Go to focused sticky scroll line"},precondition:XC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:htt,primary:3}})}runEditorCommand(t,i){var e;null===(e=rtt.get(i))||void 0===e||e.goToFocused()}}),Wh(class extends ru{constructor(){super({id:"editor.action.selectEditor",title:{value:rt(0,"Select Editor"),original:"Select Editor"},precondition:XC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:htt,primary:9}})}runEditorCommand(t,i){var e;null===(e=rtt.get(i))||void 0===e||e.selectEditor()}});var ctt,att=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},ltt=function(t,i){return function(e,s){i(e,s,t)}};class utt{constructor(t,i,e,s,n,o){this.range=t,this.insertText=i,this.filterText=e,this.additionalTextEdits=s,this.command=n,this.completion=o}}let dtt=class extends se{constructor(t,i,e,s,n,o){super(n.disposable),this.model=t,this.line=i,this.word=e,this.completionModel=s,this._suggestMemoryService=o}canBeReused(t,i,e){return this.model===t&&this.line===i&&this.word.word.length>0&&this.word.startColumn===e.startColumn&&this.word.endColumn=0&&e.resolve(xe.None)}return i}};dtt=att([ltt(5,s6)],dtt);let ftt=class{constructor(t,i,e,s){this._getEditorOption=t,this._languageFeatureService=i,this._clipboardService=e,this._suggestMemoryService=s}async provideInlineCompletions(t,i,e,s){var n;if(e.selectedSuggestionInfo)return;const o=this._getEditorOption(88,t);if(F3.isAllOff(o))return;t.tokenization.tokenizeIfCheap(i.lineNumber);const r=t.tokenization.getLineTokens(i.lineNumber),h=r.getStandardTokenType(r.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if("inline"!==F3.valueFor(o,h))return;let c,a,l=t.getWordAtPosition(i);if((null==l?void 0:l.word)||(c=this._getTriggerCharacterInfo(t,i)),!(null==l?void 0:l.word)&&!c)return;if(l||(l=t.getWordUntilPosition(i)),l.endColumn!==i.column)return;const u=t.getValueInRange(new Ls(i.lineNumber,1,i.lineNumber,i.column));if(!c&&(null===(n=this._lastResult)||void 0===n?void 0:n.canBeReused(t,i.lineNumber,l))){const t=new u6(u,i.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=t,this._lastResult.acquire(),a=this._lastResult}else{const e=await A3(this._languageFeatureService.completionProvider,t,i,new D3(void 0,void 0,null==c?void 0:c.providers),c&&{triggerKind:1,triggerCharacter:c.ch},s);let n;e.needsClipboard&&(n=await this._clipboardService.readText());const o=new d6(e.items,i.column,new u6(u,0),l6.None,this._getEditorOption(117,t),this._getEditorOption(111,t),{boostFullMatch:!1,firstMatchCanBeWeak:!1},n);a=new dtt(t,i.lineNumber,l,o,e,this._suggestMemoryService)}return this._lastResult=a,a}handleItemDidShow(t,i){i.completion.resolve(xe.None)}freeInlineCompletions(t){t.release()}_getTriggerCharacterInfo(t,i){var e;const s=t.getValueInRange(Ls.fromPositions({lineNumber:i.lineNumber,column:i.column-1},i)),n=new Set;for(const i of this._languageFeatureService.completionProvider.all(t))(null===(e=i.triggerCharacters)||void 0===e?void 0:e.includes(s))&&n.add(i);if(0!==n.size)return{providers:n,ch:s}}};ftt=att([ltt(1,Cg),ltt(2,kH),ltt(3,s6)],ftt);let ptt=ctt=class{constructor(t,i,e,s){if(1==++ctt._counter){const n=s.createInstance(ftt,((i,s)=>{var n;return(null!==(n=e.listCodeEditors().find((t=>t.getModel()===s)))&&void 0!==n?n:t).getOption(i)}));ctt._disposable=i.inlineCompletionsProvider.register("*",n)}}dispose(){var t;0==--ctt._counter&&(null===(t=ctt._disposable)||void 0===t||t.dispose(),ctt._disposable=void 0)}};ptt._counter=0,ptt=ctt=att([ltt(1,Cg),ltt(2,pr),ltt(3,dr)],ptt),uu("suggest.inlineCompletionsProvider",ptt,0),au(class extends nu{constructor(){super({id:"editor.action.forceRetokenize",label:rt(0,"Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(t,i){if(!i.hasModel())return;const e=i.getModel();e.tokenization.resetTokenization();const s=new he;e.tokenization.forceTokenization(e.getLineCount()),s.stop(),console.log(`tokenization took ${s.elapsed()}`)}});class gtt extends $h{constructor(){super({id:gtt.ID,title:{value:rt(0,"Toggle Tab Key Moves Focus"),original:"Toggle Tab Key Moves Focus"},precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},f1:!0})}run(){const t=!Zm.getTabFocusMode();Zm.setTabFocusMode(t),$m(rt(0,t?"Pressing Tab will now move focus to the next focusable element":"Pressing Tab will now insert the tab character"))}}gtt.ID="editor.action.toggleTabFocusMode",Wh(gtt);let mtt=class extends ie{get enabled(){return this._enabled}set enabled(t){t?(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=t}constructor(t,i,e={},s){var n;super(),this._link=i,this._enabled=!0,this.el=Il(t,Wl("a.monaco-link",{tabIndex:null!==(n=i.tabIndex)&&void 0!==n?n:0,href:i.href,title:i.title},i.label)),this.el.setAttribute("role","button");const o=this._register(new Pk(this.el,"click")),r=this._register(new Pk(this.el,"keypress")),h=ce.chain(r.event,(t=>t.map((t=>new Jh(t))).filter((t=>3===t.keyCode)))),c=this._register(new Pk(this.el,rw.Tap)).event;this._register(hw.addTarget(this.el));const a=ce.any(o.event,h,c);this._register(a((t=>{this.enabled&&(Tl(t,!0),(null==e?void 0:e.opener)?e.opener(this._link.href):s.open(this._link.href,{allowCommands:!0}))}))),this.enabled=!0}};mtt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,fP)],mtt);var wtt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},vtt=function(t,i){return function(e,s){i(e,s,t)}};let btt=class extends ie{constructor(t,i){super(),this._editor=t,this.instantiationService=i,this.banner=this._register(this.instantiationService.createInstance(ytt))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(t){this.banner.show({...t,onClose:()=>{var i;this.hide(),null===(i=t.onClose)||void 0===i||i.call(t)}}),this._editor.setBanner(this.banner.element,26)}};btt=wtt([vtt(1,dr)],btt);let ytt=class extends ie{constructor(t){super(),this.instantiationService=t,this.markdownRenderer=this.instantiationService.createInstance(uQ,{}),this.element=Wl("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(t){return t.ariaLabel?t.ariaLabel:"string"==typeof t.message?t.message:void 0}getBannerMessage(t){if("string"==typeof t){const i=Wl("span");return i.innerText=t,i}return this.markdownRenderer.render(t).element}clear(){Ha(this.element)}show(t){Ha(this.element);const i=this.getAriaLabel(t);i&&this.element.setAttribute("aria-label",i);const e=Il(this.element,Wl("div.icon-container"));e.setAttribute("aria-hidden","true"),t.icon&&e.appendChild(Wl(`div${Sr.asCSSSelector(t.icon)}`));const s=Il(this.element,Wl("div.message-container"));if(s.setAttribute("aria-hidden","true"),s.appendChild(this.getBannerMessage(t.message)),this.messageActionsContainer=Il(this.element,Wl("div.message-actions-container")),t.actions)for(const i of t.actions)this._register(this.instantiationService.createInstance(mtt,this.messageActionsContainer,{...i,tabIndex:-1},{}));const n=Il(this.element,Wl("div.action-container"));this.actionBar=this._register(new XB(n)),this.actionBar.push(this._register(new wr("banner.close","Close Banner",Sr.asClassName(Zz),!0,(()=>{"function"==typeof t.onClose&&t.onClose()}))),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};ytt=wtt([vtt(0,dr)],ytt);var ktt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},xtt=function(t,i){return function(e,s){i(e,s,t)}};const Ctt=Vz("extensions-warning-message",Is.warning,rt(0,"Icon shown with a warning message in the extensions editor."));let Stt=class extends ie{constructor(t,i,e,s){super(),this._editor=t,this._editorWorkerService=i,this._workspaceTrustService=e,this._highlighter=null,this._bannerClosed=!1,this._updateState=t=>{if(t&&t.hasMore){if(this._bannerClosed)return;const i=Math.max(t.ambiguousCharacterCount,t.nonBasicAsciiCharacterCount,t.invisibleCharacterCount);let e;if(t.nonBasicAsciiCharacterCount>=i)e={message:rt(0,"This document contains many non-basic ASCII unicode characters"),command:new Ntt};else if(t.ambiguousCharacterCount>=i)e={message:rt(0,"This document contains many ambiguous unicode characters"),command:new Itt};else{if(!(t.invisibleCharacterCount>=i))throw new Error("Unreachable");e={message:rt(0,"This document contains many invisible unicode characters"),command:new _tt}}this._bannerController.show({id:"unicodeHighlightBanner",message:e.message,icon:Ctt,actions:[{label:e.command.shortLabel,href:`command:${e.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(s.createInstance(btt,t)),this._register(this._editor.onDidChangeModel((()=>{this._bannerClosed=!1,this._updateHighlighter()}))),this._options=t.getOption(124),this._register(e.onDidChangeTrust((()=>{this._updateHighlighter()}))),this._register(t.onDidChangeConfiguration((i=>{i.hasChanged(124)&&(this._options=t.getOption(124),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 t=function(t,i){return{nonBasicASCII:i.nonBasicASCII===Si?!t:i.nonBasicASCII,ambiguousCharacters:i.ambiguousCharacters,invisibleCharacters:i.invisibleCharacters,includeComments:i.includeComments===Si?!t:i.includeComments,includeStrings:i.includeStrings===Si?!t:i.includeStrings,allowedCharacters:i.allowedCharacters,allowedLocales:i.allowedLocales}}(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([t.nonBasicASCII,t.ambiguousCharacters,t.invisibleCharacters].every((t=>!1===t)))return;const i={nonBasicASCII:t.nonBasicASCII,ambiguousCharacters:t.ambiguousCharacters,invisibleCharacters:t.invisibleCharacters,includeComments:t.includeComments,includeStrings:t.includeStrings,allowedCodePoints:Object.keys(t.allowedCharacters).map((t=>t.codePointAt(0))),allowedLocales:Object.keys(t.allowedLocales).map((t=>"_os"===t?(new Intl.NumberFormat).resolvedOptions().locale:"_vscode"===t?Rt:t))};this._highlighter=this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?new Dtt(this._editor,i,this._updateState,this._editorWorkerService):new Ett(this._editor,i,this._updateState)}getDecorationInfo(t){return this._highlighter?this._highlighter.getDecorationInfo(t):null}};Stt.ID="editor.contrib.unicodeHighlighter",Stt=ktt([xtt(1,bP),xtt(2,aI),xtt(3,dr)],Stt);let Dtt=class extends ie{constructor(t,i,e,s){super(),this._editor=t,this._options=i,this._updateState=e,this._editorWorkerService=s,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new gc((()=>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())return void this._decorations.clear();const t=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then((i=>{if(this._model.isDisposed())return;if(this._model.getVersionId()!==t)return;this._updateState(i);const e=[];if(!i.hasMore)for(const t of i.ranges)e.push({range:t,options:Ttt.instance.getDecorationFromOptions(this._options)});this._decorations.set(e)}))}getDecorationInfo(t){if(!this._decorations.has(t))return null;const i=this._editor.getModel();return OF(i,t)?{reason:Ftt(i.getValueInRange(t.range),this._options),inComment:IF(i,t),inString:_F(i,t)}:null}};Dtt=ktt([xtt(3,bP)],Dtt);class Ett extends ie{constructor(t,i,e){super(),this._editor=t,this._options=i,this._updateState=e,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new gc((()=>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())return void this._decorations.clear();const t=this._editor.getVisibleRanges(),i=[],e={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const i of t){const t=tp.computeUnicodeHighlights(this._model,this._options,i);for(const i of t.ranges)e.ranges.push(i);e.ambiguousCharacterCount+=e.ambiguousCharacterCount,e.invisibleCharacterCount+=e.invisibleCharacterCount,e.nonBasicAsciiCharacterCount+=e.nonBasicAsciiCharacterCount,e.hasMore=e.hasMore||t.hasMore}if(!e.hasMore)for(const t of e.ranges)i.push({range:t,options:Ttt.instance.getDecorationFromOptions(this._options)});this._updateState(e),this._decorations.set(i)}getDecorationInfo(t){if(!this._decorations.has(t))return null;const i=this._editor.getModel(),e=i.getValueInRange(t.range);return OF(i,t)?{reason:Ftt(e,this._options),inComment:IF(i,t),inString:_F(i,t)}:null}}let Att=class{constructor(t,i,e){this._editor=t,this._languageService=i,this._openerService=e,this.hoverOrdinal=5}computeSync(t,i){if(!this._editor.hasModel()||1!==t.type)return[];const e=this._editor.getModel(),s=this._editor.getContribution(Stt.ID);if(!s)return[];const n=[],o=new Set;let r=300;for(const t of i){const i=s.getDecorationInfo(t);if(!i)continue;const h=e.getValueInRange(t.range).codePointAt(0),c=Ltt(h);let a;switch(i.reason.kind){case 0:a=Ao(i.reason.confusableWith)?rt(0,"The character {0} could be confused with the ASCII character {1}, which is more common in source code.",c,Ltt(i.reason.confusableWith.codePointAt(0))):rt(0,"The character {0} could be confused with the character {1}, which is more common in source code.",c,Ltt(i.reason.confusableWith.codePointAt(0)));break;case 1:a=rt(0,"The character {0} is invisible.",c);break;case 2:a=rt(0,"The character {0} is not a basic ASCII character.",c)}if(o.has(a))continue;o.add(a);const l={codePoint:h,reason:i.reason,inComment:i.inComment,inString:i.inString},u=rt(0,"Adjust settings"),d=`command:${Btt.ID}?${encodeURIComponent(JSON.stringify(l))}`,f=new B_("",!0).appendMarkdown(a).appendText(" ").appendLink(d,u);n.push(new qX(this,t.range,[f],!1,r++))}return n}renderHoverParts(t,i){return GX(t,i,this._editor,this._languageService,this._openerService)}};function Mtt(t){return`U+${t.toString(16).padStart(4,"0")}`}function Ltt(t){let i=`\`${Mtt(t)}\``;return $o.isInvisibleCharacter(t)||(i+=` "${function(t){return 96===t?"`` ` ``":"`"+String.fromCodePoint(t)+"`"}(t)}"`),i}function Ftt(t,i){return tp.computeUnicodeHighlightReason(t,i)}Att=ktt([xtt(1,kd),xtt(2,fP)],Att);class Ttt{constructor(){this.map=new Map}getDecorationFromOptions(t){return this.getDecoration(!t.includeComments,!t.includeStrings)}getDecoration(t,i){const e=`${t}${i}`;let s=this.map.get(e);return s||(s=ML.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:t,hideInStringTokens:i}),this.map.set(e,s)),s}}Ttt.instance=new Ttt;class Rtt extends nu{constructor(){super({id:Itt.ID,label:rt(0,"Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=rt(0,"Disable Highlight In Comments")}async run(t,i,e){const s=null==t?void 0:t.get(gd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Li,!1,2)}}class Ott extends nu{constructor(){super({id:Itt.ID,label:rt(0,"Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=rt(0,"Disable Highlight In Strings")}async run(t,i,e){const s=null==t?void 0:t.get(gd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Fi,!1,2)}}class Itt extends nu{constructor(){super({id:Itt.ID,label:rt(0,"Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=rt(0,"Disable Ambiguous Highlight")}async run(t,i,e){const s=null==t?void 0:t.get(gd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Mi,!1,2)}}Itt.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";class _tt extends nu{constructor(){super({id:_tt.ID,label:rt(0,"Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=rt(0,"Disable Invisible Highlight")}async run(t,i,e){const s=null==t?void 0:t.get(gd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Ei,!1,2)}}_tt.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";class Ntt extends nu{constructor(){super({id:Ntt.ID,label:rt(0,"Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=rt(0,"Disable Non ASCII Highlight")}async run(t,i,e){const s=null==t?void 0:t.get(gd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Ai,!1,2)}}Ntt.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";class Btt extends nu{constructor(){super({id:Btt.ID,label:rt(0,"Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(t,i,e){const{codePoint:s,reason:n,inString:o,inComment:r}=e,h=String.fromCodePoint(s),c=t.get(Ij),a=t.get(gd),l=[];if(0===n.kind)for(const t of n.notAmbiguousInLocales)l.push({label:rt(0,'Allow unicode characters that are more common in the language "{0}".',t),run:async()=>{Ptt(a,[t])}});if(l.push({label:function(t){return $o.isInvisibleCharacter(t)?rt(0,"Exclude {0} (invisible character) from being highlighted",Mtt(t)):rt(0,"Exclude {0} from being highlighted",`${Mtt(t)} "${h}"`)}(s),run:()=>async function(t,i){const e=t.getValue(Di);let s;s="object"==typeof e&&e?e:{};for(const t of i)s[String.fromCodePoint(t)]=!0;await t.updateValue(Di,s,2)}(a,[s])}),r){const t=new Rtt;l.push({label:t.label,run:async()=>t.runAction(a)})}else if(o){const t=new Ott;l.push({label:t.label,run:async()=>t.runAction(a)})}if(0===n.kind){const t=new Itt;l.push({label:t.label,run:async()=>t.runAction(a)})}else if(1===n.kind){const t=new _tt;l.push({label:t.label,run:async()=>t.runAction(a)})}else if(2===n.kind){const t=new Ntt;l.push({label:t.label,run:async()=>t.runAction(a)})}else!function(t){throw new Error(`Unexpected value: ${t}`)}(n);const u=await c.pick(l,{title:rt(0,"Configure Unicode Highlight Options")});u&&await u.run()}}async function Ptt(t,i){var e;const s=null===(e=t.inspect(Ti).user)||void 0===e?void 0:e.value;let n;n="object"==typeof s&&s?Object.assign({},s):{};for(const t of i)n[t]=!0;await t.updateValue(Ti,n,2)}Btt.ID="editor.action.unicodeHighlight.showExcludeOptions",au(Itt),au(_tt),au(Ntt),au(Btt),uu(Stt.ID,Stt,1),CX.register(Att);var $tt=function(t,i){return function(e,s){i(e,s,t)}};const Wtt="ignoreUnusualLineTerminators";let jtt=class extends ie{constructor(t,i,e){super(),this._editor=t,this._dialogService=i,this._codeEditorService=e,this._isPresentingDialog=!1,this._config=this._editor.getOption(125),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(125)&&(this._config=this._editor.getOption(125),this._checkForUnusualLineTerminators())}))),this._register(this._editor.onDidChangeModel((()=>{this._checkForUnusualLineTerminators()}))),this._register(this._editor.onDidChangeModelContent((t=>{t.isUndoing||this._checkForUnusualLineTerminators()}))),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if("off"===this._config)return;if(!this._editor.hasModel())return;const t=this._editor.getModel();if(!t.mightContainUnusualLineTerminators())return;const i=function(t,i){return t.getModelProperty(i.uri,Wtt)}(this._codeEditorService,t);if(!0===i)return;if(this._editor.getOption(90))return;if("auto"===this._config)return void t.removeUnusualLineTerminators(this._editor.getSelections());if(this._isPresentingDialog)return;let e;try{this._isPresentingDialog=!0,e=await this._dialogService.confirm({title:rt(0,"Unusual Line Terminators"),message:rt(0,"Detected unusual line terminators"),detail:rt(0,"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`.",yA(t.uri)),primaryButton:rt(0,"&&Remove Unusual Line Terminators"),cancelButton:rt(0,"Ignore")})}finally{this._isPresentingDialog=!1}e.confirmed?t.removeUnusualLineTerminators(this._editor.getSelections()):function(t,i){t.setModelProperty(i.uri,Wtt,!0)}(this._codeEditorService,t)}};jtt.ID="editor.contrib.unusualLineTerminatorsDetector",jtt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([$tt(1,YT),$tt(2,pr)],jtt),uu(jtt.ID,jtt,1);var ztt,Htt,Vtt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Utt=function(t,i){return function(e,s){i(e,s,t)}};const qtt=new ah("hasWordHighlights",!1);function Ktt(t,i,e,s){return dc(t.ordered(i).map((t=>()=>Promise.resolve(t.provideDocumentHighlights(i,e,s)).then(void 0,$i))),y).then((t=>{if(t){const e=new Hp;return e.set(i.uri,t),e}return new Hp}))}class Gtt{constructor(t,i,e){this._model=t,this._selection=i,this._wordSeparators=e,this._wordRange=this._getCurrentWordRange(t,i),this._result=null}get result(){return this._result||(this._result=oc((t=>this._compute(this._model,this._selection,this._wordSeparators,t)))),this._result}_getCurrentWordRange(t,i){const e=t.getWordAtPosition(i.getPosition());return e?new Ls(i.startLineNumber,e.startColumn,i.startLineNumber,e.endColumn):null}isValid(t,i,e){const s=i.startLineNumber,n=i.startColumn,o=i.endColumn,r=this._getCurrentWordRange(t,i);let h=Boolean(this._wordRange&&this._wordRange.equalsRange(r));for(let t=0,i=e.length;!h&&t=o&&(h=!0)}return h}cancel(){this.result.cancel()}}class Ztt extends Gtt{constructor(t,i,e,s){super(t,i,e),this._providers=s}_compute(t,i,e,s){return Ktt(this._providers,t,i.getPosition(),s).then((t=>t||new Hp))}}class Qtt extends Gtt{constructor(t,i,e,s,n){super(t,i,e),this._providers=s,this._otherModels=n}_compute(t,i,e,s){return function(t,i,e,s,n,o){return dc(t.ordered(i).map((t=>()=>{const s=o.filter((i=>tO(t.selector,i.uri,i.getLanguageId(),!0,void 0,void 0)>0));return Promise.resolve(t.provideMultiDocumentHighlights(i,e,s,n)).then(void 0,$i)})),(t=>t instanceof Hp&&t.size>0))}(this._providers,t,i.getPosition(),0,s,this._otherModels).then((t=>t||new Hp))}}class Jtt extends Gtt{constructor(t,i,e,s,n){super(t,i,s),this._otherModels=n,this._selectionIsEmpty=i.isEmpty(),this._word=e}_compute(t,i,e,s){return lc(250,s).then((()=>{const s=new Hp;let n;if(n=this._word?this._word:t.getWordAtPosition(i.getPosition()),!n)return new Hp;const o=[t,...this._otherModels];for(const t of o){if(t.isDisposed())continue;const i=t.findMatches(n.word,!0,!1,!0,e,!1).map((t=>({range:t.range,kind:zs.Text})));i&&s.set(t.uri,i)}return s}))}isValid(t,i,e){const s=i.isEmpty();return this._selectionIsEmpty===s&&super.isValid(t,i,e)}}hu("_executeDocumentHighlights",(async(t,i,e)=>{const s=t.get(Cg),n=await Ktt(s.documentHighlightProvider,i,e,xe.None);return null==n?void 0:n.get(i.uri)}));let Ytt=ztt=class{constructor(t,i,e,s,n){this.toUnhook=new te,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Hp,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=t,this.providers=i,this.multiDocumentProviders=e,this.codeEditorService=n,this._hasWordHighlights=qtt.bindTo(s),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(80),this.model=this.editor.getModel(),this.toUnhook.add(t.onDidChangeCursorPosition((t=>{this._ignorePositionChangeEvent||"off"!==this.occurrencesHighlight&&this._onPositionChanged(t)}))),this.toUnhook.add(t.onDidChangeModelContent((()=>{this._stopAll()}))),this.toUnhook.add(t.onDidChangeModel((t=>{!t.newModelUrl&&t.oldModelUrl?this._stopSingular():ztt.query&&this._run()}))),this.toUnhook.add(t.onDidChangeConfiguration((()=>{const t=this.editor.getOption(80);this.occurrencesHighlight!==t&&(this.occurrencesHighlight=t,this._stopAll())}))),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,ztt.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){"off"!==this.occurrencesHighlight&&this._run()}_getSortedHighlights(){return this.decorations.getRanges().sort(Ls.compareRangesUsingStarts)}moveNext(){const t=this._getSortedHighlights(),i=t.findIndex((t=>t.containsPosition(this.editor.getPosition()))),e=(i+1)%t.length,s=t[e];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(s.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(s);const i=this._getWord();i&&$m(`${this.editor.getModel().getLineContent(s.startLineNumber)}, ${e+1} of ${t.length} for '${i.word}'`)}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const t=this._getSortedHighlights(),i=t.findIndex((t=>t.containsPosition(this.editor.getPosition()))),e=(i-1+t.length)%t.length,s=t[e];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(s.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(s);const i=this._getWord();i&&$m(`${this.editor.getModel().getLineContent(s.startLineNumber)}, ${e+1} of ${t.length} for '${i.word}'`)}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const t=ztt.storedDecorations.get(this.editor.getModel().uri);t&&(this.editor.removeDecorations(t),ztt.storedDecorations.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(){const t=this.codeEditorService.listCodeEditors();for(const i of t){if(!i.hasModel())continue;const t=ztt.storedDecorations.get(i.getModel().uri);if(!t)continue;i.removeDecorations(t),ztt.storedDecorations.delete(i.getModel().uri);const e=Xtt.get(i);(null==e?void 0:e.wordHighlighter)&&e.wordHighlighter.decorations.length>0&&(e.wordHighlighter.decorations.clear(),e.wordHighlighter._hasWordHighlights.set(!1))}}_stopSingular(){var t,i,e,s;this._removeSingleDecorations(),this.editor.hasWidgetFocus()&&((null===(t=this.editor.getModel())||void 0===t?void 0:t.uri.scheme)!==xa.vscodeNotebookCell&&(null===(e=null===(i=ztt.query)||void 0===i?void 0:i.modelInfo)||void 0===e?void 0:e.model.uri.scheme)!==xa.vscodeNotebookCell?(ztt.query=null,this._run()):(null===(s=ztt.query)||void 0===s?void 0:s.modelInfo)&&(ztt.query.modelInfo=null)),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(){this._removeAllDecorations(),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(t){var i;"off"===this.occurrencesHighlight||3!==t.reason&&(null===(i=this.editor.getModel())||void 0===i?void 0:i.uri.scheme)!==xa.vscodeNotebookCell?this._stopAll():this._run()}_getWord(){const t=this.editor.getSelection(),i=t.startLineNumber,e=t.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:i,column:e})}getOtherModelsToHighlight(t){if(!t)return[];if(t.uri.scheme===xa.vscodeNotebookCell){const i=[],e=this.codeEditorService.listCodeEditors();for(const s of e){const e=s.getModel();e&&e!==t&&e.uri.scheme===xa.vscodeNotebookCell&&i.push(e)}return i}const i=[],e=this.codeEditorService.listCodeEditors();for(const s of e){if(!AK(s))continue;const e=s.getModel();e&&t===e.modified&&i.push(e.modified)}if(i.length)return i;if("singleFile"===this.occurrencesHighlight)return[];for(const s of e){const e=s.getModel();e&&e!==t&&i.push(e)}return i}_run(){var t,i;let e;if(this.editor.hasWidgetFocus()){const t=this.editor.getSelection();if(!t||t.startLineNumber!==t.endLineNumber)return void this._stopAll();const i=t.startColumn,s=t.endColumn,n=this._getWord();if(!n||n.startColumn>i||n.endColumn{e===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=t||[],this._beginRenderDecorations())}),Pi)}}computeWithModel(t,i,e,s){return s.length?function(t,i,e,s,n,o){return t.has(i)?new Qtt(i,e,n,t,o):new Jtt(i,e,s,n,o)}(this.multiDocumentProviders,t,i,e,this.editor.getOption(129),s):function(t,i,e,s,n){return t.has(i)?new Ztt(i,e,n,t):new Jtt(i,e,s,n,[])}(this.providers,t,i,e,this.editor.getOption(129))}_beginRenderDecorations(){const t=(new Date).getTime(),i=this.lastCursorPositionChangeTime+250;t>=i?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout((()=>{this.renderDecorations()}),i-t)}renderDecorations(){var t,i,e;this.renderDecorationsTimer=-1;const s=this.codeEditorService.listCodeEditors();for(const o of s){const s=Xtt.get(o);if(!s)continue;const r=[],h=null===(t=o.getModel())||void 0===t?void 0:t.uri;if(h&&this.workerRequestValue.has(h)){const t=ztt.storedDecorations.get(h),c=this.workerRequestValue.get(h);if(c)for(const t of c)r.push({range:t.range,options:(n=t.kind,n===zs.Write?C7:n===zs.Text?S7:A7)});let a=[];o.changeDecorations((i=>{a=i.deltaDecorations(null!=t?t:[],r)})),ztt.storedDecorations=ztt.storedDecorations.set(h,a),r.length>0&&(null===(i=s.wordHighlighter)||void 0===i||i.decorations.set(r),null===(e=s.wordHighlighter)||void 0===e||e._hasWordHighlights.set(!0))}}var n}dispose(){this._stopSingular(),this.toUnhook.dispose()}};Ytt.storedDecorations=new Hp,Ytt.query=null,Ytt=ztt=Vtt([Utt(4,pr)],Ytt);let Xtt=Htt=class extends ie{static get(t){return t.getContribution(Htt.ID)}constructor(t,i,e,s){super(),this._wordHighlighter=null;const n=()=>{t.hasModel()&&!t.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new Ytt(t,e.documentHighlightProvider,e.multiDocumentHighlightProvider,i,s))};this._register(t.onDidChangeModel((()=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),n()}))),n()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!(!this._wordHighlighter||!this._wordHighlighter.hasDecorations())}moveNext(){var t;null===(t=this._wordHighlighter)||void 0===t||t.moveNext()}moveBack(){var t;null===(t=this._wordHighlighter)||void 0===t||t.moveBack()}restoreViewState(t){this._wordHighlighter&&t&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}};Xtt.ID="editor.contrib.wordHighlighter",Xtt=Htt=Vtt([Utt(1,lh),Utt(2,Cg),Utt(3,pr)],Xtt);class tit extends nu{constructor(t,i){super(i),this._isNext=t}run(t,i){const e=Xtt.get(i);e&&(this._isNext?e.moveNext():e.moveBack())}}uu(Xtt.ID,Xtt,0),au(class extends tit{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:rt(0,"Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:qtt,kbOpts:{kbExpr:XC.editorTextFocus,primary:65,weight:100}})}}),au(class extends tit{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:rt(0,"Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:qtt,kbOpts:{kbExpr:XC.editorTextFocus,primary:1089,weight:100}})}}),au(class extends nu{constructor(){super({id:"editor.action.wordHighlight.trigger",label:rt(0,"Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:qtt.toNegated(),kbOpts:{kbExpr:XC.editorTextFocus,primary:0,weight:100}})}run(t,i,e){const s=Xtt.get(i);s&&s.restoreViewState(!0)}});class iit extends su{constructor(t){super(t),this._inSelectionMode=t.inSelectionMode,this._wordNavigationType=t.wordNavigationType}runEditorCommand(t,i,e){if(!i.hasModel())return;const s=_f(i.getOption(129)),n=i.getModel(),o=i.getSelections().map((t=>{const i=new Ms(t.positionLineNumber,t.positionColumn),e=this._move(s,n,i,this._wordNavigationType);return this._moveTo(t,e,this._inSelectionMode)}));if(n.pushStackElement(),i._getViewModel().setCursorStates("moveWordCommand",3,o.map((t=>mC.fromModelSelection(t)))),1===o.length){const t=new Ms(o[0].positionLineNumber,o[0].positionColumn);i.revealPosition(t,0)}}_moveTo(t,i,e){return e?new Fs(t.selectionStartLineNumber,t.selectionStartColumn,i.lineNumber,i.column):new Fs(i.lineNumber,i.column,i.lineNumber,i.column)}}class eit extends iit{_move(t,i,e,s){return TC.moveWordLeft(t,i,e,s)}}class sit extends iit{_move(t,i,e,s){return TC.moveWordRight(t,i,e,s)}}class nit extends su{constructor(t){super(t),this._whitespaceHeuristics=t.whitespaceHeuristics,this._wordNavigationType=t.wordNavigationType}runEditorCommand(t,i,e){const s=t.get(tf);if(!i.hasModel())return;const n=_f(i.getOption(129)),o=i.getModel(),r=i.getSelections(),h=i.getOption(6),c=i.getOption(11),a=s.getLanguageConfiguration(o.getLanguageId()).getAutoClosingPairs(),l=i._getViewModel(),u=r.map((t=>{const e=this._delete({wordSeparators:n,model:o,selection:t,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:i.getOption(9),autoClosingBrackets:h,autoClosingQuotes:c,autoClosingPairs:a,autoClosedCharacters:l.getCursorAutoClosedCharacters()},this._wordNavigationType);return new CC(e,"")}));i.pushUndoStop(),i.executeCommands(this.id,u),i.pushUndoStop()}}class oit extends nit{_delete(t,i){return TC.deleteWordLeft(t,i)||new Ls(1,1,1,1)}}class rit extends nit{_delete(t,i){const e=TC.deleteWordRight(t,i);if(e)return e;const s=t.model.getLineCount(),n=t.model.getLineMaxColumn(s);return new Ls(s,n,s,n)}}cu(new class extends eit{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}),cu(new class extends eit{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}),cu(new class extends eit{constructor(){var t;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:Hr.and(XC.textInputFocus,null===(t=Hr.and(Jm,yW))||void 0===t?void 0:t.negate()),primary:2063,mac:{primary:527},weight:100}})}}),cu(new class extends eit{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}),cu(new class extends eit{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}),cu(new class extends eit{constructor(){var t;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:Hr.and(XC.textInputFocus,null===(t=Hr.and(Jm,yW))||void 0===t?void 0:t.negate()),primary:3087,mac:{primary:1551},weight:100}})}}),cu(new class extends sit{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}),cu(new class extends sit{constructor(){var t;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:Hr.and(XC.textInputFocus,null===(t=Hr.and(Jm,yW))||void 0===t?void 0:t.negate()),primary:2065,mac:{primary:529},weight:100}})}}),cu(new class extends sit{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}),cu(new class extends sit{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}),cu(new class extends sit{constructor(){var t;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:Hr.and(XC.textInputFocus,null===(t=Hr.and(Jm,yW))||void 0===t?void 0:t.negate()),primary:3089,mac:{primary:1553},weight:100}})}}),cu(new class extends sit{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}),cu(new class extends eit{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(t,i,e,s){return super._move(_f(Ni.wordSeparators.defaultValue),i,e,s)}}),cu(new class extends eit{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(t,i,e,s){return super._move(_f(Ni.wordSeparators.defaultValue),i,e,s)}}),cu(new class extends sit{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(t,i,e,s){return super._move(_f(Ni.wordSeparators.defaultValue),i,e,s)}}),cu(new class extends sit{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(t,i,e,s){return super._move(_f(Ni.wordSeparators.defaultValue),i,e,s)}}),cu(new class extends oit{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:XC.writable})}}),cu(new class extends oit{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:XC.writable})}}),cu(new class extends oit{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:XC.writable,kbOpts:{kbExpr:XC.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}),cu(new class extends rit{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:XC.writable})}}),cu(new class extends rit{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:XC.writable})}}),cu(new class extends rit{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:XC.writable,kbOpts:{kbExpr:XC.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}),au(class extends nu{constructor(){super({id:"deleteInsideWord",precondition:XC.writable,label:rt(0,"Delete Word"),alias:"Delete Word"})}run(t,i,e){if(!i.hasModel())return;const s=_f(i.getOption(129)),n=i.getModel(),o=i.getSelections().map((t=>{const i=TC.deleteInsideWord(s,n,t);return new CC(i,"")}));i.pushUndoStop(),i.executeCommands(this.id,o),i.pushUndoStop()}});class hit extends iit{_move(t,i,e,s){return RC.moveWordPartLeft(t,i,e)}}Er.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft"),Er.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class cit extends iit{_move(t,i,e,s){return RC.moveWordPartRight(t,i,e)}}cu(new class extends nit{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:XC.writable,kbOpts:{kbExpr:XC.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(t,i){return RC.deleteWordPartLeft(t)||new Ls(1,1,1,1)}}),cu(new class extends nit{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:XC.writable,kbOpts:{kbExpr:XC.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(t,i){const e=RC.deleteWordPartRight(t);if(e)return e;const s=t.model.getLineCount(),n=t.model.getLineMaxColumn(s);return new Ls(s,n,s,n)}}),cu(new class extends hit{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:XC.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}),cu(new class extends hit{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:XC.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}),cu(new class extends cit{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:XC.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}),cu(new class extends cit{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:XC.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}});class ait extends ie{constructor(t){super(),this.editor=t,this._register(this.editor.onDidAttemptReadOnlyEdit((()=>this._onDidAttemptReadOnlyEdit())))}_onDidAttemptReadOnlyEdit(){const t=mQ.get(this.editor);if(t&&this.editor.hasModel()){let i=this.editor.getOptions().get(91);i||(i=new B_(rt(0,this.editor.isSimpleWidget?"Cannot edit in read-only input":"Cannot edit in read-only editor"))),t.showMessage(i,this.editor.getPosition())}}}ait.ID="editor.contrib.readOnlyMessageController",uu(ait.ID,ait,2);class lit extends ie{constructor(t){super(),this.editor=t,this.widget=null,Lt&&(this._register(t.onDidChangeConfiguration((()=>this.update()))),this.update())}update(){const t=!this.editor.getOption(90);!this.widget&&t?this.widget=new uit(this.editor):this.widget&&!t&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}lit.ID="editor.contrib.iPadShowKeyboard";class uit extends ie{constructor(t){super(),this.editor=t,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Ua(this._domNode,"touchstart",(()=>{this.editor.focus()}))),this._register(Ua(this._domNode,"focus",(()=>{this.editor.focus()}))),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return uit.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}uit.ID="editor.contrib.ShowKeyboardWidget",uu(lit.ID,lit,3);var dit,fit=function(t,i){return function(e,s){i(e,s,t)}};let pit=dit=class extends ie{static get(t){return t.getContribution(dit.ID)}constructor(t,i,e){super(),this._editor=t,this._languageService=e,this._widget=null,this._register(this._editor.onDidChangeModel((()=>this.stop()))),this._register(this._editor.onDidChangeModelLanguage((()=>this.stop()))),this._register(Qs.onDidChange((()=>this.stop()))),this._register(this._editor.onKeyUp((t=>9===t.keyCode&&this.stop())))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new git(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};pit.ID="editor.contrib.inspectTokens",pit=dit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([fit(1,hH),fit(2,kd)],pit);class git extends ie{constructor(t,i){super(),this.allowEditorOverflow=!0,this._editor=t,this._languageService=i,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=function(t,i){const e=Qs.get(i);if(e)return e;const s=t.encodeLanguageId(i);return{getInitialState:()=>_g,tokenize:(t,e,s)=>Ng(i,s),tokenizeEncoded:(t,i,e)=>Bg(s,e)}}(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition((()=>this._compute(this._editor.getPosition())))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return git._ID}_compute(t){const i=this._getTokensAtLine(t.lineNumber);let e=0;for(let s=i.tokens1.length-1;s>=0;s--)if(t.column-1>=i.tokens1[s].offset){e=s;break}let s=0;for(let e=i.tokens2.length>>>1;e>=0;e--)if(t.column-1>=i.tokens2[e<<1]){s=e;break}const n=this._model.getLineContent(t.lineNumber);let o="";e{const[i]=t.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})}))),i.add(t.onDidChangeValue((t=>{const i=this.registry.getQuickAccessProvider(t.substr(mit.PREFIX.length));i&&i.prefix&&i.prefix!==mit.PREFIX&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})}))),t.items=this.getQuickAccessProviders().filter((t=>t.prefix!==mit.PREFIX)),i}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort(((t,i)=>t.prefix.localeCompare(i.prefix))).flatMap((t=>this.createPicks(t)))}createPicks(t){return t.helpEntries.map((i=>{const e=i.prefix||t.prefix,s=e||"…";return{prefix:e,label:s,keybinding:i.commandId?this.keybindingService.lookupKeybinding(i.commandId):void 0,ariaLabel:rt(0,"{0}, {1}",s,i.description),description:i.description}}))}};vit.PREFIX="?",vit=mit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([wit(0,Ij),wit(1,rC)],vit),Eh.as(Fj).registerQuickAccessProvider({ctor:vit,prefix:"",helpEntries:[{description:sI.helpQuickAccessActionLabel}]});class bit{constructor(t){this.options=t,this.rangeHighlightDecorationId=void 0}provide(t,i){var e;const s=new te;t.canAcceptInBackground=!!(null===(e=this.options)||void 0===e?void 0:e.canAcceptInBackground),t.matchOnLabel=t.matchOnDescription=t.matchOnDetail=t.sortByLabel=!1;const n=s.add(new ee);return n.value=this.doProvide(t,i),s.add(this.onDidActiveTextEditorControlChange((()=>{n.value=void 0,n.value=this.doProvide(t,i)}))),s}doProvide(t,i){var e;const s=new te,n=this.activeTextEditorControl;if(n&&this.canProvideWithTextEditor(n)){const o={editor:n},r=MK(n);if(r){let t=null!==(e=n.saveViewState())&&void 0!==e?e:void 0;s.add(r.onDidChangeCursorPosition((()=>{var i;t=null!==(i=n.saveViewState())&&void 0!==i?i:void 0}))),o.restoreViewState=()=>{t&&n===this.activeTextEditorControl&&n.restoreViewState(t)},s.add(Zi(i.onCancellationRequested)((()=>{var t;return null===(t=o.restoreViewState)||void 0===t?void 0:t.call(o)})))}s.add(Xi((()=>this.clearDecorations(n)))),s.add(this.provideWithTextEditor(o,t,i))}else s.add(this.provideWithoutTextEditor(t,i));return s}canProvideWithTextEditor(t){return!0}gotoLocation({editor:t},i){t.setSelection(i.range),t.revealRangeInCenter(i.range,0),i.preserveFocus||t.focus();const e=t.getModel();e&&"getLineContent"in e&&Wm(`${e.getLineContent(i.range.startLineNumber)}`)}getModel(t){var i;return AK(t)?null===(i=t.getModel())||void 0===i?void 0:i.modified:t.getModel()}addDecorations(t,i){t.changeDecorations((t=>{const e=[];this.rangeHighlightDecorationId&&(e.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),e.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const s=[{range:i,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:i,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:ix(Ox),position:Nf.Full}}}],[n,o]=t.deltaDecorations(e,s);this.rangeHighlightDecorationId={rangeHighlightId:n,overviewRulerDecorationId:o}}))}clearDecorations(t){const i=this.rangeHighlightDecorationId;i&&(t.changeDecorations((t=>{t.deltaDecorations([i.overviewRulerDecorationId,i.rangeHighlightId],[])})),this.rangeHighlightDecorationId=void 0)}}class yit extends bit{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(t){const i=rt(0,"Open a text editor first to go to a line.");return t.items=[{label:i}],t.ariaLabel=i,ie.None}provideWithTextEditor(t,i,e){const s=t.editor,n=new te;n.add(i.onDidAccept((e=>{const[n]=i.selectedItems;if(n){if(!this.isValidLineNumber(s,n.lineNumber))return;this.gotoLocation(t,{range:this.toRange(n.lineNumber,n.column),keyMods:i.keyMods,preserveFocus:e.inBackground}),e.inBackground||i.hide()}})));const o=()=>{const t=this.parsePosition(s,i.value.trim().substr(yit.PREFIX.length)),e=this.getPickLabel(s,t.lineNumber,t.column);if(i.items=[{lineNumber:t.lineNumber,column:t.column,label:e}],i.ariaLabel=e,!this.isValidLineNumber(s,t.lineNumber))return void this.clearDecorations(s);const n=this.toRange(t.lineNumber,t.column);s.revealRangeInCenter(n,0),this.addDecorations(s,n)};o(),n.add(i.onDidChangeValue((()=>o())));const r=MK(s);return r&&2===r.getOptions().get(67).renderType&&(r.updateOptions({lineNumbers:"on"}),n.add(Xi((()=>r.updateOptions({lineNumbers:"relative"}))))),n}toRange(t=1,i=1){return{startLineNumber:t,startColumn:i,endLineNumber:t,endColumn:i}}parsePosition(t,i){const e=i.split(/,|:|#/).map((t=>parseInt(t,10))).filter((t=>!isNaN(t))),s=this.lineCount(t)+1;return{lineNumber:e[0]>0?e[0]:s+e[0],column:e[1]}}getPickLabel(t,i,e){if(this.isValidLineNumber(t,i))return this.isValidColumn(t,i,e)?rt(0,"Go to line {0} and character {1}.",i,e):rt(0,"Go to line {0}.",i);const s=t.getPosition()||{lineNumber:1,column:1},n=this.lineCount(t);return n>1?rt(0,"Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",s.lineNumber,s.column,n):rt(0,"Current Line: {0}, Character: {1}. Type a line number to navigate to.",s.lineNumber,s.column)}isValidLineNumber(t,i){return!(!i||"number"!=typeof i)&&i>0&&i<=this.lineCount(t)}isValidColumn(t,i,e){if(!e||"number"!=typeof e)return!1;const s=this.getModel(t);if(!s)return!1;const n={lineNumber:i,column:e};return s.validatePosition(n).equals(n)}lineCount(t){var i,e;return null!==(e=null===(i=this.getModel(t))||void 0===i?void 0:i.getLineCount())&&void 0!==e?e:0}}yit.PREFIX=":";let kit=class extends yit{constructor(t){super(),this.editorService=t,this.onDidActiveTextEditorControlChange=ce.None}get activeTextEditorControl(){var t;return null!==(t=this.editorService.getFocusedCodeEditor())&&void 0!==t?t:void 0}};kit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,pr)],kit);class xit extends nu{constructor(){super({id:xit.ID,label:eI.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:2085,mac:{primary:293},weight:100}})}run(t){t.get(Ij).quickAccess.show(kit.PREFIX)}}xit.ID="editor.action.gotoLine",au(xit),Eh.as(Fj).registerQuickAccessProvider({ctor:kit,prefix:kit.PREFIX,helpEntries:[{description:eI.gotoLineActionLabel,commandId:xit.ID}]});const Cit=[void 0,[]];function Sit(t,i,e=0,s=0){return i.values&&i.values.length>1?function(t,i,e,s){let n=0;const o=[];for(const r of i){const[i,h]=Dit(t,r,e,s);if("number"!=typeof i)return Cit;n+=i,o.push(...h)}return[n,Eit(o)]}(t,i.values,e,s):Dit(t,i,e,s)}function Dit(t,i,e,s){const n=D_(i.original,i.originalLowercase,e,t,t.toLowerCase(),s,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],u_(n)]:Cit}function Eit(t){const i=t.sort(((t,i)=>t.start-i.start)),e=[];let s;for(const t of i)!s||((n=s).end<(o=t).start||o.end=0,r=Ait(t);let h;const c=t.split(Mit);if(c.length>1)for(const t of c){const i=Ait(t),{pathNormalized:e,normalized:s,normalizedLowercase:n}=Fit(t);s&&(h||(h=[]),h.push({original:t,originalLowercase:t.toLowerCase(),pathNormalized:e,normalized:s,normalizedLowercase:n,expectContiguousMatch:i}))}return{original:t,originalLowercase:i,pathNormalized:e,normalized:s,normalizedLowercase:n,values:h,containsPathSeparator:o,expectContiguousMatch:r}}function Fit(t){let i;i=t.replace(Ct?/\//g:/\\/g,ls);const e=(s=i,s.replace(/\*/g,"")).replace(/\s|"/g,"");var s;return{pathNormalized:i,normalized:e,normalizedLowercase:e.toLowerCase()}}function Tit(t){return Array.isArray(t)?Lit(t.map((t=>t.original)).join(Mit)):Lit(t.original)}var Rit,Oit=function(t,i){return function(e,s){i(e,s,t)}};let Iit=Rit=class extends bit{constructor(t,i,e=Object.create(null)){super(e),this._languageFeaturesService=t,this._outlineModelService=i,this.options=e,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(t){return this.provideLabelPick(t,rt(0,"To go to a symbol, first open a text editor with symbol information.")),ie.None}provideWithTextEditor(t,i,e){const s=this.getModel(t.editor);return s?this._languageFeaturesService.documentSymbolProvider.has(s)?this.doProvideWithEditorSymbols(t,s,i,e):this.doProvideWithoutEditorSymbols(t,s,i,e):ie.None}doProvideWithoutEditorSymbols(t,i,e,s){const n=new te;return this.provideLabelPick(e,rt(0,"The active text editor does not provide symbol information.")),(async()=>{await this.waitForLanguageSymbolRegistry(i,n)&&!s.isCancellationRequested&&n.add(this.doProvideWithEditorSymbols(t,i,e,s))})(),n}provideLabelPick(t,i){t.items=[{label:i,index:0,kind:14}],t.ariaLabel=i}async waitForLanguageSymbolRegistry(t,i){if(this._languageFeaturesService.documentSymbolProvider.has(t))return!0;const e=new yc,s=i.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>{this._languageFeaturesService.documentSymbolProvider.has(t)&&(s.dispose(),e.complete(!0))})));return i.add(Xi((()=>e.complete(!1)))),e.p}doProvideWithEditorSymbols(t,i,e,s){var n;const o=t.editor,r=new te;r.add(e.onDidAccept((i=>{const[s]=e.selectedItems;s&&s.range&&(this.gotoLocation(t,{range:s.range.selection,keyMods:e.keyMods,preserveFocus:i.inBackground}),i.inBackground||e.hide())}))),r.add(e.onDidTriggerItemButton((({item:i})=>{i&&i.range&&(this.gotoLocation(t,{range:i.range.selection,keyMods:e.keyMods,forceSideBySide:!0}),e.hide())})));const h=this.getDocumentSymbols(i,s);let c;const a=async t=>{null==c||c.dispose(!0),e.busy=!1,c=new Se(s),e.busy=!0;try{const i=Lit(e.value.substr(Rit.PREFIX.length).trim()),n=await this.doGetSymbolPicks(h,i,void 0,c.token);if(s.isCancellationRequested)return;if(n.length>0){if(e.items=n,t&&0===i.original.length){const i=hp(n,(i=>Boolean("separator"!==i.type&&i.range&&Ls.containsPosition(i.range.decoration,t))));i&&(e.activeItems=[i])}}else this.provideLabelPick(e,rt(0,i.original.length>0?"No matching editor symbols":"No editor symbols"))}finally{s.isCancellationRequested||(e.busy=!1)}};return r.add(e.onDidChangeValue((()=>a(void 0)))),a(null===(n=o.getSelection())||void 0===n?void 0:n.getPosition()),r.add(e.onDidChangeActive((()=>{const[t]=e.activeItems;t&&t.range&&(o.revealRangeInCenter(t.range.selection,0),this.addDecorations(o,t.range.decoration))}))),r}async doGetSymbolPicks(t,i,e,s){var n,o;const r=await t;if(s.isCancellationRequested)return[];const h=0===i.original.indexOf(Rit.SCOPE_PREFIX),c=h?1:0;let a,l,u;i.values&&i.values.length>1?(a=Tit(i.values[0]),l=Tit(i.values.slice(1))):a=i;const d=null===(o=null===(n=this.options)||void 0===n?void 0:n.openSideBySideDirection)||void 0===o?void 0:o.call(n);d&&(u=[{iconClass:Sr.asClassName("right"===d?Is.splitHorizontal:Is.splitVertical),tooltip:rt(0,"right"===d?"Open to the Side":"Open to the Bottom")}]);const f=[];for(let v=0;vc){let L=!1;if(a!==i&&([C,S]=Sit(k,{...i,values:void 0},c,x),"number"==typeof C&&(L=!0)),"number"!=typeof C&&([C,S]=Sit(k,a,c,x),"number"!=typeof C))continue;if(!L&&l){if(A&&l.original.length>0&&([D,E]=Sit(A,l)),"number"!=typeof D)continue;"number"==typeof C&&(C+=D)}}const M=b.tags&&b.tags.indexOf(1)>=0;f.push({index:v,kind:b.kind,score:C,label:k,ariaLabel:(p=b.name,g=b.kind,rt(0,"{0} ({1})",p,Vs[g])),description:A,highlights:M?void 0:{label:S,description:E},range:{selection:Ls.collapseToStart(b.selectionRange),decoration:b.range},strikethrough:M,buttons:u})}var p,g;const m=f.sort(((t,i)=>h?this.compareByKindAndScore(t,i):this.compareByScore(t,i)));let w=[];if(h){let F,T,R=0;function O(){T&&"number"==typeof F&&R>0&&(T.label=Kn(Nit[F]||_it,R))}for(const I of m)F!==I.kind?(O(),F=I.kind,R=1,T={type:"separator"},w.push(T)):R++,w.push(I);O()}else m.length>0&&(w=[{label:rt(0,"symbols ({0})",f.length),type:"separator"},...m]);return w}compareByScore(t,i){if("number"!=typeof t.score&&"number"==typeof i.score)return 1;if("number"==typeof t.score&&"number"!=typeof i.score)return-1;if("number"==typeof t.score&&"number"==typeof i.score){if(t.score>i.score)return-1;if(t.scorei.index?1:0}compareByKindAndScore(t,i){const e=(Nit[t.kind]||_it).localeCompare(Nit[i.kind]||_it);return 0===e?this.compareByScore(t,i):e}async getDocumentSymbols(t,i){const e=await this._outlineModelService.getOrCreate(t,i);return i.isCancellationRequested?[]:e.asListOfDocumentSymbols()}};Iit.PREFIX="@",Iit.SCOPE_PREFIX=":",Iit.PREFIX_BY_CATEGORY=`${Rit.PREFIX}${Rit.SCOPE_PREFIX}`,Iit=Rit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Oit(0,Cg),Oit(1,T5)],Iit);const _it=rt(0,"properties ({0})"),Nit={5:rt(0,"methods ({0})"),11:rt(0,"functions ({0})"),8:rt(0,"constructors ({0})"),12:rt(0,"variables ({0})"),4:rt(0,"classes ({0})"),22:rt(0,"structs ({0})"),23:rt(0,"events ({0})"),24:rt(0,"operators ({0})"),10:rt(0,"interfaces ({0})"),2:rt(0,"namespaces ({0})"),3:rt(0,"packages ({0})"),25:rt(0,"type parameters ({0})"),1:rt(0,"modules ({0})"),6:rt(0,"properties ({0})"),9:rt(0,"enumerations ({0})"),21:rt(0,"enumeration members ({0})"),14:rt(0,"strings ({0})"),0:rt(0,"files ({0})"),17:rt(0,"arrays ({0})"),15:rt(0,"numbers ({0})"),16:rt(0,"booleans ({0})"),18:rt(0,"objects ({0})"),19:rt(0,"keys ({0})"),7:rt(0,"fields ({0})"),13:rt(0,"constants ({0})")};var Bit=function(t,i){return function(e,s){i(e,s,t)}};let Pit=class extends Iit{constructor(t,i,e){super(i,e),this.editorService=t,this.onDidActiveTextEditorControlChange=ce.None}get activeTextEditorControl(){var t;return null!==(t=this.editorService.getFocusedCodeEditor())&&void 0!==t?t:void 0}};Pit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Bit(0,pr),Bit(1,Cg),Bit(2,T5)],Pit);class $it extends nu{constructor(){super({id:$it.ID,label:oI.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:XC.hasDocumentSymbolProvider,kbOpts:{kbExpr:XC.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(t){t.get(Ij).quickAccess.show(Iit.PREFIX,{itemActivation:Oj.NONE})}}function Wit(t,i){return i&&(t.stack||t.stacktrace)?rt(0,"{0}: {1}",zit(t),jit(t.stack)||jit(t.stacktrace)):zit(t)}function jit(t){return Array.isArray(t)?t.join("\n"):t}function zit(t){return"ERR_UNC_HOST_NOT_ALLOWED"===t.code?`${t.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:"string"==typeof t.code&&"number"==typeof t.errno&&"string"==typeof t.syscall?rt(0,"A system error occurred ({0})",t.message):t.message||rt(0,"An unknown error occurred. Please consult the log for more details.")}function Hit(t=null,i=!1){if(!t)return rt(0,"An unknown error occurred. Please consult the log for more details.");if(Array.isArray(t)){const e=w(t),s=Hit(e[0],i);return e.length>1?rt(0,"{0} ({1} errors in total)",s,e.length):s}if(P(t))return t;if(t.detail){const e=t.detail;if(e.error)return Wit(e.error,i);if(e.exception)return Wit(e.exception,i)}return t.stack?Wit(t,i):t.message?t.message:rt(0,"An unknown error occurred. Please consult the log for more details.")}$it.ID="editor.action.quickOutline",au($it),Eh.as(Fj).registerQuickAccessProvider({ctor:Pit,prefix:Iit.PREFIX,helpEntries:[{description:oI.quickOutlineActionLabel,prefix:Iit.PREFIX,commandId:$it.ID},{description:oI.quickOutlineByCategoryActionLabel,prefix:Iit.PREFIX_BY_CATEGORY}]});class Vit{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(t,i){const e=this.computeEmbedding(t),s=new Map,n=[];for(const[t,o]of this.documents){if(i.isCancellationRequested)return[];for(const i of o.chunks){const o=this.computeSimilarityScore(i,e,s);o>0&&n.push({key:t,score:o})}}return n}static termFrequencies(t){return function(t){var i;const e=new Map;for(const s of t)e.set(s,(null!==(i=e.get(s))&&void 0!==i?i:0)+1);return e}(Vit.splitTerms(t))}static*splitTerms(t){const i=t=>t.toLowerCase();for(const[e]of t.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)){yield i(e);const t=e.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(t.length>1)for(const e of t)e.length>2&&/\p{Letter}{3,}/gu.test(e)&&(yield i(e))}}updateDocuments(t){var i;for(const{key:i}of t)this.deleteDocument(i);for(const e of t){const t=[];for(const s of e.textChunks){const e=Vit.termFrequencies(s);for(const t of e.keys())this.chunkOccurrences.set(t,(null!==(i=this.chunkOccurrences.get(t))&&void 0!==i?i:0)+1);t.push({text:s,tf:e})}this.chunkCount+=t.length,this.documents.set(e.key,{chunks:t})}return this}deleteDocument(t){const i=this.documents.get(t);if(i){this.documents.delete(t),this.chunkCount-=i.chunks.length;for(const t of i.chunks)for(const i of t.tf.keys()){const t=this.chunkOccurrences.get(i);if("number"==typeof t){const e=t-1;e<=0?this.chunkOccurrences.delete(i):this.chunkOccurrences.set(i,e)}}}}computeSimilarityScore(t,i,e){let s=0;for(const[n,o]of Object.entries(i)){const i=t.tf.get(n);if(!i)continue;let r=e.get(n);"number"!=typeof r&&(r=this.computeIdf(n),e.set(n,r)),s+=i*r*o}return s}computeEmbedding(t){const i=Vit.termFrequencies(t);return this.computeTfidf(i)}computeIdf(t){var i;const e=null!==(i=this.chunkOccurrences.get(t))&&void 0!==i?i:0;return e>0?Math.log((this.chunkCount+1)/e):0}computeTfidf(t){const i=Object.create(null);for(const[e,s]of t){const t=this.computeIdf(e);t>0&&(i[e]=s*t)}return i}}var Uit;function qit(t){return Array.isArray(t.items)}function Kit(t){return!!t.picks&&t.additionalPicks instanceof Promise}!function(t){t[t.NO_ACTION=0]="NO_ACTION",t[t.CLOSE_PICKER=1]="CLOSE_PICKER",t[t.REFRESH_PICKER=2]="REFRESH_PICKER",t[t.REMOVE_ITEM=3]="REMOVE_ITEM"}(Uit||(Uit={}));class Git extends ie{constructor(t,i){super(),this.prefix=t,this.options=i}provide(t,i,e){var s;const n=new te;let o;t.canAcceptInBackground=!!(null===(s=this.options)||void 0===s?void 0:s.canAcceptInBackground),t.matchOnLabel=t.matchOnDescription=t.matchOnDetail=t.sortByLabel=!1;const r=n.add(new ee),h=async()=>{const s=r.value=new te;null==o||o.dispose(!0),t.busy=!1,o=new Se(i);const n=o.token,h=t.value.substr(this.prefix.length).trim(),c=this._getPicks(h,s,n,e),a=(i,e)=>{var s;let n,o;if(qit(i)?(n=i.items,o=i.active):n=i,0===n.length){if(e)return!1;(h.length>0||t.hideInput)&&(null===(s=this.options)||void 0===s?void 0:s.noResultsPick)&&(n=Z(this.options.noResultsPick)?[this.options.noResultsPick(h)]:[this.options.noResultsPick])}return t.items=n,o&&(t.activeItems=[o]),!0},l=async i=>{let e=!1,s=!1;await Promise.all([(async()=>{"number"==typeof i.mergeDelay&&(await lc(i.mergeDelay),n.isCancellationRequested)||s||(e=a(i.picks,!0))})(),(async()=>{t.busy=!0;try{const s=await i.additionalPicks;if(n.isCancellationRequested)return;let o,r,h,c;if(qit(i.picks)?(o=i.picks.items,r=i.picks.active):o=i.picks,qit(s)?(h=s.items,c=s.active):h=s,h.length>0||!e){let i;if(!r&&!c){const e=t.activeItems[0];e&&-1!==o.indexOf(e)&&(i=e)}a({items:[...o,...h],active:r||c||i})}}finally{n.isCancellationRequested||(t.busy=!1),s=!0}})()])};if(null===c);else if(Kit(c))await l(c);else if(c instanceof Promise){t.busy=!0;try{const t=await c;if(n.isCancellationRequested)return;Kit(t)?await l(t):a(t)}finally{n.isCancellationRequested||(t.busy=!1)}}else a(c)};return n.add(t.onDidChangeValue((()=>h()))),h(),n.add(t.onDidAccept((i=>{const[e]=t.selectedItems;"function"==typeof(null==e?void 0:e.accept)&&(i.inBackground||t.hide(),e.accept(t.keyMods,i))}))),n.add(t.onDidTriggerItemButton((async({button:e,item:s})=>{var n,o;if("function"==typeof s.trigger){const r=null!==(o=null===(n=s.buttons)||void 0===n?void 0:n.indexOf(e))&&void 0!==o?o:-1;if(r>=0){const e=s.trigger(r,t.keyMods),n="number"==typeof e?e:await e;if(i.isCancellationRequested)return;switch(n){case Uit.NO_ACTION:break;case Uit.CLOSE_PICKER:t.hide();break;case Uit.REFRESH_PICKER:h();break;case Uit.REMOVE_ITEM:{const i=t.items.indexOf(s);if(-1!==i){const e=t.items.slice(),s=e.splice(i,1),n=t.activeItems.filter((t=>t!==s[0])),o=t.keepScrollPosition;t.keepScrollPosition=!0,t.items=e,n&&(t.activeItems=n),t.keepScrollPosition=o}break}}}}}))),n}}var Zit,Qit,Jit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Yit=function(t,i){return function(e,s){i(e,s,t)}};let Xit=Zit=class extends Git{constructor(t,i,e,s,n,o){super(Zit.PREFIX,t),this.instantiationService=i,this.keybindingService=e,this.commandService=s,this.telemetryService=n,this.dialogService=o,this.commandsHistory=this._register(this.instantiationService.createInstance(tet)),this.options=t}async _getPicks(t,i,e,s){var n,o,r,h;const c=await this.getCommandPicks(e);if(e.isCancellationRequested)return[];const a=Zi((()=>{const i=new Vit;return i.updateDocuments(c.map((t=>({key:t.commandId,textChunks:[this.getTfIdfChunk(t)]})))),function(t){var i,e;const s=t.slice(0);s.sort(((t,i)=>i.score-t.score));const n=null!==(e=null===(i=s[0])||void 0===i?void 0:i.score)&&void 0!==e?e:0;if(n>0)for(const t of s)t.score/=n;return s}(i.calculateScores(t,e)).filter((t=>t.score>Zit.TFIDF_THRESHOLD)).slice(0,Zit.TFIDF_MAX_RESULTS)})),l=[];for(const i of c){const s=null!==(n=Zit.WORD_FILTER(t,i.label))&&void 0!==n?n:void 0,r=i.commandAlias&&null!==(o=Zit.WORD_FILTER(t,i.commandAlias))&&void 0!==o?o:void 0;if(s||r)i.highlights={label:s,detail:this.options.showAlias?r:void 0},l.push(i);else if(t===i.commandId)l.push(i);else if(t.length>=3){const t=a();if(e.isCancellationRequested)return[];const s=t.find((t=>t.key===i.commandId));s&&(i.tfIdfScore=s.score,l.push(i))}}const u=new Map;for(const t of l){const i=u.get(t.label);i?(t.description=t.commandId,i.description=i.commandId):u.set(t.label,t)}l.sort(((t,i)=>{if(t.tfIdfScore&&i.tfIdfScore)return t.tfIdfScore===i.tfIdfScore?t.label.localeCompare(i.label):i.tfIdfScore-t.tfIdfScore;if(t.tfIdfScore)return 1;if(i.tfIdfScore)return-1;const e=this.commandsHistory.peek(t.commandId),s=this.commandsHistory.peek(i.commandId);if(e&&s)return e>s?-1:1;if(e)return-1;if(s)return 1;if(this.options.suggestedCommandIds){const e=this.options.suggestedCommandIds.has(t.commandId),s=this.options.suggestedCommandIds.has(i.commandId);if(e&&s)return 0;if(e)return-1;if(s)return 1}return t.label.localeCompare(i.label)}));const d=[];let f=!1,p=!0,g=!!this.options.suggestedCommandIds;for(let t=0;t{var i;const n=await this.getAdditionalCommandPicks(c,l,t,e);if(e.isCancellationRequested)return[];const o=n.map((t=>this.toCommandPick(t,s)));return p&&"separator"!==(null===(i=o[0])||void 0===i?void 0:i.type)&&o.unshift({type:"separator",label:rt(0,"similar commands")}),o})()}:d}toCommandPick(t,i){if("separator"===t.type)return t;const e=this.keybindingService.lookupKeybinding(t.commandId),s=e?rt(0,"{0}, {1}",t.label,e.getAriaLabel()):t.label;return{...t,ariaLabel:s,detail:this.options.showAlias&&t.commandAlias!==t.label?t.commandAlias:void 0,keybinding:e,accept:async()=>{var e,s;this.commandsHistory.push(t.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:t.commandId,from:null!==(e=null==i?void 0:i.from)&&void 0!==e?e:"quick open"});try{(null===(s=t.args)||void 0===s?void 0:s.length)?await this.commandService.executeCommand(t.commandId,...t.args):await this.commandService.executeCommand(t.commandId)}catch(i){zi(i)||this.dialogService.error(rt(0,"Command '{0}' resulted in an error",t.label),Hit(i))}}}}getTfIdfChunk({label:t,commandAlias:i,commandDescription:e}){let s=t;return i&&i!==t&&(s+=` - ${i}`),e&&e.value!==t&&(s+=` - ${e.value===e.original?e.value:`${e.value} (${e.original})`}`),s}};Xit.PREFIX=">",Xit.TFIDF_THRESHOLD=.5,Xit.TFIDF_MAX_RESULTS=5,Xit.WORD_FILTER=BI(PI,(function(t,i,e=!1){if(!i||0===i.length)return null;let s=null,n=0;for(t=t.toLowerCase(),i=i.toLowerCase();nthis.updateConfiguration(t)))),this._register(this.storageService.onWillSaveState((t=>{t.reason===LB.SHUTDOWN&&this.saveState()})))}updateConfiguration(t){t&&!t.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=Qit.getConfiguredCommandHistoryLength(this.configurationService),Qit.cache&&Qit.cache.limit!==this.configuredCommandsHistoryLength&&(Qit.cache.limit=this.configuredCommandsHistoryLength,Qit.hasChanges=!0))}load(){const t=this.storageService.get(Qit.PREF_KEY_CACHE,0);let i;if(t)try{i=JSON.parse(t)}catch(t){}const e=Qit.cache=new Up(this.configuredCommandsHistoryLength,1);if(i){let t;t=i.usesLRU?i.entries:i.entries.sort(((t,i)=>t.value-i.value)),t.forEach((t=>e.set(t.key,t.value)))}Qit.counter=this.storageService.getNumber(Qit.PREF_KEY_COUNTER,0,Qit.counter)}push(t){Qit.cache&&(Qit.cache.set(t,Qit.counter++),Qit.hasChanges=!0)}peek(t){var i;return null===(i=Qit.cache)||void 0===i?void 0:i.peek(t)}saveState(){if(!Qit.cache)return;if(!Qit.hasChanges)return;const t={usesLRU:!0,entries:[]};Qit.cache.forEach(((i,e)=>t.entries.push({key:e,value:i}))),this.storageService.store(Qit.PREF_KEY_CACHE,JSON.stringify(t),0,0),this.storageService.store(Qit.PREF_KEY_COUNTER,Qit.counter,0,0),Qit.hasChanges=!1}static getConfiguredCommandHistoryLength(t){var i,e;const s=null===(e=null===(i=t.getValue().workbench)||void 0===i?void 0:i.commandPalette)||void 0===e?void 0:e.history;return"number"==typeof s?s:Qit.DEFAULT_COMMANDS_HISTORY_LENGTH}};tet.DEFAULT_COMMANDS_HISTORY_LENGTH=50,tet.PREF_KEY_CACHE="commandPalette.mru.cache",tet.PREF_KEY_COUNTER="commandPalette.mru.counter",tet.counter=1,tet.hasChanges=!1,tet=Qit=Jit([Yit(0,MB),Yit(1,gd)],tet);class iet extends Xit{constructor(t,i,e,s,n,o){super(t,i,e,s,n,o)}getCodeEditorCommandPicks(){const t=this.activeTextEditorControl;if(!t)return[];const i=[];for(const e of t.getSupportedActions())i.push({commandId:e.id,commandAlias:e.alias,label:O_(e.label)||e.id});return i}}var eet=function(t,i){return function(e,s){i(e,s,t)}};let set=class extends iet{get activeTextEditorControl(){var t;return null!==(t=this.codeEditorService.getFocusedCodeEditor())&&void 0!==t?t:void 0}constructor(t,i,e,s,n,o){super({showAlias:!1},t,e,s,n,o),this.codeEditorService=i}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};set=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([eet(0,dr),eet(1,pr),eet(2,rC),eet(3,Dr),eet(4,jh),eet(5,YT)],set);class net extends nu{constructor(){super({id:net.ID,label:nI.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:XC.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(t){t.get(Ij).quickAccess.show(set.PREFIX)}}net.ID="editor.action.quickCommand",au(net),Eh.as(Fj).registerQuickAccessProvider({ctor:set,prefix:set.PREFIX,helpEntries:[{description:nI.quickCommandHelp,commandId:net.ID}]});var oet=function(t,i){return function(e,s){i(e,s,t)}};let ret=class extends NY{constructor(t,i,e,s,n,o,r){super(!0,t,i,e,s,n,o,r)}};ret=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([oet(1,lh),oet(2,pr),oet(3,rT),oet(4,dr),oet(5,MB),oet(6,gd)],ret),uu(NY.ID,ret,4),au(class extends nu{constructor(){super({id:"editor.action.toggleHighContrast",label:hI.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(t,i){const e=t.get(hH),s=e.getColorTheme();Hy(s.type)?(e.setTheme(this._originalThemeName||(Vy(s.type)?Yz:Jz)),this._originalThemeName=null):(e.setTheme(Vy(s.type)?Xz:tH),this._originalThemeName=s.themeName)}});const het=performance.getEntriesByType("resource").slice(-1)[0].name;self.MonacoEnvironment={getWorkerUrl:(t,i)=>`${het.replace(/(.*\/).*?$/,"$1")}${"html"===i?"html":"editor"}.worker.js?t=${Date.now()}`};const cet=class{constructor(i){t(this,i),this.monacoEditorDidLoad=o(this,"monacoEditorDidLoad",7),this.defaultOptions={language:"html",readOnly:!1,theme:"vs-light",scrollBeyondLastLine:!1,minimap:{enabled:!1},automaticLayout:!0,wordWrap:"on"},this.rendered=!1,this.options=void 0,this.initialValue="",this.tiptapEditor=void 0,this.updateInputValue=void 0}init(){const t=this.element.querySelector(":scope > *:first-of-type");this.monaco=YK.create(this.container,Object.assign({value:this.initialValue||(null==t?void 0:t.innerHTML.trim())||""},this.mergeOptions())),this.monaco.onDidChangeModelContent((()=>{var t,i,e;null===(t=this.tiptapEditor)||void 0===t||t.chain().setContent(null===(i=this.monaco)||void 0===i?void 0:i.getValue()).run(),null===(e=this.updateInputValue)||void 0===e||e.call(this)})),this.monacoEditorDidLoad.emit();let i=0;const e=setInterval((()=>{const t=this.monaco.getAction("editor.action.formatDocument");(t||++i>50)&&(null==t||t.run(),clearInterval(e))}),100)}connectedCallback(){this.rendered&&this.init()}componentDidLoad(){this.init(),this.rendered=!0}async disconnectedCallback(){return Boolean(this.monaco)?new Promise((t=>{var i;this.monaco.onDidDispose((()=>t())),null===(i=this.monaco.getModel())||void 0===i||i.dispose(),this.monaco.dispose()})):Promise.resolve()}onOptionsChange(){var t;null===(t=this.monaco)||void 0===t||t.updateOptions(this.mergeOptions())}async setFocus(){var t;null===(t=this.monaco)||void 0===t||t.focus()}async getValue(){var t;return null===(t=this.monaco)||void 0===t?void 0:t.getValue()}mergeOptions(){return Object.assign(Object.assign({},this.defaultOptions),this.options||{})}render(){return e(r,{key:"cd80178b2bf7795caaec0c96aa895419b675cb3f"},e("article",{key:"8406db710730148496161e93d66ff1a845beac99",ref:t=>this.container=t}))}get element(){return n(this)}static get watchers(){return{options:["onOptionsChange"]}}};cet.style='/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .codicon,.monaco-action-bar .action-item .icon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{opacity:.6}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:#bbb}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-aria-container{position:absolute;left:-999em}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border,transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled,.monaco-button.disabled:focus{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator,.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border,transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-description,.monaco-description-button .monaco-button-label{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-description>.codicon,.monaco-description-button .monaco-button-label>.codicon{margin:0 .2em;color:inherit!important}.monaco-button-dropdown.default-colors>.monaco-button,.monaco-button.default-colors{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button-dropdown.default-colors>.monaco-button:hover,.monaco-button.default-colors:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary,.monaco-button.default-colors.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover,.monaco-button.default-colors.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}@font-face{font-family:codicon;font-display:block;src:url(../base/browser/ui/codicons/codicon/codicon.ttf) format("truetype")}.codicon[class*=codicon-]{font:normal normal normal 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(1turn)}}.codicon-gear.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin,.codicon-sync.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:50%;background-repeat:no-repeat}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.hc-light .monaco-findInput.highlight-0 .controls,.monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.hc-light .monaco-findInput.highlight-1 .controls,.monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:rgba(253,255,0,.8)}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:rgba(253,255,0,.8)}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:hsla(0,0%,100%,.44)}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:hsla(0,0%,100%,.44)}99%{background:transparent}}.monaco-hover{cursor:default;position:absolute;overflow:hidden;user-select:text;-webkit-user-select:text;box-sizing:border-box;animation:fadein .1s linear;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace,normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth,500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover .code,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6,.monaco-hover p,.monaco-hover ul{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0;border-right:0;margin:4px -8px -4px;height:1px}.monaco-hover .code:first-child,.monaco-hover p:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover .code:last-child,.monaco-hover p:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ol,.monaco-hover ul{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace,pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link,.monaco-hover .hover-contents a.code-link:hover{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-multiple,.monaco-list.selection-single{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-mouse-cursor-text{cursor:text}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translateX(0) scaleX(1)}50%{transform:translateX(2500%) scaleX(3)}to{transform:translateX(4900%) scaleX(1)}}:root{--vscode-sash-size:4px;--vscode-sash-hover-size:4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size)*2);width:calc(var(--vscode-sash-size)*2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size)*-0.5);top:calc(var(--vscode-sash-size)*-1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size)*-0.5);bottom:calc(var(--vscode-sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size)*-0.5);left:calc(var(--vscode-sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size)*-0.5);right:calc(var(--vscode-sash-size)*-1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.active:before,.monaco-sash.hover:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - var(--vscode-sash-hover-size)/2)}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - var(--vscode-sash-hover-size)/2)}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:rgba(0,255,255,.2)}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:transparent;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:5px}.monaco-select-box-dropdown-padding{--dropdown-padding-top:1px;--dropdown-padding-bottom:1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top:3px;--dropdown-padding-bottom:4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:auto}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:normal;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-td,.monaco-table-th{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size)/2);width:0;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-contents,.monaco-tl-twistie{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translateX(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{display:flex!important;align-items:center;justify-content:center;cursor:grab;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;bottom:-3px;left:0;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line,.monaco-editor .view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box}.monaco-editor .margin-view-overlays .line-numbers{font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default;height:100%}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background,var(--vscode-editor-background));color:var(--vscode-button-foreground,var(--vscode-editor-foreground));border:1px solid var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .mtkw,.monaco-editor .mtkz{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover .minimap-slider.active,.monaco-editor .minimap.slider-mouseover:hover .minimap-slider{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-diff-editor .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-diff-editor .diff-review{position:absolute;user-select:none;-webkit-user-select:none;z-index:99}.monaco-diff-editor .diff-review-summary{padding-left:10px}.monaco-diff-editor .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-diff-editor .diff-review-row{white-space:pre}.monaco-diff-editor .diff-review-table{display:table;min-width:100%}.monaco-diff-editor .diff-review-row{display:table-row;width:100%}.monaco-diff-editor .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-diff-editor .diff-review-spacer>.codicon{font-size:9px!important}.monaco-diff-editor .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-diff-editor .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-diff-editor .revertButton{cursor:pointer}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines .bottom.dragging,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .bottom,.monaco-editor .diff-hidden-lines .top{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *{cursor:n-resize!important}.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *{cursor:s-resize!important}.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedModified,.monaco-editor .movedOriginal{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedModified.currentMove,.monaco-editor .movedOriginal.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:3px solid var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .char-insert.diff-range-empty{border-left:3px solid var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:rgba(0,0,0,.03)}.monaco-diff-editor.vs-dark .diffOverview{background:hsla(0,0%,100%,.01)}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar{background:transparent}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:hsla(0,0%,67.1%,.4)}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-diff-editor .delete-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-editor .insert-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-diff-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-diff-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-editor.hc-black .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-editor.hc-light .insert-sign{opacity:1}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .inline-deleted-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-diff-editor .char-insert,.monaco-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-diff-editor .line-insert,.monaco-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground,var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-insert,.monaco-editor .line-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .char-insert,.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .char-insert,.monaco-editor.hc-light .line-insert{border-style:dashed}.monaco-editor .char-delete,.monaco-editor .line-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .char-delete,.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .char-delete,.monaco-editor.hc-light .line-delete{border-style:dashed}.monaco-diff-editor .gutter-insert,.monaco-editor .gutter-insert,.monaco-editor .inline-added-margin-view-zone{background-color:var(--vscode-diffEditorGutter-insertedLineBackground,var(--vscode-diffEditor-insertedLineBackground),var(--vscode-diffEditor-insertedTextBackground))}.monaco-diff-editor .char-delete,.monaco-editor .char-delete{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-diff-editor .line-delete,.monaco-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground,var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor .gutter-delete,.monaco-editor .gutter-delete,.monaco-editor .inline-deleted-margin-view-zone{background-color:var(--vscode-diffEditorGutter-removedLineBackground,var(--vscode-diffEditor-removedLineBackground),var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,transparent 0,transparent 50%,var(--vscode-diffEditor-diagonalFill) 0,var(--vscode-diffEditor-diagonalFill) 62.5%,transparent 0,transparent);background-size:8px 8px}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground)}.monaco-editor,.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground,inherit)}.monaco-component .multiDiffEntry{display:flex;flex-direction:column}.monaco-component .multiDiffEntry .editorParent{border-left:2px solid var(--vscode-tab-inactiveBackground)}.monaco-component .multiDiffEntry.focused .editorParent{border-left:2px solid var(--vscode-notebook-focusedCellBorder)}.monaco-component .multiDiffEntry .editorParent .editorContainer{border-left:17px solid var(--vscode-tab-inactiveBackground)}.monaco-component .multiDiffEntry .collapse-button{margin:0 5px;cursor:pointer}.monaco-component .multiDiffEntry .collapse-button a{display:block}.monaco-component .multiDiffEntry .header{display:flex;align-items:center;padding:8px 5px;color:var(--vscode-foreground);background:var(--vscode-editor-background);z-index:1000;border-bottom:1px solid var(--vscode-sideBarSectionHeader-border);border-top:1px solid var(--vscode-sideBarSectionHeader-border);border-left:2px solid var(--vscode-editor-background)}.monaco-component .multiDiffEntry.focused .header{border-left:2px solid var(--vscode-notebook-focusedCellBorder)}.monaco-component .multiDiffEntry .header.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component .multiDiffEntry .header .title{flex:1;font-size:14px;line-height:22px}.monaco-component .multiDiffEntry .header .actions{padding:0 8px}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground,var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground,var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;background-color:var(--vscode-editor-background);z-index:1}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*0.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>a,.monaco-editor .codelens-decoration>span{user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer}.monaco-editor .codelens-decoration>a:hover,.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:.1em solid #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:.1em solid #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1;white-space:nowrap;overflow:hidden}.colorpicker-header .picked-color .picked-color-presentation{white-space:nowrap;margin-left:5px;margin-right:5px}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid #fff;border-radius:100%;box-shadow:0 0 2px rgba(0,0,0,.8);position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid hsla(0,0%,100%,.71);box-shadow:0 0 1px rgba(0,0,0,.85)}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor.hc-light .dnd-target,.monaco-editor.vs .dnd-target{border-right:2px dotted #000;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #aeafad;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines,.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines{cursor:default}.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines,.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines{cursor:copy}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border,transparent);border-radius:4px;background-color:var(--vscode-editorWidget-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions,.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:50%;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important}.monaco-editor .find-widget .monaco-sash{left:0!important}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{transition:initial}.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays:hover .codicon{opacity:1}.monaco-editor .inline-folded:after{color:grey;margin:.1em .2em 0;content:"\\22EF";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground);color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input,.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder,transparent);box-sizing:border-box}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:"\\ea76"}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-radius:3px;border:1px solid var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;z-index:1000;border:8px solid transparent;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage.below .anchor.below,.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .body,.monaco-editor .parameter-hints-widget .monaco-scrollable-element{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:normal}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .code,.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename,.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input{padding:3px;border-radius:2px}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder,transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder,transparent)}.monaco-editor .sticky-widget{overflow:hidden}.monaco-editor .sticky-widget-line-numbers{float:left;background-color:inherit}.monaco-editor .sticky-widget-lines-scrollable{display:inline-block;position:absolute;overflow:hidden;width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit}.monaco-editor .sticky-widget-lines{position:absolute;background-color:inherit}.monaco-editor .sticky-line-content,.monaco-editor .sticky-line-number{color:var(--vscode-editorLineNumber-foreground);white-space:nowrap;display:inline-block;position:absolute;background-color:inherit}.monaco-editor .sticky-line-number .codicon-folding-collapsed,.monaco-editor .sticky-line-number .codicon-folding-expanded{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition)}.monaco-editor .sticky-line-content{width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit;white-space:nowrap}.monaco-editor .sticky-line-number-inner{display:inline-block;text-align:right}.monaco-editor.hc-black .sticky-widget,.monaco-editor.hc-light .sticky-widget{border-bottom:1px solid var(--vscode-contrastBorder)}.monaco-editor .sticky-line-content:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .sticky-widget{width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 3px 2px -2px;z-index:4;background-color:var(--vscode-editorStickyScroll-background)}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-details,.monaco-editor .suggest-widget{flex:0 1 auto;width:100%;border:1px solid var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-light .suggest-details,.monaco-editor.hc-light .suggest-widget{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:normal;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:50%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:normal;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ol,.monaco-editor .suggest-details ul{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-enum,.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-value{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:50%;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);background-color:var(--vscode-editorUnicodeHighlight-background);box-sizing:border-box}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjhWNC4wMXpNNC4wMDguMDA4QTQuMDAzIDQuMDAzIDAgMDAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwMDQuMDAzIDQuMDAyaDQ0LjAyOGE0LjAwMyA0LjAwMyAwIDAwNC4wMDMtNC4wMDJWNC4wMUE0LjAwMyA0LjAwMyAwIDAwNDguMDM2LjAwOEg0LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxVjguMDEzem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJWOC4wMTN6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyVjguMDEzem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDNWOC4wMTN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDNWOC4wMTN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnYtNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNoLTQuMDAzdi00LjAwM3ptMTIuMDA4IDBoLTQuMDAzdjQuMDAzaDQuMDAzdi00LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM2g4LjAwNXptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzdi00LjAwM3ptNC4wMDMgMGgyMC4wMTN2NC4wMDNIMTYuMDE2di00LjAwM3ptMjguMDE4IDBINDAuMDN2NC4wMDNoNC4wMDN2LTQuMDAzeiIgZmlsbD0iIzQyNDI0MiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUzdjM2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+) 50% no-repeat;border:4px solid #f6f6f6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjhWNC4wMXpNNC4wMDguMDA4QTQuMDAzIDQuMDAzIDAgMDAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwMDQuMDAzIDQuMDAyaDQ0LjAyOGE0LjAwMyA0LjAwMyAwIDAwNC4wMDMtNC4wMDJWNC4wMUE0LjAwMyA0LjAwMyAwIDAwNDguMDM2LjAwOEg0LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxVjguMDEzem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJWOC4wMTN6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyVjguMDEzem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDNWOC4wMTN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDNWOC4wMTN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnYtNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNoLTQuMDAzdi00LjAwM3ptMTIuMDA4IDBoLTQuMDAzdjQuMDAzaDQuMDAzdi00LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM2g4LjAwNXptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzdi00LjAwM3ptNC4wMDMgMGgyMC4wMTN2NC4wMDNIMTYuMDE2di00LjAwM3ptMjguMDE4IDBINDAuMDN2NC4wMDNoNC4wMDN2LTQuMDAzeiIgZmlsbD0iI0M1QzVDNSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUzdjM2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+) 50% no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{z-index:50;user-select:text;-webkit-user-select:text;padding:10px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{height:1px;border:0;background-color:var(--vscode-editorHoverWidget-border)}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,86.7%,.4);border:1px solid hsla(0,0%,80%,.4);border-bottom-color:hsla(0,0%,73.3%,.4);box-shadow:inset 0 -1px 0 hsla(0,0%,73.3%,.4);color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #6fc3df;box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #0f4a85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,50.2%,.17);border:1px solid rgba(51,51,51,.6);border-bottom-color:rgba(68,68,68,.6);box-shadow:inset 0 -1px 0 rgba(68,68,68,.6);color:#ccc}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font:"SF Mono",Monaco,Menlo,Consolas,"Ubuntu Mono","Liberation Mono","DejaVu Sans Mono","Courier New",monospace}.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.action-widget{font-size:13px;border-radius:0;min-width:160px;max-width:80vw;z-index:40;display:block;width:100%;border:1px solid var(--vscode-editorWidget-border)!important;border-radius:2px;background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground)}.context-view-block{z-index:-1}.context-view-block,.context-view-pointerBlock{position:fixed;cursor:auto;left:0;top:0;width:100%;height:100%}.context-view-pointerBlock{z-index:2}.action-widget .monaco-list{user-select:none;-webkit-user-select:none;border:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 10px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-quickInputList-focusBackground)!important;color:var(--vscode-quickInputList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder,transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-descriptionForeground)!important;font-weight:600}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before,.action-widget .monaco-list .option-disabled:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:6px;align-items:center}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorHoverWidget-statusBarBackground);border-top:1px solid var(--vscode-editorHoverWidget-border)}.action-widget .action-widget-action-bar:before{display:block;content:"";width:100%}.action-widget .action-widget-action-bar .actions-container{padding:0 8px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:12px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:50%;background-repeat:no-repeat}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;margin-left:-300px;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{display:flex;align-items:center;border-top-left-radius:5px;border-top-right-radius:5px}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-title{padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:50%;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{display:flex;padding:8px 6px 6px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;height:100%;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-highlighted-label .highlight{font-weight:700}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:0 2px 2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px;margin-right:4px}.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{font-weight:600;font-size:12px}.extension-editor .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.markers-panel .marker-icon .codicon.codicon-error,.markers-panel .marker-icon.error,.monaco-editor .zone-widget .codicon.codicon-error,.preferences-editor .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.extension-editor .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.markers-panel .marker-icon .codicon.codicon-warning,.markers-panel .marker-icon.warning,.monaco-editor .zone-widget .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.extension-editor .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.markers-panel .marker-icon .codicon.codicon-info,.markers-panel .marker-icon.info,.monaco-editor .zone-widget .codicon.codicon-info,.preferences-editor .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}article{width:var(--monaco-editor-width, 100%);height:var(--monaco-editor-height, 100%)}::slotted(*){display:none}';export{c as L,cet as M,a as Z,iG as m,aZ as t} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-0227b790.js b/www/js/zui3/zen-editor/p-0227b790.js new file mode 100644 index 0000000000..b90f8a74bf --- /dev/null +++ b/www/js/zui3/zen-editor/p-0227b790.js @@ -0,0 +1,7 @@ +import{m as e}from"./p-01de9657.js";import"./p-7900c24a.js"; +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=(e,o,i,l)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let a of s(o))r.call(e,a)||a===i||t(e,a,{get:()=>o[a],enumerable:!(l=n(o,a))||l.enumerable});return e},i={};o(i,e,"default");var l={comments:{lineComment:"#",blockComment:["'''","'''"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp("^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async|match|case).*?:\\s*$"),action:{indentAction:i.languages.IndentAction.Indent}}],folding:{offSide:!0,markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},a={defaultToken:"",tokenPostfix:".python",keywords:["False","None","True","_","and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","exec","finally","for","from","global","if","import","in","is","lambda","match","nonlocal","not","or","pass","print","raise","return","try","while","with","yield","int","float","long","complex","hex","abs","all","any","apply","basestring","bin","bool","buffer","bytearray","callable","chr","classmethod","cmp","coerce","compile","complex","delattr","dict","dir","divmod","enumerate","eval","execfile","file","filter","format","frozenset","getattr","globals","hasattr","hash","help","id","input","intern","isinstance","issubclass","iter","len","locals","list","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","reversed","range","raw_input","reduce","reload","repr","reversed","round","self","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","unichr","unicode","vars","xrange","zip","__dict__","__methods__","__members__","__class__","__bases__","__name__","__mro__","__subclasses__","__init__","__import__"],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],tokenizer:{root:[{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/[,:;]/,"delimiter"],[/[{}\[\]()]/,"@brackets"],[/@[a-zA-Z_]\w*/,"tag"],[/[a-zA-Z_]\w*/,{cases:{"@keywords":"keyword","@default":"identifier"}}]],whitespace:[[/\s+/,"white"],[/(^#.*$)/,"comment"],[/'''/,"string","@endDocString"],[/"""/,"string","@endDblDocString"]],endDocString:[[/[^']+/,"string"],[/\\'/,"string"],[/'''/,"string","@popall"],[/'/,"string"]],endDblDocString:[[/[^"]+/,"string"],[/\\"/,"string"],[/"""/,"string","@popall"],[/"/,"string"]],numbers:[[/-?0x([abcdef]|[ABCDEF]|\d)+[lL]?/,"number.hex"],[/-?(\d*\.)?\d+([eE][+\-]?\d+)?[jJ]?[lL]?/,"number"]],strings:[[/'$/,"string.escape","@popall"],[/'/,"string.escape","@stringBody"],[/"$/,"string.escape","@popall"],[/"/,"string.escape","@dblStringBody"]],stringBody:[[/[^\\']+$/,"string","@popall"],[/[^\\']+/,"string"],[/\\./,"string"],[/'/,"string.escape","@popall"],[/\\$/,"string"]],dblStringBody:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string"],[/"/,"string.escape","@popall"],[/\\$/,"string"]]}};export{l as conf,a as language} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-0c6956f3.js b/www/js/zui3/zen-editor/p-0c6956f3.js new file mode 100644 index 0000000000..3c3dab16f7 --- /dev/null +++ b/www/js/zui3/zen-editor/p-0c6956f3.js @@ -0,0 +1,7 @@ +import{m as e}from"./p-01de9657.js";import"./p-7900c24a.js"; +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/var t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,m=Object.prototype.hasOwnProperty,i=(e,i,a,n)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let s of o(i))m.call(e,s)||s===a||t(e,s,{get:()=>i[s],enumerable:!(n=r(i,s))||n.enumerable});return e},a={};i(a,e,"default");var n=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],s={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${n.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:a.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${n.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:a.languages.IndentAction.Indent}}]},c={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/@@@@/],[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.root"}],[/)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)([\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],razorInSimpleState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3"}]],razorInEmbeddedState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],razorBlockCommentTopLevel:[[/\*@/,"@rematch","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorBlockComment:[[/\*@/,"comment.cs","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorRootTopLevel:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/[})]/,"@rematch","@pop"],{include:"razorCommon"}],razorRoot:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/\}/,"delimiter.bracket.cs","@pop"],[/\)/,"delimiter.parenthesis.cs","@pop"],{include:"razorCommon"}],razorCommon:[[/[a-zA-Z_]\w*/,{cases:{"@razorKeywords":{token:"keyword.cs"},"@default":"identifier.cs"}}],[/[\[\]]/,"delimiter.array.cs"],[/[ \t\r\n]+/],[/\/\/.*$/,"comment.cs"],[/@\*/,"comment.cs","@razorBlockComment"],[/"([^"]*)"/,"string.cs"],[/'([^']*)'/,"string.cs"],[/(<)([\w\-]+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)([\w\-]+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<\/)([\w\-]+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,]/,"delimiter.cs"],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float.cs"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float.cs"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex.cs"],[/0[0-7']*[0-7]/,"number.octal.cs"],[/0[bB][0-1']*[0-1]/,"number.binary.cs"],[/\d[\d']*/,"number.cs"],[/\d/,"number.cs"]]},razorKeywords:["abstract","as","async","await","base","bool","break","by","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","descending","explicit","event","extern","else","enum","false","finally","fixed","float","for","foreach","from","goto","group","if","implicit","in","int","interface","internal","into","is","lock","long","nameof","new","null","namespace","object","operator","out","override","orderby","params","private","protected","public","readonly","ref","return","switch","struct","sbyte","sealed","short","sizeof","stackalloc","static","string","select","this","throw","true","try","typeof","uint","ulong","unchecked","unsafe","ushort","using","var","virtual","volatile","void","when","while","where","yield","model","inject"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/};export{s as conf,c as language} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-10f5929a.js b/www/js/zui3/zen-editor/p-10f5929a.js new file mode 100644 index 0000000000..985177b7c6 --- /dev/null +++ b/www/js/zui3/zen-editor/p-10f5929a.js @@ -0,0 +1,7 @@ +import{m as t}from"./p-01de9657.js";import"./p-7900c24a.js"; +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,e=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o=(t,o,u,s)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let c of e(o))i.call(t,c)||c===u||n(t,c,{get:()=>o[c],enumerable:!(s=r(o,c))||s.enumerable});return t},u={};o(u,t,"default");var s,c,a,f,h,v,d,l,g,w,m,b,p,j,x,k,I,y,O,E,_,S,T,R,C,D,N,W,L,A,M,F,z,U,H,$,q,P,V,B,G,J,K,Q,X,Y,Z,tt,nt,rt=class{_defaults;_idleCheckInterval;_lastUsedTime;_configChangeListener;_worker;_client;constructor(t){this._defaults=t,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval((()=>this._checkIfIdle()),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange((()=>this._stopWorker()))}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=u.editor.createWebWorker({moduleId:"vs/language/html/htmlWorker",createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...t){let n;return this._getClient().then((t=>{n=t})).then((()=>{if(this._worker)return this._worker.withSyncedResources(t)})).then((()=>n))}};(c=s||(s={})).MIN_VALUE=-2147483648,c.MAX_VALUE=2147483647,(f=a||(a={})).MIN_VALUE=0,f.MAX_VALUE=2147483647,(v=h||(h={})).create=function(t,n){return t===Number.MAX_VALUE&&(t=a.MAX_VALUE),n===Number.MAX_VALUE&&(n=a.MAX_VALUE),{line:t,character:n}},v.is=function(t){var n=t;return rn.objectLiteral(n)&&rn.uinteger(n.line)&&rn.uinteger(n.character)},(l=d||(d={})).create=function(t,n,r,e){if(rn.uinteger(t)&&rn.uinteger(n)&&rn.uinteger(r)&&rn.uinteger(e))return{start:h.create(t,n),end:h.create(r,e)};if(h.is(t)&&h.is(n))return{start:t,end:n};throw new Error("Range#create called with invalid arguments["+t+", "+n+", "+r+", "+e+"]")},l.is=function(t){var n=t;return rn.objectLiteral(n)&&h.is(n.start)&&h.is(n.end)},(w=g||(g={})).create=function(t,n){return{uri:t,range:n}},w.is=function(t){var n=t;return rn.defined(n)&&d.is(n.range)&&(rn.string(n.uri)||rn.undefined(n.uri))},(b=m||(m={})).create=function(t,n,r,e){return{targetUri:t,targetRange:n,targetSelectionRange:r,originSelectionRange:e}},b.is=function(t){var n=t;return rn.defined(n)&&d.is(n.targetRange)&&rn.string(n.targetUri)&&(d.is(n.targetSelectionRange)||rn.undefined(n.targetSelectionRange))&&(d.is(n.originSelectionRange)||rn.undefined(n.originSelectionRange))},(j=p||(p={})).create=function(t,n,r,e){return{red:t,green:n,blue:r,alpha:e}},j.is=function(t){var n=t;return rn.numberRange(n.red,0,1)&&rn.numberRange(n.green,0,1)&&rn.numberRange(n.blue,0,1)&&rn.numberRange(n.alpha,0,1)},(k=x||(x={})).create=function(t,n){return{range:t,color:n}},k.is=function(t){var n=t;return d.is(n.range)&&p.is(n.color)},(y=I||(I={})).create=function(t,n,r){return{label:t,textEdit:n,additionalTextEdits:r}},y.is=function(t){var n=t;return rn.string(n.label)&&(rn.undefined(n.textEdit)||U.is(n))&&(rn.undefined(n.additionalTextEdits)||rn.typedArray(n.additionalTextEdits,U.is))},(E=O||(O={})).Comment="comment",E.Imports="imports",E.Region="region",(S=_||(_={})).create=function(t,n,r,e,i){var o={startLine:t,endLine:n};return rn.defined(r)&&(o.startCharacter=r),rn.defined(e)&&(o.endCharacter=e),rn.defined(i)&&(o.kind=i),o},S.is=function(t){var n=t;return rn.uinteger(n.startLine)&&rn.uinteger(n.startLine)&&(rn.undefined(n.startCharacter)||rn.uinteger(n.startCharacter))&&(rn.undefined(n.endCharacter)||rn.uinteger(n.endCharacter))&&(rn.undefined(n.kind)||rn.string(n.kind))},(R=T||(T={})).create=function(t,n){return{location:t,message:n}},R.is=function(t){var n=t;return rn.defined(n)&&g.is(n.location)&&rn.string(n.message)},(D=C||(C={})).Error=1,D.Warning=2,D.Information=3,D.Hint=4,(W=N||(N={})).Unnecessary=1,W.Deprecated=2,(L||(L={})).is=function(t){return null!=t&&rn.string(t.href)},(M=A||(A={})).create=function(t,n,r,e,i,o){var u={range:t,message:n};return rn.defined(r)&&(u.severity=r),rn.defined(e)&&(u.code=e),rn.defined(i)&&(u.source=i),rn.defined(o)&&(u.relatedInformation=o),u},M.is=function(t){var n,r=t;return rn.defined(r)&&d.is(r.range)&&rn.string(r.message)&&(rn.number(r.severity)||rn.undefined(r.severity))&&(rn.integer(r.code)||rn.string(r.code)||rn.undefined(r.code))&&(rn.undefined(r.codeDescription)||rn.string(null===(n=r.codeDescription)||void 0===n?void 0:n.href))&&(rn.string(r.source)||rn.undefined(r.source))&&(rn.undefined(r.relatedInformation)||rn.typedArray(r.relatedInformation,T.is))},(z=F||(F={})).create=function(t,n){for(var r=[],e=2;e0&&(i.arguments=r),i},z.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.title)&&rn.string(n.command)},(H=U||(U={})).replace=function(t,n){return{range:t,newText:n}},H.insert=function(t,n){return{range:{start:t,end:t},newText:n}},H.del=function(t){return{range:t,newText:""}},H.is=function(t){var n=t;return rn.objectLiteral(n)&&rn.string(n.newText)&&d.is(n.range)},(q=$||($={})).create=function(t,n,r){var e={label:t};return void 0!==n&&(e.needsConfirmation=n),void 0!==r&&(e.description=r),e},q.is=function(t){var n=t;return void 0!==n&&rn.objectLiteral(n)&&rn.string(n.label)&&(rn.boolean(n.needsConfirmation)||void 0===n.needsConfirmation)&&(rn.string(n.description)||void 0===n.description)},(P||(P={})).is=function(t){return"string"==typeof t},(B=V||(V={})).replace=function(t,n,r){return{range:t,newText:n,annotationId:r}},B.insert=function(t,n,r){return{range:{start:t,end:t},newText:n,annotationId:r}},B.del=function(t,n){return{range:t,newText:"",annotationId:n}},B.is=function(t){var n=t;return U.is(n)&&($.is(n.annotationId)||P.is(n.annotationId))},(J=G||(G={})).create=function(t,n){return{textDocument:t,edits:n}},J.is=function(t){var n=t;return rn.defined(n)&&st.is(n.textDocument)&&Array.isArray(n.edits)},(Q=K||(K={})).create=function(t,n,r){var e={kind:"create",uri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(e.options=n),void 0!==r&&(e.annotationId=r),e},Q.is=function(t){var n=t;return n&&"create"===n.kind&&rn.string(n.uri)&&(void 0===n.options||(void 0===n.options.overwrite||rn.boolean(n.options.overwrite))&&(void 0===n.options.ignoreIfExists||rn.boolean(n.options.ignoreIfExists)))&&(void 0===n.annotationId||P.is(n.annotationId))},(Y=X||(X={})).create=function(t,n,r,e){var i={kind:"rename",oldUri:t,newUri:n};return void 0===r||void 0===r.overwrite&&void 0===r.ignoreIfExists||(i.options=r),void 0!==e&&(i.annotationId=e),i},Y.is=function(t){var n=t;return n&&"rename"===n.kind&&rn.string(n.oldUri)&&rn.string(n.newUri)&&(void 0===n.options||(void 0===n.options.overwrite||rn.boolean(n.options.overwrite))&&(void 0===n.options.ignoreIfExists||rn.boolean(n.options.ignoreIfExists)))&&(void 0===n.annotationId||P.is(n.annotationId))},(tt=Z||(Z={})).create=function(t,n,r){var e={kind:"delete",uri:t};return void 0===n||void 0===n.recursive&&void 0===n.ignoreIfNotExists||(e.options=n),void 0!==r&&(e.annotationId=r),e},tt.is=function(t){var n=t;return n&&"delete"===n.kind&&rn.string(n.uri)&&(void 0===n.options||(void 0===n.options.recursive||rn.boolean(n.options.recursive))&&(void 0===n.options.ignoreIfNotExists||rn.boolean(n.options.ignoreIfNotExists)))&&(void 0===n.annotationId||P.is(n.annotationId))},(nt||(nt={})).is=function(t){return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(t){return rn.string(t.kind)?K.is(t)||X.is(t)||Z.is(t):G.is(t)})))};var et,it,ot,ut,st,ct,at,ft,ht,vt,dt,lt,gt,wt,mt,bt,pt,jt,xt,kt,It,yt,Ot,Et,_t,St,Tt,Rt,Ct,Dt,Nt,Wt,Lt,At,Mt,Ft,zt,Ut,Ht,$t,qt,Pt,Vt,Bt,Gt,Jt,Kt,Qt,Xt,Yt,Zt,tn=function(){function t(t,n){this.edits=t,this.changeAnnotations=n}return t.prototype.insert=function(t,n,r){var e,i;if(void 0===r?e=U.insert(t,n):P.is(r)?(i=r,e=V.insert(t,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),e=V.insert(t,n,i)),this.edits.push(e),void 0!==i)return i},t.prototype.replace=function(t,n,r){var e,i;if(void 0===r?e=U.replace(t,n):P.is(r)?(i=r,e=V.replace(t,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),e=V.replace(t,n,i)),this.edits.push(e),void 0!==i)return i},t.prototype.delete=function(t,n){var r,e;if(void 0===n?r=U.del(t):P.is(n)?(e=n,r=V.del(t,n)):(this.assertChangeAnnotations(this.changeAnnotations),e=this.changeAnnotations.manage(n),r=V.del(t,e)),this.edits.push(r),void 0!==e)return e},t.prototype.add=function(t){this.edits.push(t)},t.prototype.all=function(){return this.edits},t.prototype.clear=function(){this.edits.splice(0,this.edits.length)},t.prototype.assertChangeAnnotations=function(t){if(void 0===t)throw new Error("Text edit change is not configured to manage change annotations.")},t}(),nn=function(){function t(t){this._annotations=void 0===t?Object.create(null):t,this._counter=0,this._size=0}return t.prototype.all=function(){return this._annotations},Object.defineProperty(t.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),t.prototype.manage=function(t,n){var r;if(P.is(t)?r=t:(r=this.nextId(),n=t),void 0!==this._annotations[r])throw new Error("Id "+r+" is already in use.");if(void 0===n)throw new Error("No annotation provided for id "+r);return this._annotations[r]=n,this._size++,r},t.prototype.nextId=function(){return this._counter++,this._counter.toString()},t}();!function(){function t(t){var n=this;this._textEditChanges=Object.create(null),void 0!==t?(this._workspaceEdit=t,t.documentChanges?(this._changeAnnotations=new nn(t.changeAnnotations),t.changeAnnotations=this._changeAnnotations.all(),t.documentChanges.forEach((function(t){if(G.is(t)){var r=new tn(t.edits,n._changeAnnotations);n._textEditChanges[t.textDocument.uri]=r}}))):t.changes&&Object.keys(t.changes).forEach((function(r){var e=new tn(t.changes[r]);n._textEditChanges[r]=e}))):this._workspaceEdit={}}Object.defineProperty(t.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(this._workspaceEdit.changeAnnotations=0===this._changeAnnotations.size?void 0:this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),t.prototype.getTextEditChange=function(t){if(st.is(t)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var n={uri:t.uri,version:t.version};return(r=this._textEditChanges[n.uri])||(this._workspaceEdit.documentChanges.push({textDocument:n,edits:e=[]}),r=new tn(e,this._changeAnnotations),this._textEditChanges[n.uri]=r),r}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var r,e;return(r=this._textEditChanges[t])||(this._workspaceEdit.changes[t]=e=[],r=new tn(e),this._textEditChanges[t]=r),r},t.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new nn,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},t.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},t.prototype.createFile=function(t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var e,i,o;if($.is(n)||P.is(n)?e=n:r=n,void 0===e?i=K.create(t,r):(o=P.is(e)?e:this._changeAnnotations.manage(e),i=K.create(t,r,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},t.prototype.renameFile=function(t,n,r,e){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,u;if($.is(r)||P.is(r)?i=r:e=r,void 0===i?o=X.create(t,n,e):(u=P.is(i)?i:this._changeAnnotations.manage(i),o=X.create(t,n,e,u)),this._workspaceEdit.documentChanges.push(o),void 0!==u)return u},t.prototype.deleteFile=function(t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var e,i,o;if($.is(n)||P.is(n)?e=n:r=n,void 0===e?i=Z.create(t,r):(o=P.is(e)?e:this._changeAnnotations.manage(e),i=Z.create(t,r,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o}}(),(it=et||(et={})).create=function(t){return{uri:t}},it.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)},(ut=ot||(ot={})).create=function(t,n){return{uri:t,version:n}},ut.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)&&rn.integer(n.version)},(ct=st||(st={})).create=function(t,n){return{uri:t,version:n}},ct.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)&&(null===n.version||rn.integer(n.version))},(ft=at||(at={})).create=function(t,n,r,e){return{uri:t,languageId:n,version:r,text:e}},ft.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)&&rn.string(n.languageId)&&rn.integer(n.version)&&rn.string(n.text)},(vt=ht||(ht={})).PlainText="plaintext",vt.Markdown="markdown",function(t){t.is=function(n){return n===t.PlainText||n===t.Markdown}}(ht||(ht={})),(dt||(dt={})).is=function(t){var n=t;return rn.objectLiteral(t)&&ht.is(n.kind)&&rn.string(n.value)},(gt=lt||(lt={})).Text=1,gt.Method=2,gt.Function=3,gt.Constructor=4,gt.Field=5,gt.Variable=6,gt.Class=7,gt.Interface=8,gt.Module=9,gt.Property=10,gt.Unit=11,gt.Value=12,gt.Enum=13,gt.Keyword=14,gt.Snippet=15,gt.Color=16,gt.File=17,gt.Reference=18,gt.Folder=19,gt.EnumMember=20,gt.Constant=21,gt.Struct=22,gt.Event=23,gt.Operator=24,gt.TypeParameter=25,(mt=wt||(wt={})).PlainText=1,mt.Snippet=2,(bt||(bt={})).Deprecated=1,(jt=pt||(pt={})).create=function(t,n,r){return{newText:t,insert:n,replace:r}},jt.is=function(t){var n=t;return n&&rn.string(n.newText)&&d.is(n.insert)&&d.is(n.replace)},(kt=xt||(xt={})).asIs=1,kt.adjustIndentation=2,(It||(It={})).create=function(t){return{label:t}},(yt||(yt={})).create=function(t,n){return{items:t||[],isIncomplete:!!n}},(Et=Ot||(Ot={})).fromPlainText=function(t){return t.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},Et.is=function(t){var n=t;return rn.string(n)||rn.objectLiteral(n)&&rn.string(n.language)&&rn.string(n.value)},(_t||(_t={})).is=function(t){var n=t;return!!n&&rn.objectLiteral(n)&&(dt.is(n.contents)||Ot.is(n.contents)||rn.typedArray(n.contents,Ot.is))&&(void 0===t.range||d.is(t.range))},(St||(St={})).create=function(t,n){return n?{label:t,documentation:n}:{label:t}},(Tt||(Tt={})).create=function(t,n){for(var r=[],e=2;e=0;u--){var s=i[u],c=t.offsetAt(s.range.start),a=t.offsetAt(s.range.end);if(!(a<=o))throw new Error("Overlapping edit");e=e.substring(0,c)+s.newText+e.substring(a,e.length),o=c}return e}}(Zt||(Zt={}));var rn,en,on,un=function(){function t(t,n,r,e){this._uri=t,this._languageId=n,this._version=r,this._content=e,this._lineOffsets=void 0}return Object.defineProperty(t.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),t.prototype.getText=function(t){if(t){var n=this.offsetAt(t.start),r=this.offsetAt(t.end);return this._content.substring(n,r)}return this._content},t.prototype.update=function(t,n){this._content=t.text,this._version=n,this._lineOffsets=void 0},t.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var t=[],n=this._content,r=!0,e=0;e0&&t.push(n.length),this._lineOffsets=t}return this._lineOffsets},t.prototype.positionAt=function(t){t=Math.max(Math.min(t,this._content.length),0);var n=this.getLineOffsets(),r=0,e=n.length;if(0===e)return h.create(0,t);for(;rt?e=i:r=i+1}var o=r-1;return h.create(o,t-n[o])},t.prototype.offsetAt=function(t){var n=this.getLineOffsets();if(t.line>=n.length)return this._content.length;if(t.line<0)return 0;var r=n[t.line];return Math.max(Math.min(r+t.character,t.line+1{let n,r=t.getLanguageId();r===this._languageId&&(this._listener[t.uri.toString()]=t.onDidChangeContent((()=>{window.clearTimeout(n),n=window.setTimeout((()=>this._doValidate(t.uri,r)),500)})),this._doValidate(t.uri,r))},i=t=>{u.editor.setModelMarkers(t,this._languageId,[]);let n=t.uri.toString(),r=this._listener[n];r&&(r.dispose(),delete this._listener[n])};this._disposables.push(u.editor.onDidCreateModel(e)),this._disposables.push(u.editor.onWillDisposeModel(i)),this._disposables.push(u.editor.onDidChangeModelLanguage((t=>{i(t.model),e(t.model)}))),this._disposables.push(r((()=>{u.editor.getModels().forEach((t=>{t.getLanguageId()===this._languageId&&(i(t),e(t))}))}))),this._disposables.push({dispose:()=>{u.editor.getModels().forEach(i);for(let t in this._listener)this._listener[t].dispose()}}),u.editor.getModels().forEach(e)}_disposables=[];_listener=Object.create(null);dispose(){this._disposables.forEach((t=>t&&t.dispose())),this._disposables.length=0}_doValidate(t,n){this._worker(t).then((n=>n.doValidation(t.toString()))).then((r=>{const e=r.map((t=>function(t,n){let r="number"==typeof n.code?String(n.code):n.code;return{severity:cn(n.severity),startLineNumber:n.range.start.line+1,startColumn:n.range.start.character+1,endLineNumber:n.range.end.line+1,endColumn:n.range.end.character+1,message:n.message,code:r,source:n.source}}(0,t)));let i=u.editor.getModel(t);i&&i.getLanguageId()===n&&u.editor.setModelMarkers(i,n,e)})).then(void 0,(t=>{console.error(t)}))}};function cn(t){switch(t){case C.Error:return u.MarkerSeverity.Error;case C.Warning:return u.MarkerSeverity.Warning;case C.Information:return u.MarkerSeverity.Info;case C.Hint:return u.MarkerSeverity.Hint;default:return u.MarkerSeverity.Info}}var an=class{constructor(t,n){this._worker=t,this._triggerCharacters=n}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.doComplete(i.toString(),fn(n)))).then((r=>{if(!r)return;const e=t.getWordUntilPosition(n),i=new u.Range(n.lineNumber,e.startColumn,n.lineNumber,e.endColumn),o=r.items.map((t=>{const n={label:t.label,insertText:t.insertText||t.label,sortText:t.sortText,filterText:t.filterText,documentation:t.documentation,detail:t.detail,command:(r=t.command,r&&"editor.action.triggerSuggest"===r.command?{id:r.command,title:r.title,arguments:r.arguments}:void 0),range:i,kind:dn(t.kind)};var r,e;return t.textEdit&&(n.range=void 0!==(e=t.textEdit).insert&&void 0!==e.replace?{insert:vn(t.textEdit.insert),replace:vn(t.textEdit.replace)}:vn(t.textEdit.range),n.insertText=t.textEdit.newText),t.additionalTextEdits&&(n.additionalTextEdits=t.additionalTextEdits.map(ln)),t.insertTextFormat===wt.Snippet&&(n.insertTextRules=u.languages.CompletionItemInsertTextRule.InsertAsSnippet),n}));return{isIncomplete:r.isIncomplete,suggestions:o}}))}};function fn(t){if(t)return{character:t.column-1,line:t.lineNumber-1}}function hn(t){if(t)return{start:{line:t.startLineNumber-1,character:t.startColumn-1},end:{line:t.endLineNumber-1,character:t.endColumn-1}}}function vn(t){if(t)return new u.Range(t.start.line+1,t.start.character+1,t.end.line+1,t.end.character+1)}function dn(t){const n=u.languages.CompletionItemKind;switch(t){case lt.Text:return n.Text;case lt.Method:return n.Method;case lt.Function:return n.Function;case lt.Constructor:return n.Constructor;case lt.Field:return n.Field;case lt.Variable:return n.Variable;case lt.Class:return n.Class;case lt.Interface:return n.Interface;case lt.Module:return n.Module;case lt.Property:return n.Property;case lt.Unit:return n.Unit;case lt.Value:return n.Value;case lt.Enum:return n.Enum;case lt.Keyword:return n.Keyword;case lt.Snippet:return n.Snippet;case lt.Color:return n.Color;case lt.File:return n.File;case lt.Reference:return n.Reference}return n.Property}function ln(t){if(t)return{range:vn(t.range),text:t.newText}}var gn=class{constructor(t){this._worker=t}provideHover(t,n,r){let e=t.uri;return this._worker(e).then((t=>t.doHover(e.toString(),fn(n)))).then((t=>{if(t)return{range:vn(t.range),contents:mn(t.contents)}}))}};function wn(t){return"string"==typeof t?{value:t}:(n=t)&&"object"==typeof n&&"string"==typeof n.kind?"plaintext"===t.kind?{value:t.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}:{value:t.value}:{value:"```"+t.language+"\n"+t.value+"\n```\n"};var n}function mn(t){if(t)return Array.isArray(t)?t.map(wn):[wn(t)]}var bn=class{constructor(t){this._worker=t}provideDocumentHighlights(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.findDocumentHighlights(e.toString(),fn(n)))).then((t=>{if(t)return t.map((t=>({range:vn(t.range),kind:pn(t.kind)})))}))}};function pn(t){switch(t){case Rt.Read:return u.languages.DocumentHighlightKind.Read;case Rt.Write:return u.languages.DocumentHighlightKind.Write;case Rt.Text:return u.languages.DocumentHighlightKind.Text}return u.languages.DocumentHighlightKind.Text}var jn=class{constructor(t){this._worker=t}provideDefinition(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.findDefinition(e.toString(),fn(n)))).then((t=>{if(t)return[xn(t)]}))}};function xn(t){return{uri:u.Uri.parse(t.uri),range:vn(t.range)}}var kn=class{constructor(t){this._worker=t}provideReferences(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.findReferences(i.toString(),fn(n)))).then((t=>{if(t)return t.map(xn)}))}},In=class{constructor(t){this._worker=t}provideRenameEdits(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.doRename(i.toString(),fn(n),r))).then((t=>function(t){if(!t||!t.changes)return;let n=[];for(let r in t.changes){const e=u.Uri.parse(r);for(let i of t.changes[r])n.push({resource:e,versionId:void 0,textEdit:{range:vn(i.range),text:i.newText}})}return{edits:n}}(t)))}},yn=class{constructor(t){this._worker=t}provideDocumentSymbols(t,n){const r=t.uri;return this._worker(r).then((t=>t.findDocumentSymbols(r.toString()))).then((t=>{if(t)return t.map((t=>({name:t.name,detail:"",containerName:t.containerName,kind:On(t.kind),range:vn(t.location.range),selectionRange:vn(t.location.range),tags:[]})))}))}};function On(t){let n=u.languages.SymbolKind;switch(t){case Nt.File:return n.Array;case Nt.Module:return n.Module;case Nt.Namespace:return n.Namespace;case Nt.Package:return n.Package;case Nt.Class:return n.Class;case Nt.Method:return n.Method;case Nt.Property:return n.Property;case Nt.Field:return n.Field;case Nt.Constructor:return n.Constructor;case Nt.Enum:return n.Enum;case Nt.Interface:return n.Interface;case Nt.Function:return n.Function;case Nt.Variable:return n.Variable;case Nt.Constant:return n.Constant;case Nt.String:return n.String;case Nt.Number:return n.Number;case Nt.Boolean:return n.Boolean;case Nt.Array:return n.Array}return n.Function}var En=class{constructor(t){this._worker=t}provideLinks(t,n){const r=t.uri;return this._worker(r).then((t=>t.findDocumentLinks(r.toString()))).then((t=>{if(t)return{links:t.map((t=>({range:vn(t.range),url:t.target})))}}))}},_n=class{constructor(t){this._worker=t}provideDocumentFormattingEdits(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.format(e.toString(),null,Tn(n)).then((t=>{if(t&&0!==t.length)return t.map(ln)}))))}},Sn=class{constructor(t){this._worker=t}canFormatMultipleRanges=!1;provideDocumentRangeFormattingEdits(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.format(i.toString(),hn(n),Tn(r)).then((t=>{if(t&&0!==t.length)return t.map(ln)}))))}};function Tn(t){return{tabSize:t.tabSize,insertSpaces:t.insertSpaces}}var Rn=class{constructor(t){this._worker=t}provideDocumentColors(t,n){const r=t.uri;return this._worker(r).then((t=>t.findDocumentColors(r.toString()))).then((t=>{if(t)return t.map((t=>({color:t.color,range:vn(t.range)})))}))}provideColorPresentations(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.getColorPresentations(e.toString(),n.color,hn(n.range)))).then((t=>{if(t)return t.map((t=>{let n={label:t.label};return t.textEdit&&(n.textEdit=ln(t.textEdit)),t.additionalTextEdits&&(n.additionalTextEdits=t.additionalTextEdits.map(ln)),n}))}))}},Cn=class{constructor(t){this._worker=t}provideFoldingRanges(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.getFoldingRanges(e.toString(),n))).then((t=>{if(t)return t.map((t=>{const n={start:t.startLine+1,end:t.endLine+1};return void 0!==t.kind&&(n.kind=function(t){switch(t){case O.Comment:return u.languages.FoldingRangeKind.Comment;case O.Imports:return u.languages.FoldingRangeKind.Imports;case O.Region:return u.languages.FoldingRangeKind.Region}}(t.kind)),n}))}))}},Dn=class{constructor(t){this._worker=t}provideSelectionRanges(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.getSelectionRanges(e.toString(),n.map(fn)))).then((t=>{if(t)return t.map((t=>{const n=[];for(;t;)n.push({range:vn(t.range)}),t=t.parent;return n}))}))}},Nn=class extends an{constructor(t){super(t,[".",":","<",'"',"=","/"])}};function Wn(t){const n=new rt(t),r=(...t)=>n.getLanguageServiceWorker(...t);let e=t.languageId;u.languages.registerCompletionItemProvider(e,new Nn(r)),u.languages.registerHoverProvider(e,new gn(r)),u.languages.registerDocumentHighlightProvider(e,new bn(r)),u.languages.registerLinkProvider(e,new En(r)),u.languages.registerFoldingRangeProvider(e,new Cn(r)),u.languages.registerDocumentSymbolProvider(e,new yn(r)),u.languages.registerSelectionRangeProvider(e,new Dn(r)),u.languages.registerRenameProvider(e,new In(r)),"html"===e&&(u.languages.registerDocumentFormattingEditProvider(e,new _n(r)),u.languages.registerDocumentRangeFormattingEditProvider(e,new Sn(r)))}function Ln(t){const n=[],r=[],e=new rt(t);n.push(e);const i=(...t)=>e.getLanguageServiceWorker(...t);return function(){const{languageId:n,modeConfiguration:e}=t;Mn(r),e.completionItems&&r.push(u.languages.registerCompletionItemProvider(n,new Nn(i))),e.hovers&&r.push(u.languages.registerHoverProvider(n,new gn(i))),e.documentHighlights&&r.push(u.languages.registerDocumentHighlightProvider(n,new bn(i))),e.links&&r.push(u.languages.registerLinkProvider(n,new En(i))),e.documentSymbols&&r.push(u.languages.registerDocumentSymbolProvider(n,new yn(i))),e.rename&&r.push(u.languages.registerRenameProvider(n,new In(i))),e.foldingRanges&&r.push(u.languages.registerFoldingRangeProvider(n,new Cn(i))),e.selectionRanges&&r.push(u.languages.registerSelectionRangeProvider(n,new Dn(i))),e.documentFormattingEdits&&r.push(u.languages.registerDocumentFormattingEditProvider(n,new _n(i))),e.documentRangeFormattingEdits&&r.push(u.languages.registerDocumentRangeFormattingEditProvider(n,new Sn(i)))}(),n.push(An(r)),An(n)}function An(t){return{dispose:()=>Mn(t)}}function Mn(t){for(;t.length;)t.pop().dispose()}export{an as CompletionAdapter,jn as DefinitionAdapter,sn as DiagnosticsAdapter,Rn as DocumentColorAdapter,_n as DocumentFormattingEditProvider,bn as DocumentHighlightAdapter,En as DocumentLinkAdapter,Sn as DocumentRangeFormattingEditProvider,yn as DocumentSymbolAdapter,Cn as FoldingRangeAdapter,gn as HoverAdapter,kn as ReferenceAdapter,In as RenameAdapter,Dn as SelectionRangeAdapter,rt as WorkerManager,fn as fromPosition,hn as fromRange,Ln as setupMode,Wn as setupMode1,vn as toRange,ln as toTextEdit} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-22092198.js b/www/js/zui3/zen-editor/p-22092198.js new file mode 100644 index 0000000000..7307627524 --- /dev/null +++ b/www/js/zui3/zen-editor/p-22092198.js @@ -0,0 +1,7 @@ +import{m as e}from"./p-01de9657.js";import"./p-7900c24a.js"; +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/var t=Object.defineProperty,i=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,o=(e,o,s,a)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let d of r(o))n.call(e,d)||d===s||t(e,d,{get:()=>o[d],enumerable:!(a=i(o,d))||a.enumerable});return e},s={};o(s,e,"default");var a=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],d={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${a.join("|")}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:s.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${a.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:s.languages.IndentAction.Indent}}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#endregion\\b.*--\x3e")}}},m={defaultToken:"",tokenPostfix:".html",ignoreCase:!0,tokenizer:{root:[[/)/,["delimiter","tag","","delimiter"]],[/(<)(script)/,["delimiter",{token:"tag",next:"@script"}]],[/(<)(style)/,["delimiter",{token:"tag",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/]+/,"metatag.content"],[/>/,"metatag","@pop"]],comment:[[/-->/,"comment","@pop"],[/[^-]+/,"comment.content"],[/./,"comment.content"]],otherTag:[[/\/?>/,"delimiter","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"module"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.text/javascript"}],[/'module'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.text/javascript"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}};export{d as conf,m as language} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-de75d67e.entry.js b/www/js/zui3/zen-editor/p-2cebaee6.entry.js similarity index 91% rename from www/js/zui3/zen-editor/p-de75d67e.entry.js rename to www/js/zui3/zen-editor/p-2cebaee6.entry.js index 5ad3d41fbf..509b5893de 100644 --- a/www/js/zui3/zen-editor/p-de75d67e.entry.js +++ b/www/js/zui3/zen-editor/p-2cebaee6.entry.js @@ -1 +1 @@ -import{r as t,h as i}from"./p-b9d115dd.js";import{P as e,a as s,E as n,t as o,p as h}from"./p-d7573a2c.js";class l{constructor({editor:t,element:i,view:e,tippyOptions:s={},shouldShow:n}){this.preventHide=!1,this.shouldShow=({view:t,state:i})=>{const{selection:e}=i,{$anchor:s,empty:n}=e,o=1===s.depth,h=s.parent.isTextblock&&!s.parent.type.spec.code&&!s.parent.textContent;return!!(t.hasFocus()&&n&&o&&h&&this.editor.isEditable)},this.mousedownHandler=()=>{this.preventHide=!0},this.focusHandler=()=>{setTimeout((()=>this.update(this.editor.view)))},this.blurHandler=({event:t})=>{var i;this.preventHide?this.preventHide=!1:(null==t?void 0:t.relatedTarget)&&(null===(i=this.element.parentNode)||void 0===i?void 0:i.contains(t.relatedTarget))||this.hide()},this.tippyBlurHandler=t=>{this.blurHandler({event:t})},this.editor=t,this.element=i,this.view=e,n&&(this.shouldShow=n),this.element.addEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.editor.on("focus",this.focusHandler),this.editor.on("blur",this.blurHandler),this.tippyOptions=s,this.element.remove(),this.element.style.visibility="visible"}createTooltip(){const{element:t}=this.editor.options;!this.tippy&&t.parentElement&&(this.tippy=o(t,{duration:0,getReferenceClientRect:null,content:this.element,interactive:!0,trigger:"manual",placement:"right",hideOnClick:"toggle",...this.tippyOptions}),this.tippy.popper.firstChild&&this.tippy.popper.firstChild.addEventListener("blur",this.tippyBlurHandler))}update(t,i){var e,s,n;const{state:o}=t,{doc:l,selection:r}=o,{from:d,to:u}=r;i&&i.doc.eq(l)&&i.selection.eq(r)||(this.createTooltip(),(null===(e=this.shouldShow)||void 0===e?void 0:e.call(this,{editor:this.editor,view:t,state:o,oldState:i}))?(null===(s=this.tippy)||void 0===s||s.setProps({getReferenceClientRect:(null===(n=this.tippyOptions)||void 0===n?void 0:n.getReferenceClientRect)||(()=>h(t,d,u))}),this.show()):this.hide())}show(){var t;null===(t=this.tippy)||void 0===t||t.show()}hide(){var t;null===(t=this.tippy)||void 0===t||t.hide()}destroy(){var t,i;(null===(t=this.tippy)||void 0===t?void 0:t.popper.firstChild)&&this.tippy.popper.firstChild.removeEventListener("blur",this.tippyBlurHandler),null===(i=this.tippy)||void 0===i||i.destroy(),this.element.removeEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.editor.off("focus",this.focusHandler),this.editor.off("blur",this.blurHandler)}}const r=t=>new e({key:"string"==typeof t.pluginKey?new s(t.pluginKey):t.pluginKey,view:i=>new l({view:i,...t})});n.create({name:"floatingMenu",addOptions:()=>({element:null,tippyOptions:{},pluginKey:"floatingMenu",shouldShow:null}),addProseMirrorPlugins(){return this.options.element?[r({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,tippyOptions:this.options.tippyOptions,shouldShow:this.options.shouldShow})]:[]}});const d=class{constructor(i){t(this,i),this.menuProps=void 0,this.editor=void 0,this.element=void 0}componentDidLoad(){if(!Boolean(this.element)||this.editor.isDestroyed)return;const{pluginKey:t="floatingMenu",tippyOptions:i={},shouldShow:e=null}=this.menuProps,s=r({pluginKey:t,editor:this.editor,element:this.element,tippyOptions:Object.assign({placement:"left",getReferenceClientRect:()=>{const t=this.editor.view.state.selection.$anchor,i=t.pos-t.parentOffset;return h(this.editor.view,i,i)}},i),shouldShow:null!=e?e:({view:t,state:i})=>{const{selection:e}=i,{$anchor:s,empty:n}=e,o=1===s.depth;return!(!t.hasFocus()||!n||!o)}});this.editor.registerPlugin(s)}render(){return i("div",{key:"5f8300d192f4bca4595802d1e07096a62f415247",ref:t=>this.element=t,class:"floating-menu",style:{visibility:"hidden"}},[{icon:"ci-plus",title:"Add",action:()=>{}},{icon:"ci-more_vertical",title:"Click to tune",action:()=>{}}].map(((t,e)=>{const s=t,{isHidden:n,type:o}=s,h=function(t,i){var e={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&i.indexOf(s)<0&&(e[s]=t[s]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(s=Object.getOwnPropertySymbols(t);n{const{selection:e}=i,{$anchor:s,empty:n}=e,o=1===s.depth,h=s.parent.isTextblock&&!s.parent.type.spec.code&&!s.parent.textContent;return!!(t.hasFocus()&&n&&o&&h&&this.editor.isEditable)},this.mousedownHandler=()=>{this.preventHide=!0},this.focusHandler=()=>{setTimeout((()=>this.update(this.editor.view)))},this.blurHandler=({event:t})=>{var i;this.preventHide?this.preventHide=!1:(null==t?void 0:t.relatedTarget)&&(null===(i=this.element.parentNode)||void 0===i?void 0:i.contains(t.relatedTarget))||this.hide()},this.tippyBlurHandler=t=>{this.blurHandler({event:t})},this.editor=t,this.element=i,this.view=e,n&&(this.shouldShow=n),this.element.addEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.editor.on("focus",this.focusHandler),this.editor.on("blur",this.blurHandler),this.tippyOptions=s,this.element.remove(),this.element.style.visibility="visible"}createTooltip(){const{element:t}=this.editor.options;!this.tippy&&t.parentElement&&(this.tippy=o(t,{duration:0,getReferenceClientRect:null,content:this.element,interactive:!0,trigger:"manual",placement:"right",hideOnClick:"toggle",...this.tippyOptions}),this.tippy.popper.firstChild&&this.tippy.popper.firstChild.addEventListener("blur",this.tippyBlurHandler))}update(t,i){var e,s,n;const{state:o}=t,{doc:l,selection:r}=o,{from:c,to:d}=r;i&&i.doc.eq(l)&&i.selection.eq(r)||(this.createTooltip(),(null===(e=this.shouldShow)||void 0===e?void 0:e.call(this,{editor:this.editor,view:t,state:o,oldState:i}))?(null===(s=this.tippy)||void 0===s||s.setProps({getReferenceClientRect:(null===(n=this.tippyOptions)||void 0===n?void 0:n.getReferenceClientRect)||(()=>h(t,c,d))}),this.show()):this.hide())}show(){var t;null===(t=this.tippy)||void 0===t||t.show()}hide(){var t;null===(t=this.tippy)||void 0===t||t.hide()}destroy(){var t,i;(null===(t=this.tippy)||void 0===t?void 0:t.popper.firstChild)&&this.tippy.popper.firstChild.removeEventListener("blur",this.tippyBlurHandler),null===(i=this.tippy)||void 0===i||i.destroy(),this.element.removeEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.editor.off("focus",this.focusHandler),this.editor.off("blur",this.blurHandler)}}const r=t=>new e({key:"string"==typeof t.pluginKey?new s(t.pluginKey):t.pluginKey,view:i=>new l({view:i,...t})});n.create({name:"floatingMenu",addOptions:()=>({element:null,tippyOptions:{},pluginKey:"floatingMenu",shouldShow:null}),addProseMirrorPlugins(){return this.options.element?[r({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,tippyOptions:this.options.tippyOptions,shouldShow:this.options.shouldShow})]:[]}});const c=class{constructor(i){t(this,i),this.menuProps=void 0,this.editor=void 0,this.element=void 0}componentDidLoad(){if(!Boolean(this.element)||this.editor.isDestroyed)return;const{pluginKey:t="floatingMenu",tippyOptions:i={},shouldShow:e=null}=this.menuProps,s=r({pluginKey:t,editor:this.editor,element:this.element,tippyOptions:Object.assign({placement:"left",getReferenceClientRect:()=>{const t=this.editor.view.state.selection.$anchor,i=t.pos-t.parentOffset;return h(this.editor.view,i,i)}},i),shouldShow:null!=e?e:({view:t,state:i})=>{const{selection:e}=i,{$anchor:s,empty:n}=e,o=1===s.depth;return!(!t.hasFocus()||!n||!o)}});this.editor.registerPlugin(s)}render(){return i("div",{key:"5f8300d192f4bca4595802d1e07096a62f415247",ref:t=>this.element=t,class:"floating-menu",style:{visibility:"hidden"}},[{icon:"ci-plus",title:"Add",action:()=>{}},{icon:"ci-more_vertical",title:"Click to tune",action:()=>{}}].map(((t,e)=>{const s=t,{isHidden:n,type:o}=s,h=function(t,i){var e={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&i.indexOf(s)<0&&(e[s]=t[s]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(s=Object.getOwnPropertySymbols(t);n{if(i&&"object"==typeof i||"function"==typeof i)for(let s of _(i))o.call(e,s)||s===r||t(e,s,{get:()=>i[s],enumerable:!(a=n(i,s))||a.enumerable});return e},r={};i(r,e,"default");var a=["assign","flush","ftl","return","global","import","include","break","continue","local","nested","nt","setting","stop","t","lt","rt","fallback"],s=["attempt","autoesc","autoEsc","compress","comment","escape","noescape","function","if","list","items","sep","macro","noparse","noParse","noautoesc","noAutoEsc","outputformat","switch","visit","recurse"],u={close:">",id:"angle",open:"<"},c={close:"\\]",id:"bracket",open:"\\["},d={close:"[>\\]]",id:"auto",open:"[<\\[]"},l={close:"\\}",id:"dollar",open1:"\\$",open2:"\\{"},k={close:"\\]",id:"bracket",open1:"\\[",open2:"="};function p(e){return{brackets:[["<",">"],["[","]"],["(",")"],["{","}"]],comments:{blockComment:[`${e.open}--`,`--${e.close}`]},autoCloseBefore:"\n\r\t }]),.:;=",autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],folding:{markers:{start:new RegExp(`${e.open}#(?:${s.join("|")})([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),end:new RegExp(`${e.open}/#(?:${s.join("|")})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:new RegExp(`${e.open}#(?!(?:${a.join("|")}))([a-zA-Z_]+)([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),afterText:new RegExp(`^${e.open}/#([a-zA-Z_]+)[\\r\\n\\t ]*${e.close}$`),action:{indentAction:r.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`${e.open}#(?!(?:${a.join("|")}))([a-zA-Z_]+)([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),action:{indentAction:r.languages.IndentAction.Indent}}]}}function g(){return{brackets:[["<",">"],["[","]"],["(",")"],["{","}"]],autoCloseBefore:"\n\r\t }]),.:;=",autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],folding:{markers:{start:new RegExp(`[<\\[]#(?:${s.join("|")})([^/>\\]]*(?!/)[>\\]])[^<\\[]*$`),end:new RegExp(`[<\\[]/#(?:${s.join("|")})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:new RegExp(`[<\\[]#(?!(?:${a.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),afterText:new RegExp("^[<\\[]/#([a-zA-Z_]+)[\\r\\n\\t ]*[>\\]]$"),action:{indentAction:r.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`[<\\[]#(?!(?:${a.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),action:{indentAction:r.languages.IndentAction.Indent}}]}}function A(e,t){const n=`_${e.id}_${t.id}`,_=e=>e.replace(/__id__/g,n),o=e=>{const t=e.source.replace(/__id__/g,n);return new RegExp(t,e.flags)};return{unicode:!0,includeLF:!1,start:_("default__id__"),ignoreCase:!1,defaultToken:"invalid",tokenPostfix:".freemarker2",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],[_("open__id__")]:new RegExp(e.open),[_("close__id__")]:new RegExp(e.close),[_("iOpen1__id__")]:new RegExp(t.open1),[_("iOpen2__id__")]:new RegExp(t.open2),[_("iClose__id__")]:new RegExp(t.close),[_("startTag__id__")]:o(/(@open__id__)(#)/),[_("endTag__id__")]:o(/(@open__id__)(\/#)/),[_("startOrEndTag__id__")]:o(/(@open__id__)(\/?#)/),[_("closeTag1__id__")]:o(/((?:@blank)*)(@close__id__)/),[_("closeTag2__id__")]:o(/((?:@blank)*\/?)(@close__id__)/),blank:/[ \t\n\r]/,keywords:["false","true","in","as","using"],directiveStartCloseTag1:/attempt|recover|sep|auto[eE]sc|no(?:autoe|AutoE)sc|compress|default|no[eE]scape|comment|no[pP]arse/,directiveStartCloseTag2:/else|break|continue|return|stop|flush|t|lt|rt|nt|nested|recurse|fallback|ftl/,directiveStartBlank:/if|else[iI]f|list|for[eE]ach|switch|case|assign|global|local|include|import|function|macro|transform|visit|stop|return|call|setting|output[fF]ormat|nested|recurse|escape|ftl|items/,directiveEndCloseTag1:/if|list|items|sep|recover|attempt|for[eE]ach|local|global|assign|function|macro|output[fF]ormat|auto[eE]sc|no(?:autoe|AutoE)sc|compress|transform|switch|escape|no[eE]scape/,escapedChar:/\\(?:[ntrfbgla\\'"\{=]|(?:x[0-9A-Fa-f]{1,4}))/,asciiDigit:/[0-9]/,integer:/[0-9]+/,nonEscapedIdStartChar:/[\$@-Z_a-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u1FFF\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183-\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3006\u3031-\u3035\u303B-\u303C\u3040-\u318F\u31A0-\u31BA\u31F0-\u31FF\u3300-\u337F\u3400-\u4DB5\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,escapedIdChar:/\\[\-\.:#]/,idStartChar:/(?:@nonEscapedIdStartChar)|(?:@escapedIdChar)/,id:/(?:@idStartChar)(?:(?:@idStartChar)|(?:@asciiDigit))*/,specialHashKeys:/\*\*|\*|false|true|in|as|using/,namedSymbols:/<=|>=|\\lte|\\lt|<|\\gte|\\gt|>|&&|\\and|->|->|==|!=|\+=|-=|\*=|\/=|%=|\+\+|--|<=|&&|\|\||:|\.\.\.|\.\.\*|\.\.<|\.\.!|\?\?|=|<|\+|-|\*|\/|%|\||\.\.|\?|!|&|\.|,|;/,arrows:["->","->"],delimiters:[";",":",",","."],stringOperators:["lte","lt","gte","gt"],noParseTags:["noparse","noParse","comment"],tokenizer:{[_("default__id__")]:[{include:_("@directive_token__id__")},{include:_("@interpolation_and_text_token__id__")}],[_("fmExpression__id__.directive")]:[{include:_("@blank_and_expression_comment_token__id__")},{include:_("@directive_end_token__id__")},{include:_("@expression_token__id__")}],[_("fmExpression__id__.interpolation")]:[{include:_("@blank_and_expression_comment_token__id__")},{include:_("@expression_token__id__")},{include:_("@greater_operators_token__id__")}],[_("inParen__id__.plain")]:[{include:_("@blank_and_expression_comment_token__id__")},{include:_("@directive_end_token__id__")},{include:_("@expression_token__id__")}],[_("inParen__id__.gt")]:[{include:_("@blank_and_expression_comment_token__id__")},{include:_("@expression_token__id__")},{include:_("@greater_operators_token__id__")}],[_("noSpaceExpression__id__")]:[{include:_("@no_space_expression_end_token__id__")},{include:_("@directive_end_token__id__")},{include:_("@expression_token__id__")}],[_("unifiedCall__id__")]:[{include:_("@unified_call_token__id__")}],[_("singleString__id__")]:[{include:_("@string_single_token__id__")}],[_("doubleString__id__")]:[{include:_("@string_double_token__id__")}],[_("rawSingleString__id__")]:[{include:_("@string_single_raw_token__id__")}],[_("rawDoubleString__id__")]:[{include:_("@string_double_raw_token__id__")}],[_("expressionComment__id__")]:[{include:_("@expression_comment_token__id__")}],[_("noParse__id__")]:[{include:_("@no_parse_token__id__")}],[_("terseComment__id__")]:[{include:_("@terse_comment_token__id__")}],[_("directive_token__id__")]:[[o(/(?:@startTag__id__)(@directiveStartCloseTag1)(?:@closeTag1__id__)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{cases:{"@noParseTags":{token:"tag",next:_("@noParse__id__.$3")},"@default":{token:"tag"}}},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[o(/(?:@startTag__id__)(@directiveStartCloseTag2)(?:@closeTag2__id__)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[o(/(?:@startTag__id__)(@directiveStartBlank)(@blank)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"",next:_("@fmExpression__id__.directive")}]],[o(/(?:@endTag__id__)(@directiveEndCloseTag1)(?:@closeTag1__id__)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[o(/(@open__id__)(@)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive",next:_("@unifiedCall__id__")}]],[o(/(@open__id__)(\/@)((?:(?:@id)(?:\.(?:@id))*)?)(?:@closeTag1__id__)/),[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[o(/(@open__id__)#--/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:{token:"comment",next:_("@terseComment__id__")}],[o(/(?:@startOrEndTag__id__)([a-zA-Z_]+)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag.invalid",next:_("@fmExpression__id__.directive")}]]],[_("interpolation_and_text_token__id__")]:[[o(/(@iOpen1__id__)(@iOpen2__id__)/),[{token:"bracket"===t.id?"@brackets.interpolation":"delimiter.interpolation"},{token:"bracket"===t.id?"delimiter.interpolation":"@brackets.interpolation",next:_("@fmExpression__id__.interpolation")}]],[/[\$#<\[\{]|(?:@blank)+|[^\$<#\[\{\n\r\t ]+/,{token:"source"}]],[_("string_single_token__id__")]:[[/[^'\\]/,{token:"string"}],[/@escapedChar/,{token:"string.escape"}],[/'/,{token:"string",next:"@pop"}]],[_("string_double_token__id__")]:[[/[^"\\]/,{token:"string"}],[/@escapedChar/,{token:"string.escape"}],[/"/,{token:"string",next:"@pop"}]],[_("string_single_raw_token__id__")]:[[/[^']+/,{token:"string.raw"}],[/'/,{token:"string.raw",next:"@pop"}]],[_("string_double_raw_token__id__")]:[[/[^"]+/,{token:"string.raw"}],[/"/,{token:"string.raw",next:"@pop"}]],[_("expression_token__id__")]:[[/(r?)(['"])/,{cases:{"r'":[{token:"keyword"},{token:"string.raw",next:_("@rawSingleString__id__")}],'r"':[{token:"keyword"},{token:"string.raw",next:_("@rawDoubleString__id__")}],"'":[{token:"source"},{token:"string",next:_("@singleString__id__")}],'"':[{token:"source"},{token:"string",next:_("@doubleString__id__")}]}}],[/(?:@integer)(?:\.(?:@integer))?/,{cases:{"(?:@integer)":{token:"number"},"@default":{token:"number.float"}}}],[/(\.)(@blank*)(@specialHashKeys)/,[{token:"delimiter"},{token:""},{token:"identifier"}]],[/(?:@namedSymbols)/,{cases:{"@arrows":{token:"meta.arrow"},"@delimiters":{token:"delimiter"},"@default":{token:"operators"}}}],[/@id/,{cases:{"@keywords":{token:"keyword.$0"},"@stringOperators":{token:"operators"},"@default":{token:"identifier"}}}],[/[\[\]\(\)\{\}]/,{cases:{"\\[":{cases:{"$S2==gt":{token:"@brackets",next:_("@inParen__id__.gt")},"@default":{token:"@brackets",next:_("@inParen__id__.plain")}}},"\\]":{cases:{..."bracket"===t.id?{"$S2==interpolation":{token:"@brackets.interpolation",next:"@popall"}}:{},..."bracket"===e.id?{"$S2==directive":{token:"@brackets.directive",next:"@popall"}}:{},[_("$S1==inParen__id__")]:{token:"@brackets",next:"@pop"},"@default":{token:"@brackets"}}},"\\(":{token:"@brackets",next:_("@inParen__id__.gt")},"\\)":{cases:{[_("$S1==inParen__id__")]:{token:"@brackets",next:"@pop"},"@default":{token:"@brackets"}}},"\\{":{cases:{"$S2==gt":{token:"@brackets",next:_("@inParen__id__.gt")},"@default":{token:"@brackets",next:_("@inParen__id__.plain")}}},"\\}":{cases:{..."bracket"===t.id?{}:{"$S2==interpolation":{token:"@brackets.interpolation",next:"@popall"}},[_("$S1==inParen__id__")]:{token:"@brackets",next:"@pop"},"@default":{token:"@brackets"}}}}}],[/\$\{/,{token:"delimiter.invalid"}]],[_("blank_and_expression_comment_token__id__")]:[[/(?:@blank)+/,{token:""}],[/[<\[][#!]--/,{token:"comment",next:_("@expressionComment__id__")}]],[_("directive_end_token__id__")]:[[/>/,"bracket"===e.id?{token:"operators"}:{token:"@brackets.directive",next:"@popall"}],[o(/(\/)(@close__id__)/),[{token:"delimiter.directive"},{token:"@brackets.directive",next:"@popall"}]]],[_("greater_operators_token__id__")]:[[/>/,{token:"operators"}],[/>=/,{token:"operators"}]],[_("no_space_expression_end_token__id__")]:[[/(?:@blank)+/,{token:"",switchTo:_("@fmExpression__id__.directive")}]],[_("unified_call_token__id__")]:[[/(@id)((?:@blank)+)/,[{token:"tag"},{token:"",next:_("@fmExpression__id__.directive")}]],[o(/(@id)(\/?)(@close__id__)/),[{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive",next:"@popall"}]],[/./,{token:"@rematch",next:_("@noSpaceExpression__id__")}]],[_("no_parse_token__id__")]:[[o(/(@open__id__)(\/#?)([a-zA-Z]+)((?:@blank)*)(@close__id__)/),{cases:{"$S2==$3":[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:""},{token:"@brackets.directive",next:"@popall"}],"$S2==comment":[{token:"comment"},{token:"comment"},{token:"comment"},{token:"comment"},{token:"comment"}],"@default":[{token:"source"},{token:"source"},{token:"source"},{token:"source"},{token:"source"}]}}],[/[^<\[\-]+|[<\[\-]/,{cases:{"$S2==comment":{token:"comment"},"@default":{token:"source"}}}]],[_("expression_comment_token__id__")]:[[/--[>\]]/,{token:"comment",next:"@pop"}],[/[^\->\]]+|[>\]\-]/,{token:"comment"}]],[_("terse_comment_token__id__")]:[[o(/--(?:@close__id__)/),{token:"comment",next:"@popall"}],[/[^<\[\-]+|[<\[\-]/,{token:"comment"}]]}}}function m(e){const t=A(u,e),n=A(c,e),_=A(d,e);return{...t,...n,..._,unicode:!0,includeLF:!1,start:`default_auto_${e.id}`,ignoreCase:!1,defaultToken:"invalid",tokenPostfix:".freemarker2",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{...t.tokenizer,...n.tokenizer,..._.tokenizer}}}var F={conf:p(u),language:A(u,l)},f={conf:p(c),language:A(c,l)},b={conf:p(u),language:A(u,k)},x={conf:p(c),language:A(c,k)},$={conf:g(),language:m(l)},E={conf:g(),language:m(k)};export{b as TagAngleInterpolationBracket,F as TagAngleInterpolationDollar,E as TagAutoInterpolationBracket,$ as TagAutoInterpolationDollar,x as TagBracketInterpolationBracket,f as TagBracketInterpolationDollar} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-cd71f736.entry.js b/www/js/zui3/zen-editor/p-45e30bc7.entry.js similarity index 77% rename from www/js/zui3/zen-editor/p-cd71f736.entry.js rename to www/js/zui3/zen-editor/p-45e30bc7.entry.js index 6c66ba7bb2..d9175a5546 100644 --- a/www/js/zui3/zen-editor/p-cd71f736.entry.js +++ b/www/js/zui3/zen-editor/p-45e30bc7.entry.js @@ -1 +1 @@ -import{r as t,h as s,F as e}from"./p-b9d115dd.js";const i=class{constructor(s){t(this,s),this.editor=void 0,this.forceUpdateCounter=void 0,this.toggleFullscreen=null,this.showCharCount=!0}render(){const t=this.editor.storage.characterCount.characters();return s(e,{key:"55e412fff5b12b148cc56065e37fca603af14d90"},this.showCharCount?s("span",null,t," character",t>1?"s":"","."):s("div",null),this.toggleFullscreen&&s("button",{key:"d44396418729ae598910d6d8c221a0fd9292070c",id:"fullscreen-button",onClick:this.toggleFullscreen},"Toggle Fullscreen"))}};export{i as zen_editor_footer} \ No newline at end of file +import{r as t,h as s,F as e}from"./p-7900c24a.js";const c=class{constructor(s){t(this,s),this.editor=void 0,this.forceUpdateCounter=void 0,this.toggleFullscreen=null,this.showCharCount=!0}render(){const t=this.editor.storage.characterCount.characters();return s(e,{key:"55e412fff5b12b148cc56065e37fca603af14d90"},this.showCharCount?s("span",null,t," character",t>1?"s":"","."):s("div",null),this.toggleFullscreen&&s("button",{key:"d44396418729ae598910d6d8c221a0fd9292070c",id:"fullscreen-button",onClick:this.toggleFullscreen},"Toggle Fullscreen"))}};export{c as zen_editor_footer} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-47f3534d.js b/www/js/zui3/zen-editor/p-47f3534d.js new file mode 100644 index 0000000000..c0470baa5b --- /dev/null +++ b/www/js/zui3/zen-editor/p-47f3534d.js @@ -0,0 +1,7 @@ +import{m as e}from"./p-01de9657.js";import"./p-7900c24a.js"; +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/var n=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,l=(e,l,i,a)=>{if(l&&"object"==typeof l||"function"==typeof l)for(let c of r(l))o.call(e,c)||c===i||n(e,c,{get:()=>l[c],enumerable:!(a=t(l,c))||a.enumerable});return e},i={};l(i,e,"default");var a={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:i.languages.IndentAction.Indent}}]},c={tokenPostfix:".yaml",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["true","True","TRUE","false","False","FALSE","null","Null","Null","~"],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/%[^ ]+.*$/,"meta.directive"],[/---/,"operators.directivesEnd"],[/\.{3}/,"operators.documentEnd"],[/[-?:](?= )/,"operators"],{include:"@anchor"},{include:"@tagHandle"},{include:"@flowCollections"},{include:"@blockStyle"},[/@numberInteger(?![ \t]*\S+)/,"number"],[/@numberFloat(?![ \t]*\S+)/,"number.float"],[/@numberOctal(?![ \t]*\S+)/,"number.octal"],[/@numberHex(?![ \t]*\S+)/,"number.hex"],[/@numberInfinity(?![ \t]*\S+)/,"number.infinity"],[/@numberNaN(?![ \t]*\S+)/,"number.nan"],[/@numberDate(?![ \t]*\S+)/,"number.date"],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,["type","white","operators","white"]],{include:"@flowScalars"},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":"keyword","@default":"string"}}]],object:[{include:"@whitespace"},{include:"@comment"},[/\}/,"@brackets","@pop"],[/,/,"delimiter.comma"],[/:(?= )/,"operators"],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,"type"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\},]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],array:[{include:"@whitespace"},{include:"@comment"},[/\]/,"@brackets","@pop"],[/,/,"delimiter.comma"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\],]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],multiString:[[/^( +).+$/,"string","@multiStringContinued.$1"]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":"string","@default":{token:"@rematch",next:"@popall"}}}]],whitespace:[[/[ \t\r\n]+/,"white"]],comment:[[/#.*$/,"comment"]],flowCollections:[[/\[/,"@brackets","@array"],[/\{/,"@brackets","@object"]],flowScalars:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'[^']*'/,"string"],[/"/,"string","@doubleQuotedString"]],doubleQuotedString:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],blockStyle:[[/[>|][0-9]*[+-]?$/,"operators","@multiString"]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,"number"],[/@numberFloat(?=[ \t]*[,\]\}])/,"number.float"],[/@numberOctal(?=[ \t]*[,\]\}])/,"number.octal"],[/@numberHex(?=[ \t]*[,\]\}])/,"number.hex"],[/@numberInfinity(?=[ \t]*[,\]\}])/,"number.infinity"],[/@numberNaN(?=[ \t]*[,\]\}])/,"number.nan"],[/@numberDate(?=[ \t]*[,\]\}])/,"number.date"]],tagHandle:[[/\![^ ]*/,"tag"]],anchor:[[/[&*][^ ]+/,"namespace"]]}};export{a as conf,c as language} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-49f116fe.js b/www/js/zui3/zen-editor/p-49f116fe.js new file mode 100644 index 0000000000..74d06b37e6 --- /dev/null +++ b/www/js/zui3/zen-editor/p-49f116fe.js @@ -0,0 +1,7 @@ +import{m as t}from"./p-01de9657.js";import"./p-7900c24a.js"; +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/var r=Object.defineProperty,n=Object.getOwnPropertyDescriptor,e=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o=(t,o,u,s)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let c of e(o))i.call(t,c)||c===u||r(t,c,{get:()=>o[c],enumerable:!(s=n(o,c))||s.enumerable});return t},u={};o(u,t,"default");var s,c,a,f,h,v,d,l,g,b,m,w,k,p,j,x,S,I,y,T,E,O,C,_,D,R,N,L,W,A,M,z,F,P,q,U,H,V,$,B,G,J,K,Q,X,Y,Z,tt,rt,nt=class{_defaults;_idleCheckInterval;_lastUsedTime;_configChangeListener;_worker;_client;constructor(t){this._defaults=t,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval((()=>this._checkIfIdle()),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange((()=>this._stopWorker()))}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=u.editor.createWebWorker({moduleId:"vs/language/json/jsonWorker",label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId,enableSchemaRequest:this._defaults.diagnosticsOptions.enableSchemaRequest}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...t){let r;return this._getClient().then((t=>{r=t})).then((()=>{if(this._worker)return this._worker.withSyncedResources(t)})).then((()=>r))}};(c=s||(s={})).MIN_VALUE=-2147483648,c.MAX_VALUE=2147483647,(f=a||(a={})).MIN_VALUE=0,f.MAX_VALUE=2147483647,(v=h||(h={})).create=function(t,r){return t===Number.MAX_VALUE&&(t=a.MAX_VALUE),r===Number.MAX_VALUE&&(r=a.MAX_VALUE),{line:t,character:r}},v.is=function(t){var r=t;return nr.objectLiteral(r)&&nr.uinteger(r.line)&&nr.uinteger(r.character)},(l=d||(d={})).create=function(t,r,n,e){if(nr.uinteger(t)&&nr.uinteger(r)&&nr.uinteger(n)&&nr.uinteger(e))return{start:h.create(t,r),end:h.create(n,e)};if(h.is(t)&&h.is(r))return{start:t,end:r};throw new Error("Range#create called with invalid arguments["+t+", "+r+", "+n+", "+e+"]")},l.is=function(t){var r=t;return nr.objectLiteral(r)&&h.is(r.start)&&h.is(r.end)},(b=g||(g={})).create=function(t,r){return{uri:t,range:r}},b.is=function(t){var r=t;return nr.defined(r)&&d.is(r.range)&&(nr.string(r.uri)||nr.undefined(r.uri))},(w=m||(m={})).create=function(t,r,n,e){return{targetUri:t,targetRange:r,targetSelectionRange:n,originSelectionRange:e}},w.is=function(t){var r=t;return nr.defined(r)&&d.is(r.targetRange)&&nr.string(r.targetUri)&&(d.is(r.targetSelectionRange)||nr.undefined(r.targetSelectionRange))&&(d.is(r.originSelectionRange)||nr.undefined(r.originSelectionRange))},(p=k||(k={})).create=function(t,r,n,e){return{red:t,green:r,blue:n,alpha:e}},p.is=function(t){var r=t;return nr.numberRange(r.red,0,1)&&nr.numberRange(r.green,0,1)&&nr.numberRange(r.blue,0,1)&&nr.numberRange(r.alpha,0,1)},(x=j||(j={})).create=function(t,r){return{range:t,color:r}},x.is=function(t){var r=t;return d.is(r.range)&&k.is(r.color)},(I=S||(S={})).create=function(t,r,n){return{label:t,textEdit:r,additionalTextEdits:n}},I.is=function(t){var r=t;return nr.string(r.label)&&(nr.undefined(r.textEdit)||P.is(r))&&(nr.undefined(r.additionalTextEdits)||nr.typedArray(r.additionalTextEdits,P.is))},(T=y||(y={})).Comment="comment",T.Imports="imports",T.Region="region",(O=E||(E={})).create=function(t,r,n,e,i){var o={startLine:t,endLine:r};return nr.defined(n)&&(o.startCharacter=n),nr.defined(e)&&(o.endCharacter=e),nr.defined(i)&&(o.kind=i),o},O.is=function(t){var r=t;return nr.uinteger(r.startLine)&&nr.uinteger(r.startLine)&&(nr.undefined(r.startCharacter)||nr.uinteger(r.startCharacter))&&(nr.undefined(r.endCharacter)||nr.uinteger(r.endCharacter))&&(nr.undefined(r.kind)||nr.string(r.kind))},(_=C||(C={})).create=function(t,r){return{location:t,message:r}},_.is=function(t){var r=t;return nr.defined(r)&&g.is(r.location)&&nr.string(r.message)},(R=D||(D={})).Error=1,R.Warning=2,R.Information=3,R.Hint=4,(L=N||(N={})).Unnecessary=1,L.Deprecated=2,(W||(W={})).is=function(t){return null!=t&&nr.string(t.href)},(M=A||(A={})).create=function(t,r,n,e,i,o){var u={range:t,message:r};return nr.defined(n)&&(u.severity=n),nr.defined(e)&&(u.code=e),nr.defined(i)&&(u.source=i),nr.defined(o)&&(u.relatedInformation=o),u},M.is=function(t){var r,n=t;return nr.defined(n)&&d.is(n.range)&&nr.string(n.message)&&(nr.number(n.severity)||nr.undefined(n.severity))&&(nr.integer(n.code)||nr.string(n.code)||nr.undefined(n.code))&&(nr.undefined(n.codeDescription)||nr.string(null===(r=n.codeDescription)||void 0===r?void 0:r.href))&&(nr.string(n.source)||nr.undefined(n.source))&&(nr.undefined(n.relatedInformation)||nr.typedArray(n.relatedInformation,C.is))},(F=z||(z={})).create=function(t,r){for(var n=[],e=2;e0&&(i.arguments=n),i},F.is=function(t){var r=t;return nr.defined(r)&&nr.string(r.title)&&nr.string(r.command)},(q=P||(P={})).replace=function(t,r){return{range:t,newText:r}},q.insert=function(t,r){return{range:{start:t,end:t},newText:r}},q.del=function(t){return{range:t,newText:""}},q.is=function(t){var r=t;return nr.objectLiteral(r)&&nr.string(r.newText)&&d.is(r.range)},(H=U||(U={})).create=function(t,r,n){var e={label:t};return void 0!==r&&(e.needsConfirmation=r),void 0!==n&&(e.description=n),e},H.is=function(t){var r=t;return void 0!==r&&nr.objectLiteral(r)&&nr.string(r.label)&&(nr.boolean(r.needsConfirmation)||void 0===r.needsConfirmation)&&(nr.string(r.description)||void 0===r.description)},(V||(V={})).is=function(t){return"string"==typeof t},(B=$||($={})).replace=function(t,r,n){return{range:t,newText:r,annotationId:n}},B.insert=function(t,r,n){return{range:{start:t,end:t},newText:r,annotationId:n}},B.del=function(t,r){return{range:t,newText:"",annotationId:r}},B.is=function(t){var r=t;return P.is(r)&&(U.is(r.annotationId)||V.is(r.annotationId))},(J=G||(G={})).create=function(t,r){return{textDocument:t,edits:r}},J.is=function(t){var r=t;return nr.defined(r)&&st.is(r.textDocument)&&Array.isArray(r.edits)},(Q=K||(K={})).create=function(t,r,n){var e={kind:"create",uri:t};return void 0===r||void 0===r.overwrite&&void 0===r.ignoreIfExists||(e.options=r),void 0!==n&&(e.annotationId=n),e},Q.is=function(t){var r=t;return r&&"create"===r.kind&&nr.string(r.uri)&&(void 0===r.options||(void 0===r.options.overwrite||nr.boolean(r.options.overwrite))&&(void 0===r.options.ignoreIfExists||nr.boolean(r.options.ignoreIfExists)))&&(void 0===r.annotationId||V.is(r.annotationId))},(Y=X||(X={})).create=function(t,r,n,e){var i={kind:"rename",oldUri:t,newUri:r};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==e&&(i.annotationId=e),i},Y.is=function(t){var r=t;return r&&"rename"===r.kind&&nr.string(r.oldUri)&&nr.string(r.newUri)&&(void 0===r.options||(void 0===r.options.overwrite||nr.boolean(r.options.overwrite))&&(void 0===r.options.ignoreIfExists||nr.boolean(r.options.ignoreIfExists)))&&(void 0===r.annotationId||V.is(r.annotationId))},(tt=Z||(Z={})).create=function(t,r,n){var e={kind:"delete",uri:t};return void 0===r||void 0===r.recursive&&void 0===r.ignoreIfNotExists||(e.options=r),void 0!==n&&(e.annotationId=n),e},tt.is=function(t){var r=t;return r&&"delete"===r.kind&&nr.string(r.uri)&&(void 0===r.options||(void 0===r.options.recursive||nr.boolean(r.options.recursive))&&(void 0===r.options.ignoreIfNotExists||nr.boolean(r.options.ignoreIfNotExists)))&&(void 0===r.annotationId||V.is(r.annotationId))},(rt||(rt={})).is=function(t){return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(t){return nr.string(t.kind)?K.is(t)||X.is(t)||Z.is(t):G.is(t)})))};var et,it,ot,ut,st,ct,at,ft,ht,vt,dt,lt,gt,bt,mt,wt,kt,pt,jt,xt,St,It,yt,Tt,Et,Ot,Ct,_t,Dt,Rt,Nt,Lt,Wt,At,Mt,zt,Ft,Pt,qt,Ut,Ht,Vt,$t,Bt,Gt,Jt,Kt,Qt,Xt,Yt,Zt,tr=function(){function t(t,r){this.edits=t,this.changeAnnotations=r}return t.prototype.insert=function(t,r,n){var e,i;if(void 0===n?e=P.insert(t,r):V.is(n)?(i=n,e=$.insert(t,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),e=$.insert(t,r,i)),this.edits.push(e),void 0!==i)return i},t.prototype.replace=function(t,r,n){var e,i;if(void 0===n?e=P.replace(t,r):V.is(n)?(i=n,e=$.replace(t,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),e=$.replace(t,r,i)),this.edits.push(e),void 0!==i)return i},t.prototype.delete=function(t,r){var n,e;if(void 0===r?n=P.del(t):V.is(r)?(e=r,n=$.del(t,r)):(this.assertChangeAnnotations(this.changeAnnotations),e=this.changeAnnotations.manage(r),n=$.del(t,e)),this.edits.push(n),void 0!==e)return e},t.prototype.add=function(t){this.edits.push(t)},t.prototype.all=function(){return this.edits},t.prototype.clear=function(){this.edits.splice(0,this.edits.length)},t.prototype.assertChangeAnnotations=function(t){if(void 0===t)throw new Error("Text edit change is not configured to manage change annotations.")},t}(),rr=function(){function t(t){this._annotations=void 0===t?Object.create(null):t,this._counter=0,this._size=0}return t.prototype.all=function(){return this._annotations},Object.defineProperty(t.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),t.prototype.manage=function(t,r){var n;if(V.is(t)?n=t:(n=this.nextId(),r=t),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===r)throw new Error("No annotation provided for id "+n);return this._annotations[n]=r,this._size++,n},t.prototype.nextId=function(){return this._counter++,this._counter.toString()},t}();!function(){function t(t){var r=this;this._textEditChanges=Object.create(null),void 0!==t?(this._workspaceEdit=t,t.documentChanges?(this._changeAnnotations=new rr(t.changeAnnotations),t.changeAnnotations=this._changeAnnotations.all(),t.documentChanges.forEach((function(t){if(G.is(t)){var n=new tr(t.edits,r._changeAnnotations);r._textEditChanges[t.textDocument.uri]=n}}))):t.changes&&Object.keys(t.changes).forEach((function(n){var e=new tr(t.changes[n]);r._textEditChanges[n]=e}))):this._workspaceEdit={}}Object.defineProperty(t.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(this._workspaceEdit.changeAnnotations=0===this._changeAnnotations.size?void 0:this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),t.prototype.getTextEditChange=function(t){if(st.is(t)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r={uri:t.uri,version:t.version};return(n=this._textEditChanges[r.uri])||(this._workspaceEdit.documentChanges.push({textDocument:r,edits:e=[]}),n=new tr(e,this._changeAnnotations),this._textEditChanges[r.uri]=n),n}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var n,e;return(n=this._textEditChanges[t])||(this._workspaceEdit.changes[t]=e=[],n=new tr(e),this._textEditChanges[t]=n),n},t.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new rr,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},t.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},t.prototype.createFile=function(t,r,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var e,i,o;if(U.is(r)||V.is(r)?e=r:n=r,void 0===e?i=K.create(t,n):(o=V.is(e)?e:this._changeAnnotations.manage(e),i=K.create(t,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},t.prototype.renameFile=function(t,r,n,e){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,u;if(U.is(n)||V.is(n)?i=n:e=n,void 0===i?o=X.create(t,r,e):(u=V.is(i)?i:this._changeAnnotations.manage(i),o=X.create(t,r,e,u)),this._workspaceEdit.documentChanges.push(o),void 0!==u)return u},t.prototype.deleteFile=function(t,r,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var e,i,o;if(U.is(r)||V.is(r)?e=r:n=r,void 0===e?i=Z.create(t,n):(o=V.is(e)?e:this._changeAnnotations.manage(e),i=Z.create(t,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o}}(),(it=et||(et={})).create=function(t){return{uri:t}},it.is=function(t){var r=t;return nr.defined(r)&&nr.string(r.uri)},(ut=ot||(ot={})).create=function(t,r){return{uri:t,version:r}},ut.is=function(t){var r=t;return nr.defined(r)&&nr.string(r.uri)&&nr.integer(r.version)},(ct=st||(st={})).create=function(t,r){return{uri:t,version:r}},ct.is=function(t){var r=t;return nr.defined(r)&&nr.string(r.uri)&&(null===r.version||nr.integer(r.version))},(ft=at||(at={})).create=function(t,r,n,e){return{uri:t,languageId:r,version:n,text:e}},ft.is=function(t){var r=t;return nr.defined(r)&&nr.string(r.uri)&&nr.string(r.languageId)&&nr.integer(r.version)&&nr.string(r.text)},(vt=ht||(ht={})).PlainText="plaintext",vt.Markdown="markdown",function(t){t.is=function(r){return r===t.PlainText||r===t.Markdown}}(ht||(ht={})),(dt||(dt={})).is=function(t){var r=t;return nr.objectLiteral(t)&&ht.is(r.kind)&&nr.string(r.value)},(gt=lt||(lt={})).Text=1,gt.Method=2,gt.Function=3,gt.Constructor=4,gt.Field=5,gt.Variable=6,gt.Class=7,gt.Interface=8,gt.Module=9,gt.Property=10,gt.Unit=11,gt.Value=12,gt.Enum=13,gt.Keyword=14,gt.Snippet=15,gt.Color=16,gt.File=17,gt.Reference=18,gt.Folder=19,gt.EnumMember=20,gt.Constant=21,gt.Struct=22,gt.Event=23,gt.Operator=24,gt.TypeParameter=25,(mt=bt||(bt={})).PlainText=1,mt.Snippet=2,(wt||(wt={})).Deprecated=1,(pt=kt||(kt={})).create=function(t,r,n){return{newText:t,insert:r,replace:n}},pt.is=function(t){var r=t;return r&&nr.string(r.newText)&&d.is(r.insert)&&d.is(r.replace)},(xt=jt||(jt={})).asIs=1,xt.adjustIndentation=2,(St||(St={})).create=function(t){return{label:t}},(It||(It={})).create=function(t,r){return{items:t||[],isIncomplete:!!r}},(Tt=yt||(yt={})).fromPlainText=function(t){return t.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},Tt.is=function(t){var r=t;return nr.string(r)||nr.objectLiteral(r)&&nr.string(r.language)&&nr.string(r.value)},(Et||(Et={})).is=function(t){var r=t;return!!r&&nr.objectLiteral(r)&&(dt.is(r.contents)||yt.is(r.contents)||nr.typedArray(r.contents,yt.is))&&(void 0===t.range||d.is(t.range))},(Ot||(Ot={})).create=function(t,r){return r?{label:t,documentation:r}:{label:t}},(Ct||(Ct={})).create=function(t,r){for(var n=[],e=2;e=0;u--){var s=i[u],c=t.offsetAt(s.range.start),a=t.offsetAt(s.range.end);if(!(a<=o))throw new Error("Overlapping edit");e=e.substring(0,c)+s.newText+e.substring(a,e.length),o=c}return e}}(Zt||(Zt={}));var nr,er,ir,or=function(){function t(t,r,n,e){this._uri=t,this._languageId=r,this._version=n,this._content=e,this._lineOffsets=void 0}return Object.defineProperty(t.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),t.prototype.getText=function(t){if(t){var r=this.offsetAt(t.start),n=this.offsetAt(t.end);return this._content.substring(r,n)}return this._content},t.prototype.update=function(t,r){this._content=t.text,this._version=r,this._lineOffsets=void 0},t.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var t=[],r=this._content,n=!0,e=0;e0&&t.push(r.length),this._lineOffsets=t}return this._lineOffsets},t.prototype.positionAt=function(t){t=Math.max(Math.min(t,this._content.length),0);var r=this.getLineOffsets(),n=0,e=r.length;if(0===e)return h.create(0,t);for(;nt?e=i:n=i+1}var o=n-1;return h.create(o,t-r[o])},t.prototype.offsetAt=function(t){var r=this.getLineOffsets();if(t.line>=r.length)return this._content.length;if(t.line<0)return 0;var n=r[t.line];return Math.max(Math.min(n+t.character,t.line+1{let r,n=t.getLanguageId();n===this._languageId&&(this._listener[t.uri.toString()]=t.onDidChangeContent((()=>{window.clearTimeout(r),r=window.setTimeout((()=>this._doValidate(t.uri,n)),500)})),this._doValidate(t.uri,n))},i=t=>{u.editor.setModelMarkers(t,this._languageId,[]);let r=t.uri.toString(),n=this._listener[r];n&&(n.dispose(),delete this._listener[r])};this._disposables.push(u.editor.onDidCreateModel(e)),this._disposables.push(u.editor.onWillDisposeModel(i)),this._disposables.push(u.editor.onDidChangeModelLanguage((t=>{i(t.model),e(t.model)}))),this._disposables.push(n((()=>{u.editor.getModels().forEach((t=>{t.getLanguageId()===this._languageId&&(i(t),e(t))}))}))),this._disposables.push({dispose:()=>{u.editor.getModels().forEach(i);for(let t in this._listener)this._listener[t].dispose()}}),u.editor.getModels().forEach(e)}_disposables=[];_listener=Object.create(null);dispose(){this._disposables.forEach((t=>t&&t.dispose())),this._disposables.length=0}_doValidate(t,r){this._worker(t).then((r=>r.doValidation(t.toString()))).then((n=>{const e=n.map((t=>function(t,r){let n="number"==typeof r.code?String(r.code):r.code;return{severity:sr(r.severity),startLineNumber:r.range.start.line+1,startColumn:r.range.start.character+1,endLineNumber:r.range.end.line+1,endColumn:r.range.end.character+1,message:r.message,code:n,source:r.source}}(0,t)));let i=u.editor.getModel(t);i&&i.getLanguageId()===r&&u.editor.setModelMarkers(i,r,e)})).then(void 0,(t=>{console.error(t)}))}};function sr(t){switch(t){case D.Error:return u.MarkerSeverity.Error;case D.Warning:return u.MarkerSeverity.Warning;case D.Information:return u.MarkerSeverity.Info;case D.Hint:return u.MarkerSeverity.Hint;default:return u.MarkerSeverity.Info}}var cr=class{constructor(t,r){this._worker=t,this._triggerCharacters=r}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(t,r,n,e){const i=t.uri;return this._worker(i).then((t=>t.doComplete(i.toString(),ar(r)))).then((n=>{if(!n)return;const e=t.getWordUntilPosition(r),i=new u.Range(r.lineNumber,e.startColumn,r.lineNumber,e.endColumn),o=n.items.map((t=>{const r={label:t.label,insertText:t.insertText||t.label,sortText:t.sortText,filterText:t.filterText,documentation:t.documentation,detail:t.detail,command:(n=t.command,n&&"editor.action.triggerSuggest"===n.command?{id:n.command,title:n.title,arguments:n.arguments}:void 0),range:i,kind:vr(t.kind)};var n,e;return t.textEdit&&(r.range=void 0!==(e=t.textEdit).insert&&void 0!==e.replace?{insert:hr(t.textEdit.insert),replace:hr(t.textEdit.replace)}:hr(t.textEdit.range),r.insertText=t.textEdit.newText),t.additionalTextEdits&&(r.additionalTextEdits=t.additionalTextEdits.map(dr)),t.insertTextFormat===bt.Snippet&&(r.insertTextRules=u.languages.CompletionItemInsertTextRule.InsertAsSnippet),r}));return{isIncomplete:n.isIncomplete,suggestions:o}}))}};function ar(t){if(t)return{character:t.column-1,line:t.lineNumber-1}}function fr(t){if(t)return{start:{line:t.startLineNumber-1,character:t.startColumn-1},end:{line:t.endLineNumber-1,character:t.endColumn-1}}}function hr(t){if(t)return new u.Range(t.start.line+1,t.start.character+1,t.end.line+1,t.end.character+1)}function vr(t){const r=u.languages.CompletionItemKind;switch(t){case lt.Text:return r.Text;case lt.Method:return r.Method;case lt.Function:return r.Function;case lt.Constructor:return r.Constructor;case lt.Field:return r.Field;case lt.Variable:return r.Variable;case lt.Class:return r.Class;case lt.Interface:return r.Interface;case lt.Module:return r.Module;case lt.Property:return r.Property;case lt.Unit:return r.Unit;case lt.Value:return r.Value;case lt.Enum:return r.Enum;case lt.Keyword:return r.Keyword;case lt.Snippet:return r.Snippet;case lt.Color:return r.Color;case lt.File:return r.File;case lt.Reference:return r.Reference}return r.Property}function dr(t){if(t)return{range:hr(t.range),text:t.newText}}var lr=class{constructor(t){this._worker=t}provideHover(t,r,n){let e=t.uri;return this._worker(e).then((t=>t.doHover(e.toString(),ar(r)))).then((t=>{if(t)return{range:hr(t.range),contents:br(t.contents)}}))}};function gr(t){return"string"==typeof t?{value:t}:(r=t)&&"object"==typeof r&&"string"==typeof r.kind?"plaintext"===t.kind?{value:t.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}:{value:t.value}:{value:"```"+t.language+"\n"+t.value+"\n```\n"};var r}function br(t){if(t)return Array.isArray(t)?t.map(gr):[gr(t)]}var mr=class{constructor(t){this._worker=t}provideDocumentHighlights(t,r,n){const e=t.uri;return this._worker(e).then((t=>t.findDocumentHighlights(e.toString(),ar(r)))).then((t=>{if(t)return t.map((t=>({range:hr(t.range),kind:wr(t.kind)})))}))}};function wr(t){switch(t){case _t.Read:return u.languages.DocumentHighlightKind.Read;case _t.Write:return u.languages.DocumentHighlightKind.Write;case _t.Text:return u.languages.DocumentHighlightKind.Text}return u.languages.DocumentHighlightKind.Text}var kr=class{constructor(t){this._worker=t}provideDefinition(t,r,n){const e=t.uri;return this._worker(e).then((t=>t.findDefinition(e.toString(),ar(r)))).then((t=>{if(t)return[pr(t)]}))}};function pr(t){return{uri:u.Uri.parse(t.uri),range:hr(t.range)}}var jr=class{constructor(t){this._worker=t}provideReferences(t,r,n,e){const i=t.uri;return this._worker(i).then((t=>t.findReferences(i.toString(),ar(r)))).then((t=>{if(t)return t.map(pr)}))}},xr=class{constructor(t){this._worker=t}provideRenameEdits(t,r,n,e){const i=t.uri;return this._worker(i).then((t=>t.doRename(i.toString(),ar(r),n))).then((t=>function(t){if(!t||!t.changes)return;let r=[];for(let n in t.changes){const e=u.Uri.parse(n);for(let i of t.changes[n])r.push({resource:e,versionId:void 0,textEdit:{range:hr(i.range),text:i.newText}})}return{edits:r}}(t)))}},Sr=class{constructor(t){this._worker=t}provideDocumentSymbols(t,r){const n=t.uri;return this._worker(n).then((t=>t.findDocumentSymbols(n.toString()))).then((t=>{if(t)return t.map((t=>({name:t.name,detail:"",containerName:t.containerName,kind:Ir(t.kind),range:hr(t.location.range),selectionRange:hr(t.location.range),tags:[]})))}))}};function Ir(t){let r=u.languages.SymbolKind;switch(t){case Nt.File:return r.Array;case Nt.Module:return r.Module;case Nt.Namespace:return r.Namespace;case Nt.Package:return r.Package;case Nt.Class:return r.Class;case Nt.Method:return r.Method;case Nt.Property:return r.Property;case Nt.Field:return r.Field;case Nt.Constructor:return r.Constructor;case Nt.Enum:return r.Enum;case Nt.Interface:return r.Interface;case Nt.Function:return r.Function;case Nt.Variable:return r.Variable;case Nt.Constant:return r.Constant;case Nt.String:return r.String;case Nt.Number:return r.Number;case Nt.Boolean:return r.Boolean;case Nt.Array:return r.Array}return r.Function}var yr=class{constructor(t){this._worker=t}provideLinks(t,r){const n=t.uri;return this._worker(n).then((t=>t.findDocumentLinks(n.toString()))).then((t=>{if(t)return{links:t.map((t=>({range:hr(t.range),url:t.target})))}}))}},Tr=class{constructor(t){this._worker=t}provideDocumentFormattingEdits(t,r,n){const e=t.uri;return this._worker(e).then((t=>t.format(e.toString(),null,Or(r)).then((t=>{if(t&&0!==t.length)return t.map(dr)}))))}},Er=class{constructor(t){this._worker=t}canFormatMultipleRanges=!1;provideDocumentRangeFormattingEdits(t,r,n,e){const i=t.uri;return this._worker(i).then((t=>t.format(i.toString(),fr(r),Or(n)).then((t=>{if(t&&0!==t.length)return t.map(dr)}))))}};function Or(t){return{tabSize:t.tabSize,insertSpaces:t.insertSpaces}}var Cr,_r=class{constructor(t){this._worker=t}provideDocumentColors(t,r){const n=t.uri;return this._worker(n).then((t=>t.findDocumentColors(n.toString()))).then((t=>{if(t)return t.map((t=>({color:t.color,range:hr(t.range)})))}))}provideColorPresentations(t,r,n){const e=t.uri;return this._worker(e).then((t=>t.getColorPresentations(e.toString(),r.color,fr(r.range)))).then((t=>{if(t)return t.map((t=>{let r={label:t.label};return t.textEdit&&(r.textEdit=dr(t.textEdit)),t.additionalTextEdits&&(r.additionalTextEdits=t.additionalTextEdits.map(dr)),r}))}))}},Dr=class{constructor(t){this._worker=t}provideFoldingRanges(t,r,n){const e=t.uri;return this._worker(e).then((t=>t.getFoldingRanges(e.toString(),r))).then((t=>{if(t)return t.map((t=>{const r={start:t.startLine+1,end:t.endLine+1};return void 0!==t.kind&&(r.kind=function(t){switch(t){case y.Comment:return u.languages.FoldingRangeKind.Comment;case y.Imports:return u.languages.FoldingRangeKind.Imports;case y.Region:return u.languages.FoldingRangeKind.Region}}(t.kind)),r}))}))}},Rr=class{constructor(t){this._worker=t}provideSelectionRanges(t,r,n){const e=t.uri;return this._worker(e).then((t=>t.getSelectionRanges(e.toString(),r.map(ar)))).then((t=>{if(t)return t.map((t=>{const r=[];for(;t;)r.push({range:hr(t.range)}),t=t.parent;return r}))}))}};function Nr(t){return 32===t||9===t||11===t||12===t||160===t||5760===t||t>=8192&&t<=8203||8239===t||8287===t||12288===t||65279===t}function Lr(t){return 10===t||13===t||8232===t||8233===t}function Wr(t){return t>=48&&t<=57}(Cr||(Cr={})).DEFAULT={allowTrailingComma:!1};var Ar=function(t,r){void 0===r&&(r=!1);var n=t.length,e=0,i="",o=0,u=16,s=0,c=0,a=0,f=0,h=0;function v(r,n){for(var i=0,o=0;i=48&&u<=57)o=16*o+u-48;else if(u>=65&&u<=70)o=16*o+u-65+10;else{if(!(u>=97&&u<=102))break;o=16*o+u-97+10}e++,i++}return i=n)return o=n,u=17;var r=t.charCodeAt(e);if(Nr(r)){do{e++,i+=String.fromCharCode(r),r=t.charCodeAt(e)}while(Nr(r));return u=15}if(Lr(r))return e++,i+=String.fromCharCode(r),13===r&&10===t.charCodeAt(e)&&(e++,i+="\n"),s++,a=e,u=14;switch(r){case 123:return e++,u=1;case 125:return e++,u=2;case 91:return e++,u=3;case 93:return e++,u=4;case 58:return e++,u=6;case 44:return e++,u=5;case 34:return e++,i=function(){for(var r="",i=e;;){if(e>=n){r+=t.substring(i,e),h=2;break}var o=t.charCodeAt(e);if(34===o){r+=t.substring(i,e),e++;break}if(92!==o){if(o>=0&&o<=31){if(Lr(o)){r+=t.substring(i,e),h=2;break}h=6}e++}else{if(r+=t.substring(i,e),++e>=n){h=2;break}switch(t.charCodeAt(e++)){case 34:r+='"';break;case 92:r+="\\";break;case 47:r+="/";break;case 98:r+="\b";break;case 102:r+="\f";break;case 110:r+="\n";break;case 114:r+="\r";break;case 116:r+="\t";break;case 117:var u=v(4,!0);u>=0?r+=String.fromCharCode(u):h=4;break;default:h=5}i=e}}return r}(),u=10;case 47:var d=e-1;if(47===t.charCodeAt(e+1)){for(e+=2;e=12&&t<=15);return t}:d,getToken:function(){return u},getTokenValue:function(){return i},getTokenOffset:function(){return o},getTokenLength:function(){return e-o},getTokenStartLine:function(){return c},getTokenStartCharacter:function(){return o-f},getTokenError:function(){return h}}};var Mr="delimiter.bracket.json",zr="delimiter.array.json",Fr="delimiter.colon.json",Pr="delimiter.comma.json",qr="keyword.json",Ur="keyword.json",Hr="string.value.json",Vr="number.json",$r="string.key.json",Br="comment.block.json",Gr="comment.line.json",Jr=class{constructor(t,r){this.parent=t,this.type=r}static pop(t){return t?t.parent:null}static push(t,r){return new Jr(t,r)}static equals(t,r){if(!t&&!r)return!0;if(!t||!r)return!1;for(;t&&r;){if(t===r)return!0;if(t.type!==r.type)return!1;t=t.parent,r=r.parent}return!0}},Kr=class{_state;scanError;lastWasColon;parents;constructor(t,r,n,e){this._state=t,this.scanError=r,this.lastWasColon=n,this.parents=e}clone(){return new Kr(this._state,this.scanError,this.lastWasColon,this.parents)}equals(t){return t===this||!!(t&&t instanceof Kr)&&this.scanError===t.scanError&&this.lastWasColon===t.lastWasColon&&Jr.equals(this.parents,t.parents)}getStateData(){return this._state}setStateData(t){this._state=t}},Qr=class extends ur{constructor(t,r,n){super(t,r,n.onDidChange),this._disposables.push(u.editor.onWillDisposeModel((t=>{this._resetSchema(t.uri)}))),this._disposables.push(u.editor.onDidChangeModelLanguage((t=>{this._resetSchema(t.model.uri)})))}_resetSchema(t){this._worker().then((r=>{r.resetSchema(t.toString())}))}};function Xr(t){const r=[],n=[],e=new nt(t);r.push(e);const i=(...t)=>e.getLanguageServiceWorker(...t);function o(){const{languageId:r,modeConfiguration:e}=t;var o;Zr(n),e.documentFormattingEdits&&n.push(u.languages.registerDocumentFormattingEditProvider(r,new Tr(i))),e.documentRangeFormattingEdits&&n.push(u.languages.registerDocumentRangeFormattingEditProvider(r,new Er(i))),e.completionItems&&n.push(u.languages.registerCompletionItemProvider(r,new cr(i,[" ",":",'"']))),e.hovers&&n.push(u.languages.registerHoverProvider(r,new lr(i))),e.documentSymbols&&n.push(u.languages.registerDocumentSymbolProvider(r,new Sr(i))),e.tokens&&n.push(u.languages.setTokensProvider(r,(o=!0,{getInitialState:()=>new Kr(null,null,!1,null),tokenize:(t,r)=>function(t,r,n,e=0){let i=0,o=!1;switch(n.scanError){case 2:r='"'+r,i=1;break;case 1:r="/*"+r,i=2}const u=Ar(r);let s=n.lastWasColon,c=n.parents;const a={tokens:[],endState:n.clone()};for(;;){let f=e+u.getPosition(),h="";const v=u.scan();if(17===v)break;if(f===e+u.getPosition())throw new Error("Scanner did not advance, next 3 characters are: "+r.substr(u.getPosition(),3));switch(o&&(f-=i),o=i>0,v){case 1:c=Jr.push(c,0),h=Mr,s=!1;break;case 2:c=Jr.pop(c),h=Mr,s=!1;break;case 3:c=Jr.push(c,1),h=zr,s=!1;break;case 4:c=Jr.pop(c),h=zr,s=!1;break;case 6:h=Fr,s=!0;break;case 5:h=Pr,s=!1;break;case 8:case 9:h=qr,s=!1;break;case 7:h=Ur,s=!1;break;case 10:h=s||1===(c?c.type:0)?Hr:$r,s=!1;break;case 11:h=Vr,s=!1}if(t)switch(v){case 12:h=Gr;break;case 13:h=Br}a.endState=new Kr(n.getStateData(),u.getTokenError(),s,c),a.tokens.push({startIndex:f,scopes:h})}return a}(o,t,r)}))),e.colors&&n.push(u.languages.registerColorProvider(r,new _r(i))),e.foldingRanges&&n.push(u.languages.registerFoldingRangeProvider(r,new Dr(i))),e.diagnostics&&n.push(new Qr(r,i,t)),e.selectionRanges&&n.push(u.languages.registerSelectionRangeProvider(r,new Rr(i)))}o(),r.push(u.languages.setLanguageConfiguration(t.languageId,tn));let s=t.modeConfiguration;return t.onDidChange((t=>{t.modeConfiguration!==s&&(s=t.modeConfiguration,o())})),r.push(Yr(n)),Yr(r)}function Yr(t){return{dispose:()=>Zr(t)}}function Zr(t){for(;t.length;)t.pop().dispose()}var tn={wordPattern:/(-?\d*\.\d\w*)|([^\[\{\]\}\:\"\,\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string"]},{open:"[",close:"]",notIn:["string"]},{open:'"',close:'"',notIn:["string"]}]};export{cr as CompletionAdapter,kr as DefinitionAdapter,ur as DiagnosticsAdapter,_r as DocumentColorAdapter,Tr as DocumentFormattingEditProvider,mr as DocumentHighlightAdapter,yr as DocumentLinkAdapter,Er as DocumentRangeFormattingEditProvider,Sr as DocumentSymbolAdapter,Dr as FoldingRangeAdapter,lr as HoverAdapter,jr as ReferenceAdapter,xr as RenameAdapter,Rr as SelectionRangeAdapter,nt as WorkerManager,ar as fromPosition,fr as fromRange,Xr as setupMode,hr as toRange,dr as toTextEdit} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-4d8d77e9.js b/www/js/zui3/zen-editor/p-4d8d77e9.js new file mode 100644 index 0000000000..8aa6416296 --- /dev/null +++ b/www/js/zui3/zen-editor/p-4d8d77e9.js @@ -0,0 +1,7 @@ +import{m as e}from"./p-01de9657.js";import"./p-7900c24a.js"; +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,m,r)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let c of o(a))i.call(e,c)||c===m||t(e,c,{get:()=>a[c],enumerable:!(r=n(a,c))||r.enumerable});return e},m={};a(m,e,"default");var r={comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["<",">"]],autoClosingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],surroundingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],onEnterRules:[{beforeText:new RegExp("<([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:m.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:m.languages.IndentAction.Indent}}]},c={defaultToken:"",tokenPostfix:".xml",ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,""],{include:"@whitespace"},[/(<)(@qualifiedName)/,[{token:"delimiter"},{token:"tag",next:"@tag"}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:"delimiter"},{token:"tag"},"",{token:"delimiter"}]],[/(<\?)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/(<\!)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/<\!\[CDATA\[/,{token:"delimiter.cdata",next:"@cdata"}],[/&\w+;/,"string.escape"]],cdata:[[/[^\]]+/,""],[/\]\]>/,{token:"delimiter.cdata",next:"@pop"}],[/\]/,""]],tag:[[/[ \t\r\n]+/,""],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,["attribute.name","","attribute.value"]],[/@qualifiedName/,"attribute.name"],[/\?>/,{token:"delimiter",next:"@pop"}],[/(\/)(>)/,[{token:"tag"},{token:"delimiter",next:"@pop"}]],[/>/,{token:"delimiter",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[//,{token:"comment",next:"@pop"}],[//,{relevance:10}),{begin://,relevance:10},n,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[s]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[r],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[r],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:r}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}})),Qi.registerLanguage("yaml",qt);const li=Object.freeze({__proto__:null,lowlight:Qi}),hi=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,Mi=R.create({name:"image",addOptions:()=>({inline:!1,allowBase64:!1,HTMLAttributes:{}}),inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes:()=>({src:{default:null},alt:{default:null},title:{default:null}}),parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:A}){return["img",l(this.options.HTMLAttributes,A)]},addCommands(){return{setImage:A=>({commands:e})=>e.insertContent({type:this.name,attrs:A})}},addInputRules(){return[Y({find:hi,type:this.type,getAttributes:A=>{const[,,e,t,n]=A;return{src:t,alt:e,title:n}}})]}}),wi="aaa1rp3barth4b0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0faromeo7ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4vianca6w0s2x0a2z0ure5ba0by2idu3namex3narepublic11d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re2s2c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y0eats7k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0cast4mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking0channel11l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dabur3d1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t0isalat7u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0at2delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d0network8tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntdoor4ier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0ardian6cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5gtv3iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0eles2s3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1nder2le4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster5ia3d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4de2k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0cys3drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7serati6ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic3tual5v1w1x1y1z2na0b1goya4me2tura4vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rthwesternmutual14on4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9dnavy5lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3ssagens7y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cher3ks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0a1b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp2w2ell3ia1ksha5oes2p0ping5uji3w0time7i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ffany5ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0channel7ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lkswagen7vo3te1ing3o2yage5u0elos6wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4finity6ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",Ri="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5تصالات6رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",Ii=(A,e)=>{for(const t in e)A[t]=e[t];return A},ui="numeric",di="ascii",Gi="alpha",Ci="asciinumeric",ki="alphanumeric",Di="domain",Fi="emoji",Yi="scheme",Ui="slashscheme",fi="whitespace";function Ni(A,e){return A in e||(e[A]=[]),e[A]}function Si(A,e,t){e[ui]&&(e[Ci]=!0,e[ki]=!0),e[di]&&(e[Ci]=!0,e[Gi]=!0),e[Ci]&&(e[ki]=!0),e[Gi]&&(e[ki]=!0),e[ki]&&(e[Di]=!0),e[Fi]&&(e[Di]=!0);for(const n in e){const e=Ni(n,t);e.indexOf(A)<0&&e.push(A)}}function mi(A){void 0===A&&(A=null),this.j={},this.jr=[],this.jd=null,this.t=A}mi.groups={},mi.prototype={accepts(){return!!this.t},go(A){const e=this,t=e.j[A];if(t)return t;for(let t=0;t=0&&(t[n]=!0);return t}(E.t,n),t);Si(B,A,n)}else t&&Si(B,t,n);E.t=B}return i.j[A]=E,E}};const yi=(A,e,t,n,i)=>A.ta(e,t,n,i),bi=(A,e,t,n,i)=>A.tr(e,t,n,i),Hi=(A,e,t,n,i)=>A.ts(e,t,n,i),Ti=(A,e,t,n,i)=>A.tt(e,t,n,i),zi="WORD",xi="UWORD",pi="LOCALHOST",Ji="TLD",ji="UTLD",Zi="SCHEME",Pi="SLASH_SCHEME",Vi="NUM",Li="WS",vi="NL",Oi="OPENBRACE",_i="OPENBRACKET",Ki="OPENANGLEBRACKET",Wi="OPENPAREN",Xi="CLOSEBRACE",qi="CLOSEBRACKET",$i="CLOSEANGLEBRACKET",AB="CLOSEPAREN",eB="AMPERSAND",tB="APOSTROPHE",nB="ASTERISK",iB="AT",BB="BACKSLASH",EB="BACKTICK",sB="CARET",rB="COLON",oB="COMMA",cB="DOLLAR",gB="DOT",aB="EQUALS",QB="EXCLAMATION",lB="HYPHEN",hB="PERCENT",MB="PIPE",wB="PLUS",RB="POUND",IB="QUERY",uB="QUOTE",dB="SEMI",GB="SLASH",CB="TILDE",kB="UNDERSCORE",DB="EMOJI",FB="SYM";var YB=Object.freeze({__proto__:null,WORD:zi,UWORD:xi,LOCALHOST:pi,TLD:Ji,UTLD:ji,SCHEME:Zi,SLASH_SCHEME:Pi,NUM:Vi,WS:Li,NL:vi,OPENBRACE:Oi,OPENBRACKET:_i,OPENANGLEBRACKET:Ki,OPENPAREN:Wi,CLOSEBRACE:Xi,CLOSEBRACKET:qi,CLOSEANGLEBRACKET:$i,CLOSEPAREN:AB,AMPERSAND:eB,APOSTROPHE:tB,ASTERISK:nB,AT:iB,BACKSLASH:BB,BACKTICK:EB,CARET:sB,COLON:rB,COMMA:oB,DOLLAR:cB,DOT:gB,EQUALS:aB,EXCLAMATION:QB,HYPHEN:lB,PERCENT:hB,PIPE:MB,PLUS:wB,POUND:RB,QUERY:IB,QUOTE:uB,SEMI:dB,SLASH:GB,TILDE:CB,UNDERSCORE:kB,EMOJI:DB,SYM:FB});const UB=/[a-z]/,fB=/\p{L}/u,NB=/\p{Emoji}/u,SB=/\d/,mB=/\s/,yB="\n",bB="️",HB="‍";let TB=null,zB=null;function xB(A,e,t,n,i){let B;const E=e.length;for(let t=0;t=0;)i++;if(i>0){e.push(t.join(""));for(let e=parseInt(A.substring(n,n+i),10);e>0;e--)t.pop();n+=i}else t.push(A[n]),n++}return e}const JB={defaultProtocol:"http",events:null,format:ZB,formatHref:ZB,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function jB(A,e){void 0===e&&(e=null);let t=Ii({},JB);A&&(t=Ii(t,A instanceof jB?A.o:A));const n=t.ignoreTags,i=[];for(let A=0;AA,check(A){return this.get("validate",A.toString(),A)},get(A,e,t){const n=null!=e;let i=this.o[A];return i?("object"==typeof i?(i=t.t in i?i[t.t]:JB[A],"function"==typeof i&&n&&(i=i(e,t))):"function"==typeof i&&n&&(i=i(e,t.t,t)),i):i},getObj(A,e,t){let n=this.o[A];return"function"==typeof n&&null!=e&&(n=n(e,t.t,t)),n},render(A){const e=A.render(this);return(this.get("render",null,A)||this.defaultRender)(e,A.t,A)}},PB.prototype={isLink:!1,toString(){return this.v},toHref(A){return this.toString()},toFormattedString(A){const e=this.toString(),t=A.get("truncate",e,this),n=A.get("format",e,this);return t&&n.length>t?n.substring(0,t)+"…":n},toFormattedHref(A){return A.get("formatHref",this.toHref(A.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(A){return void 0===A&&(A=JB.defaultProtocol),{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(A),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(A){return{type:this.t,value:this.toFormattedString(A),isLink:this.isLink,href:this.toFormattedHref(A),start:this.startIndex(),end:this.endIndex()}},validate(A){return A.get("validate",this.toString(),this)},render(A){const e=this,t=this.toHref(A.get("defaultProtocol")),n=A.get("formatHref",t,this),i=A.get("tagName",t,e),B=this.toFormattedString(A),E={},s=A.get("className",t,e),r=A.get("target",t,e),o=A.get("rel",t,e),c=A.getObj("attributes",t,e),g=A.getObj("events",t,e);return E.href=n,s&&(E.class=s),r&&(E.target=r),o&&(E.rel=o),c&&Ii(E,c),{tagName:i,attributes:E,content:B,eventListeners:g}}};const LB=VB("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),vB=VB("text"),OB=VB("nl"),_B=VB("url",{isLink:!0,toHref(A){return void 0===A&&(A=JB.defaultProtocol),this.hasProtocol()?this.v:`${A}://${this.v}`},hasProtocol(){const A=this.tk;return A.length>=2&&A[0].t!==pi&&A[1].t===rB}}),KB=A=>new mi(A);function WB(A,e,t){return new A(e.slice(t[0].s,t[t.length-1].e),t)}const XB="undefined"!=typeof console&&console&&console.warn||(()=>{}),qB={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function $B(A,e){if(void 0===e&&(e=!1),qB.initialized&&XB(`linkifyjs: already initialized - will not register custom scheme "${A}" until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(A))throw new Error('linkifyjs: incorrect scheme format.\n 1. Must only contain digits, lowercase ASCII letters or "-"\n 2. Cannot start or end with "-"\n 3. "-" cannot repeat');qB.customSchemes.push([A,e])}function AE(A){return qB.initialized||function(){qB.scanner=function(A){void 0===A&&(A=[]);const e={};mi.groups=e;const t=new mi;null==TB&&(TB=pB(wi)),null==zB&&(zB=pB(Ri)),Ti(t,"'",tB),Ti(t,"{",Oi),Ti(t,"[",_i),Ti(t,"<",Ki),Ti(t,"(",Wi),Ti(t,"}",Xi),Ti(t,"]",qi),Ti(t,">",$i),Ti(t,")",AB),Ti(t,"&",eB),Ti(t,"*",nB),Ti(t,"@",iB),Ti(t,"`",EB),Ti(t,"^",sB),Ti(t,":",rB),Ti(t,",",oB),Ti(t,"$",cB),Ti(t,".",gB),Ti(t,"=",aB),Ti(t,"!",QB),Ti(t,"-",lB),Ti(t,"%",hB),Ti(t,"|",MB),Ti(t,"+",wB),Ti(t,"#",RB),Ti(t,"?",IB),Ti(t,'"',uB),Ti(t,"/",GB),Ti(t,";",dB),Ti(t,"~",CB),Ti(t,"_",kB),Ti(t,"\\",BB);const n=bi(t,SB,Vi,{[ui]:!0});bi(n,SB,n);const i=bi(t,UB,zi,{[di]:!0});bi(i,UB,i);const B=bi(t,fB,xi,{[Gi]:!0});bi(B,UB),bi(B,fB,B);const E=bi(t,mB,Li,{[fi]:!0});Ti(t,yB,vi,{[fi]:!0}),Ti(E,yB),bi(E,mB,E);const s=bi(t,NB,DB,{[Fi]:!0});bi(s,NB,s),Ti(s,bB,s);const r=Ti(s,HB);bi(r,NB,s);const o=[[UB,i]],c=[[UB,null],[fB,B]];for(let A=0;AA[0]>e[0]?1:-1));for(let e=0;e=0?i[Di]=!0:UB.test(n)?SB.test(n)?i[Ci]=!0:i[di]=!0:i[ui]=!0,Hi(t,n,n,i)}return Hi(t,"localhost",pi,{ascii:!0}),t.jd=new mi(FB),{start:t,tokens:Ii({groups:e},YB)}}(qB.customSchemes);for(let A=0;A=0&&a++,i++,c++;if(a<0)i-=c,i0&&(B.push(WB(vB,e,E)),E=[]),i-=a,c-=a;const A=g.t,n=t.slice(i-c,i);B.push(WB(A,e,n))}}return E.length>0&&B.push(WB(vB,e,E)),B}(qB.parser.start,A,function(A,e){const t=function(A){const e=[],t=A.length;let n=0;for(;n56319||n+1===t||(i=A.charCodeAt(n+1))<56320||i>57343?A[n]:A.slice(n,n+2);e.push(E),n+=E.length}return e}(e.replace(/[A-Z]/g,(A=>A.toLowerCase()))),n=t.length,i=[];let B=0,E=0;for(;E=0&&(g+=t[E].length,a++),o+=t[E].length,B+=t[E].length,E++;B-=g,E-=a,o-=g,i.push({t:c.t,v:e.slice(B-o,B),s:B-o,e:B})}return i}(qB.scanner.start,A))}function eE(A,e,t){if(void 0===e&&(e=null),void 0===t&&(t=null),e&&"object"==typeof e){if(t)throw Error(`linkifyjs: Invalid link type ${e}; must be a string`);t=e,e=null}const n=new jB(t),i=AE(A),B=[];for(let A=0;A{"string"!=typeof A?$B(A.scheme,A.optionalSlashes):$B(A)}))},onDestroy(){mi.groups={},qB.scanner=null,qB.parser=null,qB.tokenQueue=[],qB.pluginQueue=[],qB.customSchemes=[],qB.initialized=!1},inclusive(){return this.options.autolink},addOptions:()=>({openOnClick:!0,linkOnPaste:!0,autolink:!0,protocols:[],HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},validate:void 0}),addAttributes(){return{href:{default:null},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML:()=>[{tag:'a[href]:not([href *= "javascript:" i])'}],renderHTML({HTMLAttributes:A}){var e;return(null===(e=A.href)||void 0===e?void 0:e.startsWith("javascript:"))?["a",l(this.options.HTMLAttributes,{...A,href:""}),0]:["a",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setLink:A=>({chain:e})=>e().setMark(this.name,A).setMeta("preventAutolink",!0).run(),toggleLink:A=>({chain:e})=>e().toggleMark(this.name,A,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run(),unsetLink:()=>({chain:A})=>A().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addPasteRules(){return[w({find:A=>{const e=[];if(A){const t=eE(A).filter((A=>A.isLink));t.length&&t.forEach((A=>e.push({text:A.value,data:{href:A.href},index:A.start})))}return e},type:this.type,getAttributes:A=>{var e;return{href:null===(e=A.data)||void 0===e?void 0:e.href}}})]},addProseMirrorPlugins(){const A=[];var e;return this.options.autolink&&A.push((e={type:this.type,validate:this.options.validate},new E({key:new s("autolink"),appendTransaction:(A,t,n)=>{const i=A.some((A=>A.docChanged))&&!t.doc.eq(n.doc),B=A.some((A=>A.getMeta("preventAutolink")));if(!i||B)return;const{tr:E}=n,s=U(t.doc,[...A]);return f(s).forEach((({newRange:A})=>{const t=N(n.doc,A,(A=>A.isTextblock));let i,B;if(t.length>1?(i=t[0],B=n.doc.textBetween(i.pos,i.pos+i.node.nodeSize,void 0," ")):t.length&&n.doc.textBetween(A.from,A.to," "," ").endsWith(" ")&&(i=t[0],B=n.doc.textBetween(i.pos,A.to,void 0," ")),i&&B){const A=B.split(" ").filter((A=>""!==A));if(A.length<=0)return!1;const t=A[A.length-1],r=i.pos+B.lastIndexOf(t);if(!t)return!1;const o=AE(t).map((A=>A.toObject()));if(!(1===(s=o).length?s[0].isLink:3===s.length&&s[1].isLink&&["()","[]"].includes(s[0].value+s[2].value)))return!1;o.filter((A=>A.isLink)).map((A=>({...A,from:r+A.start+1,to:r+A.end+1}))).filter((A=>!n.schema.marks.code||!n.doc.rangeHasMark(A.from,A.to,n.schema.marks.code))).filter((A=>!e.validate||e.validate(A.value))).forEach((A=>{S(A.from,A.to,n.doc).some((A=>A.mark.type===e.type))||E.addMark(A.from,A.to,e.type.create({href:A.href}))}))}var s})),E.steps.length?E:void 0}}))),this.options.openOnClick&&A.push(function(A){return new E({key:new s("handleClickLink"),props:{handleClick:(e,t,n)=>{var i,B;if(A.whenNotEditable&&e.editable)return!1;if(0!==n.button)return!1;let E=n.target;const s=[];for(;"DIV"!==E.nodeName;)s.push(E),E=E.parentNode;if(!s.find((A=>"A"===A.nodeName)))return!1;const r=m(e.state,A.type.name),o=n.target,c=null!==(i=null==o?void 0:o.href)&&void 0!==i?i:r.href,g=null!==(B=null==o?void 0:o.target)&&void 0!==B?B:r.target;return!(!o||!c||(window.open(c,g),0))}}})}({type:this.type,whenNotEditable:"whenNotEditable"===this.options.openOnClick})),this.options.linkOnPaste&&A.push(function(A){return new E({key:new s("handlePasteLink"),props:{handlePaste:(e,t,n)=>{const{state:i}=e,{selection:B}=i,{empty:E}=B;if(E)return!1;let s="";n.content.forEach((A=>{s+=A.textContent}));const r=eE(s).find((A=>A.isLink&&A.value===s));return!(!s||!r||(A.editor.commands.setMark(A.type,{href:r.href}),0))}}})}({editor:this.editor,type:this.type})),A}}),nE=Q.create({name:"superscript",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"sup"},{style:"vertical-align",getAttrs:A=>"super"===A&&null}],renderHTML({HTMLAttributes:A}){return["sup",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setSuperscript:()=>({commands:A})=>A.setMark(this.name),toggleSuperscript:()=>({commands:A})=>A.toggleMark(this.name),unsetSuperscript:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-.":()=>this.editor.commands.toggleSuperscript()}}}),iE=Q.create({name:"subscript",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"sub"},{style:"vertical-align",getAttrs:A=>"sub"===A&&null}],renderHTML({HTMLAttributes:A}){return["sub",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setSubscript:()=>({commands:A})=>A.setMark(this.name),toggleSubscript:()=>({commands:A})=>A.toggleMark(this.name),unsetSubscript:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-,":()=>this.editor.commands.toggleSubscript()}}}),BE=r.create({name:"textAlign",addOptions:()=>({types:[],alignments:["left","center","right","justify"],defaultAlignment:"left"}),addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:A=>A.style.textAlign||this.options.defaultAlignment,renderHTML:A=>A.textAlign===this.options.defaultAlignment?{}:{style:`text-align: ${A.textAlign}`}}}}]},addCommands(){return{setTextAlign:A=>({commands:e})=>!!this.options.alignments.includes(A)&&this.options.types.every((t=>e.updateAttributes(t,{textAlign:A}))),unsetTextAlign:()=>({commands:A})=>this.options.types.every((e=>A.resetAttributes(e,"textAlign")))}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),EE=r.create({name:"placeholder",addOptions:()=>({emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",placeholder:"Write something …",showOnlyWhenEditable:!0,considerAnyAsEmpty:!1,showOnlyCurrent:!0,includeChildren:!1}),addProseMirrorPlugins(){return[new E({key:new s("placeholder"),props:{decorations:({doc:A,selection:e})=>{var t;const n=this.editor.isEditable||!this.options.showOnlyWhenEditable,{anchor:i}=e,B=[];if(!n)return null;const{firstChild:E}=A.content,s=!!this.options.considerAnyAsEmpty||E&&E.type.name===(null===(t=A.type.contentMatch.defaultType)||void 0===t?void 0:t.name),r=A.content.childCount<=1&&E&&s&&E.nodeSize<=2&&(!(E&&E.type.isLeaf)||!(E&&E.isAtom));return A.descendants(((A,e)=>{const t=i>=e&&i<=e+A.nodeSize;if((t||!this.options.showOnlyCurrent)&&!A.isLeaf&&!A.childCount){const n=[this.options.emptyNodeClass];r&&n.push(this.options.emptyEditorClass);const i=F.node(e,e+A.nodeSize,{class:n.join(" "),"data-placeholder":"function"==typeof this.options.placeholder?this.options.placeholder({editor:this.editor,node:A,pos:e,hasAnchor:t}):this.options.placeholder});B.push(i)}return this.options.includeChildren})),k.create(A,B)}}})]}}),sE=Q.create({name:"underline",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:A=>!!A.includes("underline")&&{}}],renderHTML({HTMLAttributes:A}){return["u",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setUnderline:()=>({commands:A})=>A.setMark(this.name),toggleUnderline:()=>({commands:A})=>A.toggleMark(this.name),unsetUnderline:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),rE=r.create({name:"color",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:A=>{var e;return null===(e=A.style.color)||void 0===e?void 0:e.replace(/['"]+/g,"")},renderHTML:A=>A.color?{style:`color: ${A.color}`}:{}}}}]},addCommands:()=>({setColor:A=>({chain:e})=>e().setMark("textStyle",{color:A}).run(),unsetColor:()=>({chain:A})=>A().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()})}),oE=r.create({name:"fontFamily",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{fontFamily:{default:null,parseHTML:A=>{var e;return null===(e=A.style.fontFamily)||void 0===e?void 0:e.replace(/['"]+/g,"")},renderHTML:A=>A.fontFamily?{style:`font-family: ${A.fontFamily.split(",").map((A=>CSS.escape(A.trim()))).join(", ")}`}:{}}}}]},addCommands:()=>({setFontFamily:A=>({chain:e})=>e().setMark("textStyle",{fontFamily:A}).run(),unsetFontFamily:()=>({chain:A})=>A().setMark("textStyle",{fontFamily:null}).removeEmptyTextStyle().run()})}),cE=/^\s*>\s$/,gE=R.create({name:"blockquote",addOptions:()=>({HTMLAttributes:{}}),content:"block+",group:"block",defining:!0,parseHTML:()=>[{tag:"blockquote"}],renderHTML({HTMLAttributes:A}){return["blockquote",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setBlockquote:()=>({commands:A})=>A.wrapIn(this.name),toggleBlockquote:()=>({commands:A})=>A.toggleWrap(this.name),unsetBlockquote:()=>({commands:A})=>A.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[I({find:cE,type:this.type})]}}),aE=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,QE=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,lE=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,hE=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,ME=Q.create({name:"bold",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"strong"},{tag:"b",getAttrs:A=>"normal"!==A.style.fontWeight&&null},{style:"font-weight",getAttrs:A=>/^(bold(er)?|[5-9]\d{2,})$/.test(A)&&null}],renderHTML({HTMLAttributes:A}){return["strong",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setBold:()=>({commands:A})=>A.setMark(this.name),toggleBold:()=>({commands:A})=>A.toggleMark(this.name),unsetBold:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[h({find:aE,type:this.type}),h({find:lE,type:this.type})]},addPasteRules(){return[w({find:QE,type:this.type}),w({find:hE,type:this.type})]}}),wE=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:A}){return["li",l(this.options.HTMLAttributes,A),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),RE=Q.create({name:"textStyle",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"span",getAttrs:A=>!!A.hasAttribute("style")&&{}}],renderHTML({HTMLAttributes:A}){return["span",l(this.options.HTMLAttributes,A),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:A,commands:e})=>{const t=d(A,this.type);return!!Object.entries(t).some((([,A])=>!!A))||e.unsetMark(this.name)}}}}),IE=/^\s*([-+*])\s$/,uE=R.create({name:"bulletList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML:()=>[{tag:"ul"}],renderHTML({HTMLAttributes:A}){return["ul",l(this.options.HTMLAttributes,A),0]},addCommands(){return{toggleBulletList:()=>({commands:A,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(wE.name,this.editor.getAttributes(RE.name)).run():A.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let A=I({find:IE,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(A=I({find:IE,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(RE.name),editor:this.editor})),[A]}}),dE=/(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))$/,GE=/(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))/g,CE=Q.create({name:"code",addOptions:()=>({HTMLAttributes:{}}),excludes:"_",code:!0,exitable:!0,parseHTML:()=>[{tag:"code"}],renderHTML({HTMLAttributes:A}){return["code",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setCode:()=>({commands:A})=>A.setMark(this.name),toggleCode:()=>({commands:A})=>A.toggleMark(this.name),unsetCode:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[h({find:dE,type:this.type})]},addPasteRules(){return[w({find:GE,type:this.type})]}}),kE=R.create({name:"doc",topNode:!0,content:"block+"});function DE(A={}){return new E({view:e=>new FE(e,A)})}class FE{constructor(A,e){var t;this.editorView=A,this.cursorPos=null,this.element=null,this.timeout=-1,this.width=null!==(t=e.width)&&void 0!==t?t:1,this.color=!1===e.color?void 0:e.color||"black",this.class=e.class,this.handlers=["dragover","dragend","drop","dragleave"].map((e=>{let t=A=>{this[e](A)};return A.dom.addEventListener(e,t),{name:e,handler:t}}))}destroy(){this.handlers.forEach((({name:A,handler:e})=>this.editorView.dom.removeEventListener(A,e)))}update(A,e){null!=this.cursorPos&&e.doc!=A.state.doc&&(this.cursorPos>A.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(A){A!=this.cursorPos&&(this.cursorPos=A,null==A?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let A,e=this.editorView.state.doc.resolve(this.cursorPos),t=!e.parent.inlineContent;if(t){let t=e.nodeBefore,n=e.nodeAfter;if(t||n){let e=this.editorView.nodeDOM(this.cursorPos-(t?t.nodeSize:0));if(e){let i=e.getBoundingClientRect(),B=t?i.bottom:i.top;t&&n&&(B=(B+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2),A={left:i.left,right:i.right,top:B-this.width/2,bottom:B+this.width/2}}}}if(!A){let e=this.editorView.coordsAtPos(this.cursorPos);A={left:e.left-this.width/2,right:e.left+this.width/2,top:e.top,bottom:e.bottom}}let n,i,B=this.editorView.dom.offsetParent;if(this.element||(this.element=B.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",t),this.element.classList.toggle("prosemirror-dropcursor-inline",!t),!B||B==document.body&&"static"==getComputedStyle(B).position)n=-pageXOffset,i=-pageYOffset;else{let A=B.getBoundingClientRect();n=A.left-B.scrollLeft,i=A.top-B.scrollTop}this.element.style.left=A.left-n+"px",this.element.style.top=A.top-i+"px",this.element.style.width=A.right-A.left+"px",this.element.style.height=A.bottom-A.top+"px"}scheduleRemoval(A){clearTimeout(this.timeout),this.timeout=setTimeout((()=>this.setCursor(null)),A)}dragover(A){if(!this.editorView.editable)return;let e=this.editorView.posAtCoords({left:A.clientX,top:A.clientY}),t=e&&e.inside>=0&&this.editorView.state.doc.nodeAt(e.inside),n=t&&t.type.spec.disableDropCursor,i="function"==typeof n?n(this.editorView,e,A):n;if(e&&!i){let A=e.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let e=y(this.editorView.state.doc,A,this.editorView.dragging.slice);null!=e&&(A=e)}this.setCursor(A),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(A){A.target!=this.editorView.dom&&this.editorView.dom.contains(A.relatedTarget)||this.setCursor(null)}}const YE=r.create({name:"dropCursor",addOptions:()=>({color:"currentColor",width:1,class:void 0}),addProseMirrorPlugins(){return[DE(this.options)]}});class UE extends b{constructor(A){super(A,A)}map(A,e){let t=A.resolve(e.map(this.head));return UE.valid(t)?new UE(t):b.near(t)}content(){return H.empty}eq(A){return A instanceof UE&&A.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(A,e){if("number"!=typeof e.pos)throw new RangeError("Invalid input for GapCursor.fromJSON");return new UE(A.resolve(e.pos))}getBookmark(){return new fE(this.anchor)}static valid(A){let e=A.parent;if(e.isTextblock||!function(A){for(let e=A.depth;e>=0;e--){let t=A.index(e),n=A.node(e);if(0!=t)for(let A=n.child(t-1);;A=A.lastChild){if(0==A.childCount&&!A.inlineContent||A.isAtom||A.type.spec.isolating)return!0;if(A.inlineContent)return!1}else if(n.type.spec.isolating)return!0}return!0}(A)||!function(A){for(let e=A.depth;e>=0;e--){let t=A.indexAfter(e),n=A.node(e);if(t!=n.childCount)for(let A=n.child(t);;A=A.firstChild){if(0==A.childCount&&!A.inlineContent||A.isAtom||A.type.spec.isolating)return!0;if(A.inlineContent)return!1}else if(n.type.spec.isolating)return!0}return!0}(A))return!1;let t=e.type.spec.allowGapCursor;if(null!=t)return t;let n=e.contentMatchAt(A.index()).defaultType;return n&&n.isTextblock}static findGapCursorFrom(A,e,t=!1){A:for(;;){if(!t&&UE.valid(A))return A;let n=A.pos,i=null;for(let t=A.depth;;t--){let B=A.node(t);if(e>0?A.indexAfter(t)0){i=B.child(e>0?A.indexAfter(t):A.index(t)-1);break}if(0==t)return null;n+=e;let E=A.doc.resolve(n);if(UE.valid(E))return E}for(;;){let B=e>0?i.firstChild:i.lastChild;if(!B){if(i.isAtom&&!i.isText&&!T.isSelectable(i)){A=A.doc.resolve(n+i.nodeSize*e),t=!1;continue A}break}i=B,n+=e;let E=A.doc.resolve(n);if(UE.valid(E))return E}return null}}}UE.prototype.visible=!1,UE.findFrom=UE.findGapCursorFrom,b.jsonID("gapcursor",UE);class fE{constructor(A){this.pos=A}map(A){return new fE(A.map(this.pos))}resolve(A){let e=A.resolve(this.pos);return UE.valid(e)?new UE(e):b.near(e)}}const NE=z({ArrowLeft:SE("horiz",-1),ArrowRight:SE("horiz",1),ArrowUp:SE("vert",-1),ArrowDown:SE("vert",1)});function SE(A,e){const t="vert"==A?e>0?"down":"up":e>0?"right":"left";return function(A,n,i){let B=A.selection,E=e>0?B.$to:B.$from,s=B.empty;if(B instanceof C){if(!i.endOfTextblock(t)||0==E.depth)return!1;s=!1,E=A.doc.resolve(e>0?E.after():E.before())}let r=UE.findGapCursorFrom(E,e,s);return!!r&&(n&&n(A.tr.setSelection(new UE(r))),!0)}}function mE(A,e,t){if(!A||!A.editable)return!1;let n=A.state.doc.resolve(e);if(!UE.valid(n))return!1;let i=A.posAtCoords({left:t.clientX,top:t.clientY});return!(i&&i.inside>-1&&T.isSelectable(A.state.doc.nodeAt(i.inside))||(A.dispatch(A.state.tr.setSelection(new UE(n))),0))}function yE(A,e){if("insertCompositionText"!=e.inputType||!(A.state.selection instanceof UE))return!1;let{$from:t}=A.state.selection,n=t.parent.contentMatchAt(t.index()).findWrapping(A.state.schema.nodes.text);if(!n)return!1;let i=x.empty;for(let A=n.length-1;A>=0;A--)i=x.from(n[A].createAndFill(null,i));let B=A.state.tr.replace(t.pos,t.pos,new H(i,0,0));return B.setSelection(C.near(B.doc.resolve(t.pos+1))),A.dispatch(B),!1}function bE(A){if(!(A.selection instanceof UE))return null;let e=document.createElement("div");return e.className="ProseMirror-gapcursor",k.create(A.doc,[F.widget(A.selection.head,e,{key:"gapcursor"})])}const HE=r.create({name:"gapCursor",addProseMirrorPlugins:()=>[new E({props:{decorations:bE,createSelectionBetween:(A,e,t)=>e.pos==t.pos&&UE.valid(t)?new UE(t):null,handleClick:mE,handleKeyDown:NE,handleDOMEvents:{beforeinput:yE}}})],extendNodeSchema(A){var e;return{allowGapCursor:null!==(e=p(J(A,"allowGapCursor",{name:A.name,options:A.options,storage:A.storage})))&&void 0!==e?e:null}}}),TE=R.create({name:"hardBreak",addOptions:()=>({keepMarks:!0,HTMLAttributes:{}}),inline:!0,group:"inline",selectable:!1,parseHTML:()=>[{tag:"br"}],renderHTML({HTMLAttributes:A}){return["br",l(this.options.HTMLAttributes,A)]},renderText:()=>"\n",addCommands(){return{setHardBreak:()=>({commands:A,chain:e,state:t,editor:n})=>A.first([()=>A.exitCode(),()=>A.command((()=>{const{selection:A,storedMarks:i}=t;if(A.$from.parent.type.spec.isolating)return!1;const{keepMarks:B}=this.options,{splittableMarks:E}=n.extensionManager,s=i||A.$to.parentOffset&&A.$from.marks();return e().insertContent({type:this.name}).command((({tr:A,dispatch:e})=>{if(e&&s&&B){const e=s.filter((A=>E.includes(A.type.name)));A.ensureMarks(e)}return!0})).run()}))])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),zE=R.create({name:"heading",addOptions:()=>({levels:[1,2,3,4,5,6],HTMLAttributes:{}}),content:"inline*",group:"block",defining:!0,addAttributes:()=>({level:{default:1,rendered:!1}}),parseHTML(){return this.options.levels.map((A=>({tag:`h${A}`,attrs:{level:A}})))},renderHTML({node:A,HTMLAttributes:e}){return[`h${this.options.levels.includes(A.attrs.level)?A.attrs.level:this.options.levels[0]}`,l(this.options.HTMLAttributes,e),0]},addCommands(){return{setHeading:A=>({commands:e})=>!!this.options.levels.includes(A.level)&&e.setNode(this.name,A),toggleHeading:A=>({commands:e})=>!!this.options.levels.includes(A.level)&&e.toggleNode(this.name,"paragraph",A)}},addKeyboardShortcuts(){return this.options.levels.reduce(((A,e)=>({...A,[`Mod-Alt-${e}`]:()=>this.editor.commands.toggleHeading({level:e})})),{})},addInputRules(){return this.options.levels.map((A=>G({find:new RegExp(`^(#{1,${A}})\\s$`),type:this.type,getAttributes:{level:A}})))}});var xE=200,pE=function(){};pE.prototype.append=function(A){return A.length?(A=pE.from(A),!this.length&&A||A.length=e?pE.empty:this.sliceInner(Math.max(0,A),Math.min(this.length,e))},pE.prototype.get=function(A){if(!(A<0||A>=this.length))return this.getInner(A)},pE.prototype.forEach=function(A,e,t){void 0===e&&(e=0),void 0===t&&(t=this.length),e<=t?this.forEachInner(A,e,t,0):this.forEachInvertedInner(A,e,t,0)},pE.prototype.map=function(A,e,t){void 0===e&&(e=0),void 0===t&&(t=this.length);var n=[];return this.forEach((function(e,t){return n.push(A(e,t))}),e,t),n},pE.from=function(A){return A instanceof pE?A:A&&A.length?new JE(A):pE.empty};var JE=function(A){function e(e){A.call(this),this.values=e}A&&(e.__proto__=A),(e.prototype=Object.create(A&&A.prototype)).constructor=e;var t={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(A,t){return 0==A&&t==this.length?this:new e(this.values.slice(A,t))},e.prototype.getInner=function(A){return this.values[A]},e.prototype.forEachInner=function(A,e,t,n){for(var i=e;i=t;i--)if(!1===A(this.values[i],n+i))return!1},e.prototype.leafAppend=function(A){if(this.length+A.length<=xE)return new e(this.values.concat(A.flatten()))},e.prototype.leafPrepend=function(A){if(this.length+A.length<=xE)return new e(A.flatten().concat(this.values))},t.length.get=function(){return this.values.length},t.depth.get=function(){return 0},Object.defineProperties(e.prototype,t),e}(pE);pE.empty=new JE([]);var jE=function(A){function e(e,t){A.call(this),this.left=e,this.right=t,this.length=e.length+t.length,this.depth=Math.max(e.depth,t.depth)+1}return A&&(e.__proto__=A),(e.prototype=Object.create(A&&A.prototype)).constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(A){return Ai&&!1===this.right.forEachInner(A,Math.max(e-i,0),Math.min(this.length,t)-i,n+i))&&void 0},e.prototype.forEachInvertedInner=function(A,e,t,n){var i=this.left.length;return!(e>i&&!1===this.right.forEachInvertedInner(A,e-i,Math.max(t,i)-i,n+i))&&!(t=t?this.right.slice(A-t,e-t):this.left.slice(A,t).append(this.right.slice(0,e-t))},e.prototype.leafAppend=function(A){var t=this.right.leafAppend(A);if(t)return new e(this.left,t)},e.prototype.leafPrepend=function(A){var t=this.left.leafPrepend(A);if(t)return new e(t,this.right)},e.prototype.appendInner=function(A){return this.left.depth>=Math.max(this.right.depth,A.depth)+1?new e(this.left,new e(this.right,A)):new e(this,A)},e}(pE);class ZE{constructor(A,e){this.items=A,this.eventCount=e}popEvent(A,e){if(0==this.eventCount)return null;let t,n,i=this.items.length;for(;;i--)if(this.items.get(i-1).selection){--i;break}e&&(t=this.remapping(i,this.items.length),n=t.maps.length);let B,E,s=A.tr,r=[],o=[];return this.items.forEach(((A,e)=>{if(!A.step)return t||(t=this.remapping(i,e+1),n=t.maps.length),n--,void o.push(A);if(t){o.push(new PE(A.map));let e,i=A.step.map(t.slice(n));i&&s.maybeStep(i).doc&&(e=s.mapping.maps[s.mapping.maps.length-1],r.push(new PE(e,void 0,void 0,r.length+o.length))),n--,e&&t.appendMap(e,n)}else s.maybeStep(A.step);return A.selection?(B=t?A.selection.map(t.slice(n)):A.selection,E=new ZE(this.items.slice(0,i).append(o.reverse().concat(r)),this.eventCount-1),!1):void 0}),this.items.length,0),{remaining:E,transform:s,selection:B}}addTransform(A,e,t,n){let i=[],B=this.eventCount,E=this.items,s=!n&&E.length?E.get(E.length-1):null;for(let t=0;tLE&&(E=function(A,e){let t;return A.forEach(((A,n)=>{if(A.selection&&0==e--)return t=n,!1})),A.slice(t)}(E,r),B-=r),new ZE(E.append(i),B)}remapping(A,e){let t=new j;return this.items.forEach(((e,n)=>{t.appendMap(e.map,null!=e.mirrorOffset&&n-e.mirrorOffset>=A?t.maps.length-e.mirrorOffset:void 0)}),A,e),t}addMaps(A){return 0==this.eventCount?this:new ZE(this.items.append(A.map((A=>new PE(A)))),this.eventCount)}rebased(A,e){if(!this.eventCount)return this;let t=[],n=Math.max(0,this.items.length-e),i=A.mapping,B=A.steps.length,E=this.eventCount;this.items.forEach((A=>{A.selection&&E--}),n);let s=e;this.items.forEach((e=>{let n=i.getMirror(--s);if(null==n)return;B=Math.min(B,n);let r=i.maps[n];if(e.step){let B=A.steps[n].invert(A.docs[n]),o=e.selection&&e.selection.map(i.slice(s+1,n));o&&E++,t.push(new PE(r,B,o))}else t.push(new PE(r))}),n);let r=[];for(let A=e;A500&&(c=c.compress(this.items.length-t.length)),c}emptyItemCount(){let A=0;return this.items.forEach((e=>{e.step||A++})),A}compress(A=this.items.length){let e=this.remapping(0,A),t=e.maps.length,n=[],i=0;return this.items.forEach(((B,E)=>{if(E>=A)n.push(B),B.selection&&i++;else if(B.step){let A=B.step.map(e.slice(t)),E=A&&A.getMap();if(t--,E&&e.appendMap(E,t),A){let s=B.selection&&B.selection.map(e.slice(t));s&&i++;let r,o=new PE(E.invert(),A,s),c=n.length-1;(r=n.length&&n[c].merge(o))?n[c]=r:n.push(o)}}else B.map&&t--}),this.items.length,0),new ZE(pE.from(n.reverse()),i)}}ZE.empty=new ZE(pE.empty,0);class PE{constructor(A,e,t,n){this.map=A,this.step=e,this.selection=t,this.mirrorOffset=n}merge(A){if(this.step&&A.step&&!A.selection){let e=A.step.merge(this.step);if(e)return new PE(e.getMap().invert(),e,this.selection)}}}class VE{constructor(A,e,t,n,i){this.done=A,this.undone=e,this.prevRanges=t,this.prevTime=n,this.prevComposition=i}}const LE=20;function vE(A){let e=[];return A.forEach(((A,t,n,i)=>e.push(n,i))),e}function OE(A,e){if(!A)return null;let t=[];for(let n=0;nnew VE(ZE.empty,ZE.empty,null,0,-1),apply:(e,t,n)=>function(A,e,t,n){let i,B=t.getMeta(XE);if(B)return B.historyState;t.getMeta(qE)&&(A=new VE(A.done,A.undone,null,0,-1));let E=t.getMeta("appendedTransaction");if(0==t.steps.length)return A;if(E&&E.getMeta(XE))return E.getMeta(XE).redo?new VE(A.done.addTransform(t,void 0,n,WE(e)),A.undone,vE(t.mapping.maps[t.steps.length-1]),A.prevTime,A.prevComposition):new VE(A.done,A.undone.addTransform(t,void 0,n,WE(e)),null,A.prevTime,A.prevComposition);if(!1===t.getMeta("addToHistory")||E&&!1===E.getMeta("addToHistory"))return(i=t.getMeta("rebased"))?new VE(A.done.rebased(t,i),A.undone.rebased(t,i),OE(A.prevRanges,t.mapping),A.prevTime,A.prevComposition):new VE(A.done.addMaps(t.mapping.maps),A.undone.addMaps(t.mapping.maps),OE(A.prevRanges,t.mapping),A.prevTime,A.prevComposition);{let i=t.getMeta("composition"),B=0==A.prevTime||!E&&A.prevComposition!=i&&(A.prevTime<(t.time||0)-n.newGroupDelay||!function(A,e){if(!e)return!1;if(!A.docChanged)return!0;let t=!1;return A.mapping.maps[0].forEach(((A,n)=>{for(let i=0;i=e[i]&&(t=!0)})),t}(t,A.prevRanges)),s=E?OE(A.prevRanges,t.mapping):vE(t.mapping.maps[t.steps.length-1]);return new VE(A.done.addTransform(t,B?e.selection.getBookmark():void 0,n,WE(e)),ZE.empty,s,t.time,null==i?A.prevComposition:i)}}(t,n,e,A)},config:A={depth:A.depth||100,newGroupDelay:A.newGroupDelay||500},props:{handleDOMEvents:{beforeinput(A,e){let t=e.inputType,n="historyUndo"==t?es:"historyRedo"==t?ts:null;return!!n&&(e.preventDefault(),n(A.state,A.dispatch))}}}})}function As(A,e){return(t,n)=>{let i=XE.getState(t);if(!i||0==(A?i.undone:i.done).eventCount)return!1;if(n){let B=function(A,e,t){let n=WE(e),i=XE.get(e).spec.config,B=(t?A.undone:A.done).popEvent(e,n);if(!B)return null;let E=B.selection.resolve(B.transform.doc),s=(t?A.done:A.undone).addTransform(B.transform,e.selection.getBookmark(),i,n),r=new VE(t?s:B.remaining,t?B.remaining:s,null,0,-1);return B.transform.setSelection(E).setMeta(XE,{redo:t,historyState:r})}(i,t,A);B&&n(e?B.scrollIntoView():B)}return!0}}const es=As(!1,!0),ts=As(!0,!0),ns=r.create({name:"history",addOptions:()=>({depth:100,newGroupDelay:500}),addCommands:()=>({undo:()=>({state:A,dispatch:e})=>es(A,e),redo:()=>({state:A,dispatch:e})=>ts(A,e)}),addProseMirrorPlugins(){return[$E(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}),is=R.create({name:"horizontalRule",addOptions:()=>({HTMLAttributes:{}}),group:"block",parseHTML:()=>[{tag:"hr"}],renderHTML({HTMLAttributes:A}){return["hr",l(this.options.HTMLAttributes,A)]},addCommands(){return{setHorizontalRule:()=>({chain:A,state:e})=>{const{$to:t}=e.selection,n=A();return 0===t.parentOffset?n.insertContentAt(Math.max(t.pos-2,0),{type:this.name}):n.insertContent({type:this.name}),n.command((({tr:A,dispatch:e})=>{var t;if(e){const{$to:e}=A.selection,n=e.end();if(e.nodeAfter)A.setSelection(e.nodeAfter.isTextblock?C.create(A.doc,e.pos+1):e.nodeAfter.isBlock?T.create(A.doc,e.pos):C.create(A.doc,e.pos));else{const i=null===(t=e.parent.type.contentMatch.defaultType)||void 0===t?void 0:t.create();i&&(A.insert(n,i),A.setSelection(C.create(A.doc,n+1)))}A.scrollIntoView()}return!0})).run()}}},addInputRules(){return[Y({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),Bs=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/,Es=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g,ss=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/,rs=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g,os=Q.create({name:"italic",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"em"},{tag:"i",getAttrs:A=>"normal"!==A.style.fontStyle&&null},{style:"font-style=italic"}],renderHTML({HTMLAttributes:A}){return["em",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setItalic:()=>({commands:A})=>A.setMark(this.name),toggleItalic:()=>({commands:A})=>A.toggleMark(this.name),unsetItalic:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[h({find:Bs,type:this.type}),h({find:ss,type:this.type})]},addPasteRules(){return[w({find:Es,type:this.type}),w({find:rs,type:this.type})]}}),cs=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:A}){return["li",l(this.options.HTMLAttributes,A),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),gs=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:A}){return["li",l(this.options.HTMLAttributes,A),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),as=Q.create({name:"textStyle",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"span",getAttrs:A=>!!A.hasAttribute("style")&&{}}],renderHTML({HTMLAttributes:A}){return["span",l(this.options.HTMLAttributes,A),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:A,commands:e})=>{const t=d(A,this.type);return!!Object.entries(t).some((([,A])=>!!A))||e.unsetMark(this.name)}}}}),Qs=/^(\d+)\.\s$/,ls=R.create({name:"orderedList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},addAttributes:()=>({start:{default:1,parseHTML:A=>A.hasAttribute("start")?parseInt(A.getAttribute("start")||"",10):1}}),parseHTML:()=>[{tag:"ol"}],renderHTML({HTMLAttributes:A}){const{start:e,...t}=A;return 1===e?["ol",l(this.options.HTMLAttributes,t),0]:["ol",l(this.options.HTMLAttributes,A),0]},addCommands(){return{toggleOrderedList:()=>({commands:A,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(gs.name,this.editor.getAttributes(as.name)).run():A.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let A=I({find:Qs,type:this.type,getAttributes:A=>({start:+A[1]}),joinPredicate:(A,e)=>e.childCount+e.attrs.start===+A[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(A=I({find:Qs,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:A=>({start:+A[1],...this.editor.getAttributes(as.name)}),joinPredicate:(A,e)=>e.childCount+e.attrs.start===+A[1],editor:this.editor})),[A]}}),hs=R.create({name:"paragraph",priority:1e3,addOptions:()=>({HTMLAttributes:{}}),group:"block",content:"inline*",parseHTML:()=>[{tag:"p"}],renderHTML({HTMLAttributes:A}){return["p",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setParagraph:()=>({commands:A})=>A.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),Ms=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,ws=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,Rs=Q.create({name:"strike",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:A=>!!A.includes("line-through")&&{}}],renderHTML({HTMLAttributes:A}){return["s",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setStrike:()=>({commands:A})=>A.setMark(this.name),toggleStrike:()=>({commands:A})=>A.toggleMark(this.name),unsetStrike:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){const A={};return P()?A["Mod-Shift-s"]=()=>this.editor.commands.toggleStrike():A["Ctrl-Shift-s"]=()=>this.editor.commands.toggleStrike(),A},addInputRules(){return[h({find:Ms,type:this.type})]},addPasteRules(){return[w({find:ws,type:this.type})]}}),Is=R.create({name:"text",group:"inline"}),us=r.create({name:"starterKit",addExtensions(){var A,e,t,n,i,B,E,s,r,o,c,g,a,Q,l,h,M,w;const R=[];return!1!==this.options.blockquote&&R.push(gE.configure(null===(A=this.options)||void 0===A?void 0:A.blockquote)),!1!==this.options.bold&&R.push(ME.configure(null===(e=this.options)||void 0===e?void 0:e.bold)),!1!==this.options.bulletList&&R.push(uE.configure(null===(t=this.options)||void 0===t?void 0:t.bulletList)),!1!==this.options.code&&R.push(CE.configure(null===(n=this.options)||void 0===n?void 0:n.code)),!1!==this.options.codeBlock&&R.push(cA.configure(null===(i=this.options)||void 0===i?void 0:i.codeBlock)),!1!==this.options.document&&R.push(kE.configure(null===(B=this.options)||void 0===B?void 0:B.document)),!1!==this.options.dropcursor&&R.push(YE.configure(null===(E=this.options)||void 0===E?void 0:E.dropcursor)),!1!==this.options.gapcursor&&R.push(HE.configure(null===(s=this.options)||void 0===s?void 0:s.gapcursor)),!1!==this.options.hardBreak&&R.push(TE.configure(null===(r=this.options)||void 0===r?void 0:r.hardBreak)),!1!==this.options.heading&&R.push(zE.configure(null===(o=this.options)||void 0===o?void 0:o.heading)),!1!==this.options.history&&R.push(ns.configure(null===(c=this.options)||void 0===c?void 0:c.history)),!1!==this.options.horizontalRule&&R.push(is.configure(null===(g=this.options)||void 0===g?void 0:g.horizontalRule)),!1!==this.options.italic&&R.push(os.configure(null===(a=this.options)||void 0===a?void 0:a.italic)),!1!==this.options.listItem&&R.push(cs.configure(null===(Q=this.options)||void 0===Q?void 0:Q.listItem)),!1!==this.options.orderedList&&R.push(ls.configure(null===(l=this.options)||void 0===l?void 0:l.orderedList)),!1!==this.options.paragraph&&R.push(hs.configure(null===(h=this.options)||void 0===h?void 0:h.paragraph)),!1!==this.options.strike&&R.push(Rs.configure(null===(M=this.options)||void 0===M?void 0:M.strike)),!1!==this.options.text&&R.push(Is.configure(null===(w=this.options)||void 0===w?void 0:w.text)),R}}),ds=()=>new Map,Gs=A=>{const e=ds();return A.forEach(((A,t)=>{e.set(t,A)})),e},Cs=(A,e,t)=>{let n=A.get(e);return void 0===n&&A.set(e,n=t()),n},ks=()=>new Set,Ds=A=>A[A.length-1],Fs=(A,e)=>{for(let t=0;t{this.off(A,t),e(...n)};this.on(A,t)}off(A,e){const t=this._observers.get(A);void 0!==t&&(t.delete(e),0===t.size&&this._observers.delete(A))}emit(A,e){return Ys((this._observers.get(A)||ds()).values()).forEach((A=>A(...e)))}destroy(){this._observers=ds()}}const Ns=Math.floor,Ss=Math.abs,ms=(A,e)=>AA>e?A:e,bs=A=>0!==A?A<0:1/A<0,Hs=64,Ts=128,zs=127,xs=Number.MAX_SAFE_INTEGER,ps=Number.isInteger||(A=>"number"==typeof A&&isFinite(A)&&Ns(A)===A),Js=/^\s*/g,js=/([A-Z])/g,Zs=(A,e)=>(A=>A.replace(Js,""))(A.replace(js,(A=>`${e}${(A=>A.toLowerCase())(A)}`))),Ps="undefined"!=typeof TextEncoder?new TextEncoder:null,Vs=Ps?A=>Ps.encode(A):A=>{const e=unescape(encodeURIComponent(A)),t=e.length,n=new Uint8Array(t);for(let A=0;Anew vs,_s=A=>{const e=new Uint8Array((A=>{let e=A.cpos;for(let t=0;t{const t=A.cbuf.length;A.cpos===t&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(2*t),A.cpos=0),A.cbuf[A.cpos++]=e},Ws=Ks,Xs=(A,e)=>{for(;e>zs;)Ks(A,Ts|zs&e),e=Ns(e/128);Ks(A,zs&e)},qs=(A,e)=>{const t=bs(e);for(t&&(e=-e),Ks(A,(e>63?Ts:0)|(t?Hs:0)|63&e),e=Ns(e/64);e>0;)Ks(A,(e>zs?Ts:0)|zs&e),e=Ns(e/128)},$s=new Uint8Array(3e4),Ar=$s.length/3,er=Ps&&Ps.encodeInto?(A,e)=>{if(e.length{const t=unescape(encodeURIComponent(e)),n=t.length;Xs(A,n);for(let e=0;e{const t=A.cbuf.length,n=A.cpos,i=ms(t-n,e.length),B=e.length-i;A.cbuf.set(e.subarray(0,i),n),A.cpos+=i,B>0&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(ys(2*t,B)),A.cbuf.set(e.subarray(i)),A.cpos=B)},nr=(A,e)=>{Xs(A,e.byteLength),tr(A,e)},ir=(A,e)=>{((A,e)=>{const t=A.cbuf.length;t-A.cpos{switch(typeof e){case"string":Ks(A,119),er(A,e);break;case"number":ps(e)&&Ss(e)<=2147483647?(Ks(A,125),qs(A,e)):(Br.setFloat32(0,t=e),Br.getFloat32(0)===t?(Ks(A,124),((A,e)=>{ir(A,4).setFloat32(0,e,!1)})(A,e)):(Ks(A,123),((A,e)=>{ir(A,8).setFloat64(0,e,!1)})(A,e)));break;case"bigint":Ks(A,122),((A,e)=>{ir(A,8).setBigInt64(0,e,!1)})(A,e);break;case"object":if(null===e)Ks(A,126);else if(Us(e)){Ks(A,117),Xs(A,e.length);for(let t=0;t0&&Xs(this,this.count-1),this.count=1,this.w(this,A),this.s=A)}}const rr=A=>{A.count>0&&(qs(A.encoder,1===A.count?A.s:-A.s),A.count>1&&Xs(A.encoder,A.count-2))};class or{constructor(){this.encoder=new vs,this.s=0,this.count=0}write(A){this.s===A?this.count++:(rr(this),this.count=1,this.s=A)}toUint8Array(){return rr(this),_s(this.encoder)}}const cr=A=>{A.count>0&&(qs(A.encoder,2*A.diff+(1===A.count?0:1)),A.count>1&&Xs(A.encoder,A.count-2))};class gr{constructor(){this.encoder=new vs,this.s=0,this.count=0,this.diff=0}write(A){this.diff===A-this.s?(this.s=A,this.count++):(cr(this),this.count=1,this.diff=A-this.s,this.s=A)}toUint8Array(){return cr(this),_s(this.encoder)}}class ar{constructor(){this.sarr=[],this.s="",this.lensE=new or}write(A){this.s+=A,this.s.length>19&&(this.sarr.push(this.s),this.s=""),this.lensE.write(A.length)}toUint8Array(){const A=new vs;return this.sarr.push(this.s),this.s="",er(A,this.sarr.join("")),tr(A,this.lensE.toUint8Array()),_s(A)}}const Qr=A=>new Error(A),lr=()=>{throw Qr("Method unimplemented")},hr=()=>{throw Qr("Unexpected case")},Mr=Qr("Unexpected end of array"),wr=Qr("Integer out of Range");class Rr{constructor(A){this.arr=A,this.pos=0}}const Ir=A=>new Rr(A),ur=A=>((A,e)=>{const t=new Uint8Array(A.arr.buffer,A.pos+A.arr.byteOffset,e);return A.pos+=e,t})(A,Gr(A)),dr=A=>A.arr[A.pos++],Gr=A=>{let e=0,t=1;const n=A.arr.length;for(;A.posxs)throw wr}throw Mr},Cr=A=>{let e=A.arr[A.pos++],t=63&e,n=64;const i=(e&Hs)>0?-1:1;if(!(e&Ts))return i*t;const B=A.arr.length;for(;A.posxs)throw wr}throw Mr},kr=Ls?A=>Ls.decode(ur(A)):A=>{let e=Gr(A);if(0===e)return"";{let t=String.fromCodePoint(dr(A));if(--e<100)for(;e--;)t+=String.fromCodePoint(dr(A));else for(;e>0;){const n=e<1e4?e:1e4,i=A.arr.subarray(A.pos,A.pos+n);A.pos+=n,t+=String.fromCodePoint.apply(null,i),e-=n}return decodeURIComponent(escape(t))}},Dr=(A,e)=>{const t=new DataView(A.arr.buffer,A.arr.byteOffset+A.pos,e);return A.pos+=e,t},Fr=[()=>{},()=>null,Cr,A=>Dr(A,4).getFloat32(0,!1),A=>Dr(A,8).getFloat64(0,!1),A=>Dr(A,8).getBigInt64(0,!1),()=>!1,()=>!0,kr,A=>{const e=Gr(A),t={};for(let n=0;n{const e=Gr(A),t=[];for(let n=0;nFr[127-dr(A)](A);class Ur extends Rr{constructor(A,e){super(A),this.reader=e,this.s=null,this.count=0}read(){return 0===this.count&&(this.s=this.reader(this),this.count=this.pos!==this.arr.length?Gr(this)+1:-1),this.count--,this.s}}class fr extends Rr{constructor(A){super(A),this.s=0,this.count=0}read(){if(0===this.count){this.s=Cr(this);const A=bs(this.s);this.count=1,A&&(this.s=-this.s,this.count=Gr(this)+2)}return this.count--,this.s}}class Nr extends Rr{constructor(A){super(A),this.s=0,this.count=0,this.diff=0}read(){if(0===this.count){const A=Cr(this),e=1&A;this.diff=Ns(A/2),this.count=1,e&&(this.count=Gr(this)+2)}return this.s+=this.diff,this.count--,this.s}}class Sr{constructor(A){this.decoder=new fr(A),this.str=kr(this.decoder),this.spos=0}read(){const A=this.spos+this.decoder.read(),e=this.str.slice(this.spos,A);return this.spos=A,e}}const mr=crypto.getRandomValues.bind(crypto),yr=Math.random,br=()=>mr(new Uint32Array(1))[0],Hr=[1e7]+-1e3+-4e3+-8e3+-1e11,Tr=()=>Hr.replace(/[018]/g,(A=>(A^br()&15>>A/4).toString(16))),zr=Date.now,xr=A=>new Promise(A);Promise.all.bind(Promise);let pr=new class{constructor(){this.map=new Map}setItem(A,e){this.map.set(A,e)}getItem(A){return this.map.get(A)}};try{"undefined"!=typeof localStorage&&localStorage&&(pr=localStorage)}catch(A){}const Jr=pr,jr=Object.assign,Zr=Object.keys,Pr=A=>Zr(A).length,Vr=(A,e,t=0)=>{try{for(;tA,vr="undefined"!=typeof process&&process.release&&/node|io\.js/.test(process.release.name)&&"[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0),Or="undefined"!=typeof window&&"undefined"!=typeof document&&!vr;let _r;"undefined"!=typeof navigator&&/Mac/.test(navigator.platform);const Kr=A=>(()=>{if(void 0===_r)if(vr){_r=ds();const A=process.argv;let e=null;for(let t=0;t{if(0!==A.length){const[e,t]=A.split("=");_r.set(`--${Zs(e,"-")}`,t),_r.set(`-${Zs(e,"-")}`,t)}}))):_r=ds();return _r})().has(A),Wr=A=>{return void 0===(e=vr?process.env[A.toUpperCase()]:Jr.getItem(A))?null:e;var e};Kr("--"+"production")||Wr("production");const Xr=vr&&(qr=process.env.FORCE_COLOR,["true","1","2"].includes(qr));var qr;const $r=!Kr("no-colors")&&(!vr||process.stdout.isTTY||Xr)&&(!vr||Kr("color")||Xr||null!==Wr("COLORTERM")||(Wr("TERM")||"").includes("color"));class Ao{constructor(A,e){this.left=A,this.right=e}}const eo=(A,e)=>new Ao(A,e),to="undefined"!=typeof document?document:{};"undefined"!=typeof DOMParser&&new DOMParser;const no=(io=clearTimeout,class{constructor(A){this._=A}destroy(){io(this._)}});var io;const Bo=(A,e)=>new no(setTimeout(e,A)),Eo=Symbol,so=Eo(),ro=Eo(),oo=Eo(),co=Eo(),go=Eo(),ao=Eo(),Qo=Eo(),lo=Eo(),ho=Eo(),Mo={[so]:eo("font-weight","bold"),[ro]:eo("font-weight","normal"),[oo]:eo("color","blue"),[go]:eo("color","green"),[co]:eo("color","grey"),[ao]:eo("color","red"),[Qo]:eo("color","purple"),[lo]:eo("color","orange"),[ho]:eo("color","black")},wo=$r?A=>{const e=[],t=[],n=ds();let i=[],B=0;for(;B{const t=[];for(const[n,i]of A)t.push(e(i,n));return t})(n,((A,e)=>`${e}:${A};`)).join("");B>0||A.length>0?(e.push("%c"+i),t.push(A)):e.push(i)}}}for(B>0&&(i=t,i.unshift(e.join("")));B{const e=[];let t=0;for(;t({[Symbol.iterator](){return this},next:A}),uo=(A,e)=>Io((()=>{const{done:t,value:n}=A.next();return{done:t,value:t?void 0:e(n)}}));class Go{constructor(A,e){this.clock=A,this.len=e}}class Co{constructor(){this.clients=new Map}}const ko=(A,e,t)=>e.clients.forEach(((e,n)=>{const i=A.doc.store.clients.get(n);for(let n=0;n{const t=A.clients.get(e.client);return void 0!==t&&null!==((A,e)=>{let t=0,n=A.length-1;for(;t<=n;){const i=Ns((t+n)/2),B=A[i],E=B.clock;if(E<=e){if(e{A.clients.forEach((A=>{let e,t;for(A.sort(((A,e)=>A.clock-e.clock)),e=1,t=1;e=i.clock?n.len=ys(n.len,i.clock+i.len-n.clock):(t{const e=new Co;for(let t=0;t{if(!e.clients.has(i)){const B=n.slice();for(let e=t+1;e{Cs(A.clients,e,(()=>[])).push(new Go(t,n))},fo=()=>new Co,No=A=>{const e=fo();return A.clients.forEach(((A,t)=>{const n=[];for(let e=0;e0&&e.clients.set(t,n)})),e},So=(A,e)=>{Xs(A.restEncoder,e.clients.size),Ys(e.clients.entries()).sort(((A,e)=>e[0]-A[0])).forEach((([e,t])=>{A.resetDsCurVal(),Xs(A.restEncoder,e);const n=t.length;Xs(A.restEncoder,n);for(let e=0;e{const e=new Co,t=Gr(A.restDecoder);for(let n=0;n0){const i=Cs(e.clients,t,(()=>[]));for(let e=0;e{const n=new Co,i=Gr(A.restDecoder);for(let B=0;B0){const A=new Po;return Xs(A.restEncoder,0),So(A,n),A.toUint8Array()}return null},bo=br;class Ho extends fs{constructor({guid:A=Tr(),collectionid:e=null,gc:t=!0,gcFilter:n=(()=>!0),meta:i=null,autoLoad:B=!1,shouldLoad:E=!0}={}){super(),this.gc=t,this.gcFilter=n,this.clientID=bo(),this.guid=A,this.collectionid=e,this.share=new Map,this.store=new lc,this._transaction=null,this._transactionCleanups=[],this.subdocs=new Set,this._item=null,this.shouldLoad=E,this.autoLoad=B,this.meta=i,this.isLoaded=!1,this.isSynced=!1,this.whenLoaded=xr((A=>{this.on("load",(()=>{this.isLoaded=!0,A(this)}))}));const s=()=>xr((A=>{const e=t=>{void 0!==t&&!0!==t||(this.off("sync",e),A())};this.on("sync",e)}));this.on("sync",(A=>{!1===A&&this.isSynced&&(this.whenSynced=s()),this.isSynced=void 0===A||!0===A,this.isSynced&&!this.isLoaded&&this.emit("load",[this])})),this.whenSynced=s()}load(){const A=this._item;null===A||this.shouldLoad||fc(A.parent.doc,(A=>{A.subdocsLoaded.add(this)}),null,!0),this.shouldLoad=!0}getSubdocs(){return this.subdocs}getSubdocGuids(){return new Set(Ys(this.subdocs).map((A=>A.guid)))}transact(A,e=null){return fc(this,A,e)}get(A,e=$c){const t=Cs(this.share,A,(()=>{const A=new e;return A._integrate(this,null),A})),n=t.constructor;if(e!==$c&&n!==e){if(n===$c){const n=new e;n._map=t._map,t._map.forEach((A=>{for(;null!==A;A=A.left)A.parent=n})),n._start=t._start;for(let A=n._start;null!==A;A=A.right)A.parent=n;return n._length=t._length,this.share.set(A,n),n._integrate(this,null),n}throw new Error(`Type with the name ${A} has already been defined with a different constructor`)}return t}getArray(A=""){return this.get(A,Rg)}getText(A=""){return this.get(A,Tg)}getMap(A=""){return this.get(A,ug)}getXmlElement(A=""){return this.get(A,pg)}getXmlFragment(A=""){return this.get(A,xg)}toJSON(){const A={};return this.share.forEach(((e,t)=>{A[t]=e.toJSON()})),A}destroy(){Ys(this.subdocs).forEach((A=>A.destroy()));const A=this._item;if(null!==A){this._item=null;const e=A.content;e.doc=new Ho({guid:this.guid,...e.opts,shouldLoad:!1}),e.doc._item=A,fc(A.parent.doc,(t=>{A.deleted||t.subdocsAdded.add(e.doc),t.subdocsRemoved.add(this)}),null,!0)}this.emit("destroyed",[!0]),this.emit("destroy",[this]),super.destroy()}}class To{constructor(A){this.restDecoder=A}resetDsCurVal(){}readDsClock(){return Gr(this.restDecoder)}readDsLen(){return Gr(this.restDecoder)}}class zo extends To{readLeftID(){return ec(Gr(this.restDecoder),Gr(this.restDecoder))}readRightID(){return ec(Gr(this.restDecoder),Gr(this.restDecoder))}readClient(){return Gr(this.restDecoder)}readInfo(){return dr(this.restDecoder)}readString(){return kr(this.restDecoder)}readParentInfo(){return 1===Gr(this.restDecoder)}readTypeRef(){return Gr(this.restDecoder)}readLen(){return Gr(this.restDecoder)}readAny(){return Yr(this.restDecoder)}readBuf(){return(A=>{const e=new Uint8Array(A.byteLength);return e.set(A),e})(ur(this.restDecoder))}readJSON(){return JSON.parse(kr(this.restDecoder))}readKey(){return kr(this.restDecoder)}}class xo{constructor(A){this.dsCurrVal=0,this.restDecoder=A}resetDsCurVal(){this.dsCurrVal=0}readDsClock(){return this.dsCurrVal+=Gr(this.restDecoder),this.dsCurrVal}readDsLen(){const A=Gr(this.restDecoder)+1;return this.dsCurrVal+=A,A}}class po extends xo{constructor(A){super(A),this.keys=[],Gr(A),this.keyClockDecoder=new Nr(ur(A)),this.clientDecoder=new fr(ur(A)),this.leftClockDecoder=new Nr(ur(A)),this.rightClockDecoder=new Nr(ur(A)),this.infoDecoder=new Ur(ur(A),dr),this.stringDecoder=new Sr(ur(A)),this.parentInfoDecoder=new Ur(ur(A),dr),this.typeRefDecoder=new fr(ur(A)),this.lenDecoder=new fr(ur(A))}readLeftID(){return new $o(this.clientDecoder.read(),this.leftClockDecoder.read())}readRightID(){return new $o(this.clientDecoder.read(),this.rightClockDecoder.read())}readClient(){return this.clientDecoder.read()}readInfo(){return this.infoDecoder.read()}readString(){return this.stringDecoder.read()}readParentInfo(){return 1===this.parentInfoDecoder.read()}readTypeRef(){return this.typeRefDecoder.read()}readLen(){return this.lenDecoder.read()}readAny(){return Yr(this.restDecoder)}readBuf(){return ur(this.restDecoder)}readJSON(){return Yr(this.restDecoder)}readKey(){const A=this.keyClockDecoder.read();if(A{const n=new Map;t.forEach(((A,t)=>{Mc(e,t)>A&&n.set(t,A)})),hc(e).forEach(((A,e)=>{t.has(e)||n.set(e,0)})),Xs(A.restEncoder,n.size),Ys(n.entries()).sort(((A,e)=>e[0]-A[0])).forEach((([t,n])=>{((A,e,t,n)=>{n=ys(n,e[0].id.clock);const i=Rc(e,n);Xs(A.restEncoder,e.length-i),A.writeClient(t),Xs(A.restEncoder,n);const B=e[i];B.write(A,n-B.id.clock);for(let t=i+1;t{const i=Ir(e);((A,e,t,n=new po(A))=>{fc(e,(A=>{A.local=!1;let e=!1;const t=A.doc,i=t.store,B=((A,e)=>{const t=ds(),n=Gr(A.restDecoder);for(let i=0;i{const n=[];let i=Ys(t.keys()).sort(((A,e)=>A-e));if(0===i.length)return null;const B=()=>{if(0===i.length)return null;let A=t.get(i[i.length-1]);for(;A.refs.length===A.i;){if(i.pop(),!(i.length>0))return null;A=t.get(i[i.length-1])}return A};let E=B();if(null===E)return null;const s=new lc,r=new Map,o=(A,e)=>{const t=r.get(A);(null==t||t>e)&&r.set(A,e)};let c=E.refs[E.i++];const g=new Map,a=()=>{for(const A of n){const e=A.id.client,n=t.get(e);n?(n.i--,s.clients.set(e,n.refs.slice(n.i)),t.delete(e),n.i=0,n.refs=[]):s.clients.set(e,[A]),i=i.filter((A=>A!==e))}n.length=0};for(;;){if(c.constructor!==wa){const i=Cs(g,c.id.client,(()=>Mc(e,c.id.client)))-c.id.clock;if(i<0)n.push(c),o(c.id.client,c.id.clock-1),a();else{const B=c.getMissing(A,e);if(null!==B){n.push(c);const A=t.get(B)||{refs:[],i:0};if(A.refs.length!==A.i){c=A.refs[A.i++];continue}o(B,Mc(e,B)),a()}else(0===i||i0)c=n.pop();else if(null!==E&&E.i0){const A=new Po;return Vo(A,s,new Map),Xs(A.restEncoder,0),{missing:r,update:A.toUint8Array()}}return null})(A,i,B),s=i.pendingStructs;if(s){for(const[A,t]of s.missing)if(te)&&s.missing.set(A,e)}s.update=xc([s.update,E.update])}}else i.pendingStructs=E;const r=yo(n,A,i);if(i.pendingDs){const e=new po(Ir(i.pendingDs));Gr(e.restDecoder);const t=yo(e,A,i);i.pendingDs=r&&t?xc([r,t]):r||t}else i.pendingDs=r;if(e){const e=i.pendingStructs.update;i.pendingStructs=null,Lo(A.doc,e)}}),t,!1)})(i,A,t,new n(i))},vo=A=>(A=>{const e=new Map,t=Gr(A.restDecoder);for(let n=0;n(Xs(A.restEncoder,e.size),Ys(e.entries()).sort(((A,e)=>e[0]-A[0])).forEach((([e,t])=>{Xs(A.restEncoder,e),Xs(A.restEncoder,t)})),A);class _o{constructor(){this.l=[]}}const Ko=()=>new _o,Wo=(A,e)=>A.l.push(e),Xo=(A,e)=>{const t=A.l,n=t.length;A.l=t.filter((A=>e!==A)),n===A.l.length&&console.error("[yjs] Tried to remove event handler that doesn't exist.")},qo=(A,e,t)=>Vr(A.l,[e,t]);class $o{constructor(A,e){this.client=A,this.clock=e}}const Ac=(A,e)=>A===e||null!==A&&null!==e&&A.client===e.client&&A.clock===e.clock,ec=(A,e)=>new $o(A,e),tc=A=>{for(const[e,t]of A.doc.share.entries())if(t===A)return e;throw hr()},nc=(A,e)=>{for(;null!==e;){if(e.parent===A)return!0;e=e.parent._item}return!1};class ic{constructor(A,e,t,n=0){this.type=A,this.tname=e,this.item=t,this.assoc=n}}const Bc=A=>new ic(null==A.type?null:ec(A.type.client,A.type.clock),A.tname||null,null==A.item?null:ec(A.item.client,A.item.clock),null==A.assoc?0:A.assoc);class Ec{constructor(A,e,t=0){this.type=A,this.index=e,this.assoc=t}}const sc=(A,e,t)=>{let n=null,i=null;return null===A._item?i=tc(A):n=ec(A._item.id.client,A._item.id.clock),new ic(n,i,e,t)},rc=(A,e,t=0)=>{let n=A._start;if(t<0){if(0===e)return sc(A,null,t);e--}for(;null!==n;){if(!n.deleted&&n.countable){if(n.length>e)return sc(A,ec(n.id.client,n.id.clock+e),t);e-=n.length}if(null===n.right&&t<0)return sc(A,n.lastId,t);n=n.right}return sc(A,null,t)},oc=(A,e)=>A===e||null!==A&&null!==e&&A.tname===e.tname&&Ac(A.item,e.item)&&Ac(A.type,e.type)&&A.assoc===e.assoc;class cc{constructor(A,e){this.ds=A,this.sv=e}}const gc=(A,e)=>new cc(A,e);gc(fo(),new Map);const ac=(A,e)=>void 0===e?!A.deleted:e.sv.has(A.id.client)&&(e.sv.get(A.id.client)||0)>A.id.clock&&!Do(e.ds,A.id),Qc=(A,e)=>{const t=Cs(A.meta,Qc,ks),n=A.doc.store;t.has(e)||(e.sv.forEach(((e,t)=>{e{})),t.add(e))};class lc{constructor(){this.clients=new Map,this.pendingStructs=null,this.pendingDs=null}}const hc=A=>{const e=new Map;return A.clients.forEach(((A,t)=>{const n=A[A.length-1];e.set(t,n.id.clock+n.length)})),e},Mc=(A,e)=>{const t=A.clients.get(e);if(void 0===t)return 0;const n=t[t.length-1];return n.id.clock+n.length},wc=(A,e)=>{let t=A.clients.get(e.id.client);if(void 0===t)t=[],A.clients.set(e.id.client,t);else{const A=t[t.length-1];if(A.id.clock+A.length!==e.id.clock)throw hr()}t.push(e)},Rc=(A,e)=>{let t=0,n=A.length-1,i=A[n],B=i.id.clock;if(B===e)return n;let E=Ns(e/(B+i.length-1)*n);for(;t<=n;){if(i=A[E],B=i.id.clock,B<=e){if(e{const t=A.clients.get(e.client);return t[Rc(t,e.clock)]},uc=(A,e,t)=>{const n=Rc(e,t),i=e[n];return i.id.clock{const t=A.doc.store.clients.get(e.client);return t[uc(A,t,e.clock)]},Gc=(A,e,t)=>{const n=e.clients.get(t.client),i=Rc(n,t.clock),B=n[i];return t.clock!==B.id.clock+B.length-1&&B.constructor!==Vg&&n.splice(i+1,0,ga(A,B,t.clock-B.id.clock+1)),B},Cc=(A,e,t,n,i)=>{if(0===n)return;const B=t+n;let E,s=uc(A,e,t);do{E=e[s++],B!(0===e.deleteSet.clients.size&&!(A=>{for(const[n,i]of A)if(t=i,e.beforeState.get(n)!==t)return!0;var t;return!1})(e.afterState)||(Fo(e.deleteSet),((A,e)=>{Vo(A,e.doc.store,e.beforeState)})(A,e),So(A,e.deleteSet),0)),Fc=(A,e,t)=>{const n=e._item;(null===n||n.id.clock<(A.beforeState.get(n.id.client)||0)&&!n.deleted)&&Cs(A.changed,e,ks).add(t)},Yc=(A,e)=>{let t=A[e],n=A[e-1],i=e;for(;i>0&&n.deleted===t.deleted&&n.constructor===t.constructor&&n.mergeWith(t);t=n,n=A[--i-1])t instanceof la&&null!==t.parentSub&&t.parent._map.get(t.parentSub)===t&&t.parent._map.set(t.parentSub,n);const B=e-i;return B&&A.splice(e+1-B,B),B},Uc=(A,e)=>{if(eA.push((()=>{null!==n._item&&n._item.deleted||n._callObserver(t,e)})))),A.push((()=>{t.changedParentTypes.forEach(((A,e)=>{e._dEH.l.length>0&&(null===e._item||!e._item.deleted)&&((A=A.filter((A=>null===A.target._item||!A.target._item.deleted))).forEach((A=>{A.currentTarget=e,A._path=null})),A.sort(((A,e)=>A.path.length-e.path.length)),qo(e._dEH,A,t))}))})),A.push((()=>n.emit("afterTransaction",[t,n]))),Vr(A,[]),t._needFormattingCleanup&&yg(t)}finally{n.gc&&((A,e,t)=>{for(const[n,i]of A.clients.entries()){const A=e.clients.get(n);for(let n=i.length-1;n>=0;n--){const B=i[n],E=B.clock+B.len;for(let n=Rc(A,B.clock),i=A[n];n{A.clients.forEach(((A,t)=>{const n=e.clients.get(t);for(let e=A.length-1;e>=0;e--){const t=A[e];for(let A=ms(n.length-1,1+Rc(n,t.clock+t.len-1)),e=n[A];A>0&&e.id.clock>=t.clock;e=n[A])A-=1+Yc(n,A)}}))})(B,i),t.afterState.forEach(((A,e)=>{const n=t.beforeState.get(e)||0;if(n!==A){const A=i.clients.get(e),t=ys(Rc(A,n),1);for(let e=A.length-1;e>=t;)e-=1+Yc(A,e)}}));for(let A=E.length-1;A>=0;A--){const{client:e,clock:t}=E[A].id,n=i.clients.get(e),B=Rc(n,t);B+11||B>0&&Yc(n,B)}if(t.local||t.afterState.get(n.clientID)===t.beforeState.get(n.clientID)||(((...A)=>{console.log(...wo(A)),Ro.forEach((e=>e.print(A)))})(lo,so,"[yjs] ",ro,ao,"Changed the client-id because another client seems to be using it."),n.clientID=bo()),n.emit("afterTransactionCleanup",[t,n]),n._observers.has("update")){const A=new jo;Dc(A,t)&&n.emit("update",[A.toUint8Array(),t.origin,n,t])}if(n._observers.has("updateV2")){const A=new Po;Dc(A,t)&&n.emit("updateV2",[A.toUint8Array(),t.origin,n,t])}const{subdocsAdded:s,subdocsLoaded:r,subdocsRemoved:o}=t;(s.size>0||o.size>0||r.size>0)&&(s.forEach((A=>{A.clientID=n.clientID,null==A.collectionid&&(A.collectionid=n.collectionid),n.subdocs.add(A)})),o.forEach((A=>n.subdocs.delete(A))),n.emit("subdocs",[{loaded:r,added:s,removed:o},n,t]),o.forEach((A=>A.destroy()))),A.length<=e+1?(n._transactionCleanups=[],n.emit("afterAllTransactions",[n,A])):Uc(A,e+1)}}},fc=(A,e,t=null,n=!0)=>{const i=A._transactionCleanups;let B=!1,E=null;null===A._transaction&&(B=!0,A._transaction=new kc(A,t,n),i.push(A._transaction),1===i.length&&A.emit("beforeAllTransactions",[A]),A.emit("beforeTransaction",[A._transaction,A]));try{E=e(A._transaction)}finally{if(B){const e=A._transaction===i[0];A._transaction=null,e&&Uc(i,0)}}return E};class Nc{constructor(A,e){this.insertions=e,this.deletions=A,this.meta=new Map}}const Sc=(A,e,t)=>{ko(A,t.deletions,(A=>{A instanceof la&&e.scope.some((e=>nc(e,A)))&&ca(A,!1)}))},mc=(A,e,t)=>{let n=null;const i=A.doc,B=A.scope;return fc(i,(t=>{for(;e.length>0&&null===A.currStackItem;){const n=i.store,E=e.pop(),s=new Set,r=[];let o=!1;ko(t,E.insertions,(A=>{if(A instanceof la){if(null!==A.redone){let{item:e,diff:i}=oa(n,A.id);i>0&&(e=dc(t,ec(e.id.client,e.id.clock+i))),A=e}!A.deleted&&B.some((e=>nc(e,A)))&&r.push(A)}})),ko(t,E.deletions,(A=>{A instanceof la&&B.some((e=>nc(e,A)))&&!Do(E.insertions,A.id)&&s.add(A)})),s.forEach((e=>{o=null!==Qa(t,e,s,E.insertions,A.ignoreRemoteMapChanges,A)||o}));for(let e=r.length-1;e>=0;e--){const n=r[e];A.deleteFilter(n)&&(n.delete(t),o=!0)}A.currStackItem=o?E:null}t.changed.forEach(((A,e)=>{A.has(null)&&e._searchMarker&&(e._searchMarker.length=0)})),n=t}),A),null!=A.currStackItem&&(A.emit("stack-item-popped",[{stackItem:A.currStackItem,type:t,changedParentTypes:n.changedParentTypes,origin:A},A]),A.currStackItem=null),A.currStackItem};class yc extends fs{constructor(A,{captureTimeout:e=500,captureTransaction:t=(()=>!0),deleteFilter:n=(()=>!0),trackedOrigins:i=new Set([null]),ignoreRemoteMapChanges:B=!1,doc:E=(Us(A)?A[0].doc:A.doc)}={}){super(),this.scope=[],this.doc=E,this.addToScope(A),this.deleteFilter=n,i.add(this),this.trackedOrigins=i,this.captureTransaction=t,this.undoStack=[],this.redoStack=[],this.undoing=!1,this.redoing=!1,this.currStackItem=null,this.lastChange=0,this.ignoreRemoteMapChanges=B,this.captureTimeout=e,this.afterTransactionHandler=A=>{if(!(this.captureTransaction(A)&&this.scope.some((e=>A.changedParentTypes.has(e)))&&(this.trackedOrigins.has(A.origin)||A.origin&&this.trackedOrigins.has(A.origin.constructor))))return;const e=this.undoing,t=this.redoing,n=e?this.redoStack:this.undoStack;e?this.stopCapturing():t||this.clear(!1,!0);const i=new Co;A.afterState.forEach(((e,t)=>{const n=A.beforeState.get(t)||0,B=e-n;B>0&&Uo(i,t,n,B)}));const B=zr();let E=!1;if(this.lastChange>0&&B-this.lastChange0&&!e&&!t){const e=n[n.length-1];e.deletions=Yo([e.deletions,A.deleteSet]),e.insertions=Yo([e.insertions,i])}else n.push(new Nc(A.deleteSet,i)),E=!0;e||t||(this.lastChange=B),ko(A,A.deleteSet,(A=>{A instanceof la&&this.scope.some((e=>nc(e,A)))&&ca(A,!0)}));this.emit(E?"stack-item-added":"stack-item-updated",[{stackItem:n[n.length-1],origin:A.origin,type:e?"redo":"undo",changedParentTypes:A.changedParentTypes},this])},this.doc.on("afterTransaction",this.afterTransactionHandler),this.doc.on("destroy",(()=>{this.destroy()}))}addToScope(A){(A=Us(A)?A:[A]).forEach((A=>{this.scope.every((e=>e!==A))&&(A.doc!==this.doc&&((...A)=>{console.warn(...wo(A)),A.unshift(lo),Ro.forEach((e=>e.print(A)))})("[yjs#509] Not same Y.Doc"),this.scope.push(A))}))}addTrackedOrigin(A){this.trackedOrigins.add(A)}removeTrackedOrigin(A){this.trackedOrigins.delete(A)}clear(A=!0,e=!0){(A&&this.canUndo()||e&&this.canRedo())&&this.doc.transact((t=>{A&&(this.undoStack.forEach((A=>Sc(t,this,A))),this.undoStack=[]),e&&(this.redoStack.forEach((A=>Sc(t,this,A))),this.redoStack=[]),this.emit("stack-cleared",[{undoStackCleared:A,redoStackCleared:e}])}))}stopCapturing(){this.lastChange=0}undo(){let A;this.undoing=!0;try{A=mc(this,this.undoStack,"undo")}finally{this.undoing=!1}return A}redo(){let A;this.redoing=!0;try{A=mc(this,this.redoStack,"redo")}finally{this.redoing=!1}return A}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}destroy(){this.trackedOrigins.delete(this),this.doc.off("afterTransaction",this.afterTransactionHandler),super.destroy()}}class bc{constructor(A,e){this.gen=function*(A){const e=Gr(A.restDecoder);for(let t=0;txc(A,zo,jo),zc=(A,e)=>{if(A.constructor===Vg){const{client:t,clock:n}=A.id;return new Vg(ec(t,n+e),A.length-e)}if(A.constructor===wa){const{client:t,clock:n}=A.id;return new wa(ec(t,n+e),A.length-e)}{const t=A,{client:n,clock:i}=t.id;return new la(ec(n,i+e),null,ec(n,i+e-1),null,t.rightOrigin,t.parent,t.parentSub,t.content.splice(e))}},xc=(A,e=po,t=Po)=>{if(1===A.length)return A[0];const n=A.map((A=>new e(Ir(A))));let i=n.map((A=>new bc(A,!0))),B=null;const E=new t,s=new Hc(E);for(;i=i.filter((A=>null!==A.curr)),i.sort(((A,e)=>{if(A.curr.id.client===e.curr.id.client){const t=A.curr.id.clock-e.curr.id.clock;return 0===t?A.curr.constructor===e.curr.constructor?0:A.curr.constructor===wa?1:-1:t}return e.curr.id.client-A.curr.id.client})),0!==i.length;){const A=i[0],e=A.curr.id.client;if(null!==B){let t=A.curr,n=!1;for(;null!==t&&t.id.clock+t.length<=B.struct.id.clock+B.struct.length&&t.id.client>=B.struct.id.client;)t=A.next(),n=!0;if(null===t||t.id.client!==e||n&&t.id.clock>B.struct.id.clock+B.struct.length)continue;if(e!==B.struct.id.client)jc(s,B.struct,B.offset),B={struct:t,offset:0},A.next();else if(B.struct.id.clock+B.struct.length0&&(B.struct.constructor===wa?B.struct.length-=e:t=zc(t,e)),B.struct.mergeWith(t)||(jc(s,B.struct,B.offset),B={struct:t,offset:0},A.next())}}else B={struct:A.curr,offset:0},A.next();for(let t=A.curr;null!==t&&t.id.client===e&&t.id.clock===B.struct.id.clock+B.struct.length&&t.constructor!==wa;t=A.next())jc(s,B.struct,B.offset),B={struct:t,offset:0}}null!==B&&(jc(s,B.struct,B.offset),B=null),Zc(s);const r=n.map((A=>mo(A))),o=Yo(r);return So(E,o),E.toUint8Array()},pc=(A,e,t=po,n=Po)=>{const i=vo(e),B=new n,E=new Hc(B),s=new t(Ir(A)),r=new bc(s,!1);for(;r.curr;){const A=r.curr,e=A.id.client,t=i.get(e)||0;if(r.curr.constructor!==wa)if(A.id.clock+A.length>t)for(jc(E,A,ys(t-A.id.clock,0)),r.next();r.curr&&r.curr.id.client===e;)jc(E,r.curr,0),r.next();else for(;r.curr&&r.curr.id.client===e&&r.curr.id.clock+r.curr.length<=t;)r.next();else r.next()}Zc(E);const o=mo(s);return So(B,o),B.toUint8Array()},Jc=A=>{A.written>0&&(A.clientStructs.push({written:A.written,restEncoder:_s(A.encoder.restEncoder)}),A.encoder.restEncoder=Os(),A.written=0)},jc=(A,e,t)=>{A.written>0&&A.currClient!==e.id.client&&Jc(A),0===A.written&&(A.currClient=e.id.client,A.encoder.writeClient(e.id.client),Xs(A.encoder.restEncoder,e.id.clock+t)),e.write(A.encoder,t),A.written++},Zc=A=>{Jc(A);const e=A.encoder.restEncoder;Xs(e,A.clientStructs.length);for(let t=0;t((A,e,t,n)=>{const i=new po(Ir(A)),B=new bc(i,!1),E=new n,s=new Hc(E);for(let A=B.curr;null!==A;A=B.next())jc(s,e(A),0);Zc(s);const r=mo(i);return So(E,r),E.toUint8Array()})(A,Lr,0,jo),Vc="You must not compute changes after the event-handler fired.";class Lc{constructor(A,e){this.target=A,this.currentTarget=A,this.transaction=e,this._changes=null,this._keys=null,this._delta=null,this._path=null}get path(){return this._path||(this._path=vc(this.currentTarget,this.target))}deletes(A){return Do(this.transaction.deleteSet,A.id)}get keys(){if(null===this._keys){if(0===this.transaction.doc._transactionCleanups.length)throw Qr(Vc);const A=new Map,e=this.target;this.transaction.changed.get(e).forEach((t=>{if(null!==t){const n=e._map.get(t);let i,B;if(this.adds(n)){let A=n.left;for(;null!==A&&this.adds(A);)A=A.left;if(this.deletes(n)){if(null===A||!this.deletes(A))return;i="delete",B=Ds(A.content.getContent())}else null!==A&&this.deletes(A)?(i="update",B=Ds(A.content.getContent())):(i="add",B=void 0)}else{if(!this.deletes(n))return;i="delete",B=Ds(n.content.getContent())}A.set(t,{action:i,oldValue:B})}})),this._keys=A}return this._keys}get delta(){return this.changes.delta}adds(A){return A.id.clock>=(this.transaction.beforeState.get(A.id.client)||0)}get changes(){let A=this._changes;if(null===A){if(0===this.transaction.doc._transactionCleanups.length)throw Qr(Vc);const e=this.target,t=ks(),n=ks(),i=[];if(A={added:t,deleted:n,delta:i,keys:this.keys},this.transaction.changed.get(e).has(null)){let A=null;const B=()=>{A&&i.push(A)};for(let i=e._start;null!==i;i=i.right)i.deleted?this.deletes(i)&&!this.adds(i)&&(null!==A&&void 0!==A.delete||(B(),A={delete:0}),A.delete+=i.length,n.add(i)):this.adds(i)?(null!==A&&void 0!==A.insert||(B(),A={insert:[]}),A.insert=A.insert.concat(i.content.getContent()),t.add(i)):(null!==A&&void 0!==A.retain||(B(),A={retain:0}),A.retain+=i.length);null!==A&&void 0===A.retain&&B()}this._changes=A}return A}}const vc=(A,e)=>{const t=[];for(;null!==e._item&&e!==A;){if(null!==e._item.parentSub)t.unshift(e._item.parentSub);else{let A=0,n=e._item.parent._start;for(;n!==e._item&&null!==n;)n.deleted||A++,n=n.right;t.unshift(A)}e=e._item.parent}return t};let Oc=0;class _c{constructor(A,e){A.marker=!0,this.p=A,this.index=e,this.timestamp=Oc++}}const Kc=(A,e,t)=>{A.p.marker=!1,A.p=e,e.marker=!0,A.index=t,A.timestamp=Oc++},Wc=(A,e)=>{if(null===A._start||0===e||null===A._searchMarker)return null;const t=0===A._searchMarker.length?null:A._searchMarker.reduce(((A,t)=>Ss(e-A.index){A.timestamp=Oc++})(t));null!==n.right&&ie;)n=n.left,!n.deleted&&n.countable&&(i-=n.length);for(;null!==n.left&&n.left.id.client===n.id.client&&n.left.id.clock+n.left.length===n.id.clock;)n=n.left,!n.deleted&&n.countable&&(i-=n.length);return null!==t&&Ss(t.index-i){if(A.length>=80){const n=A.reduce(((A,e)=>A.timestamp{for(let n=A.length-1;n>=0;n--){const i=A[n];if(t>0){let e=i.p;for(e.marker=!1;e&&(e.deleted||!e.countable);)e=e.left,e&&!e.deleted&&e.countable&&(i.index-=e.length);if(null===e||!0===e.marker){A.splice(n,1);continue}i.p=e,e.marker=!0}(e0&&e===i.index)&&(i.index=ys(e,i.index+t))}},qc=(A,e,t)=>{const n=A,i=e.changedParentTypes;for(;Cs(i,A,(()=>[])).push(t),null!==A._item;)A=A._item.parent;qo(n._eH,t,e)};class $c{constructor(){this._item=null,this._map=new Map,this._start=null,this.doc=null,this._length=0,this._eH=Ko(),this._dEH=Ko(),this._searchMarker=null}get parent(){return this._item?this._item.parent:null}_integrate(A,e){this.doc=A,this._item=e}_copy(){throw lr()}clone(){throw lr()}_write(A){}get _first(){let A=this._start;for(;null!==A&&A.deleted;)A=A.right;return A}_callObserver(A,e){!A.local&&this._searchMarker&&(this._searchMarker.length=0)}observe(A){Wo(this._eH,A)}observeDeep(A){Wo(this._dEH,A)}unobserve(A){Xo(this._eH,A)}unobserveDeep(A){Xo(this._dEH,A)}toJSON(){}}const Ag=(A,e,t)=>{e<0&&(e=A._length+e),t<0&&(t=A._length+t);let n=t-e;const i=[];let B=A._start;for(;null!==B&&n>0;){if(B.countable&&!B.deleted){const A=B.content.getContent();if(A.length<=e)e-=A.length;else{for(let t=e;t0;t++)i.push(A[t]),n--;e=0}}B=B.right}return i},eg=A=>{const e=[];let t=A._start;for(;null!==t;){if(t.countable&&!t.deleted){const A=t.content.getContent();for(let t=0;t{const t=[];let n=A._start;for(;null!==n;){if(n.countable&&ac(n,e)){const A=n.content.getContent();for(let e=0;e{let t=0,n=A._start;for(;null!==n;){if(n.countable&&!n.deleted){const i=n.content.getContent();for(let n=0;n{const t=[];return ng(A,((n,i)=>{t.push(e(n,i,A))})),t},Bg=A=>{let e=A._start,t=null,n=0;return{[Symbol.iterator](){return this},next:()=>{if(null===t){for(;null!==e&&e.deleted;)e=e.right;if(null===e)return{done:!0,value:void 0};t=e.content.getContent(),n=0,e=e.right}const A=t[n++];return t.length<=n&&(t=null),{done:!1,value:A}}}},Eg=(A,e)=>{const t=Wc(A,e);let n=A._start;for(null!==t&&(n=t.p,e-=t.index);null!==n;n=n.right)if(!n.deleted&&n.countable){if(e{let i=t;const B=A.doc,E=B.clientID,s=B.store,r=null===t?e._start:t.right;let o=[];const c=()=>{o.length>0&&(i=new la(ec(E,Mc(s,E)),i,i&&i.lastId,r,r&&r.id,e,null,new qg(o)),i.integrate(A,0),o=[])};n.forEach((t=>{if(null===t)o.push(t);else switch(t.constructor){case Number:case Object:case Boolean:case Array:case String:o.push(t);break;default:switch(c(),t.constructor){case Uint8Array:case ArrayBuffer:i=new la(ec(E,Mc(s,E)),i,i&&i.lastId,r,r&&r.id,e,null,new Lg(new Uint8Array(t))),i.integrate(A,0);break;case Ho:i=new la(ec(E,Mc(s,E)),i,i&&i.lastId,r,r&&r.id,e,null,new _g(t)),i.integrate(A,0);break;default:if(!(t instanceof $c))throw new Error("Unexpected content type in insert operation");i=new la(ec(E,Mc(s,E)),i,i&&i.lastId,r,r&&r.id,e,null,new ra(t)),i.integrate(A,0)}}})),c()},rg=()=>Qr("Length exceeded!"),og=(A,e,t,n)=>{if(t>e._length)throw rg();if(0===t)return e._searchMarker&&Xc(e._searchMarker,t,n.length),sg(A,e,null,n);const i=t,B=Wc(e,t);let E=e._start;for(null!==B&&(E=B.p,0==(t-=B.index)&&(E=E.prev,t+=E&&E.countable&&!E.deleted?E.length:0));null!==E;E=E.right)if(!E.deleted&&E.countable){if(t<=E.length){t{if(0===n)return;const i=t,B=n,E=Wc(e,t);let s=e._start;for(null!==E&&(s=E.p,t-=E.index);null!==s&&t>0;s=s.right)!s.deleted&&s.countable&&(t0&&null!==s;)s.deleted||(n0)throw rg();e._searchMarker&&Xc(e._searchMarker,i,-B+n)},gg=(A,e,t)=>{const n=e._map.get(t);void 0!==n&&n.delete(A)},ag=(A,e,t,n)=>{const i=e._map.get(t)||null,B=A.doc,E=B.clientID;let s;if(null==n)s=new qg([n]);else switch(n.constructor){case Number:case Object:case Boolean:case Array:case String:s=new qg([n]);break;case Uint8Array:s=new Lg(n);break;case Ho:s=new _g(n);break;default:if(!(n instanceof $c))throw new Error("Unexpected content type");s=new ra(n)}new la(ec(E,Mc(B.store,E)),i,i&&i.lastId,null,null,e,t,s).integrate(A,0)},Qg=(A,e)=>{const t=A._map.get(e);return void 0===t||t.deleted?void 0:t.content.getContent()[t.length-1]},lg=A=>{const e={};return A._map.forEach(((A,t)=>{A.deleted||(e[t]=A.content.getContent()[A.length-1])})),e},hg=(A,e)=>{const t=A._map.get(e);return void 0!==t&&!t.deleted},Mg=A=>{return e=A.entries(),t=A=>!A[1].deleted,Io((()=>{let A;do{A=e.next()}while(!A.done&&!t(A.value));return A}));var e,t};class wg extends Lc{constructor(A,e){super(A,e),this._transaction=e}}class Rg extends $c{constructor(){super(),this._prelimContent=[],this._searchMarker=[]}static from(A){const e=new Rg;return e.push(A),e}_integrate(A,e){super._integrate(A,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new Rg}clone(){const A=new Rg;return A.insert(0,this.toArray().map((A=>A instanceof $c?A.clone():A))),A}get length(){return null===this._prelimContent?this._length:this._prelimContent.length}_callObserver(A,e){super._callObserver(A,e),qc(this,A,new wg(this,A))}insert(A,e){null!==this.doc?fc(this.doc,(t=>{og(t,this,A,e)})):this._prelimContent.splice(A,0,...e)}push(A){null!==this.doc?fc(this.doc,(e=>{((A,e,t)=>{let n=(e._searchMarker||[]).reduce(((A,e)=>e.index>A.index?e:A),{index:0,p:e._start}).p;if(n)for(;n.right;)n=n.right;sg(A,e,n,t)})(e,this,A)})):this._prelimContent.push(...A)}unshift(A){this.insert(0,A)}delete(A,e=1){null!==this.doc?fc(this.doc,(t=>{cg(t,this,A,e)})):this._prelimContent.splice(A,e)}get(A){return Eg(this,A)}toArray(){return eg(this)}slice(A=0,e=this.length){return Ag(this,A,e)}toJSON(){return this.map((A=>A instanceof $c?A.toJSON():A))}map(A){return ig(this,A)}forEach(A){ng(this,A)}[Symbol.iterator](){return Bg(this)}_write(A){A.writeTypeRef(ea)}}class Ig extends Lc{constructor(A,e,t){super(A,e),this.keysChanged=t}}class ug extends $c{constructor(A){super(),this._prelimContent=null,this._prelimContent=void 0===A?new Map:new Map(A)}_integrate(A,e){super._integrate(A,e),this._prelimContent.forEach(((A,e)=>{this.set(e,A)})),this._prelimContent=null}_copy(){return new ug}clone(){const A=new ug;return this.forEach(((e,t)=>{A.set(t,e instanceof $c?e.clone():e)})),A}_callObserver(A,e){qc(this,A,new Ig(this,A,e))}toJSON(){const A={};return this._map.forEach(((e,t)=>{if(!e.deleted){const n=e.content.getContent()[e.length-1];A[t]=n instanceof $c?n.toJSON():n}})),A}get size(){return[...Mg(this._map)].length}keys(){return uo(Mg(this._map),(A=>A[0]))}values(){return uo(Mg(this._map),(A=>A[1].content.getContent()[A[1].length-1]))}entries(){return uo(Mg(this._map),(A=>[A[0],A[1].content.getContent()[A[1].length-1]]))}forEach(A){this._map.forEach(((e,t)=>{e.deleted||A(e.content.getContent()[e.length-1],t,this)}))}[Symbol.iterator](){return this.entries()}delete(A){null!==this.doc?fc(this.doc,(e=>{gg(e,this,A)})):this._prelimContent.delete(A)}set(A,e){return null!==this.doc?fc(this.doc,(t=>{ag(t,this,A,e)})):this._prelimContent.set(A,e),e}get(A){return Qg(this,A)}has(A){return hg(this,A)}clear(){null!==this.doc?fc(this.doc,(A=>{this.forEach((function(e,t,n){gg(A,n,t)}))})):this._prelimContent.clear()}_write(A){A.writeTypeRef(ta)}}const dg=(A,e)=>A===e||"object"==typeof A&&"object"==typeof e&&A&&e&&((A,e)=>A===e||Pr(A)===Pr(e)&&((A,e)=>{for(const t in A)if(!e(A[t],t))return!1;return!0})(A,((A,t)=>(void 0!==A||((A,e)=>Object.prototype.hasOwnProperty.call(A,e))(e,t))&&e[t]===A)))(A,e);class Gg{constructor(A,e,t,n){this.left=A,this.right=e,this.index=t,this.currentAttributes=n}forward(){null===this.right&&hr(),this.right.content.constructor===Wg?this.right.deleted||Fg(this.currentAttributes,this.right.content):this.right.deleted||(this.index+=this.right.length),this.left=this.right,this.right=this.right.right}}const Cg=(A,e,t)=>{for(;null!==e.right&&t>0;)e.right.content.constructor===Wg?e.right.deleted||Fg(e.currentAttributes,e.right.content):e.right.deleted||(t{const i=new Map,B=n?Wc(e,t):null;if(B){const e=new Gg(B.p.left,B.p,B.index,i);return Cg(A,e,t-B.index)}{const n=new Gg(null,e._start,0,i);return Cg(A,n,t)}},Dg=(A,e,t,n)=>{for(;null!==t.right&&(!0===t.right.deleted||t.right.content.constructor===Wg&&dg(n.get(t.right.content.key),t.right.content.value));)t.right.deleted||n.delete(t.right.content.key),t.forward();const i=A.doc,B=i.clientID;n.forEach(((n,E)=>{const s=t.left,r=t.right,o=new la(ec(B,Mc(i.store,B)),s,s&&s.lastId,r,r&&r.id,e,null,new Wg(E,n));o.integrate(A,0),t.right=o,t.forward()}))},Fg=(A,e)=>{const{key:t,value:n}=e;null===n?A.delete(t):A.set(t,n)},Yg=(A,e)=>{for(;null!==A.right&&(A.right.deleted||A.right.content.constructor===Wg&&dg(e[A.right.content.key]??null,A.right.content.value));)A.forward()},Ug=(A,e,t,n)=>{const i=A.doc,B=i.clientID,E=new Map;for(const s in n){const r=n[s],o=t.currentAttributes.get(s)??null;if(!dg(o,r)){E.set(s,o);const{left:n,right:c}=t;t.right=new la(ec(B,Mc(i.store,B)),n,n&&n.lastId,c,c&&c.id,e,null,new Wg(s,r)),t.right.integrate(A,0),t.forward()}}return E},fg=(A,e,t,n,i)=>{t.currentAttributes.forEach(((A,e)=>{void 0===i[e]&&(i[e]=null)}));const B=A.doc,E=B.clientID;Yg(t,i);const s=Ug(A,e,t,i),r=n.constructor===String?new $g(n):n instanceof $c?new ra(n):new Kg(n);let{left:o,right:c,index:g}=t;e._searchMarker&&Xc(e._searchMarker,t.index,r.getLength()),c=new la(ec(E,Mc(B.store,E)),o,o&&o.lastId,c,c&&c.id,e,null,r),c.integrate(A,0),t.right=c,t.index=g,t.forward(),Dg(A,e,t,s)},Ng=(A,e,t,n,i)=>{const B=A.doc,E=B.clientID;Yg(t,i);const s=Ug(A,e,t,i);A:for(;null!==t.right&&(n>0||s.size>0&&(t.right.deleted||t.right.content.constructor===Wg));){if(!t.right.deleted)switch(t.right.content.constructor){case Wg:{const{key:e,value:B}=t.right.content,E=i[e];if(void 0!==E){if(dg(E,B))s.delete(e);else{if(0===n)break A;s.set(e,B)}t.right.delete(A)}else t.currentAttributes.set(e,B);break}default:n0){let i="";for(;n>0;n--)i+="\n";t.right=new la(ec(E,Mc(B.store,E)),t.left,t.left&&t.left.lastId,t.right,t.right&&t.right.id,e,null,new $g(i)),t.right.integrate(A,0),t.forward()}Dg(A,e,t,s)},Sg=(A,e,t,n,i)=>{let B=e;const E=ds();for(;B&&(!B.countable||B.deleted);){if(!B.deleted&&B.content.constructor===Wg){const A=B.content;E.set(A.key,A)}B=B.right}let s=0,r=!1;for(;e!==B;){if(t===e&&(r=!0),!e.deleted){const t=e.content;switch(t.constructor){case Wg:{const{key:B,value:o}=t,c=n.get(B)??null;E.get(B)===t&&c!==o||(e.delete(A),s++,r||(i.get(B)??null)!==o||c===o||(null===c?i.delete(B):i.set(B,c))),r||e.deleted||Fg(i,t);break}}}e=e.right}return s},mg=A=>{let e=0;return fc(A.doc,(t=>{let n=A._start,i=A._start,B=ds();const E=Gs(B);for(;i;)!1===i.deleted&&(i.content.constructor===Wg?Fg(E,i.content):(e+=Sg(t,n,i,B,E),B=Gs(E),n=i)),i=i.right})),e},yg=A=>{const e=new Set,t=A.doc;for(const[n,i]of A.afterState.entries()){const B=A.beforeState.get(n)||0;i!==B&&Cc(A,t.store.clients.get(n),B,i,(A=>{A.deleted||A.content.constructor!==Wg||A.constructor===Vg||e.add(A.parent)}))}fc(t,(t=>{ko(A,A.deleteSet,(A=>{A instanceof Vg||!A.parent._hasFormatting||e.has(A.parent)||(A.content.constructor===Wg?e.add(A.parent):((A,e)=>{for(;e&&e.right&&(e.right.deleted||!e.right.countable);)e=e.right;const t=new Set;for(;e&&(e.deleted||!e.countable);){if(!e.deleted&&e.content.constructor===Wg){const n=e.content.key;t.has(n)?e.delete(A):t.add(n)}e=e.left}})(t,A))}));for(const A of e)mg(A)}))},bg=(A,e,t)=>{const n=t,i=Gs(e.currentAttributes),B=e.right;for(;t>0&&null!==e.right;){if(!1===e.right.deleted)switch(e.right.content.constructor){case ra:case Kg:case $g:t{null===A?this.childListChanged=!0:this.keysChanged.add(A)}))}get changes(){if(null===this._changes){const A={keys:this.keys,delta:this.delta,added:new Set,deleted:new Set};this._changes=A}return this._changes}get delta(){if(null===this._delta){const A=[];fc(this.target.doc,(e=>{const t=new Map,n=new Map;let i=this.target._start,B=null;const E={};let s="",r=0,o=0;const c=()=>{if(null!==B){let e=null;switch(B){case"delete":o>0&&(e={delete:o}),o=0;break;case"insert":("object"==typeof s||s.length>0)&&(e={insert:s},t.size>0&&(e.attributes={},t.forEach(((A,t)=>{null!==A&&(e.attributes[t]=A)})))),s="";break;case"retain":r>0&&(e={retain:r},(A=>{for(const e in A)return!1;return!0})(E)||(e.attributes=jr({},E))),r=0}e&&A.push(e),B=null}};for(;null!==i;){switch(i.content.constructor){case ra:case Kg:this.adds(i)?this.deletes(i)||(c(),B="insert",s=i.content.getContent()[0],c()):this.deletes(i)?("delete"!==B&&(c(),B="delete"),o+=1):i.deleted||("retain"!==B&&(c(),B="retain"),r+=1);break;case $g:this.adds(i)?this.deletes(i)||("insert"!==B&&(c(),B="insert"),s+=i.content.str):this.deletes(i)?("delete"!==B&&(c(),B="delete"),o+=i.length):i.deleted||("retain"!==B&&(c(),B="retain"),r+=i.length);break;case Wg:{const{key:A,value:s}=i.content;if(this.adds(i)){if(!this.deletes(i)){const r=t.get(A)??null;dg(r,s)?null!==s&&i.delete(e):("retain"===B&&c(),dg(s,n.get(A)??null)?delete E[A]:E[A]=s)}}else if(this.deletes(i)){n.set(A,s);const e=t.get(A)??null;dg(e,s)||("retain"===B&&c(),E[A]=e)}else if(!i.deleted){n.set(A,s);const t=E[A];void 0!==t&&(dg(t,s)?null!==t&&i.delete(e):("retain"===B&&c(),null===s?delete E[A]:E[A]=s))}i.deleted||("insert"===B&&c(),Fg(t,i.content));break}}i=i.right}for(c();A.length>0;){const e=A[A.length-1];if(void 0===e.retain||void 0!==e.attributes)break;A.pop()}})),this._delta=A}return this._delta}}class Tg extends $c{constructor(A){super(),this._pending=void 0!==A?[()=>this.insert(0,A)]:[],this._searchMarker=[],this._hasFormatting=!1}get length(){return this._length}_integrate(A,e){super._integrate(A,e);try{this._pending.forEach((A=>A()))}catch(A){console.error(A)}this._pending=null}_copy(){return new Tg}clone(){const A=new Tg;return A.applyDelta(this.toDelta()),A}_callObserver(A,e){super._callObserver(A,e);const t=new Hg(this,A,e);qc(this,A,t),!A.local&&this._hasFormatting&&(A._needFormattingCleanup=!0)}toString(){let A="",e=this._start;for(;null!==e;)!e.deleted&&e.countable&&e.content.constructor===$g&&(A+=e.content.str),e=e.right;return A}toJSON(){return this.toString()}applyDelta(A,{sanitize:e=!0}={}){null!==this.doc?fc(this.doc,(t=>{const n=new Gg(null,this._start,0,new Map);for(let i=0;i0)&&fg(t,this,n,E,B.attributes||{})}else void 0!==B.retain?Ng(t,this,n,B.retain,B.attributes||{}):void 0!==B.delete&&bg(t,n,B.delete)}})):this._pending.push((()=>this.applyDelta(A)))}toDelta(A,e,t){const n=[],i=new Map;let B="",E=this._start;function s(){if(B.length>0){const A={};let e=!1;i.forEach(((t,n)=>{e=!0,A[n]=t}));const t={insert:B};e&&(t.attributes=A),n.push(t),B=""}}const r=()=>{for(;null!==E;){if(ac(E,A)||void 0!==e&&ac(E,e))switch(E.content.constructor){case $g:{const n=i.get("ychange");void 0===A||ac(E,A)?void 0===e||ac(E,e)?void 0!==n&&(s(),i.delete("ychange")):void 0!==n&&n.user===E.id.client&&"added"===n.type||(s(),i.set("ychange",t?t("added",E.id):{type:"added"})):void 0!==n&&n.user===E.id.client&&"removed"===n.type||(s(),i.set("ychange",t?t("removed",E.id):{type:"removed"})),B+=E.content.str;break}case ra:case Kg:{s();const A={insert:E.content.getContent()[0]};if(i.size>0){const e={};A.attributes=e,i.forEach(((A,t)=>{e[t]=A}))}n.push(A);break}case Wg:ac(E,A)&&(s(),Fg(i,E.content))}E=E.right}s()};return A||e?fc(this.doc,(t=>{A&&Qc(t,A),e&&Qc(t,e),r()}),"cleanup"):r(),n}insert(A,e,t){if(e.length<=0)return;const n=this.doc;null!==n?fc(n,(n=>{const i=kg(n,this,A,!t);t||(t={},i.currentAttributes.forEach(((A,e)=>{t[e]=A}))),fg(n,this,i,e,t)})):this._pending.push((()=>this.insert(A,e,t)))}insertEmbed(A,e,t){const n=this.doc;null!==n?fc(n,(n=>{const i=kg(n,this,A,!t);fg(n,this,i,e,t||{})})):this._pending.push((()=>this.insertEmbed(A,e,t||{})))}delete(A,e){if(0===e)return;const t=this.doc;null!==t?fc(t,(t=>{bg(t,kg(t,this,A,!0),e)})):this._pending.push((()=>this.delete(A,e)))}format(A,e,t){if(0===e)return;const n=this.doc;null!==n?fc(n,(n=>{const i=kg(n,this,A,!1);null!==i.right&&Ng(n,this,i,e,t)})):this._pending.push((()=>this.format(A,e,t)))}removeAttribute(A){null!==this.doc?fc(this.doc,(e=>{gg(e,this,A)})):this._pending.push((()=>this.removeAttribute(A)))}setAttribute(A,e){null!==this.doc?fc(this.doc,(t=>{ag(t,this,A,e)})):this._pending.push((()=>this.setAttribute(A,e)))}getAttribute(A){return Qg(this,A)}getAttributes(){return lg(this)}_write(A){A.writeTypeRef(na)}}class zg{constructor(A,e=(()=>!0)){this._filter=e,this._root=A,this._currentNode=A._start,this._firstCall=!0}[Symbol.iterator](){return this}next(){let A=this._currentNode,e=A&&A.content&&A.content.type;if(null!==A&&(!this._firstCall||A.deleted||!this._filter(e)))do{if(e=A.content.type,A.deleted||e.constructor!==pg&&e.constructor!==xg||null===e._start)for(;null!==A;){if(null!==A.right){A=A.right;break}A=A.parent===this._root?null:A.parent._item}else A=e._start}while(null!==A&&(A.deleted||!this._filter(A.content.type)));return this._firstCall=!1,null===A?{value:void 0,done:!0}:(this._currentNode=A,{value:A.content.type,done:!1})}}class xg extends $c{constructor(){super(),this._prelimContent=[]}get firstChild(){const A=this._first;return A?A.content.getContent()[0]:null}_integrate(A,e){super._integrate(A,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new xg}clone(){const A=new xg;return A.insert(0,this.toArray().map((A=>A instanceof $c?A.clone():A))),A}get length(){return null===this._prelimContent?this._length:this._prelimContent.length}createTreeWalker(A){return new zg(this,A)}querySelector(A){A=A.toUpperCase();const e=new zg(this,(e=>e.nodeName&&e.nodeName.toUpperCase()===A)).next();return e.done?null:e.value}querySelectorAll(A){return A=A.toUpperCase(),Ys(new zg(this,(e=>e.nodeName&&e.nodeName.toUpperCase()===A)))}_callObserver(A,e){qc(this,A,new Jg(this,e,A))}toString(){return ig(this,(A=>A.toString())).join("")}toJSON(){return this.toString()}toDOM(A=document,e={},t){const n=A.createDocumentFragment();return void 0!==t&&t._createAssociation(n,this),ng(this,(i=>{n.insertBefore(i.toDOM(A,e,t),null)})),n}insert(A,e){null!==this.doc?fc(this.doc,(t=>{og(t,this,A,e)})):this._prelimContent.splice(A,0,...e)}insertAfter(A,e){if(null!==this.doc)fc(this.doc,(t=>{sg(t,this,A&&A instanceof $c?A._item:A,e)}));else{const t=this._prelimContent,n=null===A?0:t.findIndex((e=>e===A))+1;if(0===n&&null!==A)throw Qr("Reference item not found");t.splice(n,0,...e)}}delete(A,e=1){null!==this.doc?fc(this.doc,(t=>{cg(t,this,A,e)})):this._prelimContent.splice(A,e)}toArray(){return eg(this)}push(A){this.insert(this.length,A)}unshift(A){this.insert(0,A)}get(A){return Eg(this,A)}slice(A=0,e=this.length){return Ag(this,A,e)}forEach(A){ng(this,A)}_write(A){A.writeTypeRef(Ba)}}class pg extends xg{constructor(A="UNDEFINED"){super(),this.nodeName=A,this._prelimAttrs=new Map}get nextSibling(){const A=this._item?this._item.next:null;return A?A.content.type:null}get prevSibling(){const A=this._item?this._item.prev:null;return A?A.content.type:null}_integrate(A,e){super._integrate(A,e),this._prelimAttrs.forEach(((A,e)=>{this.setAttribute(e,A)})),this._prelimAttrs=null}_copy(){return new pg(this.nodeName)}clone(){const A=new pg(this.nodeName);return((A,e)=>{for(const t in A)e(A[t],t)})(this.getAttributes(),((e,t)=>{"string"==typeof e&&A.setAttribute(t,e)})),A.insert(0,this.toArray().map((A=>A instanceof $c?A.clone():A))),A}toString(){const A=this.getAttributes(),e=[],t=[];for(const e in A)t.push(e);t.sort();const n=t.length;for(let i=0;i0?" "+e.join(" "):""}>${super.toString()}`}removeAttribute(A){null!==this.doc?fc(this.doc,(e=>{gg(e,this,A)})):this._prelimAttrs.delete(A)}setAttribute(A,e){null!==this.doc?fc(this.doc,(t=>{ag(t,this,A,e)})):this._prelimAttrs.set(A,e)}getAttribute(A){return Qg(this,A)}hasAttribute(A){return hg(this,A)}getAttributes(A){return A?((A,e)=>{const t={};return this._map.forEach(((A,n)=>{let i=A;for(;null!==i&&(!e.sv.has(i.id.client)||i.id.clock>=(e.sv.get(i.id.client)||0));)i=i.left;null!==i&&ac(i,e)&&(t[n]=i.content.getContent()[i.length-1])})),t})(0,A):lg(this)}toDOM(A=document,e={},t){const n=A.createElement(this.nodeName),i=this.getAttributes();for(const A in i){const e=i[A];"string"==typeof e&&n.setAttribute(A,e)}return ng(this,(i=>{n.appendChild(i.toDOM(A,e,t))})),void 0!==t&&t._createAssociation(n,this),n}_write(A){A.writeTypeRef(ia),A.writeKey(this.nodeName)}}class Jg extends Lc{constructor(A,e,t){super(A,t),this.childListChanged=!1,this.attributesChanged=new Set,e.forEach((A=>{null===A?this.childListChanged=!0:this.attributesChanged.add(A)}))}}class jg extends ug{constructor(A){super(),this.hookName=A}_copy(){return new jg(this.hookName)}clone(){const A=new jg(this.hookName);return this.forEach(((e,t)=>{A.set(t,e)})),A}toDOM(A=document,e={},t){const n=e[this.hookName];let i;return i=void 0!==n?n.createDom(this):document.createElement(this.hookName),i.setAttribute("data-yjs-hook",this.hookName),void 0!==t&&t._createAssociation(i,this),i}_write(A){A.writeTypeRef(Ea),A.writeKey(this.hookName)}}class Zg extends Tg{get nextSibling(){const A=this._item?this._item.next:null;return A?A.content.type:null}get prevSibling(){const A=this._item?this._item.prev:null;return A?A.content.type:null}_copy(){return new Zg}clone(){const A=new Zg;return A.applyDelta(this.toDelta()),A}toDOM(A=document,e,t){const n=A.createTextNode(this.toString());return void 0!==t&&t._createAssociation(n,this),n}toString(){return this.toDelta().map((A=>{const e=[];for(const t in A.attributes){const n=[];for(const e in A.attributes[t])n.push({key:e,value:A.attributes[t][e]});n.sort(((A,e)=>A.keyA.nodeName=0;A--)t+=``;return t})).join("")}toJSON(){return this.toString()}_write(A){A.writeTypeRef(sa)}}class Pg{constructor(A,e){this.id=A,this.length=e}get deleted(){throw lr()}mergeWith(A){return!1}write(A,e,t){throw lr()}integrate(A,e){throw lr()}}class Vg extends Pg{get deleted(){return!0}delete(){}mergeWith(A){return this.constructor===A.constructor&&(this.length+=A.length,!0)}integrate(A,e){e>0&&(this.id.clock+=e,this.length-=e),wc(A.doc.store,this)}write(A,e){A.writeInfo(0),A.writeLen(this.length-e)}getMissing(A,e){return null}}class Lg{constructor(A){this.content=A}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new Lg(this.content)}splice(A){throw lr()}mergeWith(A){return!1}integrate(A,e){}delete(A){}gc(A){}write(A,e){A.writeBuf(this.content)}getRef(){return 3}}class vg{constructor(A){this.len=A}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new vg(this.len)}splice(A){const e=new vg(this.len-A);return this.len=A,e}mergeWith(A){return this.len+=A.len,!0}integrate(A,e){Uo(A.deleteSet,e.id.client,e.id.clock,this.len),e.markDeleted()}delete(A){}gc(A){}write(A,e){A.writeLen(this.len-e)}getRef(){return 1}}const Og=(A,e)=>new Ho({guid:A,...e,shouldLoad:e.shouldLoad||e.autoLoad||!1});class _g{constructor(A){A._item&&console.error("This document was already integrated as a sub-document. You should create a second instance instead with the same guid."),this.doc=A;const e={};this.opts=e,A.gc||(e.gc=!1),A.autoLoad&&(e.autoLoad=!0),null!==A.meta&&(e.meta=A.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new _g(Og(this.doc.guid,this.opts))}splice(A){throw lr()}mergeWith(A){return!1}integrate(A,e){this.doc._item=e,A.subdocsAdded.add(this.doc),this.doc.shouldLoad&&A.subdocsLoaded.add(this.doc)}delete(A){A.subdocsAdded.has(this.doc)?A.subdocsAdded.delete(this.doc):A.subdocsRemoved.add(this.doc)}gc(A){}write(A,e){A.writeString(this.doc.guid),A.writeAny(this.opts)}getRef(){return 9}}class Kg{constructor(A){this.embed=A}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new Kg(this.embed)}splice(A){throw lr()}mergeWith(A){return!1}integrate(A,e){}delete(A){}gc(A){}write(A,e){A.writeJSON(this.embed)}getRef(){return 5}}class Wg{constructor(A,e){this.key=A,this.value=e}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new Wg(this.key,this.value)}splice(A){throw lr()}mergeWith(A){return!1}integrate(A,e){const t=e.parent;t._searchMarker=null,t._hasFormatting=!0}delete(A){}gc(A){}write(A,e){A.writeKey(this.key),A.writeJSON(this.value)}getRef(){return 6}}class Xg{constructor(A){this.arr=A}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new Xg(this.arr)}splice(A){const e=new Xg(this.arr.slice(A));return this.arr=this.arr.slice(0,A),e}mergeWith(A){return this.arr=this.arr.concat(A.arr),!0}integrate(A,e){}delete(A){}gc(A){}write(A,e){const t=this.arr.length;A.writeLen(t-e);for(let n=e;n=55296&&t<=56319&&(this.str=this.str.slice(0,A-1)+"�",e.str="�"+e.str.slice(1)),e}mergeWith(A){return this.str+=A.str,!0}integrate(A,e){}delete(A){}gc(A){}write(A,e){A.writeString(0===e?this.str:this.str.slice(e))}getRef(){return 4}}const Aa=[()=>new Rg,()=>new ug,()=>new Tg,A=>new pg(A.readKey()),()=>new xg,A=>new jg(A.readKey()),()=>new Zg],ea=0,ta=1,na=2,ia=3,Ba=4,Ea=5,sa=6;class ra{constructor(A){this.type=A}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new ra(this.type._copy())}splice(A){throw lr()}mergeWith(A){return!1}integrate(A,e){this.type._integrate(A.doc,e)}delete(A){let e=this.type._start;for(;null!==e;)e.deleted?e.id.clock<(A.beforeState.get(e.id.client)||0)&&A._mergeStructs.push(e):e.delete(A),e=e.right;this.type._map.forEach((e=>{e.deleted?e.id.clock<(A.beforeState.get(e.id.client)||0)&&A._mergeStructs.push(e):e.delete(A)})),A.changed.delete(this.type)}gc(A){let e=this.type._start;for(;null!==e;)e.gc(A,!0),e=e.right;this.type._start=null,this.type._map.forEach((e=>{for(;null!==e;)e.gc(A,!0),e=e.left})),this.type._map=new Map}write(A,e){this.type._write(A)}getRef(){return 7}}const oa=(A,e)=>{let t,n=e,i=0;do{i>0&&(n=ec(n.client,n.clock+i)),t=Ic(A,n),i=n.clock-t.id.clock,n=t.redone}while(null!==n&&t instanceof la);return{item:t,diff:i}},ca=(A,e)=>{for(;null!==A&&A.keep!==e;)A.keep=e,A=A.parent._item},ga=(A,e,t)=>{const{client:n,clock:i}=e.id,B=new la(ec(n,i+t),e,ec(n,i+t-1),e.right,e.rightOrigin,e.parent,e.parentSub,e.content.splice(t));return e.deleted&&B.markDeleted(),e.keep&&(B.keep=!0),null!==e.redone&&(B.redone=ec(e.redone.client,e.redone.clock+t)),e.right=B,null!==B.right&&(B.right.left=B),A._mergeStructs.push(B),null!==B.parentSub&&null===B.right&&B.parent._map.set(B.parentSub,B),e.length=t,B},aa=(A,e)=>(A=>{for(let t=0;t{const E=A.doc,s=E.store,r=E.clientID,o=e.redone;if(null!==o)return dc(A,o);let c,g=e.parent._item,a=null;if(null!==g&&!0===g.deleted){if(null===g.redone&&(!t.has(g)||null===Qa(A,g,t,n,i,B)))return null;for(;null!==g.redone;)g=dc(A,g.redone)}const Q=null===g?e.parent:g.content.type;if(null===e.parentSub){for(a=e.left,c=e;null!==a;){let e=a;for(;null!==e&&e.parent._item!==g;)e=null===e.redone?null:dc(A,e.redone);if(null!==e&&e.parent._item===g){a=e;break}a=a.left}for(;null!==c;){let e=c;for(;null!==e&&e.parent._item!==g;)e=null===e.redone?null:dc(A,e.redone);if(null!==e&&e.parent._item===g){c=e;break}c=c.right}}else if(c=null,e.right&&!i){for(a=e;null!==a&&null!==a.right&&(a.right.redone||Do(n,a.right.id)||aa(B.undoStack,a.right.id)||aa(B.redoStack,a.right.id));)for(a=a.right;a.redone;)a=dc(A,a.redone);if(a&&null!==a.right)return null}else a=Q._map.get(e.parentSub)||null;const l=Mc(s,r),h=ec(r,l),M=new la(h,a,a&&a.lastId,c,c&&c.id,Q,e.parentSub,e.content.copy());return e.redone=h,ca(M,!0),M.integrate(A,0),M};class la extends Pg{constructor(A,e,t,n,i,B,E,s){super(A,s.getLength()),this.origin=t,this.left=e,this.right=n,this.rightOrigin=i,this.parent=B,this.parentSub=E,this.redone=null,this.content=s,this.info=this.content.isCountable()?2:0}set marker(A){(8&this.info)>0!==A&&(this.info^=8)}get marker(){return(8&this.info)>0}get keep(){return(1&this.info)>0}set keep(A){this.keep!==A&&(this.info^=1)}get countable(){return(2&this.info)>0}get deleted(){return(4&this.info)>0}set deleted(A){this.deleted!==A&&(this.info^=4)}markDeleted(){this.info|=4}getMissing(A,e){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=Mc(e,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=Mc(e,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===$o&&this.id.client!==this.parent.client&&this.parent.clock>=Mc(e,this.parent.client))return this.parent.client;if(this.origin&&(this.left=Gc(A,e,this.origin),this.origin=this.left.lastId),this.rightOrigin&&(this.right=dc(A,this.rightOrigin),this.rightOrigin=this.right.id),this.left&&this.left.constructor===Vg||this.right&&this.right.constructor===Vg)this.parent=null;else if(this.parent){if(this.parent.constructor===$o){const A=Ic(e,this.parent);this.parent=A.constructor===Vg?null:A.content.type}}else this.left&&this.left.constructor===la&&(this.parent=this.left.parent,this.parentSub=this.left.parentSub),this.right&&this.right.constructor===la&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);return null}integrate(A,e){if(e>0&&(this.id.clock+=e,this.left=Gc(A,A.doc.store,ec(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(e),this.length-=e),this.parent){if(!this.left&&(!this.right||null!==this.right.left)||this.left&&this.left.right!==this.right){let e,t=this.left;if(null!==t)e=t.right;else if(null!==this.parentSub)for(e=this.parent._map.get(this.parentSub)||null;null!==e&&null!==e.left;)e=e.left;else e=this.parent._start;const n=new Set,i=new Set;for(;null!==e&&e!==this.right;){if(i.add(e),n.add(e),Ac(this.origin,e.origin)){if(e.id.client{e.p===A&&(e.p=this,!this.deleted&&this.countable&&(e.index-=this.length))})),A.keep&&(this.keep=!0),this.right=A.right,null!==this.right&&(this.right.left=this),this.length+=A.length,!0}return!1}delete(A){if(!this.deleted){const e=this.parent;this.countable&&null===this.parentSub&&(e._length-=this.length),this.markDeleted(),Uo(A.deleteSet,this.id.client,this.id.clock,this.length),Fc(A,e,this.parentSub),this.content.delete(A)}}gc(A,e){if(!this.deleted)throw hr();this.content.gc(A),e?((A,e,t)=>{const n=A.clients.get(e.id.client);n[Rc(n,e.id.clock)]=t})(A,this,new Vg(this.id,this.length)):this.content=new vg(this.length)}write(A,e){const t=e>0?ec(this.id.client,this.id.clock+e-1):this.origin,n=this.rightOrigin,i=this.parentSub,B=31&this.content.getRef()|(null===t?0:Ts)|(null===n?0:Hs)|(null===i?0:32);if(A.writeInfo(B),null!==t&&A.writeLeftID(t),null!==n&&A.writeRightID(n),null===t&&null===n){const e=this.parent;if(void 0!==e._item){const t=e._item;if(null===t){const t=tc(e);A.writeParentInfo(!0),A.writeString(t)}else A.writeParentInfo(!1),A.writeLeftID(t.id)}else e.constructor===String?(A.writeParentInfo(!0),A.writeString(e)):e.constructor===$o?(A.writeParentInfo(!1),A.writeLeftID(e)):hr();null!==i&&A.writeString(i)}this.content.write(A,e)}}const ha=(A,e)=>Ma[31&e](A),Ma=[()=>{hr()},A=>new vg(A.readLen()),A=>{const e=A.readLen(),t=[];for(let n=0;nnew Lg(A.readBuf()),A=>new $g(A.readString()),A=>new Kg(A.readJSON()),A=>new Wg(A.readKey(),A.readJSON()),A=>new ra(Aa[A.readTypeRef()](A)),A=>{const e=A.readLen(),t=[];for(let n=0;nnew _g(Og(A.readString(),A.readAny())),()=>{hr()}];class wa extends Pg{get deleted(){return!0}delete(){}mergeWith(A){return this.constructor===A.constructor&&(this.length+=A.length,!0)}integrate(A,e){hr()}write(A,e){A.writeInfo(10),Xs(A.restEncoder,this.length-e)}getMissing(A,e){return null}}const Ra="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},Ia="__ $YJS$ __";!0===Ra[Ia]&&console.error("Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438"),Ra[Ia]=!0;const ua=/[\uD800-\uDBFF]/,da=/[\uDC00-\uDFFF]/,Ga=new s("y-sync"),Ca=new s("y-undo"),ka=new s("yjs-cursor"),Da=(A,e)=>void 0===e?!A.deleted:e.sv.has(A.id.client)&&e.sv.get(A.id.client)>A.id.clock&&!Do(e.ds,A.id),Fa=[{light:"#ecd44433",dark:"#ecd444"}],Ya=(A,e,t)=>{if(!A.has(t)){if(A.sizet.add(A))),e=e.filter((A=>!t.has(A)))}A.set(t,(n=e)[Ns(yr()*n.length)])}var n;return A.get(t)},Ua=(A,e)=>({anchor:Oa(e.selection.anchor,A.type,A.mapping),head:Oa(e.selection.head,A.type,A.mapping)});class fa{constructor(A,e){this.type=A,this.prosemirrorView=e,this.mux=(()=>{let A=!0;return(e,t)=>{if(A){A=!1;try{e()}finally{A=!0}}else void 0!==t&&t()}})(),this.isDestroyed=!1,this.mapping=new Map,this._observeFunction=this._typeChanged.bind(this),this.doc=A.doc,this.beforeTransactionSelection=null,this.beforeAllTransactions=()=>{null===this.beforeTransactionSelection&&(this.beforeTransactionSelection=Ua(this,e.state))},this.afterAllTransactions=()=>{this.beforeTransactionSelection=null},this.doc.on("beforeAllTransactions",this.beforeAllTransactions),this.doc.on("afterAllTransactions",this.afterAllTransactions),A.observeDeep(this._observeFunction),this._domSelectionInView=null}get _tr(){return this.prosemirrorView.state.tr.setMeta("addToHistory",!1)}_isLocalCursorInView(){return!!this.prosemirrorView.hasFocus()&&(Or&&null===this._domSelectionInView&&(Bo(0,(()=>{this._domSelectionInView=null})),this._domSelectionInView=this._isDomSelectionInView()),this._domSelectionInView)}_isDomSelectionInView(){const A=this.prosemirrorView._root.getSelection(),e=this.prosemirrorView._root.createRange();e.setStart(A.anchorNode,A.anchorOffset),e.setEnd(A.focusNode,A.focusOffset),0===e.getClientRects().length&&e.startContainer&&e.collapsed&&e.selectNodeContents(e.startContainer);const t=e.getBoundingClientRect(),n=to.documentElement;return t.bottom>=0&&t.right>=0&&t.left<=(window.innerWidth||n.clientWidth||0)&&t.top<=(window.innerHeight||n.clientHeight||0)}renderSnapshot(A,e){e||(e=gc(fo(),new Map)),this.prosemirrorView.dispatch(this._tr.setMeta(Ga,{snapshot:A,prevSnapshot:e}))}unrenderSnapshot(){this.mapping=new Map,this.mux((()=>{const A=this.type.toArray().map((A=>Sa(A,this.prosemirrorView.state.schema,this.mapping))).filter((A=>null!==A)),e=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(x.from(A),0,0));e.setMeta(Ga,{snapshot:null,prevSnapshot:null}),this.prosemirrorView.dispatch(e)}))}_forceRerender(){this.mapping=new Map,this.mux((()=>{const A=this.type.toArray().map((A=>Sa(A,this.prosemirrorView.state.schema,this.mapping))).filter((A=>null!==A)),e=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(x.from(A),0,0));this.prosemirrorView.dispatch(e.setMeta(Ga,{isChangeOrigin:!0}))}))}_renderSnapshot(A,e,t){A||(A=(A=>gc(No(A.store),hc(A.store)))(this.doc)),this.mapping=new Map,this.mux((()=>{this.doc.transact((n=>{const i=t.permanentUserData;i&&i.dss.forEach((A=>{ko(n,A,(()=>{}))}));const B=(A,e)=>{const n="added"===A?i.getUserByClientId(e.client):i.getUserByDeletedId(e);return{user:n,type:A,color:Ya(t.colorMapping,t.colors,n)}},E=tg(this.type,new cc(e.ds,A.sv)).map((t=>!t._item.deleted||Da(t._item,A)||Da(t._item,e)?Sa(t,this.prosemirrorView.state.schema,new Map,A,e,B):null)).filter((A=>null!==A)),s=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(x.from(E),0,0));this.prosemirrorView.dispatch(s.setMeta(Ga,{isChangeOrigin:!0}))}),Ga)}))}_typeChanged(A,e){const t=Ga.getState(this.prosemirrorView.state);0!==A.length&&null==t.snapshot&&null==t.prevSnapshot?this.mux((()=>{const A=(A,e)=>this.mapping.delete(e);ko(e,e.deleteSet,(A=>{if(A.constructor===la){const e=A.content.type;e&&this.mapping.delete(e)}})),e.changed.forEach(A),e.changedParentTypes.forEach(A);const t=this.type.toArray().map((A=>Na(A,this.prosemirrorView.state.schema,this.mapping))).filter((A=>null!==A));let n=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(x.from(t),0,0));((A,e,t)=>{if(null!==e&&null!==e.anchor&&null!==e.head){const n=Ka(t.doc,t.type,e.anchor,t.mapping),i=Ka(t.doc,t.type,e.head,t.mapping);null!==n&&null!==i&&(A=A.setSelection(C.create(A.doc,n,i)))}})(n,this.beforeTransactionSelection,this),n=n.setMeta(Ga,{isChangeOrigin:!0,isUndoRedoOperation:e.origin instanceof yc}),null!==this.beforeTransactionSelection&&this._isLocalCursorInView()&&n.scrollIntoView(),this.prosemirrorView.dispatch(n)})):this.renderSnapshot(t.snapshot,t.prevSnapshot)}_prosemirrorChanged(A){this.doc.transact((()=>{Pa(this.doc,this.type,A,this.mapping),this.beforeTransactionSelection=Ua(this,this.prosemirrorView.state)}),Ga)}destroy(){this.isDestroyed=!0,this.type.unobserveDeep(this._observeFunction),this.doc.off("beforeAllTransactions",this.beforeAllTransactions),this.doc.off("afterAllTransactions",this.afterAllTransactions)}}const Na=(A,e,t,n,i,B)=>{const E=t.get(A);if(void 0===E){if(A instanceof pg)return Sa(A,e,t,n,i,B);throw lr()}return E},Sa=(A,e,t,n,i,B)=>{const E=[],s=A=>{if(A.constructor===pg){const s=Na(A,e,t,n,i,B);null!==s&&E.push(s)}else{const s=ma(A,e,t,n,i,B);null!==s&&s.forEach((A=>{null!==A&&E.push(A)}))}};void 0===n||void 0===i?A.toArray().forEach(s):tg(A,new cc(i.ds,n.sv)).forEach(s);try{const s=A.getAttributes(n);void 0!==n&&(Da(A._item,n)?Da(A._item,i)||(s.ychange=B?B("added",A._item.id):{type:"added"}):s.ychange=B?B("removed",A._item.id):{type:"removed"});const r=e.node(A.nodeName,s,E);return t.set(A,r),r}catch(e){return A.doc.transact((e=>{A._item.delete(e)}),Ga),t.delete(A),null}},ma=(A,e,t,n,i,B)=>{const E=[],s=A.toDelta(n,i,B);try{for(let A=0;A{A._item.delete(e)}),Ga),null}return E},ya=(A,e)=>A instanceof Array?((A,e)=>{const t=new Zg,n=A.map((A=>({insert:A.text,attributes:Za(A.marks)})));return t.applyDelta(n),e.set(t,A),t})(A,e):((A,e)=>{const t=new pg(A.type.name);for(const e in A.attrs){const n=A.attrs[e];null!==n&&"ychange"!==e&&t.setAttribute(e,n)}return t.insert(0,Ta(A).map((A=>ya(A,e)))),e.set(t,A),t})(A,e),ba=A=>"object"==typeof A&&null!==A,Ha=(A,e)=>{const t=Object.keys(A).filter((e=>null!==A[e]));let n=t.length===Object.keys(e).filter((A=>null!==e[A])).length;for(let i=0;i{const e=A.content.content,t=[];for(let A=0;A{const t=A.toDelta();return t.length===e.length&&t.every(((A,t)=>A.insert===e[t].text&&Zr(A.attributes||{}).length===e[t].marks.length&&e[t].marks.every((e=>Ha(A.attributes[e.type.name]||{},e.attrs)))))},xa=(A,e)=>{if(A instanceof pg&&!(e instanceof Array)&&Va(A,e)){const t=Ta(e);return A._length===t.length&&Ha(A.getAttributes(),e.attrs)&&A.toArray().every(((A,e)=>xa(A,t[e])))}return A instanceof Zg&&e instanceof Array&&za(A,e)},pa=(A,e)=>A===e||A instanceof Array&&e instanceof Array&&A.length===e.length&&A.every(((A,t)=>e[t]===A)),Ja=(A,e,t)=>{const n=A.toArray(),i=Ta(e),B=i.length,E=n.length,s=ms(E,B);let r=0,o=0,c=!1;for(;r{t.set(A,e);const{nAttrs:n,str:i}=(A=>{let e="",t=A._start;const n={};for(;null!==t;)t.deleted||(t.countable&&t.content instanceof $g?e+=t.content.str:t.content instanceof Wg&&(n[t.content.key]=null)),t=t.right;return{str:e,nAttrs:n}})(A),B=e.map((A=>({insert:A.text,attributes:Object.assign({},n,Za(A.marks))}))),{insert:E,remove:s,index:r}=((A,e)=>{let t=0,n=0;for(;t0&&ua.test(A[t-1])&&t--;n+t0&&da.test(A[A.length-n])&&n--,{index:t,remove:A.length-t-n,insert:e.slice(t,e.length-n)}})(i,B.map((A=>A.insert)).join(""));A.delete(r,s),A.insert(r,E),A.applyDelta(B.map((A=>({retain:A.insert.length,attributes:A.attributes}))))},Za=A=>{const e={};return A.forEach((A=>{"ychange"!==A.type.name&&(e[A.type.name]=A.attrs)})),e},Pa=(A,e,t,n)=>{if(e instanceof pg&&e.nodeName!==t.type.name)throw new Error("node name mismatch!");if(n.set(e,t),e instanceof pg){const A=e.getAttributes(),n=t.attrs;for(const t in n)null!==n[t]?A[t]!==n[t]&&"ychange"!==t&&e.setAttribute(t,n[t]):e.removeAttribute(t);for(const t in A)void 0===n[t]&&e.removeAttribute(t)}const i=Ta(t),B=i.length,E=e.toArray(),s=E.length,r=ms(B,s);let o=0,c=0;for(;o{for(;s-o-c>0&&B-o-c>0;){const t=E[o],r=i[o],g=E[s-c-1],a=i[B-c-1];if(t instanceof Zg&&r instanceof Array)za(t,r)||ja(t,r,n),o+=1;else{let i=t instanceof pg&&Va(t,r),B=g instanceof pg&&Va(g,a);if(i&&B){const A=Ja(t,r,n),e=Ja(g,a,n);A.foundMappedChild&&!e.foundMappedChild?B=!1:!A.foundMappedChild&&e.foundMappedChild||A.equalityFactor0&&(e.slice(o,o+t).forEach((A=>n.delete(A))),e.delete(o,t)),o+c!(e instanceof Array)&&A.nodeName===e.type.name;let La=null;const va=()=>{const A=La;La=null,A.forEach(((A,e)=>{const t=e.state.tr,n=Ga.getState(e.state);n&&n.binding&&!n.binding.isDestroyed&&(A.forEach(((A,e)=>{t.setMeta(e,A)})),e.dispatch(t))}))},Oa=(A,e,t)=>{if(0===A)return rc(e,0);let n=null===e._first?null:e._first.content.type;for(;null!==n&&e!==n;){if(n instanceof Zg){if(n._length>=A)return rc(n,A);if(A-=n._length,null!==n._item&&null!==n._item.next)n=n._item.next.content.type;else{do{n=null===n._item?null:n._item.parent,A--}while(n!==e&&null!==n&&null!==n._item&&null===n._item.next);null!==n&&n!==e&&(n=null===n._item?null:n._item.next.content.type)}}else{const i=(t.get(n)||{nodeSize:0}).nodeSize;if(null!==n._first&&A1)return new ic(null===n._item?null:n._item.id,null===n._item?tc(n):null,null);if(A-=i,null!==n._item&&null!==n._item.next)n=n._item.next.content.type;else{if(0===A)return n=null===n._item?n:n._item.parent,new ic(null===n._item?null:n._item.id,null===n._item?tc(n):null,null);do{n=n._item.parent,A--}while(n!==e&&null===n._item.next);n!==e&&(n=n._item.next.content.type)}}}if(null===n)throw hr();if(0===A&&n.constructor!==Zg&&n!==e)return _a(n._item.parent,n._item)}return rc(e,e._length)},_a=(A,e)=>{let t=null,n=null;return null===A._item?n=tc(A):t=ec(A._item.id.client,A._item.id.clock),new ic(t,n,e.id)},Ka=(A,e,t,n)=>{const i=((A,e)=>{const t=e.store,n=A.item,i=A.type,B=A.tname,E=A.assoc;let s=null,r=0;if(null!==n){if(Mc(t,n.client)<=n.clock)return null;const A=oa(t,n),e=A.item;if(!(e instanceof la))return null;if(s=e.parent,null===s._item||!s._item.deleted){r=e.deleted||!e.countable?0:A.diff+(E>=0?0:1);let t=e.left;for(;null!==t;)!t.deleted&&t.countable&&(r+=t.length),t=t.left}}else{if(null!==B)s=e.get(B);else{if(null===i)throw hr();{if(Mc(t,i.client)<=i.clock)return null;const{item:A}=oa(t,i);if(!(A instanceof la&&A.content instanceof ra))return null;s=A.content.type}}r=E>=0?s._length:0}return((A,e,t=0)=>new Ec(A,e,t))(s,r,A.assoc)})(t,A);if(null===i||i.type!==e&&!nc(e,i.type._item))return null;let B=i.type,E=0;if(B.constructor===Zg)E=i.index;else if(null===B._item||!B._item.deleted){let A=B._first,e=0;for(;eA!==e,Xa=A=>{const e=document.createElement("span");e.classList.add("ProseMirror-yjs-cursor"),e.setAttribute("style",`border-color: ${A.color}`);const t=document.createElement("div");t.setAttribute("style",`background-color: ${A.color}`),t.insertBefore(document.createTextNode(A.name),null);const n=document.createTextNode("⁠"),i=document.createTextNode("⁠");return e.insertBefore(n,null),e.insertBefore(t,null),e.insertBefore(i,null),e},qa=A=>({style:`background-color: ${A.color}70`,class:"ProseMirror-yjs-selection"}),$a=/^#[0-9a-fA-F]{6}$/,AQ=(A,e,t,n,i)=>{const B=Ga.getState(A),E=B.doc,s=[];return null!=B.snapshot||null!=B.prevSnapshot||null===B.binding?k.create(A.doc,[]):(e.getStates().forEach(((e,r)=>{if(t(E.clientID,r,e)&&null!=e.cursor){const t=e.user||{};null==t.color?t.color="#ffa500":$a.test(t.color)||console.warn("A user uses an unsupported color format",t),null==t.name&&(t.name=`User: ${r}`);let o=Ka(E,B.type,Bc(e.cursor.anchor),B.binding.mapping),c=Ka(E,B.type,Bc(e.cursor.head),B.binding.mapping);if(null!==o&&null!==c){const e=ys(A.doc.content.size-1,0);o=ms(o,e),c=ms(c,e),s.push(F.widget(c,(()=>n(t)),{key:r+"",side:10}));const B=ms(o,c),E=ys(o,c);s.push(F.inline(B,E,i(t),{inclusiveEnd:!0,inclusiveStart:!1}))}}})),k.create(A.doc,s))},eQ=(A,{awarenessStateFilter:e=Wa,cursorBuilder:t=Xa,selectionBuilder:n=qa,getSelection:i=(A=>A.selection)}={},B="cursor")=>new E({key:ka,state:{init:(i,B)=>AQ(B,A,e,t,n),apply(i,B,E,s){const r=Ga.getState(s),o=i.getMeta(ka);return r&&r.isChangeOrigin||o&&o.awarenessUpdated?AQ(s,A,e,t,n):B.map(i.mapping,i.doc)}},props:{decorations:A=>ka.getState(A)},view:e=>{const t=()=>{e.docView&&((A,e)=>{La||(La=new Map,Bo(0,va)),Cs(La,A,ds).set(e,{awarenessUpdated:!0})})(e,ka)},n=()=>{const t=Ga.getState(e.state),n=A.getLocalState()||{};if(null!=t.binding)if(e.hasFocus()){const E=i(e.state),s=Oa(E.anchor,t.type,t.binding.mapping),r=Oa(E.head,t.type,t.binding.mapping);null!=n.cursor&&oc(Bc(n.cursor.anchor),s)&&oc(Bc(n.cursor.head),r)||A.setLocalStateField(B,{anchor:s,head:r})}else null!=n.cursor&&null!==Ka(t.doc,t.type,Bc(n.cursor.anchor),t.binding.mapping)&&A.setLocalStateField(B,null)};return A.on("change",t),e.dom.addEventListener("focusin",n),e.dom.addEventListener("focusout",n),{update:n,destroy:()=>{e.dom.removeEventListener("focusin",n),e.dom.removeEventListener("focusout",n),A.off("change",t),A.setLocalStateField(B,null)}}}}),tQ=new Set(["paragraph"]),nQ=r.create({name:"collaboration",priority:1e3,addOptions:()=>({document:null,field:"default",fragment:null}),onCreate(){this.editor.extensionManager.extensions.find((A=>"history"===A.name))&&console.warn('[tiptap warn]: "@tiptap/extension-collaboration" comes with its own history support and is not compatible with "@tiptap/extension-history".')},addCommands:()=>({undo:()=>({tr:A,state:e,dispatch:t})=>(A.setMeta("preventDispatch",!0),0!==Ca.getState(e).undoManager.undoStack.length&&(!t||(A=>{const e=Ca.getState(A).undoManager;if(null!=e)return e.undo(),!0})(e))),redo:()=>({tr:A,state:e,dispatch:t})=>(A.setMeta("preventDispatch",!0),0!==Ca.getState(e).undoManager.redoStack.length&&(!t||(A=>{const e=Ca.getState(A).undoManager;if(null!=e)return e.redo(),!0})(e)))}),addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Mod-y":()=>this.editor.commands.redo(),"Shift-Mod-z":()=>this.editor.commands.redo()}},addProseMirrorPlugins(){const A=this.options.fragment?this.options.fragment:this.options.document.getXmlFragment(this.options.field),e=(({protectedNodes:A=tQ,trackedOrigins:e=[],undoManager:t=null}={})=>new E({key:Ca,state:{init:(n,i)=>{const B=Ga.getState(i),E=t||new yc(B.type,{trackedOrigins:new Set([Ga].concat(e)),deleteFilter:e=>((A,e)=>!(A instanceof la&&A.content instanceof ra&&(A.content.type instanceof Tg||A.content.type instanceof pg&&e.has(A.content.type.nodeName))&&0!==A.content.type._length))(e,A),captureTransaction:A=>!1!==A.meta.get("addToHistory")});return{undoManager:E,prevSel:null,hasUndoOps:E.undoStack.length>0,hasRedoOps:E.redoStack.length>0}},apply:(A,e,t,n)=>{const i=Ga.getState(n).binding,B=e.undoManager,E=B.undoStack.length>0,s=B.redoStack.length>0;return i?{undoManager:B,prevSel:Ua(i,t),hasUndoOps:E,hasRedoOps:s}:E!==e.hasUndoOps||s!==e.hasRedoOps?Object.assign({},e,{hasUndoOps:B.undoStack.length>0,hasRedoOps:B.redoStack.length>0}):e}},view:A=>{const e=Ga.getState(A.state),t=Ca.getState(A.state).undoManager;return t.on("stack-item-added",(({stackItem:t})=>{const n=e.binding;n&&t.meta.set(n,Ca.getState(A.state).prevSel)})),t.on("stack-item-popped",(({stackItem:A})=>{const t=e.binding;t&&(t.beforeTransactionSelection=A.meta.get(t)||t.beforeTransactionSelection)})),{destroy:()=>{t.destroy()}}}}))(),t=e.spec.view;e.spec.view=A=>{const{undoManager:e}=Ca.getState(A.state);e.restore&&(e.restore(),e.restore=()=>{});const n=t?t(A):void 0;return{destroy:()=>{const A=e.trackedOrigins.has(e),t=e._observers;e.restore=()=>{A&&e.trackedOrigins.add(e),e.doc.on("afterTransaction",e.afterTransactionHandler),e._observers=t},(null==n?void 0:n.destroy)&&n.destroy()}}};const n=this.options.onFirstRender,i=((A,{colors:e=Fa,colorMapping:t=new Map,permanentUserData:n=null,onFirstRender:i=(()=>{})}={})=>{let B,s=!1;const r=new E({props:{editable:A=>{const e=Ga.getState(A);return null==e.snapshot&&null==e.prevSnapshot}},key:Ga,state:{init:()=>({type:A,doc:A.doc,binding:null,snapshot:null,prevSnapshot:null,isChangeOrigin:!1,isUndoRedoOperation:!1,addToHistory:!0,colors:e,colorMapping:t,permanentUserData:n}),apply:(A,e)=>{const t=A.getMeta(Ga);if(void 0!==t){e=Object.assign({},e);for(const A in t)e[A]=t[A]}return e.addToHistory=!1!==A.getMeta("addToHistory"),e.isChangeOrigin=void 0!==t&&!!t.isChangeOrigin,e.isUndoRedoOperation=void 0!==t&&!!t.isChangeOrigin&&!!t.isUndoRedoOperation,null!==e.binding&&(void 0===t||null==t.snapshot&&null==t.prevSnapshot||Bo(0,(()=>{null==e.binding||e.binding.isDestroyed||(null==t.restore?e.binding._renderSnapshot(t.snapshot,t.prevSnapshot,e):(e.binding._renderSnapshot(t.snapshot,t.snapshot,e),delete e.restore,delete e.snapshot,delete e.prevSnapshot,e.binding.mux((()=>{e.binding._prosemirrorChanged(e.binding.prosemirrorView.state.doc)}))))}))),e}},view:e=>{const t=new fa(A,e);return null!=B&&B.destroy(),B=Bo(0,(()=>{t._forceRerender(),e.dispatch(e.state.tr.setMeta(Ga,{binding:t})),i()})),{update:()=>{const A=r.getState(e.state);if(null==A.snapshot&&null==A.prevSnapshot&&(s||null!==e.state.doc.content.findDiffStart(e.state.doc.type.createAndFill().content))){if(s=!0,!1===A.addToHistory&&!A.isChangeOrigin){const A=Ca.getState(e.state),t=A&&A.undoManager;t&&t.stopCapturing()}t.mux((()=>{A.doc.transact((n=>{n.meta.set("addToHistory",A.addToHistory),t._prosemirrorChanged(e.state.doc)}),Ga)}))}},destroy:()=>{B.destroy(),t.destroy()}}}});return r})(A,n?{onFirstRender:n}:{});return[i,e]}}),iQ=A=>Array.from(A.entries()).map((([A,e])=>({clientId:A,...e.user}))),BQ=()=>null,EQ=r.create({name:"collaborationCursor",addOptions:()=>({provider:null,user:{name:null,color:null},render:A=>{const e=document.createElement("span");e.classList.add("collaboration-cursor__caret"),e.setAttribute("style",`border-color: ${A.color}`);const t=document.createElement("div");return t.classList.add("collaboration-cursor__label"),t.setAttribute("style",`background-color: ${A.color}`),t.insertBefore(document.createTextNode(A.name),null),e.insertBefore(t,null),e},selectionRender:qa,onUpdate:BQ}),onCreate(){this.options.onUpdate!==BQ&&console.warn('[tiptap warn]: DEPRECATED: The "onUpdate" option is deprecated. Please use `editor.storage.collaborationCursor.users` instead. Read more: https://tiptap.dev/api/extensions/collaboration-cursor')},addStorage:()=>({users:[]}),addCommands(){return{updateUser:A=>()=>(this.options.user=A,this.options.provider.awareness.setLocalStateField("user",this.options.user),!0),user:A=>({editor:e})=>(console.warn('[tiptap warn]: DEPRECATED: The "user" command is deprecated. Please use "updateUser" instead. Read more: https://tiptap.dev/api/extensions/collaboration-cursor'),e.commands.updateUser(A))}},addProseMirrorPlugins(){return[eQ((()=>(this.options.provider.awareness.setLocalStateField("user",this.options.user),this.storage.users=iQ(this.options.provider.awareness.states),this.options.provider.awareness.on("update",(()=>{this.storage.users=iQ(this.options.provider.awareness.states)})),this.options.provider.awareness))(),{cursorBuilder:this.options.render,selectionBuilder:this.options.selectionRender})]}}),sQ=Math.floor,rQ=127,oQ=Number.MAX_SAFE_INTEGER,cQ="undefined"!=typeof TextEncoder?new TextEncoder:null,gQ=cQ?A=>cQ.encode(A):A=>{const e=unescape(encodeURIComponent(A)),t=e.length,n=new Uint8Array(t);for(let A=0;A{const t=A.cbuf.length;A.cpos===t&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(2*t),A.cpos=0),A.cbuf[A.cpos++]=e},lQ=(A,e)=>{for(;e>rQ;)QQ(A,128|rQ&e),e=sQ(e/128);QQ(A,rQ&e)},hQ=new Uint8Array(3e4),MQ=hQ.length/3,wQ=cQ&&cQ.encodeInto?(A,e)=>{if(e.length{const t=unescape(encodeURIComponent(e)),n=t.length;lQ(A,n);for(let e=0;e{lQ(A,e.byteLength),((A,e)=>{const t=A.cbuf.length,n=A.cpos,i=(B=t-n)<(E=e.length)?B:E;var B,E;const s=e.length-i;A.cbuf.set(e.subarray(0,i),n),A.cpos+=i,s>0&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(((A,e)=>A>e?A:e)(2*t,s)),A.cbuf.set(e.subarray(i)),A.cpos=s)})(A,e)},IQ=A=>new Error(A),uQ=IQ("Unexpected end of array"),dQ=IQ("Integer out of Range"),GQ=A=>A.arr[A.pos++],CQ=A=>{let e=0,t=1;const n=A.arr.length;for(;A.posoQ)throw dQ}throw uQ},kQ=aQ?A=>aQ.decode((A=>((A,e)=>{const t=new Uint8Array(A.arr.buffer,A.pos+A.arr.byteOffset,e);return A.pos+=e,t})(A,CQ(A)))(A)):A=>{let e=CQ(A);if(0===e)return"";{let t=String.fromCodePoint(GQ(A));if(--e<100)for(;e--;)t+=String.fromCodePoint(GQ(A));else for(;e>0;){const n=e<1e4?e:1e4,i=A.arr.subarray(A.pos,A.pos+n);A.pos+=n,t+=String.fromCodePoint.apply(null,i),e-=n}return decodeURIComponent(escape(t))}};var DQ;!function(A){A[A.Token=0]="Token",A[A.PermissionDenied=1]="PermissionDenied",A[A.Authenticated=2]="Authenticated"}(DQ||(DQ={}));const FQ=A=>Array.from(A.entries()).map((([A,e])=>({clientId:A,...e})));var YQ;async function UQ(A){return new Promise((e=>{setTimeout(e,A)}))}function fQ(A,e){let t=e.delay;if(0===t)return 0;if(e.factor&&(t*=Math.pow(e.factor,A.attemptNum-1),0!==e.maxDelay&&(t=Math.min(t,e.maxDelay))),e.jitter){const A=Math.ceil(e.minDelay),n=Math.floor(t);t=Math.floor(Math.random()*(n-A+1))+A}return Math.round(t)}!function(A){A[A.Connecting=0]="Connecting",A[A.Open=1]="Open",A[A.Closing=2]="Closing",A[A.Closed=3]="Closed"}(YQ||(YQ={}));const NQ=()=>new Map,SQ=(A,e,t)=>{let n=A.get(e);return void 0===n&&A.set(e,n=t()),n},mQ=()=>new Set,yQ=Array.from,bQ=String.fromCharCode,HQ=/^\s*/g,TQ=/([A-Z])/g,zQ=(A,e)=>(A=>A.replace(HQ,""))(A.replace(TQ,(A=>`${e}${(A=>A.toLowerCase())(A)}`))),xQ="undefined"!=typeof TextEncoder?new TextEncoder:null,pQ=xQ?A=>xQ.encode(A):A=>{const e=unescape(encodeURIComponent(A)),t=e.length,n=new Uint8Array(t);for(let A=0;AVQ(A).length,vQ=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),OQ=(A,e)=>{if(null==A||null==e)return((A,e)=>A===e)(A,e);if(A.constructor!==e.constructor)return!1;if(A===e)return!0;switch(A.constructor){case ArrayBuffer:A=new Uint8Array(A),e=new Uint8Array(e);case Uint8Array:if(A.byteLength!==e.byteLength)return!1;for(let t=0;t(()=>{if(void 0===WQ)if(_Q){WQ=NQ();const A=process.argv;let e=null;for(let t=0;t{if(0!==A.length){const[e,t]=A.split("=");WQ.set(`--${zQ(e,"-")}`,t),WQ.set(`-${zQ(e,"-")}`,t)}}))):WQ=NQ();return WQ})().has(A),qQ=A=>{return void 0===(e=_Q?process.env[A.toUpperCase()]:PQ.getItem(A))?null:e;var e};(A=>{XQ("--"+A)||qQ(A)})("production");const $Q=_Q&&(A=>["true","1","2"].includes(A))(process.env.FORCE_COLOR);!XQ("no-colors")&&(!_Q||process.stdout.isTTY||$Q)&&(!_Q||XQ("color")||$Q||null!==qQ("COLORTERM")||(qQ("TERM")||"").includes("color"));const Al=Math.floor,el=128,tl=127,nl=Number.MAX_SAFE_INTEGER;class il{constructor(){this.cpos=0,this.cbuf=new Uint8Array(100),this.bufs=[]}}const Bl=()=>new il,El=A=>{let e=A.cpos;for(let t=0;t{const e=new Uint8Array(El(A));let t=0;for(let n=0;n{const t=A.cbuf.length;A.cpos===t&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(2*t),A.cpos=0),A.cbuf[A.cpos++]=e},ol=(A,e)=>{for(;e>tl;)rl(A,el|tl&e),e=Al(e/128);rl(A,tl&e)},cl=new Uint8Array(3e4),gl=cl.length/3,al=xQ&&xQ.encodeInto?(A,e)=>{if(e.length{const t=unescape(encodeURIComponent(e)),n=t.length;ol(A,n);for(let e=0;e{ol(A,e.byteLength),((A,e)=>{const t=A.cbuf.length,n=A.cpos,i=(B=t-n)<(E=e.length)?B:E;var B,E;const s=e.length-i;A.cbuf.set(e.subarray(0,i),n),A.cpos+=i,s>0&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(((A,e)=>A>e?A:e)(2*t,s)),A.cbuf.set(e.subarray(i)),A.cpos=s)})(A,e)},ll=A=>new Error(A),hl=ll("Unexpected end of array"),Ml=ll("Integer out of Range");class wl{constructor(A){this.arr=A,this.pos=0}}const Rl=A=>new wl(A),Il=A=>((A,e)=>{const t=new Uint8Array(A.arr.buffer,A.pos+A.arr.byteOffset,e);return A.pos+=e,t})(A,dl(A)),ul=A=>A.arr[A.pos++],dl=A=>{let e=0,t=1;const n=A.arr.length;for(;A.posnl)throw Ml}throw hl},Gl=JQ?A=>JQ.decode(Il(A)):A=>{let e=dl(A);if(0===e)return"";{let t=String.fromCodePoint(ul(A));if(--e<100)for(;e--;)t+=String.fromCodePoint(ul(A));else for(;e>0;){const n=e<1e4?e:1e4,i=A.arr.subarray(A.pos,A.pos+n);A.pos+=n,t+=String.fromCodePoint.apply(null,i),e-=n}return decodeURIComponent(escape(t))}},Cl=KQ?A=>{let e="";for(let t=0;tBuffer.from(A.buffer,A.byteOffset,A.byteLength).toString("base64"),kl=KQ?A=>{const e=atob(A),t=new Uint8Array(e.length);for(let A=0;A{const e=Buffer.from(A,"base64");return((A,e,t)=>new Uint8Array(A,e,t))(e.buffer,e.byteOffset,e.byteLength)},Dl=new Map,Fl="undefined"==typeof BroadcastChannel?class{constructor(A){this.room=A,this.onmessage=null,this._onChange=e=>e.key===A&&null!==this.onmessage&&this.onmessage({data:kl(e.newValue||"")}),ZQ||addEventListener("storage",this._onChange)}postMessage(A){PQ.setItem(this.room,Cl(new Uint8Array(A)))}close(){ZQ||removeEventListener("storage",this._onChange)}}:BroadcastChannel,Yl=A=>SQ(Dl,A,(()=>{const e=mQ(),t=new Fl(A);return t.onmessage=A=>e.forEach((e=>e(A.data,"broadcastchannel"))),{bc:t,subs:e}})),Ul=Date.now;class fl{constructor(){this._observers=NQ()}on(A,e){SQ(this._observers,A,mQ).add(e)}once(A,e){const t=(...n)=>{this.off(A,t),e(...n)};this.on(A,t)}off(A,e){const t=this._observers.get(A);void 0!==t&&(t.delete(e),0===t.size&&this._observers.delete(A))}emit(A,e){return yQ((this._observers.get(A)||NQ()).values()).forEach((A=>A(...e)))}destroy(){this._observers=NQ()}}class Nl extends fl{constructor(A){super(),this.doc=A,this.clientID=A.clientID,this.states=new Map,this.meta=new Map,this._checkInterval=setInterval((()=>{const A=Ul();null!==this.getLocalState()&&15e3<=A-this.meta.get(this.clientID).lastUpdated&&this.setLocalState(this.getLocalState());const e=[];this.meta.forEach(((t,n)=>{n!==this.clientID&&3e4<=A-t.lastUpdated&&this.states.has(n)&&e.push(n)})),e.length>0&&Sl(this,e,"timeout")}),Al(3e3)),A.on("destroy",(()=>{this.destroy()})),this.setLocalState({})}destroy(){this.emit("destroy",[this]),this.setLocalState(null),super.destroy(),clearInterval(this._checkInterval)}getLocalState(){return this.states.get(this.clientID)||null}setLocalState(A){const e=this.clientID,t=this.meta.get(e),n=void 0===t?0:t.clock+1,i=this.states.get(e);null===A?this.states.delete(e):this.states.set(e,A),this.meta.set(e,{clock:n,lastUpdated:Ul()});const B=[],E=[],s=[],r=[];null===A?r.push(e):null==i?null!=A&&B.push(e):(E.push(e),OQ(i,A)||s.push(e)),(B.length>0||s.length>0||r.length>0)&&this.emit("change",[{added:B,updated:s,removed:r},"local"]),this.emit("update",[{added:B,updated:E,removed:r},"local"])}setLocalStateField(A,e){const t=this.getLocalState();null!==t&&this.setLocalState({...t,[A]:e})}getStates(){return this.states}}const Sl=(A,e,t)=>{const n=[];for(let t=0;t0&&(A.emit("change",[{added:[],updated:[],removed:n},t]),A.emit("update",[{added:[],updated:[],removed:n},t]))},ml=(A,e,t=A.states)=>{const n=e.length,i=Bl();ol(i,n);for(let B=0;BA.apply(this,e))),this}off(A,e){const t=this.callbacks[A];return t&&(e?this.callbacks[A]=t.filter((A=>A!==e)):delete this.callbacks[A]),this}removeAllListeners(){this.callbacks={}}}var bl,Hl;!function(A){A[A.Sync=0]="Sync",A[A.Awareness=1]="Awareness",A[A.Auth=2]="Auth",A[A.QueryAwareness=3]="QueryAwareness",A[A.Stateless=5]="Stateless",A[A.CLOSE=7]="CLOSE",A[A.SyncStatus=8]="SyncStatus"}(bl||(bl={})),function(A){A.Connecting="connecting",A.Connected="connected",A.Disconnected="disconnected"}(Hl||(Hl={}));class Tl{constructor(A){this.data=A,this.encoder=Bl(),this.decoder=Rl(new Uint8Array(this.data))}peekVarString(){return(A=>{const e=A.pos,t=Gl(A);return A.pos=e,t})(this.decoder)}readVarUint(){return dl(this.decoder)}readVarString(){return Gl(this.decoder)}readVarUint8Array(){return Il(this.decoder)}writeVarUint(A){return ol(this.encoder,A)}writeVarString(A){return al(this.encoder,A)}writeVarUint8Array(A){return Ql(this.encoder,A)}length(){return El(this.encoder)}}class zl extends yl{constructor(A){super(),this.messageQueue=[],this.configuration={url:"",document:void 0,WebSocketPolyfill:void 0,parameters:{},connect:!0,broadcast:!0,forceSyncInterval:!1,messageReconnectTimeout:3e4,delay:1e3,initialDelay:0,factor:2,maxAttempts:0,minDelay:1e3,maxDelay:3e4,jitter:!0,timeout:0,onOpen:()=>null,onConnect:()=>null,onMessage:()=>null,onOutgoingMessage:()=>null,onStatus:()=>null,onDisconnect:()=>null,onClose:()=>null,onDestroy:()=>null,onAwarenessUpdate:()=>null,onAwarenessChange:()=>null,quiet:!1,providerMap:new Map},this.webSocket=null,this.webSocketHandlers={},this.shouldConnect=!0,this.status=Hl.Disconnected,this.lastMessageReceived=0,this.identifier=0,this.intervals={forceSync:null,connectionChecker:null},this.connectionAttempt=null,this.receivedOnOpenPayload=void 0,this.receivedOnStatusPayload=void 0,this.closeTries=0,this.setConfiguration(A),this.configuration.WebSocketPolyfill=A.WebSocketPolyfill?A.WebSocketPolyfill:WebSocket,this.on("open",this.configuration.onOpen),this.on("open",this.onOpen.bind(this)),this.on("connect",this.configuration.onConnect),this.on("message",this.configuration.onMessage),this.on("outgoingMessage",this.configuration.onOutgoingMessage),this.on("status",this.configuration.onStatus),this.on("status",this.onStatus.bind(this)),this.on("disconnect",this.configuration.onDisconnect),this.on("close",this.configuration.onClose),this.on("destroy",this.configuration.onDestroy),this.on("awarenessUpdate",this.configuration.onAwarenessUpdate),this.on("awarenessChange",this.configuration.onAwarenessChange),this.on("close",this.onClose.bind(this)),this.on("message",this.onMessage.bind(this)),this.intervals.connectionChecker=setInterval(this.checkConnection.bind(this),this.configuration.messageReconnectTimeout/10),void 0!==A.connect&&(this.shouldConnect=A.connect),this.shouldConnect&&this.connect()}async onOpen(A){this.receivedOnOpenPayload=A}async onStatus(A){this.receivedOnStatusPayload=A}attach(A){let e;return this.configuration.providerMap.set(A.configuration.name,A),this.status===Hl.Disconnected&&this.shouldConnect&&(e=this.connect()),this.receivedOnOpenPayload&&A.onOpen(this.receivedOnOpenPayload),this.receivedOnStatusPayload&&A.onStatus(this.receivedOnStatusPayload),e}detach(A){this.configuration.providerMap.delete(A.configuration.name)}setConfiguration(A={}){this.configuration={...this.configuration,...A}}async connect(){if(this.status===Hl.Connected)return;this.cancelWebsocketRetry&&(this.cancelWebsocketRetry(),this.cancelWebsocketRetry=void 0),this.receivedOnOpenPayload=void 0,this.receivedOnStatusPayload=void 0,this.shouldConnect=!0;const{retryPromise:A,cancelFunc:e}=(()=>{let A=!1;const e=async function(A,e){const t=function(A){return A||(A={}),{delay:void 0===A.delay?200:A.delay,initialDelay:void 0===A.initialDelay?0:A.initialDelay,minDelay:void 0===A.minDelay?0:A.minDelay,maxDelay:void 0===A.maxDelay?0:A.maxDelay,factor:void 0===A.factor?0:A.factor,maxAttempts:void 0===A.maxAttempts?3:A.maxAttempts,timeout:void 0===A.timeout?0:A.timeout,jitter:!0===A.jitter,handleError:void 0===A.handleError?null:A.handleError,handleTimeout:void 0===A.handleTimeout?null:A.handleTimeout,beforeAttempt:void 0===A.beforeAttempt?null:A.beforeAttempt,calculateDelay:void 0===A.calculateDelay?null:A.calculateDelay}}(e);for(const A of["delay","initialDelay","minDelay","maxDelay","maxAttempts","timeout"]){const e=t[A];if(!Number.isInteger(e)||e<0)throw new Error(`Value for ${A} must be an integer greater than or equal to 0`)}if(t.factor.constructor!==Number||t.factor<0)throw new Error("Value for factor must be a number greater than or equal to 0");if(t.delay{if(t.handleError&&await t.handleError(A,n,t),n.aborted||0===n.attemptsRemaining)throw A;n.attemptNum++;const B=i(n,t);return B&&await UQ(B),e()};return n.attemptsRemaining>0&&n.attemptsRemaining--,t.timeout?new Promise(((e,i)=>{const E=setTimeout((()=>{if(t.handleTimeout)try{e(t.handleTimeout(n,t))}catch(A){i(A)}else{const A=new Error(`Retry timeout (attemptNum: ${n.attemptNum}, timeout: ${t.timeout})`);A.code="ATTEMPT_TIMEOUT",i(A)}}),t.timeout);A(n,t).then((A=>{clearTimeout(E),e(A)})).catch((A=>{clearTimeout(E),B(A).then(e).catch(i)}))})):A(n,t).catch(B)}()}(this.createWebSocketConnection.bind(this),{delay:this.configuration.delay,initialDelay:this.configuration.initialDelay,factor:this.configuration.factor,maxAttempts:this.configuration.maxAttempts,minDelay:this.configuration.minDelay,maxDelay:this.configuration.maxDelay,jitter:this.configuration.jitter,timeout:this.configuration.timeout,beforeAttempt:e=>{this.shouldConnect&&!A||e.abort()}}).catch((A=>{if(A&&"ATTEMPT_ABORTED"!==A.code)throw A}));return{retryPromise:e,cancelFunc:()=>{A=!0}}})();return this.cancelWebsocketRetry=e,A}attachWebSocketListeners(A,e){const{identifier:t}=A;this.webSocketHandlers[t]={message:A=>this.emit("message",A),close:A=>this.emit("close",{event:A}),open:A=>this.emit("open",A),error:A=>{e(A)}};const n=this.webSocketHandlers[A.identifier];Object.keys(n).forEach((e=>{A.addEventListener(e,n[e])}))}cleanupWebSocket(){if(!this.webSocket)return;const{identifier:A}=this.webSocket,e=this.webSocketHandlers[A];Object.keys(e).forEach((t=>{var n;null===(n=this.webSocket)||void 0===n||n.removeEventListener(t,e[t]),delete this.webSocketHandlers[A]})),this.webSocket.close(),this.webSocket=null}createWebSocketConnection(){return new Promise(((A,e)=>{this.webSocket&&(this.messageQueue=[],this.cleanupWebSocket()),this.lastMessageReceived=0,this.identifier+=1;const t=new this.configuration.WebSocketPolyfill(this.url);t.binaryType="arraybuffer",t.identifier=this.identifier,this.attachWebSocketListeners(t,e),this.webSocket=t,this.status=Hl.Connecting,this.emit("status",{status:Hl.Connecting}),this.connectionAttempt={resolve:A,reject:e}}))}onMessage(A){var e;this.resolveConnectionAttempt(),this.lastMessageReceived=Ul();const t=new Tl(A.data).peekVarString();null===(e=this.configuration.providerMap.get(t))||void 0===e||e.onMessage(A)}resolveConnectionAttempt(){this.connectionAttempt&&(this.connectionAttempt.resolve(),this.connectionAttempt=null,this.status=Hl.Connected,this.emit("status",{status:Hl.Connected}),this.emit("connect"),this.messageQueue.forEach((A=>this.send(A))),this.messageQueue=[])}stopConnectionAttempt(){this.connectionAttempt=null}rejectConnectionAttempt(){var A;null===(A=this.connectionAttempt)||void 0===A||A.reject(),this.connectionAttempt=null}checkConnection(){var A;this.status===Hl.Connected&&this.lastMessageReceived&&(this.configuration.messageReconnectTimeout>=Ul()-this.lastMessageReceived||(this.closeTries+=1,this.closeTries>2?(this.onClose({event:{code:4408,reason:"forced"}}),this.closeTries=0):(null===(A=this.webSocket)||void 0===A||A.close(),this.messageQueue=[])))}get serverUrl(){for(;"/"===this.configuration.url[this.configuration.url.length-1];)return this.configuration.url.slice(0,this.configuration.url.length-1);return this.configuration.url}get url(){const A=(()=>((A,e)=>{const t=[];for(const n in A)t.push(e(A[n],n));return t})(this.configuration.parameters,((A,e)=>`${encodeURIComponent(e)}=${encodeURIComponent(A)}`)).join("&"))();return`${this.serverUrl}${0===A.length?"":`?${A}`}`}disconnect(){if(this.shouldConnect=!1,null!==this.webSocket)try{this.webSocket.close(),this.messageQueue=[]}catch{}}send(A){var e;(null===(e=this.webSocket)||void 0===e?void 0:e.readyState)===YQ.Open?this.webSocket.send(A):this.messageQueue.push(A)}onClose({event:A}){this.closeTries=0,this.cleanupWebSocket(),this.status===Hl.Connected&&(this.status=Hl.Disconnected,this.emit("status",{status:Hl.Disconnected}),this.emit("disconnect",{event:A})),4401===A.code&&("Unauthorized"===A.reason?console.warn("[HocuspocusProvider] An authentication token is required, but you didn’t send one. Try adding a `token` to your HocuspocusProvider configuration. Won’t try again."):console.warn(`[HocuspocusProvider] Connection closed with status Unauthorized: ${A.reason}`),this.shouldConnect=!1),4403!==A.code||this.configuration.quiet?(1009===A.code&&(console.warn(`[HocuspocusProvider] Connection closed with status MessageTooBig: ${A.reason}`),this.shouldConnect=!1),this.connectionAttempt?this.rejectConnectionAttempt():this.shouldConnect&&this.connect(),this.shouldConnect||this.status!==Hl.Disconnected&&(this.status=Hl.Disconnected,this.emit("status",{status:Hl.Disconnected}),this.emit("disconnect",{event:A}))):console.warn("[HocuspocusProvider] The provided authentication token isn’t allowed to connect to this server. Will try again.")}destroy(){this.emit("destroy"),this.intervals.forceSync&&clearInterval(this.intervals.forceSync),clearInterval(this.intervals.connectionChecker),this.stopConnectionAttempt(),this.disconnect(),this.removeAllListeners(),this.cleanupWebSocket()}}const xl=(A,e)=>{ol(A,0);const t=(A=>((A,e=new Zo)=>(A instanceof Map?Oo(e,A):((A,e)=>{Oo(A,hc(e.store))})(e,A),e.toUint8Array()))(A,new Jo))(e);Ql(A,t)},pl=(A,e,t)=>{ol(A,1),Ql(A,((A,e)=>((A,e=new Uint8Array([0]),t=new Po)=>{((A,e,t=new Map)=>{Vo(A,e.store,t),So(A,No(e.store))})(t,A,vo(e));const n=[t.toUint8Array()];if(A.store.pendingDs&&n.push(A.store.pendingDs),A.store.pendingStructs&&n.push(pc(A.store.pendingStructs.update,e)),n.length>1){if(t.constructor===jo)return Tc(n.map(((A,e)=>0===e?A:Pc(A))));if(t.constructor===Po)return xc(n)}return n[0]})(A,e,new jo))(e,t))},Jl=(A,e,t)=>{try{((A,e,t)=>{Lo(A,e,t,zo)})(e,Il(A),t)}catch(A){console.error("Caught error while handling a Yjs update",A)}},jl=Jl;class Zl{constructor(){this.encoder=Bl()}get(A){return A.encoder}toUint8Array(){return sl(this.encoder)}}class Pl{constructor(A){this.broadcasted=!1,this.message=A}setBroadcasted(A){return this.broadcasted=A,this}apply(A,e){const{message:t}=this,n=t.readVarUint(),i=t.length();switch(n){case bl.Sync:this.applySyncMessage(A,e);break;case bl.Awareness:this.applyAwarenessMessage(A);break;case bl.Auth:this.applyAuthMessage(A);break;case bl.QueryAwareness:this.applyQueryAwarenessMessage(A);break;case bl.Stateless:A.receiveStateless(Gl(t.decoder));break;case bl.SyncStatus:this.applySyncStatusMessage(A,1===(A=>{let e=A.arr[A.pos++],t=63&e,n=64;const i=(64&e)>0?-1:1;if(!(e&el))return i*t;const B=A.arr.length;for(;A.posnl)throw Ml}throw hl})(t.decoder));break;default:throw new Error(`Can’t apply message of unknown type: ${n}`)}t.length()>i+1&&(this.broadcasted?A.broadcast(Zl,{encoder:t.encoder}):A.send(Zl,{encoder:t.encoder}))}applySyncMessage(A,e){const{message:t}=this;t.writeVarUint(bl.Sync);const n=((A,e,t,n)=>{const i=dl(A);switch(i){case 0:((A,e,t)=>{pl(e,t,Il(A))})(A,e,t);break;case 1:Jl(A,t,n);break;case 2:jl(A,t,n);break;default:throw new Error("Unknown message type")}return i})(t.decoder,t.encoder,A.document,A);e&&1===n&&(A.synced=!0)}applySyncStatusMessage(A,e){e&&A.decrementUnsyncedChanges()}applyAwarenessMessage(A){if(!A.awareness)return;const{message:e}=this;((A,e,t)=>{const n=Rl(e),i=Ul(),B=[],E=[],s=[],r=[],o=dl(n);for(let e=0;e0||s.length>0||r.length>0)&&A.emit("change",[{added:B,updated:s,removed:r},t]),(B.length>0||E.length>0||r.length>0)&&A.emit("update",[{added:B,updated:E,removed:r},t])})(A.awareness,e.readVarUint8Array(),A)}applyAuthMessage(A){const{message:e}=this;((A,e,t)=>{switch(CQ(A)){case DQ.PermissionDenied:e(kQ(A));break;case DQ.Authenticated:t(kQ(A))}})(e.decoder,A.permissionDeniedHandler.bind(A),A.authenticatedHandler.bind(A))}applyQueryAwarenessMessage(A){if(!A.awareness)return;const{message:e}=this;e.writeVarUint(bl.Awareness),e.writeVarUint8Array(ml(A.awareness,Array.from(A.awareness.getStates().keys())))}}class Vl{constructor(A,e={}){this.message=new A,this.encoder=this.message.get(e)}create(){return sl(this.encoder)}send(A){null==A||A.send(this.create())}broadcast(A){((A,e,t=null)=>{const n=Yl(A);n.bc.postMessage(e),n.subs.forEach((A=>A(e,t)))})(A,this.create())}}class Ll extends Zl{constructor(){super(...arguments),this.type=bl.Auth,this.description="Authentication"}get(A){if(void 0===A.token)throw new Error("The authentication message requires `token` as an argument.");var e,t;return al(this.encoder,A.documentName),ol(this.encoder,this.type),t=A.token,lQ(e=this.encoder,DQ.Token),wQ(e,t),this.encoder}}class vl extends Zl{constructor(){super(...arguments),this.type=bl.Awareness,this.description="Awareness states update"}get(A){if(void 0===A.awareness)throw new Error("The awareness message requires awareness as an argument");if(void 0===A.clients)throw new Error("The awareness message requires clients as an argument");let e;return al(this.encoder,A.documentName),ol(this.encoder,this.type),e=void 0===A.states?ml(A.awareness,A.clients):ml(A.awareness,A.clients,A.states),Ql(this.encoder,e),this.encoder}}class Ol extends Zl{constructor(){super(...arguments),this.type=bl.CLOSE,this.description="Ask the server to close the connection"}get(A){return al(this.encoder,A.documentName),ol(this.encoder,this.type),this.encoder}}class _l extends Zl{constructor(){super(...arguments),this.type=bl.QueryAwareness,this.description="Queries awareness states"}get(A){return al(this.encoder,A.documentName),ol(this.encoder,this.type),this.encoder}}class Kl extends Zl{constructor(){super(...arguments),this.type=bl.Stateless,this.description="A stateless message"}get(A){var e;return al(this.encoder,A.documentName),ol(this.encoder,this.type),al(this.encoder,null!==(e=A.payload)&&void 0!==e?e:""),this.encoder}}class Wl extends Zl{constructor(){super(...arguments),this.type=bl.Sync,this.description="First sync step"}get(A){if(void 0===A.document)throw new Error("The sync step one message requires document as an argument");return al(this.encoder,A.documentName),ol(this.encoder,this.type),xl(this.encoder,A.document),this.encoder}}class Xl extends Zl{constructor(){super(...arguments),this.type=bl.Sync,this.description="Second sync step"}get(A){if(void 0===A.document)throw new Error("The sync step two message requires document as an argument");return al(this.encoder,A.documentName),ol(this.encoder,this.type),pl(this.encoder,A.document),this.encoder}}class ql extends Zl{constructor(){super(...arguments),this.type=bl.Sync,this.description="A document update"}get(A){var e,t;return al(this.encoder,A.documentName),ol(this.encoder,this.type),t=A.update,ol(e=this.encoder,2),Ql(e,t),this.encoder}}class $l extends Error{constructor(){super(...arguments),this.code=1001}}class Ah extends yl{constructor(A){var e,t,n;super(),this.configuration={name:"",document:void 0,awareness:void 0,token:null,parameters:{},broadcast:!0,forceSyncInterval:!1,onAuthenticated:()=>null,onAuthenticationFailed:()=>null,onOpen:()=>null,onConnect:()=>null,onMessage:()=>null,onOutgoingMessage:()=>null,onStatus:()=>null,onSynced:()=>null,onDisconnect:()=>null,onClose:()=>null,onDestroy:()=>null,onAwarenessUpdate:()=>null,onAwarenessChange:()=>null,onStateless:()=>null,quiet:!1,connect:!0,preserveConnection:!0},this.subscribedToBroadcastChannel=!1,this.isSynced=!1,this.unsyncedChanges=0,this.status=Hl.Disconnected,this.isAuthenticated=!1,this.authorizedScope=void 0,this.mux=(()=>{let A=!0;return(e,t)=>{if(A){A=!1;try{e()}finally{A=!0}}else void 0!==t&&t()}})(),this.intervals={forceSync:null},this.isConnected=!0,this.boundBroadcastChannelSubscriber=this.broadcastChannelSubscriber.bind(this),this.boundPageUnload=this.pageUnload.bind(this),this.boundOnOpen=this.onOpen.bind(this),this.boundOnClose=this.onClose.bind(this),this.boundOnStatus=this.onStatus.bind(this),this.forwardConnect=A=>this.emit("connect",A),this.forwardOpen=A=>this.emit("open",A),this.forwardClose=A=>this.emit("close",A),this.forwardDisconnect=A=>this.emit("disconnect",A),this.forwardDestroy=A=>this.emit("destroy",A),this.setConfiguration(A),this.configuration.document=A.document?A.document:new Ho,this.configuration.awareness=void 0!==A.awareness?A.awareness:new Nl(this.document),this.on("open",this.configuration.onOpen),this.on("message",this.configuration.onMessage),this.on("outgoingMessage",this.configuration.onOutgoingMessage),this.on("synced",this.configuration.onSynced),this.on("destroy",this.configuration.onDestroy),this.on("awarenessUpdate",this.configuration.onAwarenessUpdate),this.on("awarenessChange",this.configuration.onAwarenessChange),this.on("stateless",this.configuration.onStateless),this.on("authenticated",this.configuration.onAuthenticated),this.on("authenticationFailed",this.configuration.onAuthenticationFailed),this.configuration.websocketProvider.on("connect",this.configuration.onConnect),this.configuration.websocketProvider.on("connect",this.forwardConnect),this.configuration.websocketProvider.on("open",this.boundOnOpen),this.configuration.websocketProvider.on("open",this.forwardOpen),this.configuration.websocketProvider.on("close",this.boundOnClose),this.configuration.websocketProvider.on("close",this.configuration.onClose),this.configuration.websocketProvider.on("close",this.forwardClose),this.configuration.websocketProvider.on("status",this.boundOnStatus),this.configuration.websocketProvider.on("disconnect",this.configuration.onDisconnect),this.configuration.websocketProvider.on("disconnect",this.forwardDisconnect),this.configuration.websocketProvider.on("destroy",this.configuration.onDestroy),this.configuration.websocketProvider.on("destroy",this.forwardDestroy),null===(e=this.awareness)||void 0===e||e.on("update",(()=>{this.emit("awarenessUpdate",{states:FQ(this.awareness.getStates())})})),null===(t=this.awareness)||void 0===t||t.on("change",(()=>{this.emit("awarenessChange",{states:FQ(this.awareness.getStates())})})),this.document.on("update",this.documentUpdateHandler.bind(this)),null===(n=this.awareness)||void 0===n||n.on("update",this.awarenessUpdateHandler.bind(this)),this.registerEventListeners(),this.configuration.forceSyncInterval&&(this.intervals.forceSync=setInterval(this.forceSync.bind(this),this.configuration.forceSyncInterval)),this.configuration.websocketProvider.attach(this)}onStatus({status:A}){this.status=A,this.configuration.onStatus({status:A}),this.emit("status",{status:A})}setConfiguration(A={}){!A.websocketProvider&&A.url&&(this.configuration.websocketProvider=new zl({url:A.url,connect:A.connect,parameters:A.parameters})),this.configuration={...this.configuration,...A}}get document(){return this.configuration.document}get awareness(){return this.configuration.awareness}get hasUnsyncedChanges(){return this.unsyncedChanges>0}incrementUnsyncedChanges(){this.unsyncedChanges+=1,this.emit("unsyncedChanges",this.unsyncedChanges)}decrementUnsyncedChanges(){this.unsyncedChanges-=1,0===this.unsyncedChanges&&(this.synced=!0),this.emit("unsyncedChanges",this.unsyncedChanges)}forceSync(){this.send(Wl,{document:this.document,documentName:this.configuration.name})}pageUnload(){this.awareness&&Sl(this.awareness,[this.document.clientID],"window unload")}registerEventListeners(){"undefined"!=typeof window&&window.addEventListener("unload",this.boundPageUnload)}sendStateless(A){this.send(Kl,{documentName:this.configuration.name,payload:A})}documentUpdateHandler(A,e){e!==this&&(this.incrementUnsyncedChanges(),this.send(ql,{update:A,documentName:this.configuration.name},!0))}awarenessUpdateHandler({added:A,updated:e,removed:t},n){const i=A.concat(e).concat(t);this.send(vl,{awareness:this.awareness,clients:i,documentName:this.configuration.name},!0)}get synced(){return this.isSynced}set synced(A){this.isSynced!==A&&(this.isSynced=A,this.emit("synced",{state:A}),this.emit("sync",{state:A}))}receiveStateless(A){this.emit("stateless",{payload:A})}get isAuthenticationRequired(){return!!this.configuration.token&&!this.isAuthenticated}async connect(){return this.configuration.broadcast&&this.subscribeToBroadcastChannel(),this.configuration.websocketProvider.shouldConnect=!0,this.configuration.websocketProvider.attach(this)}disconnect(){this.disconnectBroadcastChannel(),this.configuration.websocketProvider.detach(this),this.isConnected=!1,this.configuration.preserveConnection||this.configuration.websocketProvider.disconnect()}async onOpen(A){let e;this.isAuthenticated=!1,this.isConnected=!0,this.emit("open",{event:A});try{e=await this.getToken()}catch(A){return void this.permissionDeniedHandler(`Failed to get token: ${A}`)}this.isAuthenticationRequired&&this.send(Ll,{token:e,documentName:this.configuration.name}),this.startSync()}async getToken(){return"function"==typeof this.configuration.token?await this.configuration.token():this.configuration.token}startSync(){this.incrementUnsyncedChanges(),this.send(Wl,{document:this.document,documentName:this.configuration.name}),this.awareness&&null!==this.awareness.getLocalState()&&this.send(vl,{awareness:this.awareness,clients:[this.document.clientID],documentName:this.configuration.name})}send(A,e,t=!1){if(!this.isConnected)return;t&&this.mux((()=>{this.broadcast(A,e)}));const n=new Vl(A,e);this.emit("outgoingMessage",{message:n.message}),n.send(this.configuration.websocketProvider)}onMessage(A){const e=new Tl(A.data),t=e.readVarString();e.writeVarString(t),this.emit("message",{event:A,message:new Tl(A.data)}),new Pl(e).apply(this,!0)}onClose(A){this.isAuthenticated=!1,this.synced=!1,this.awareness&&Sl(this.awareness,Array.from(this.awareness.getStates().keys()).filter((A=>A!==this.document.clientID)),this)}destroy(){this.emit("destroy"),this.intervals.forceSync&&clearInterval(this.intervals.forceSync),this.awareness&&(Sl(this.awareness,[this.document.clientID],"provider destroy"),this.awareness.off("update",this.awarenessUpdateHandler),this.awareness.destroy()),this.document.off("update",this.documentUpdateHandler),this.removeAllListeners(),this.configuration.websocketProvider.off("connect",this.configuration.onConnect),this.configuration.websocketProvider.off("connect",this.forwardConnect),this.configuration.websocketProvider.off("open",this.boundOnOpen),this.configuration.websocketProvider.off("open",this.forwardOpen),this.configuration.websocketProvider.off("close",this.boundOnClose),this.configuration.websocketProvider.off("close",this.configuration.onClose),this.configuration.websocketProvider.off("close",this.forwardClose),this.configuration.websocketProvider.off("status",this.boundOnStatus),this.configuration.websocketProvider.off("disconnect",this.configuration.onDisconnect),this.configuration.websocketProvider.off("disconnect",this.forwardDisconnect),this.configuration.websocketProvider.off("destroy",this.configuration.onDestroy),this.configuration.websocketProvider.off("destroy",this.forwardDestroy),this.send(Ol,{documentName:this.configuration.name}),this.disconnect(),"undefined"!=typeof window&&window.removeEventListener("unload",this.boundPageUnload)}permissionDeniedHandler(A){this.emit("authenticationFailed",{reason:A}),this.isAuthenticated=!1,this.disconnect(),this.status=Hl.Disconnected}authenticatedHandler(A){this.isAuthenticated=!0,this.authorizedScope=A,this.emit("authenticated")}get broadcastChannel(){return`${this.configuration.name}`}broadcastChannelSubscriber(A){this.mux((()=>{const e=new Tl(A),t=e.readVarString();e.writeVarString(t),new Pl(e).setBroadcasted(!0).apply(this,!1)}))}subscribeToBroadcastChannel(){var A;this.subscribedToBroadcastChannel||(A=this.boundBroadcastChannelSubscriber,Yl(this.broadcastChannel).subs.add(A),this.subscribedToBroadcastChannel=!0),this.mux((()=>{this.broadcast(Wl,{document:this.document,documentName:this.configuration.name}),this.broadcast(Xl,{document:this.document,documentName:this.configuration.name}),this.broadcast(_l,{document:this.document,documentName:this.configuration.name}),this.awareness&&this.broadcast(vl,{awareness:this.awareness,clients:[this.document.clientID],document:this.document,documentName:this.configuration.name})}))}disconnectBroadcastChannel(){this.awareness&&this.send(vl,{awareness:this.awareness,clients:[this.document.clientID],states:new Map,documentName:this.configuration.name},!0),this.subscribedToBroadcastChannel&&(((A,e)=>{const t=Yl(A);t.subs.delete(e)&&0===t.subs.size&&(t.bc.close(),Dl.delete(A))})(this.broadcastChannel,this.boundBroadcastChannelSubscriber),this.subscribedToBroadcastChannel=!1)}broadcast(A,e){this.configuration.broadcast&&this.subscribedToBroadcastChannel&&new Vl(A,e).broadcast(this.broadcastChannel)}setAwarenessField(A,e){if(!this.awareness)throw new $l(`Cannot set awareness field "${A}" to ${JSON.stringify(e)}. You have disabled Awareness for this provider by explicitly passing awareness: null in the provider configuration.`);this.awareness.setLocalStateField(A,e)}}function eh({types:A,node:e}){return Array.isArray(A)&&A.includes(e.type)||e.type===A}crypto.getRandomValues.bind(crypto);const th=r.create({name:"trailingNode",addOptions:()=>({node:"paragraph",notAfter:["paragraph"]}),addProseMirrorPlugins(){const A=new s(this.name),e=Object.entries(this.editor.schema.nodes).map((([,A])=>A)).filter((A=>this.options.notAfter.includes(A.name)));return[new E({key:A,appendTransaction:(e,t,n)=>{const{doc:i,tr:B,schema:E}=n;if(A.getState(n))return B.insert(i.content.size,E.nodes[this.options.node].create())},state:{init:(A,t)=>!eh({node:t.tr.doc.lastChild,types:e}),apply:(A,t)=>A.docChanged?!eh({node:A.doc.lastChild,types:e}):t}})]}});function nh(A,e){return function(){return A.apply(e,arguments)}}const{toString:ih}=Object.prototype,{getPrototypeOf:Bh}=Object,Eh=(sh=Object.create(null),A=>{const e=ih.call(A);return sh[e]||(sh[e]=e.slice(8,-1).toLowerCase())});var sh;const rh=A=>(A=A.toLowerCase(),e=>Eh(e)===A),oh=A=>e=>typeof e===A,{isArray:ch}=Array,gh=oh("undefined"),ah=rh("ArrayBuffer"),Qh=oh("string"),lh=oh("function"),hh=oh("number"),Mh=A=>null!==A&&"object"==typeof A,wh=A=>{if("object"!==Eh(A))return!1;const e=Bh(A);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in A||Symbol.iterator in A)},Rh=rh("Date"),Ih=rh("File"),uh=rh("Blob"),dh=rh("FileList"),Gh=rh("URLSearchParams");function Ch(A,e,{allOwnKeys:t=!1}={}){if(null==A)return;let n,i;if("object"!=typeof A&&(A=[A]),ch(A))for(n=0,i=A.length;n0;)if(n=t[i],e===n.toLowerCase())return n;return null}const Dh="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,Fh=A=>!gh(A)&&A!==Dh,Yh=(Uh="undefined"!=typeof Uint8Array&&Bh(Uint8Array),A=>Uh&&A instanceof Uh);var Uh;const fh=rh("HTMLFormElement"),Nh=(({hasOwnProperty:A})=>(e,t)=>A.call(e,t))(Object.prototype),Sh=rh("RegExp"),mh=(A,e)=>{const t=Object.getOwnPropertyDescriptors(A),n={};Ch(t,((t,i)=>{let B;!1!==(B=e(t,i,A))&&(n[i]=B||t)})),Object.defineProperties(A,n)},yh="abcdefghijklmnopqrstuvwxyz",bh="0123456789",Hh={DIGIT:bh,ALPHA:yh,ALPHA_DIGIT:yh+yh.toUpperCase()+bh},Th=rh("AsyncFunction"),zh={isArray:ch,isArrayBuffer:ah,isBuffer:function(A){return null!==A&&!gh(A)&&null!==A.constructor&&!gh(A.constructor)&&lh(A.constructor.isBuffer)&&A.constructor.isBuffer(A)},isFormData:A=>{let e;return A&&("function"==typeof FormData&&A instanceof FormData||lh(A.append)&&("formdata"===(e=Eh(A))||"object"===e&&lh(A.toString)&&"[object FormData]"===A.toString()))},isArrayBufferView:function(A){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(A):A&&A.buffer&&ah(A.buffer),e},isString:Qh,isNumber:hh,isBoolean:A=>!0===A||!1===A,isObject:Mh,isPlainObject:wh,isUndefined:gh,isDate:Rh,isFile:Ih,isBlob:uh,isRegExp:Sh,isFunction:lh,isStream:A=>Mh(A)&&lh(A.pipe),isURLSearchParams:Gh,isTypedArray:Yh,isFileList:dh,forEach:Ch,merge:function A(){const{caseless:e}=Fh(this)&&this||{},t={},n=(n,i)=>{const B=e&&kh(t,i)||i;t[B]=wh(t[B])&&wh(n)?A(t[B],n):wh(n)?A({},n):ch(n)?n.slice():n};for(let A=0,e=arguments.length;A(Ch(e,((e,n)=>{A[n]=t&&lh(e)?nh(e,t):e}),{allOwnKeys:n}),A),trim:A=>A.trim?A.trim():A.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:A=>(65279===A.charCodeAt(0)&&(A=A.slice(1)),A),inherits:(A,e,t,n)=>{A.prototype=Object.create(e.prototype,n),A.prototype.constructor=A,Object.defineProperty(A,"super",{value:e.prototype}),t&&Object.assign(A.prototype,t)},toFlatObject:(A,e,t,n)=>{let i,B,E;const s={};if(e=e||{},null==A)return e;do{for(i=Object.getOwnPropertyNames(A),B=i.length;B-- >0;)E=i[B],n&&!n(E,A,e)||s[E]||(e[E]=A[E],s[E]=!0);A=!1!==t&&Bh(A)}while(A&&(!t||t(A,e))&&A!==Object.prototype);return e},kindOf:Eh,kindOfTest:rh,endsWith:(A,e,t)=>{A=String(A),(void 0===t||t>A.length)&&(t=A.length);const n=A.indexOf(e,t-=e.length);return-1!==n&&n===t},toArray:A=>{if(!A)return null;if(ch(A))return A;let e=A.length;if(!hh(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=A[e];return t},forEachEntry:(A,e)=>{const t=(A&&A[Symbol.iterator]).call(A);let n;for(;(n=t.next())&&!n.done;){const t=n.value;e.call(A,t[0],t[1])}},matchAll:(A,e)=>{let t;const n=[];for(;null!==(t=A.exec(e));)n.push(t);return n},isHTMLForm:fh,hasOwnProperty:Nh,hasOwnProp:Nh,reduceDescriptors:mh,freezeMethods:A=>{mh(A,((e,t)=>{if(lh(A)&&-1!==["arguments","caller","callee"].indexOf(t))return!1;lh(A[t])&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")}))}))},toObjectSet:(A,e)=>{const t={},n=A=>{A.forEach((A=>{t[A]=!0}))};return ch(A)?n(A):n(String(A).split(e)),t},toCamelCase:A=>A.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(A,e,t){return e.toUpperCase()+t})),noop:()=>{},toFiniteNumber:(A,e)=>(A=+A,Number.isFinite(A)?A:e),findKey:kh,global:Dh,isContextDefined:Fh,ALPHABET:Hh,generateString:(A=16,e=Hh.ALPHA_DIGIT)=>{let t="";const{length:n}=e;for(;A--;)t+=e[Math.random()*n|0];return t},isSpecCompliantForm:function(A){return!!(A&&lh(A.append)&&"FormData"===A[Symbol.toStringTag]&&A[Symbol.iterator])},toJSONObject:A=>{const e=new Array(10),t=(A,n)=>{if(Mh(A)){if(e.indexOf(A)>=0)return;if(!("toJSON"in A)){e[n]=A;const i=ch(A)?[]:{};return Ch(A,((A,e)=>{const B=t(A,n+1);!gh(B)&&(i[e]=B)})),e[n]=void 0,i}}return A};return t(A,0)},isAsyncFn:Th,isThenable:A=>A&&(Mh(A)||lh(A))&&lh(A.then)&&lh(A.catch)};function xh(A,e,t,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=A,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),n&&(this.request=n),i&&(this.response=i)}zh.inherits(xh,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:zh.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const ph=xh.prototype,Jh={};function jh(A){return zh.isPlainObject(A)||zh.isArray(A)}function Zh(A){return zh.endsWith(A,"[]")?A.slice(0,-2):A}function Ph(A,e,t){return A?A.concat(e).map((function(A,e){return A=Zh(A),!t&&e?"["+A+"]":A})).join(t?".":""):e}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((A=>{Jh[A]={value:A}})),Object.defineProperties(xh,Jh),Object.defineProperty(ph,"isAxiosError",{value:!0}),xh.from=(A,e,t,n,i,B)=>{const E=Object.create(ph);return zh.toFlatObject(A,E,(function(A){return A!==Error.prototype}),(A=>"isAxiosError"!==A)),xh.call(E,A.message,e,t,n,i),E.cause=A,E.name=A.name,B&&Object.assign(E,B),E};const Vh=zh.toFlatObject(zh,{},null,(function(A){return/^is[A-Z]/.test(A)}));function Lh(A,e,t){if(!zh.isObject(A))throw new TypeError("target must be an object");e=e||new FormData,t=zh.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(A,e){return!zh.isUndefined(e[A])}));const n=t.metaTokens,i=t.visitor||o,B=t.dots,E=t.indexes,s=(t.Blob||"undefined"!=typeof Blob&&Blob)&&zh.isSpecCompliantForm(e);if(!zh.isFunction(i))throw new TypeError("visitor must be a function");function r(A){if(null===A)return"";if(zh.isDate(A))return A.toISOString();if(!s&&zh.isBlob(A))throw new xh("Blob is not supported. Use a Buffer instead.");return zh.isArrayBuffer(A)||zh.isTypedArray(A)?s&&"function"==typeof Blob?new Blob([A]):Buffer.from(A):A}function o(A,t,i){let s=A;if(A&&!i&&"object"==typeof A)if(zh.endsWith(t,"{}"))t=n?t:t.slice(0,-2),A=JSON.stringify(A);else if(zh.isArray(A)&&function(A){return zh.isArray(A)&&!A.some(jh)}(A)||(zh.isFileList(A)||zh.endsWith(t,"[]"))&&(s=zh.toArray(A)))return t=Zh(t),s.forEach((function(A,n){!zh.isUndefined(A)&&null!==A&&e.append(!0===E?Ph([t],n,B):null===E?t:t+"[]",r(A))})),!1;return!!jh(A)||(e.append(Ph(i,t,B),r(A)),!1)}const c=[],g=Object.assign(Vh,{defaultVisitor:o,convertValue:r,isVisitable:jh});if(!zh.isObject(A))throw new TypeError("data must be an object");return function A(t,n){if(!zh.isUndefined(t)){if(-1!==c.indexOf(t))throw Error("Circular reference detected in "+n.join("."));c.push(t),zh.forEach(t,(function(t,B){!0===(!(zh.isUndefined(t)||null===t)&&i.call(e,t,zh.isString(B)?B.trim():B,n,g))&&A(t,n?n.concat(B):[B])})),c.pop()}}(A),e}function vh(A){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(A).replace(/[!'()~]|%20|%00/g,(function(A){return e[A]}))}function Oh(A,e){this._pairs=[],A&&Lh(A,this,e)}const _h=Oh.prototype;function Kh(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Wh(A,e,t){if(!e)return A;const n=t&&t.encode||Kh,i=t&&t.serialize;let B;if(B=i?i(e,t):zh.isURLSearchParams(e)?e.toString():new Oh(e,t).toString(n),B){const e=A.indexOf("#");-1!==e&&(A=A.slice(0,e)),A+=(-1===A.indexOf("?")?"?":"&")+B}return A}_h.append=function(A,e){this._pairs.push([A,e])},_h.toString=function(A){const e=A?function(e){return A.call(this,e,vh)}:vh;return this._pairs.map((function(A){return e(A[0])+"="+e(A[1])}),"").join("&")};const Xh=class{constructor(){this.handlers=[]}use(A,e,t){return this.handlers.push({fulfilled:A,rejected:e,synchronous:!!t&&t.synchronous,runWhen:t?t.runWhen:null}),this.handlers.length-1}eject(A){this.handlers[A]&&(this.handlers[A]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(A){zh.forEach(this.handlers,(function(e){null!==e&&A(e)}))}},qh={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},$h={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Oh,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},AM="undefined"!=typeof window&&"undefined"!=typeof document,eM=(tM="undefined"!=typeof navigator&&navigator.product,AM&&["ReactNative","NativeScript","NS"].indexOf(tM)<0);var tM;const nM="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,iM={...Object.freeze({__proto__:null,hasBrowserEnv:AM,hasStandardBrowserWebWorkerEnv:nM,hasStandardBrowserEnv:eM}),...$h};function BM(A){function e(A,t,n,i){let B=A[i++];if("__proto__"===B)return!0;const E=Number.isFinite(+B),s=i>=A.length;return B=!B&&zh.isArray(n)?n.length:B,s?(n[B]=zh.hasOwnProp(n,B)?[n[B],t]:t,!E):(n[B]&&zh.isObject(n[B])||(n[B]=[]),e(A,t,n[B],i)&&zh.isArray(n[B])&&(n[B]=function(A){const e={},t=Object.keys(A);let n;const i=t.length;let B;for(n=0;n{e(function(A){return zh.matchAll(/\w+|\[(\w*)]/g,A).map((A=>"[]"===A[0]?"":A[1]||A[0]))}(A),n,t,0)})),t}return null}const EM={transitional:qh,adapter:["xhr","http"],transformRequest:[function(A,e){const t=e.getContentType()||"",n=t.indexOf("application/json")>-1,i=zh.isObject(A);if(i&&zh.isHTMLForm(A)&&(A=new FormData(A)),zh.isFormData(A))return n?JSON.stringify(BM(A)):A;if(zh.isArrayBuffer(A)||zh.isBuffer(A)||zh.isStream(A)||zh.isFile(A)||zh.isBlob(A))return A;if(zh.isArrayBufferView(A))return A.buffer;if(zh.isURLSearchParams(A))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),A.toString();let B;if(i){if(t.indexOf("application/x-www-form-urlencoded")>-1)return function(A,e){return Lh(A,new iM.classes.URLSearchParams,Object.assign({visitor:function(A,e,t,n){return iM.isNode&&zh.isBuffer(A)?(this.append(e,A.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},e))}(A,this.formSerializer).toString();if((B=zh.isFileList(A))||t.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return Lh(B?{"files[]":A}:A,e&&new e,this.formSerializer)}}return i||n?(e.setContentType("application/json",!1),function(A){if(zh.isString(A))try{return(0,JSON.parse)(A),zh.trim(A)}catch(A){if("SyntaxError"!==A.name)throw A}return(0,JSON.stringify)(A)}(A)):A}],transformResponse:[function(A){const e=this.transitional||EM.transitional,t=e&&e.forcedJSONParsing,n="json"===this.responseType;if(A&&zh.isString(A)&&(t&&!this.responseType||n)){const t=!(e&&e.silentJSONParsing)&&n;try{return JSON.parse(A)}catch(A){if(t){if("SyntaxError"===A.name)throw xh.from(A,xh.ERR_BAD_RESPONSE,this,null,this.response);throw A}}}return A}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:iM.classes.FormData,Blob:iM.classes.Blob},validateStatus:function(A){return A>=200&&A<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};zh.forEach(["delete","get","head","post","put","patch"],(A=>{EM.headers[A]={}}));const sM=EM,rM=zh.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),oM=Symbol("internals");function cM(A){return A&&String(A).trim().toLowerCase()}function gM(A){return!1===A||null==A?A:zh.isArray(A)?A.map(gM):String(A)}function aM(A,e,t,n,i){return zh.isFunction(n)?n.call(this,e,t):(i&&(e=t),zh.isString(e)?zh.isString(n)?-1!==e.indexOf(n):zh.isRegExp(n)?n.test(e):void 0:void 0)}class QM{constructor(A){A&&this.set(A)}set(A,e,t){const n=this;function i(A,e,t){const i=cM(e);if(!i)throw new Error("header name must be a non-empty string");const B=zh.findKey(n,i);(!B||void 0===n[B]||!0===t||void 0===t&&!1!==n[B])&&(n[B||e]=gM(A))}const B=(A,e)=>zh.forEach(A,((A,t)=>i(A,t,e)));return zh.isPlainObject(A)||A instanceof this.constructor?B(A,e):zh.isString(A)&&(A=A.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(A.trim())?B((A=>{const e={};let t,n,i;return A&&A.split("\n").forEach((function(A){i=A.indexOf(":"),t=A.substring(0,i).trim().toLowerCase(),n=A.substring(i+1).trim(),!t||e[t]&&rM[t]||("set-cookie"===t?e[t]?e[t].push(n):e[t]=[n]:e[t]=e[t]?e[t]+", "+n:n)})),e})(A),e):null!=A&&i(e,A,t),this}get(A,e){if(A=cM(A)){const t=zh.findKey(this,A);if(t){const A=this[t];if(!e)return A;if(!0===e)return function(A){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=t.exec(A);)e[n[1]]=n[2];return e}(A);if(zh.isFunction(e))return e.call(this,A,t);if(zh.isRegExp(e))return e.exec(A);throw new TypeError("parser must be boolean|regexp|function")}}}has(A,e){if(A=cM(A)){const t=zh.findKey(this,A);return!(!t||void 0===this[t]||e&&!aM(0,this[t],t,e))}return!1}delete(A,e){const t=this;let n=!1;function i(A){if(A=cM(A)){const i=zh.findKey(t,A);!i||e&&!aM(0,t[i],i,e)||(delete t[i],n=!0)}}return zh.isArray(A)?A.forEach(i):i(A),n}clear(A){const e=Object.keys(this);let t=e.length,n=!1;for(;t--;){const i=e[t];A&&!aM(0,this[i],i,A,!0)||(delete this[i],n=!0)}return n}normalize(A){const e=this,t={};return zh.forEach(this,((n,i)=>{const B=zh.findKey(t,i);if(B)return e[B]=gM(n),void delete e[i];const E=A?function(A){return A.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((A,e,t)=>e.toUpperCase()+t))}(i):String(i).trim();E!==i&&delete e[i],e[E]=gM(n),t[E]=!0})),this}concat(...A){return this.constructor.concat(this,...A)}toJSON(A){const e=Object.create(null);return zh.forEach(this,((t,n)=>{null!=t&&!1!==t&&(e[n]=A&&zh.isArray(t)?t.join(", "):t)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([A,e])=>A+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(A){return A instanceof this?A:new this(A)}static concat(A,...e){const t=new this(A);return e.forEach((A=>t.set(A))),t}static accessor(A){const e=(this[oM]=this[oM]={accessors:{}}).accessors,t=this.prototype;function n(A){const n=cM(A);e[n]||(function(A,e){const t=zh.toCamelCase(" "+e);["get","set","has"].forEach((n=>{Object.defineProperty(A,n+t,{value:function(A,t,i){return this[n].call(this,e,A,t,i)},configurable:!0})}))}(t,A),e[n]=!0)}return zh.isArray(A)?A.forEach(n):n(A),this}}QM.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),zh.reduceDescriptors(QM.prototype,(({value:A},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>A,set(A){this[t]=A}}})),zh.freezeMethods(QM);const lM=QM;function hM(A,e){const t=this||sM,n=e||t,i=lM.from(n.headers);let B=n.data;return zh.forEach(A,(function(A){B=A.call(t,B,i.normalize(),e?e.status:void 0)})),i.normalize(),B}function MM(A){return!(!A||!A.__CANCEL__)}function wM(A,e,t){xh.call(this,null==A?"canceled":A,xh.ERR_CANCELED,e,t),this.name="CanceledError"}zh.inherits(wM,xh,{__CANCEL__:!0});const RM=iM.hasStandardBrowserEnv?{write(A,e,t,n,i,B){const E=[A+"="+encodeURIComponent(e)];zh.isNumber(t)&&E.push("expires="+new Date(t).toGMTString()),zh.isString(n)&&E.push("path="+n),zh.isString(i)&&E.push("domain="+i),!0===B&&E.push("secure"),document.cookie=E.join("; ")},read(A){const e=document.cookie.match(new RegExp("(^|;\\s*)("+A+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(A){this.write(A,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function IM(A,e){return A&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(A,e){return e?A.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):A}(A,e):e}const uM=iM.hasStandardBrowserEnv?function(){const A=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let t;function n(t){let n=t;return A&&(e.setAttribute("href",n),n=e.href),e.setAttribute("href",n),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return t=n(window.location.href),function(A){const e=zh.isString(A)?n(A):A;return e.protocol===t.protocol&&e.host===t.host}}():function(){return!0};function dM(A,e){let t=0;const n=function(A,e){A=A||10;const t=new Array(A),n=new Array(A);let i,B=0,E=0;return e=void 0!==e?e:1e3,function(s){const r=Date.now(),o=n[E];i||(i=r),t[B]=s,n[B]=r;let c=E,g=0;for(;c!==B;)g+=t[c++],c%=A;if(B=(B+1)%A,B===E&&(E=(E+1)%A),r-i{const B=i.loaded,E=i.lengthComputable?i.total:void 0,s=B-t,r=n(s);t=B;const o={loaded:B,total:E,progress:E?B/E:void 0,bytes:s,rate:r||void 0,estimated:r&&E&&B<=E?(E-B)/r:void 0,event:i};o[e?"download":"upload"]=!0,A(o)}}const GM="undefined"!=typeof XMLHttpRequest&&function(A){return new Promise((function(e,t){let n=A.data;const i=lM.from(A.headers).normalize();let B,E,{responseType:s,withXSRFToken:r}=A;function o(){A.cancelToken&&A.cancelToken.unsubscribe(B),A.signal&&A.signal.removeEventListener("abort",B)}if(zh.isFormData(n))if(iM.hasStandardBrowserEnv||iM.hasStandardBrowserWebWorkerEnv)i.setContentType(!1);else if(!1!==(E=i.getContentType())){const[A,...e]=E?E.split(";").map((A=>A.trim())).filter(Boolean):[];i.setContentType([A||"multipart/form-data",...e].join("; "))}let c=new XMLHttpRequest;if(A.auth){const e=A.auth.username||"",t=A.auth.password?unescape(encodeURIComponent(A.auth.password)):"";i.set("Authorization","Basic "+btoa(e+":"+t))}const g=IM(A.baseURL,A.url);function a(){if(!c)return;const n=lM.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());!function(A,e,t){const n=t.config.validateStatus;t.status&&n&&!n(t.status)?e(new xh("Request failed with status code "+t.status,[xh.ERR_BAD_REQUEST,xh.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t)):A(t)}((function(A){e(A),o()}),(function(A){t(A),o()}),{data:s&&"text"!==s&&"json"!==s?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:n,config:A,request:c}),c=null}if(c.open(A.method.toUpperCase(),Wh(g,A.params,A.paramsSerializer),!0),c.timeout=A.timeout,"onloadend"in c?c.onloadend=a:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf("file:"))&&setTimeout(a)},c.onabort=function(){c&&(t(new xh("Request aborted",xh.ECONNABORTED,A,c)),c=null)},c.onerror=function(){t(new xh("Network Error",xh.ERR_NETWORK,A,c)),c=null},c.ontimeout=function(){let e=A.timeout?"timeout of "+A.timeout+"ms exceeded":"timeout exceeded";A.timeoutErrorMessage&&(e=A.timeoutErrorMessage),t(new xh(e,(A.transitional||qh).clarifyTimeoutError?xh.ETIMEDOUT:xh.ECONNABORTED,A,c)),c=null},iM.hasStandardBrowserEnv&&(r&&zh.isFunction(r)&&(r=r(A)),r||!1!==r&&uM(g))){const e=A.xsrfHeaderName&&A.xsrfCookieName&&RM.read(A.xsrfCookieName);e&&i.set(A.xsrfHeaderName,e)}void 0===n&&i.setContentType(null),"setRequestHeader"in c&&zh.forEach(i.toJSON(),(function(A,e){c.setRequestHeader(e,A)})),zh.isUndefined(A.withCredentials)||(c.withCredentials=!!A.withCredentials),s&&"json"!==s&&(c.responseType=A.responseType),"function"==typeof A.onDownloadProgress&&c.addEventListener("progress",dM(A.onDownloadProgress,!0)),"function"==typeof A.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",dM(A.onUploadProgress)),(A.cancelToken||A.signal)&&(B=e=>{c&&(t(!e||e.type?new wM(null,A,c):e),c.abort(),c=null)},A.cancelToken&&A.cancelToken.subscribe(B),A.signal&&(A.signal.aborted?B():A.signal.addEventListener("abort",B)));const Q=function(A){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(A);return e&&e[1]||""}(g);Q&&-1===iM.protocols.indexOf(Q)?t(new xh("Unsupported protocol "+Q+":",xh.ERR_BAD_REQUEST,A)):c.send(n||null)}))},CM={http:null,xhr:GM};zh.forEach(CM,((A,e)=>{if(A){try{Object.defineProperty(A,"name",{value:e})}catch(A){}Object.defineProperty(A,"adapterName",{value:e})}}));const kM=A=>`- ${A}`,DM=A=>zh.isFunction(A)||null===A||!1===A,FM=A=>{A=zh.isArray(A)?A:[A];const{length:e}=A;let t,n;const i={};for(let B=0;B`adapter ${A} `+(!1===e?"is not supported by the environment":"is not available in the build")));throw new xh("There is no suitable adapter to dispatch the request "+(e?A.length>1?"since :\n"+A.map(kM).join("\n"):" "+kM(A[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return n};function YM(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new wM(null,A)}function UM(A){return YM(A),A.headers=lM.from(A.headers),A.data=hM.call(A,A.transformRequest),-1!==["post","put","patch"].indexOf(A.method)&&A.headers.setContentType("application/x-www-form-urlencoded",!1),FM(A.adapter||sM.adapter)(A).then((function(e){return YM(A),e.data=hM.call(A,A.transformResponse,e),e.headers=lM.from(e.headers),e}),(function(e){return MM(e)||(YM(A),e&&e.response&&(e.response.data=hM.call(A,A.transformResponse,e.response),e.response.headers=lM.from(e.response.headers))),Promise.reject(e)}))}const fM=A=>A instanceof lM?{...A}:A;function NM(A,e){e=e||{};const t={};function n(A,e,t){return zh.isPlainObject(A)&&zh.isPlainObject(e)?zh.merge.call({caseless:t},A,e):zh.isPlainObject(e)?zh.merge({},e):zh.isArray(e)?e.slice():e}function i(A,e,t){return zh.isUndefined(e)?zh.isUndefined(A)?void 0:n(void 0,A,t):n(A,e,t)}function B(A,e){if(!zh.isUndefined(e))return n(void 0,e)}function E(A,e){return zh.isUndefined(e)?zh.isUndefined(A)?void 0:n(void 0,A):n(void 0,e)}function s(t,i,B){return B in e?n(t,i):B in A?n(void 0,t):void 0}const r={url:B,method:B,data:B,baseURL:E,transformRequest:E,transformResponse:E,paramsSerializer:E,timeout:E,timeoutMessage:E,withCredentials:E,withXSRFToken:E,adapter:E,responseType:E,xsrfCookieName:E,xsrfHeaderName:E,onUploadProgress:E,onDownloadProgress:E,decompress:E,maxContentLength:E,maxBodyLength:E,beforeRedirect:E,transport:E,httpAgent:E,httpsAgent:E,cancelToken:E,socketPath:E,responseEncoding:E,validateStatus:s,headers:(A,e)=>i(fM(A),fM(e),!0)};return zh.forEach(Object.keys(Object.assign({},A,e)),(function(n){const B=r[n]||i,E=B(A[n],e[n],n);zh.isUndefined(E)&&B!==s||(t[n]=E)})),t}const SM={};["object","boolean","number","function","string","symbol"].forEach(((A,e)=>{SM[A]=function(t){return typeof t===A||"a"+(e<1?"n ":" ")+A}}));const mM={};SM.transitional=function(A,e,t){function n(A,e){return"[Axios v1.6.8] Transitional option '"+A+"'"+e+(t?". "+t:"")}return(t,i,B)=>{if(!1===A)throw new xh(n(i," has been removed"+(e?" in "+e:"")),xh.ERR_DEPRECATED);return e&&!mM[i]&&(mM[i]=!0,console.warn(n(i," has been deprecated since v"+e+" and will be removed in the near future"))),!A||A(t,i,B)}};const yM={assertOptions:function(A,e,t){if("object"!=typeof A)throw new xh("options must be an object",xh.ERR_BAD_OPTION_VALUE);const n=Object.keys(A);let i=n.length;for(;i-- >0;){const B=n[i],E=e[B];if(E){const e=A[B],t=void 0===e||E(e,B,A);if(!0!==t)throw new xh("option "+B+" must be "+t,xh.ERR_BAD_OPTION_VALUE)}else if(!0!==t)throw new xh("Unknown option "+B,xh.ERR_BAD_OPTION)}},validators:SM},bM=yM.validators;class HM{constructor(A){this.defaults=A,this.interceptors={request:new Xh,response:new Xh}}async request(A,e){try{return await this._request(A,e)}catch(A){if(A instanceof Error){let e;Error.captureStackTrace?Error.captureStackTrace(e={}):e=new Error;const t=e.stack?e.stack.replace(/^.+\n/,""):"";A.stack?t&&!String(A.stack).endsWith(t.replace(/^.+\n.+\n/,""))&&(A.stack+="\n"+t):A.stack=t}throw A}}_request(A,e){"string"==typeof A?(e=e||{}).url=A:e=A||{},e=NM(this.defaults,e);const{transitional:t,paramsSerializer:n,headers:i}=e;void 0!==t&&yM.assertOptions(t,{silentJSONParsing:bM.transitional(bM.boolean),forcedJSONParsing:bM.transitional(bM.boolean),clarifyTimeoutError:bM.transitional(bM.boolean)},!1),null!=n&&(zh.isFunction(n)?e.paramsSerializer={serialize:n}:yM.assertOptions(n,{encode:bM.function,serialize:bM.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let B=i&&zh.merge(i.common,i[e.method]);i&&zh.forEach(["delete","get","head","post","put","patch","common"],(A=>{delete i[A]})),e.headers=lM.concat(B,i);const E=[];let s=!0;this.interceptors.request.forEach((function(A){"function"==typeof A.runWhen&&!1===A.runWhen(e)||(s=s&&A.synchronous,E.unshift(A.fulfilled,A.rejected))}));const r=[];let o;this.interceptors.response.forEach((function(A){r.push(A.fulfilled,A.rejected)}));let c,g=0;if(!s){const A=[UM.bind(this),void 0];for(A.unshift.apply(A,E),A.push.apply(A,r),c=A.length,o=Promise.resolve(e);g{if(!t._listeners)return;let e=t._listeners.length;for(;e-- >0;)t._listeners[e](A);t._listeners=null})),this.promise.then=A=>{let e;const n=new Promise((A=>{t.subscribe(A),e=A})).then(A);return n.cancel=function(){t.unsubscribe(e)},n},A((function(A,n,i){t.reason||(t.reason=new wM(A,n,i),e(t.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(A){this.reason?A(this.reason):this._listeners?this._listeners.push(A):this._listeners=[A]}unsubscribe(A){if(!this._listeners)return;const e=this._listeners.indexOf(A);-1!==e&&this._listeners.splice(e,1)}static source(){let A;return{token:new zM((function(e){A=e})),cancel:A}}}const xM=zM,pM={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(pM).forEach((([A,e])=>{pM[e]=A}));const JM=pM,jM=function A(e){const t=new TM(e),n=nh(TM.prototype.request,t);return zh.extend(n,TM.prototype,t,{allOwnKeys:!0}),zh.extend(n,t,null,{allOwnKeys:!0}),n.create=function(t){return A(NM(e,t))},n}(sM);jM.Axios=TM,jM.CanceledError=wM,jM.CancelToken=xM,jM.isCancel=MM,jM.VERSION="1.6.8",jM.toFormData=Lh,jM.AxiosError=xh,jM.Cancel=jM.CanceledError,jM.all=function(A){return Promise.all(A)},jM.spread=function(A){return function(e){return A.apply(null,e)}},jM.isAxiosError=function(A){return zh.isObject(A)&&!0===A.isAxiosError},jM.mergeConfig=NM,jM.AxiosHeaders=lM,jM.formToJSON=A=>BM(zh.isHTMLForm(A)?new FormData(A):A),jM.getAdapter=FM,jM.HttpStatusCode=JM,jM.default=jM;const ZM=jM,PM=["image/jpeg","image/gif","image/png","image/jpg"];async function VM(A,e){const t=A instanceof DataTransferItem?A.getAsFile():A;return(null==e?void 0:e.options.uploadFunc)?e.options.uploadFunc(t):(null==e?void 0:e.options.uploadUrl)?async function(A,e){return(await ZM.postForm(e,{imgFile:A})).data.url||""}(t,e.options.uploadUrl):new Promise((A=>{const e=new FileReader;e.onloadend=()=>A(e.result),e.readAsDataURL(t)}))}const LM=r.create({name:"imageUploader",addCommands(){return{uploadImage:A=>()=>(VM(A,this).then((A=>{Boolean(A)&&this.editor.chain().focus().setImage({src:A}).run()})),!0)}},addOptions:()=>({uploadUrl:"",uploadFunc:null}),addProseMirrorPlugins(){return[new E({key:new s("imageUploader"),props:{handlePaste:(A,e)=>{var t;const n=Array.from((null===(t=e.clipboardData)||void 0===t?void 0:t.items)||[]);if(n.some((A=>"text/html"===A.type)))return!1;const i=n.find((A=>PM.includes(A.type)));return!!Boolean(i)&&(VM(i,this).then((A=>{Boolean(A)&&this.editor.chain().focus().setImage({src:A}).run()})),!0)},handleDrop:(A,e)=>{var t;return!!Boolean(null===(t=e.dataTransfer)||void 0===t?void 0:t.files.length)&&(VM(e.dataTransfer.files.item(0),this).then((A=>{Boolean(A)&&this.editor.chain().focus().setImage({src:A}).run()})),!0)}}})]}}),vM=[9,13,16,20,24,36,48],OM=r.create({name:"fontSize",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:A=>{var e;return parseInt(null===(e=A.style.fontSize)||void 0===e?void 0:e.replace(/px$/,""))},renderHTML:A=>A.fontSize?{style:`font-size: ${A.fontSize}px`}:{}}}}]},addCommands:()=>({setFontSize:A=>({chain:e})=>e().setMark("textStyle",{fontSize:A}).run(),unsetFontSize:()=>({chain:A})=>A().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run(),scaleFontSize:(A="upscale")=>({state:e})=>{const{doc:t,selection:n}=e,{from:i,to:B}=n;return t.slice(i,B).content.descendants(((t,n)=>{var B;if(t.isText){const E=(null===(B=t.marks.find((A=>"textStyle"===A.type.name)))||void 0===B?void 0:B.attrs.fontSize)||13,s=vM.reduce(((A,e)=>Math.abs(e-E)({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{lineHeight:{default:null,parseHTML:A=>parseInt(A.style.lineHeight),renderHTML:A=>A.lineHeight?{style:`line-height: ${A.lineHeight}`}:{}}}}]},addCommands:()=>({setLineHeight:A=>({chain:e})=>e().selectParentNode().setMark("textStyle",{lineHeight:A}).run(),unsetLineHeight:()=>({chain:A})=>A().selectParentNode().setMark("textStyle",{lineHeight:null}).removeEmptyTextStyle().run()})}),WM={"Sans-serif":'"Source Han Sans CN", PingFangSC, "Microsoft YaHei", HiraginoSansGB, Roboto, Helvetica, Tahoma, sans-serif',Serif:'SimSun, STSong, Georgia, "Times New Roman", Times, serif',Cursive:"FangSong, KaiTi, cursive",Monospace:'"Source Code Pro", Menlo, Monaco, Consolas, "Courier New", monospace'},XM=r.create({name:"defaultTextStyle",addProseMirrorPlugins:()=>[new E({appendTransaction(A,e,t){if(1!==A.length||1!==A[0].steps.length)return;const n=A[0].doc.type.schema,i=n.marks.textStyle.create({fontFamily:WM["Sans-serif"]}),B=n.marks.textStyle.create({fontFamily:WM["Sans-serif"],fontSize:13});let E=t.tr;return A.forEach((A=>{A.steps.forEach((A=>{A.getMap().forEach(((A,e,n,s)=>{t.doc.nodesBetween(n,s,((A,e)=>{"heading"===A.type.name&&A.forEach(((A,t)=>{A.isText&&!Boolean(A.marks.find((A=>"textStyle"===A.type.name)))&&(E=E.addMark(e+t,e+t+A.nodeSize+1,i))})),"paragraph"===A.type.name&&A.forEach(((A,t)=>{A.isText&&!Boolean(A.marks.find((A=>"textStyle"===A.type.name)))&&(E=E.addMark(e+t,e+t+A.nodeSize+1,B))}))}))}))}))})),E}})]});var qM,$M;if("undefined"!=typeof WeakMap){let A=new WeakMap;qM=e=>A.get(e),$M=(e,t)=>(A.set(e,t),t)}else{const A=[],e=10;let t=0;qM=e=>{for(let t=0;t(t==e&&(t=0),A[t++]=n,A[t++]=i)}var Aw=class{constructor(A,e,t,n){this.width=A,this.height=e,this.map=t,this.problems=n}findCell(A){for(let e=0;en&&(B+=i.attrs.colspan)}}for(let A=0;A1&&(t=!0)}-1==e?e=B:e!=B&&(e=Math.max(e,B))}return e}(A),t=A.childCount,n=[];let i=0,B=null;const E=[];for(let A=0,i=e*t;A=t){(B||(B=[])).push({type:"overlong_rowspan",pos:r,n:a-A});break}const o=i+A*e;for(let A=0;A0;e--)if("row"==A.node(e).type.spec.tableRole)return A.node(0).resolve(A.before(e+1));return null}function Bw(A){const e=A.selection.$head;for(let A=e.depth;A>0;A--)if("row"==e.node(A).type.spec.tableRole)return!0;return!1}function Ew(A){const e=A.selection;if("$anchorCell"in e&&e.$anchorCell)return e.$anchorCell.pos>e.$headCell.pos?e.$anchorCell:e.$headCell;if("node"in e&&e.node&&"cell"==e.node.type.spec.tableRole)return e.$anchor;const t=iw(e.$head)||function(A){for(let e=A.nodeAfter,t=A.pos;e;e=e.firstChild,t++){const n=e.type.spec.tableRole;if("cell"==n||"header_cell"==n)return A.doc.resolve(t)}for(let e=A.nodeBefore,t=A.pos;e;e=e.lastChild,t--){const n=e.type.spec.tableRole;if("cell"==n||"header_cell"==n)return A.doc.resolve(t-e.nodeSize)}}(e.$head);if(t)return t;throw new RangeError(`No cell found around position ${e.head}`)}function sw(A){return"row"==A.parent.type.spec.tableRole&&!!A.nodeAfter}function rw(A,e){return A.depth==e.depth&&A.pos>=e.start(-1)&&A.pos<=e.end(-1)}function ow(A,e,t){const n=A.node(-1),i=Aw.get(n),B=A.start(-1),E=i.nextCell(A.pos-B,e,t);return null==E?null:A.node(0).resolve(B+E)}function cw(A,e,t=1){const n={...A,colspan:A.colspan-t};return n.colwidth&&(n.colwidth=n.colwidth.slice(),n.colwidth.splice(e,t),n.colwidth.some((A=>A>0))||(n.colwidth=null)),n}function gw(A,e,t=1){const n={...A,colspan:A.colspan+t};if(n.colwidth){n.colwidth=n.colwidth.slice();for(let A=0;AA!=e.pos-i));s.unshift(e.pos-i);const r=s.map((A=>{const e=t.nodeAt(A);if(!e)throw RangeError(`No cell with offset ${A} found`);const n=i+A+1;return new V(E.resolve(n),E.resolve(n+e.content.size))}));super(r[0].$from,r[0].$to,r),this.$anchorCell=A,this.$headCell=e}map(e,t){const n=e.resolve(t.map(this.$anchorCell.pos)),i=e.resolve(t.map(this.$headCell.pos));if(sw(n)&&sw(i)&&rw(n,i)){const e=this.$anchorCell.node(-1)!=n.node(-1);return e&&this.isRowSelection()?A.rowSelection(n,i):e&&this.isColSelection()?A.colSelection(n,i):new A(n,i)}return C.between(n,i)}content(){const A=this.$anchorCell.node(-1),e=Aw.get(A),t=this.$anchorCell.start(-1),n=e.rectBetween(this.$anchorCell.pos-t,this.$headCell.pos-t),i={},B=[];for(let t=n.top;t0||c>0){let A=r.attrs;if(o>0&&(A=cw(A,0,o)),c>0&&(A=cw(A,A.colspan-c,c)),s.leftn.bottom){const A={...r.attrs,rowspan:Math.min(s.bottom,n.bottom)-Math.max(s.top,n.top)};r=s.top0)&&Math.max(A+this.$anchorCell.nodeAfter.attrs.rowspan,e+this.$headCell.nodeAfter.attrs.rowspan)==this.$headCell.node(-1).childCount}static colSelection(e,t=e){const n=e.node(-1),i=Aw.get(n),B=e.start(-1),E=i.findCell(e.pos-B),s=i.findCell(t.pos-B),r=e.node(0);return E.top<=s.top?(E.top>0&&(e=r.resolve(B+i.map[E.left])),s.bottom0&&(t=r.resolve(B+i.map[s.left])),E.bottom0)&&Math.max(n+this.$anchorCell.nodeAfter.attrs.colspan,i+this.$headCell.nodeAfter.attrs.colspan)==e.width}eq(e){return e instanceof A&&e.$anchorCell.pos==this.$anchorCell.pos&&e.$headCell.pos==this.$headCell.pos}static rowSelection(e,t=e){const n=e.node(-1),i=Aw.get(n),B=e.start(-1),E=i.findCell(e.pos-B),s=i.findCell(t.pos-B),r=e.node(0);return E.left<=s.left?(E.left>0&&(e=r.resolve(B+i.map[E.top*i.width])),s.right0&&(t=r.resolve(B+i.map[s.top*i.width])),E.right{e.push(F.node(t,t+A.nodeSize,{class:"selectedCell"}))})),k.create(A.doc,e)}var hw=new s("fix-tables");function Mw(A,e,t,n){const i=A.childCount,B=e.childCount;A:for(let E=0,s=0;E{"table"==e.type.spec.tableRole&&(t=function(A,e,t,n){const i=Aw.get(e);if(!i.problems)return n;n||(n=A.tr);const B=[];for(let A=0;A0){let e="cell";t.firstChild&&(e=t.firstChild.type.spec.tableRole);const B=[];for(let t=0;te.width)for(let B=0,c=0;Be.height){const c=[];for(let A=0,n=(e.height-1)*e.width;A=e.width)&&t.nodeAt(e.map[n+A]).type==s.header_cell;c.push(i?o||(o=s.header_cell.createAndFill()):r||(r=s.cell.createAndFill()))}const g=s.row.create(null,x.from(c)),a=[];for(let A=e.height;A{if(!i)return!1;const B=t.selection;if(B instanceof aw)return Cw(t,n,b.near(B.$headCell,e));if("horiz"!=A&&!B.empty)return!1;const E=Nw(i,A,e);if(null==E)return!1;if("horiz"==A)return Cw(t,n,b.near(t.doc.resolve(B.head+e),e));{const i=t.doc.resolve(E),B=ow(i,A,e);let s;return s=B?b.near(B,1):e<0?b.near(t.doc.resolve(i.before(-1)),-1):b.near(t.doc.resolve(i.after(-1)),1),Cw(t,n,s)}}}function Dw(A,e){return(t,n,i)=>{if(!i)return!1;const B=t.selection;let E;if(B instanceof aw)E=B;else{const n=Nw(i,A,e);if(null==n)return!1;E=new aw(t.doc.resolve(n))}const s=ow(E.$headCell,A,e);return!!s&&Cw(t,n,new aw(E.$anchorCell,s))}}function Fw(A,e){const t=A.selection;if(!(t instanceof aw))return!1;if(e){const n=A.tr,i=tw(A.schema).cell.createAndFill().content;t.forEachCell(((A,e)=>{A.content.eq(i)||n.replace(n.mapping.map(e+1),n.mapping.map(e+A.nodeSize-1),new H(i,0,0))})),n.docChanged&&e(n)}return!0}function Yw(A,e){const t=iw(A.state.doc.resolve(e));return!!t&&(A.dispatch(A.state.tr.setSelection(new aw(t))),!0)}function Uw(A,e,t){if(!Bw(A.state))return!1;let n=function(A){if(!A.size)return null;let{content:e,openStart:t,openEnd:n}=A;for(;1==e.childCount&&(t>0&&n>0||"table"==e.child(0).type.spec.tableRole);)t--,n--,e=e.child(0).content;const i=e.child(0),B=i.type.spec.tableRole,E=i.type.schema,s=[];if("row"==B)for(let A=0;A=0;e--){const{rowspan:i,colspan:B}=n.child(e).attrs;for(let e=A;e=e.length&&e.push(x.empty),t[i]n&&(s=s.type.createChecked(cw(s.attrs,s.attrs.colspan,t+s.attrs.colspan-n),s.content)),E.push(s),t+=s.attrs.colspan;for(let t=1;ti&&(e=e.type.create({...e.attrs,rowspan:Math.max(1,i-e.attrs.rowspan)},e.content)),E.push(e)}A.push(x.from(E))}t=A,e=i}return{width:A,height:e,rows:t}}(n,E.right-E.left,E.bottom-E.top),dw(A.state,A.dispatch,B,E,n),!0}if(n){const e=Ew(A.state),t=e.start(-1);return dw(A.state,A.dispatch,t,Aw.get(e.node(-1)).findCell(e.pos-t),n),!0}return!1}function fw(A,e){var t;if(e.ctrlKey||e.metaKey)return;const n=Sw(A,e.target);let i;if(e.shiftKey&&A.state.selection instanceof aw)B(A.state.selection.$anchorCell,e),e.preventDefault();else if(e.shiftKey&&n&&null!=(i=iw(A.state.selection.$anchor))&&(null==(t=mw(A,e))?void 0:t.pos)!=i.pos)B(i,e),e.preventDefault();else if(!n)return;function B(e,t){let n=mw(A,t);const i=null==nw.getState(A.state);if(!n||!rw(e,n)){if(!i)return;n=e}const B=new aw(e,n);if(i||!A.state.selection.eq(B)){const t=A.state.tr.setSelection(B);i&&t.setMeta(nw,e.pos),A.dispatch(t)}}function E(){A.root.removeEventListener("mouseup",E),A.root.removeEventListener("dragstart",E),A.root.removeEventListener("mousemove",s),null!=nw.getState(A.state)&&A.dispatch(A.state.tr.setMeta(nw,-1))}function s(t){const i=t,s=nw.getState(A.state);let r;if(null!=s)r=A.state.doc.resolve(s);else if(Sw(A,i.target)!=n&&(r=mw(A,e),!r))return E();r&&B(r,i)}A.root.addEventListener("mouseup",E),A.root.addEventListener("dragstart",E),A.root.addEventListener("mousemove",s)}function Nw(A,e,t){if(!(A.state.selection instanceof C))return null;const{$head:n}=A.state.selection;for(let i=n.depth-1;i>=0;i--){const B=n.node(i);if((t<0?n.index(i):n.indexAfter(i))!=(t<0?0:B.childCount))return null;if("cell"==B.type.spec.tableRole||"header_cell"==B.type.spec.tableRole){const B=n.before(i);return A.endOfTextblock("vert"==e?t>0?"down":"up":t>0?"right":"left")?B:null}}return null}function Sw(A,e){for(;e&&e!=A.dom;e=e.parentNode)if("TD"==e.nodeName||"TH"==e.nodeName)return e;return null}function mw(A,e){const t=A.posAtCoords({left:e.clientX,top:e.clientY});return t&&t?iw(A.state.doc.resolve(t.pos)):null}var yw=class{constructor(A,e){this.node=A,this.cellMinWidth=e,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.colgroup=this.table.appendChild(document.createElement("colgroup")),bw(A,this.colgroup,this.table,e),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(A){return A.type==this.node.type&&(this.node=A,bw(A,this.colgroup,this.table,this.cellMinWidth),!0)}ignoreMutation(A){return"attributes"==A.type&&(A.target==this.table||this.colgroup.contains(A.target))}};function bw(A,e,t,n,i,B){var E;let s=0,r=!0,o=e.firstChild;const c=A.firstChild;if(c){for(let A=0,t=0;A(i.spec.props.nodeViews[tw(n.schema).table.name]=(A,n)=>new t(A,e,n),new zw(-1,!1)),apply:(A,e)=>e.apply(A)},props:{attributes:A=>{const e=Hw.getState(A);return e&&e.activeHandle>-1?{class:"resize-cursor"}:{}},handleDOMEvents:{mousemove:(e,t)=>{!function(A,e,t,n,i){const B=Hw.getState(A.state);if(B&&!B.dragging){const n=function(A){for(;A&&"TD"!=A.nodeName&&"TH"!=A.nodeName;)A=A.classList&&A.classList.contains("ProseMirror")?null:A.parentNode;return A}(e.target);let E=-1;if(n){const{left:i,right:B}=n.getBoundingClientRect();e.clientX-i<=t?E=xw(A,e,"left",t):B-e.clientX<=t&&(E=xw(A,e,"right",t))}if(E!=B.activeHandle){if(!i&&-1!==E){const e=A.state.doc.resolve(E),t=e.node(-1),n=Aw.get(t),i=e.start(-1);if(n.colCount(e.pos-i)+e.nodeAfter.attrs.colspan-1==n.width-1)return}Jw(A,E)}}}(e,t,A,0,n)},mouseleave:A=>{!function(A){const e=Hw.getState(A.state);e&&e.activeHandle>-1&&!e.dragging&&Jw(A,-1)}(A)},mousedown:(A,t)=>{!function(A,e,t){var n;const i=null!=(n=A.dom.ownerDocument.defaultView)?n:window,B=Hw.getState(A.state);if(!B||-1==B.activeHandle||B.dragging)return!1;const E=A.state.doc.nodeAt(B.activeHandle),s=function(A,e,{colspan:t,colwidth:n}){const i=n&&n[n.length-1];if(i)return i;const B=A.domAtPos(e);let E=B.node.childNodes[B.offset].offsetWidth,s=t;if(n)for(let A=0;A{const e=Hw.getState(A);if(e&&e.activeHandle>-1)return function(A,e){const t=[],n=A.doc.resolve(e),i=n.node(-1);if(!i)return k.empty;const B=Aw.get(i),E=n.start(-1),s=B.colCount(n.pos-E)+n.nodeAfter.attrs.colspan;for(let A=0;A-1&&e.docChanged){let n=e.mapping.map(t.activeHandle,-1);return sw(e.doc.resolve(n))||(n=-1),new A(n,t.dragging)}return t}};function xw(A,e,t,n){const i=A.posAtCoords({left:e.clientX+("right"==t?-n:n),top:e.clientY});if(!i)return-1;const{pos:B}=i,E=iw(A.state.doc.resolve(B));if(!E)return-1;if("right"==t)return E.pos;const s=Aw.get(E.node(-1)),r=E.start(-1),o=s.map.indexOf(E.pos-r);return o%s.width==0?-1:r+s.map[o-1]}function pw(A,e,t){return Math.max(t,A.startWidth+(e.clientX-A.startX))}function Jw(A,e){A.dispatch(A.state.tr.setMeta(Hw,{setHandle:e}))}function jw(A){const e=A.selection,t=Ew(A),n=t.node(-1),i=t.start(-1),B=Aw.get(n);return{...e instanceof aw?B.rectBetween(e.$anchorCell.pos-i,e.$headCell.pos-i):B.findCell(t.pos-i),tableStart:i,map:B,table:n}}function Zw(A,{map:e,tableStart:t,table:n},i){let B=i>0?-1:0;(function(A,e,t){const n=tw(e.type.schema).header_cell;for(let i=0;i0&&i0&&e.map[s-1]==r||i0?-1:0;(function(A,e,t){var n;const i=tw(e.type.schema).header_cell;for(let B=0;B0&&i0&&o==e.map[E-e.width]){const e=t.nodeAt(o).attrs;A.setNodeMarkup(A.mapping.slice(s).map(o+n),null,{...e,rowspan:e.rowspan-1}),B+=e.colspan-1}else if(i0&&t[B]==t[B-1]||n.right0&&t[i]==t[i-A]||n.bottomt[A.type.spec.tableRole],(A,e)=>{var t;const i=A.selection;let B,E;if(i instanceof aw){if(i.$anchorCell.pos!=i.$headCell.pos)return!1;B=i.$anchorCell.nodeAfter,E=i.$anchorCell.pos}else{if(B=function(A){for(let e=A.depth;e>0;e--){const t=A.node(e).type.spec.tableRole;if("cell"===t||"header_cell"===t)return A.node(e)}return null}(i.$from),!B)return!1;E=null==(t=iw(i.$from))?void 0:t.pos}if(null==B||null==E)return!1;if(1==B.attrs.colspan&&1==B.attrs.rowspan)return!1;if(e){let t=B.attrs;const s=[],r=t.colwidth;t.rowspan>1&&(t={...t,rowspan:1}),t.colspan>1&&(t={...t,colspan:1});const o=jw(A),c=A.tr;for(let A=0;Ai.table.nodeAt(A)));for(let A=0;A{const e=A+i.tableStart,t=B.doc.nodeAt(e);t&&B.setNodeMarkup(e,o,t.attrs)})),t(B)}return!0}}Ww("row",{useDeprecatedLogic:!0}),Ww("column",{useDeprecatedLogic:!0});var Xw=Ww("cell",{useDeprecatedLogic:!0});function qw(A){return function(e,t){if(!Bw(e))return!1;const n=function(A,e){if(e<0){const e=A.nodeBefore;if(e)return A.pos-e.nodeSize;for(let e=A.index(-1)-1,t=A.before();e>=0;e--){const n=A.node(-1).child(e),i=n.lastChild;if(i)return t-1-i.nodeSize;t-=n.nodeSize}}else{if(A.index()null,apply(A,e){const t=A.getMeta(nw);if(null!=t)return-1==t?null:t;if(null==e||!A.docChanged)return e;const{deleted:n,pos:i}=A.mapping.mapResult(e);return n?null:i}},props:{decorations:lw,handleDOMEvents:{mousedown:fw},createSelectionBetween:A=>null!=nw.getState(A.state)?A.state.selection:null,handleTripleClick:Yw,handleKeyDown:Gw,handlePaste:Uw},appendTransaction:(e,t,n)=>function(A,e,t){const n=(e||A).selection,i=(e||A).doc;let B,E;if(n instanceof T&&(E=n.node.type.spec.tableRole)){if("cell"==E||"header_cell"==E)B=aw.create(i,n.from);else if("row"==E){const A=i.resolve(n.from+1);B=aw.rowSelection(A,A)}else if(!t){const A=Aw.get(n.node),e=n.from+1;B=aw.create(i,e+1,e+A.map[A.width*A.height-1])}}else n instanceof C&&function({$from:A,$to:e}){if(A.pos==e.pos||A.pos=0&&!(A.after(i+1)=0&&!(e.before(A+1)>e.start(A));A--,n--);return t==n&&/row|table/.test(A.node(i).type.spec.tableRole)}(n)?B=C.create(i,n.from):n instanceof C&&function({$from:A,$to:e}){let t,n;for(let e=A.depth;e>0;e--){const n=A.node(e);if("cell"===n.type.spec.tableRole||"header_cell"===n.type.spec.tableRole){t=n;break}}for(let A=e.depth;A>0;A--){const t=e.node(A);if("cell"===t.type.spec.tableRole||"header_cell"===t.type.spec.tableRole){n=t;break}}return t!==n&&0===e.parentOffset}(n)&&(B=C.create(i,n.$from.start(),n.$from.end()));return B&&(e||(e=A.tr)).setSelection(B),e}(n,ww(n,t),A)})}function AR(A,e,t,n,i,B){let E=0,s=!0,r=e.firstChild;const o=A.firstChild;for(let A=0,t=0;A{const{selection:e}=A.state;if(!function(A){return A instanceof aw}(e))return!1;let t=0;const n=v(e.ranges[0].$from,(A=>"table"===A.type.name));return null==n||n.node.descendants((A=>{if("table"===A.type.name)return!1;["tableCell","tableHeader"].includes(A.type.name)&&(t+=1)})),t===e.ranges.length&&(A.commands.deleteTable(),!0)},iR=R.create({name:"table",addOptions:()=>({HTMLAttributes:{},resizable:!1,handleWidth:5,cellMinWidth:25,View:eR,lastColumnResizable:!0,allowTableNodeSelection:!1}),content:"tableRow+",tableRole:"table",isolating:!0,group:"block",parseHTML:()=>[{tag:"table"}],renderHTML({node:A,HTMLAttributes:e}){const{colgroup:t,tableWidth:n,tableMinWidth:i}=function(A,e){let t=0,n=!0;const i=[],B=A.firstChild;if(!B)return{};for(let A=0,E=0;A({insertTable:({rows:A=3,cols:e=3,withHeaderRow:t=!0}={})=>({tr:n,dispatch:i,editor:B})=>{const E=function(A,e,t,n,i){const B=function(A){if(A.cached.tableNodeTypes)return A.cached.tableNodeTypes;const e={};return Object.keys(A.nodes).forEach((t=>{const n=A.nodes[t];n.spec.tableRole&&(e[n.spec.tableRole]=n)})),A.cached.tableNodeTypes=e,e}(A),E=[],s=[];for(let A=0;A({state:A,dispatch:e})=>function(A,e){if(!Bw(A))return!1;if(e){const t=jw(A);e(Zw(A.tr,t,t.left))}return!0}(A,e),addColumnAfter:()=>({state:A,dispatch:e})=>function(A,e){if(!Bw(A))return!1;if(e){const t=jw(A);e(Zw(A.tr,t,t.right))}return!0}(A,e),deleteColumn:()=>({state:A,dispatch:e})=>function(A,e){if(!Bw(A))return!1;if(e){const t=jw(A),n=A.tr;if(0==t.left&&t.right==t.map.width)return!1;for(let A=t.right-1;Pw(n,t,A),A!=t.left;A--){const A=t.tableStart?n.doc.nodeAt(t.tableStart-1):n.doc;if(!A)throw RangeError("No table found");t.table=A,t.map=Aw.get(A)}e(n)}return!0}(A,e),addRowBefore:()=>({state:A,dispatch:e})=>function(A,e){if(!Bw(A))return!1;if(e){const t=jw(A);e(Vw(A.tr,t,t.top))}return!0}(A,e),addRowAfter:()=>({state:A,dispatch:e})=>function(A,e){if(!Bw(A))return!1;if(e){const t=jw(A);e(Vw(A.tr,t,t.bottom))}return!0}(A,e),deleteRow:()=>({state:A,dispatch:e})=>function(A,e){if(!Bw(A))return!1;if(e){const t=jw(A),n=A.tr;if(0==t.top&&t.bottom==t.map.height)return!1;for(let A=t.bottom-1;Lw(n,t,A),A!=t.top;A--){const A=t.tableStart?n.doc.nodeAt(t.tableStart-1):n.doc;if(!A)throw RangeError("No table found");t.table=A,t.map=Aw.get(t.table)}e(n)}return!0}(A,e),deleteTable:()=>({state:A,dispatch:e})=>function(A,e){const t=A.selection.$anchor;for(let n=t.depth;n>0;n--)if("table"==t.node(n).type.spec.tableRole)return e&&e(A.tr.delete(t.before(n),t.after(n)).scrollIntoView()),!0;return!1}(A,e),mergeCells:()=>({state:A,dispatch:e})=>Ow(A,e),splitCell:()=>({state:A,dispatch:e})=>_w(A,e),toggleHeaderColumn:()=>({state:A,dispatch:e})=>Ww("column")(A,e),toggleHeaderRow:()=>({state:A,dispatch:e})=>Ww("row")(A,e),toggleHeaderCell:()=>({state:A,dispatch:e})=>Xw(A,e),mergeOrSplit:()=>({state:A,dispatch:e})=>!!Ow(A,e)||_w(A,e),setCellAttribute:(A,e)=>({state:t,dispatch:n})=>function(A,e){return function(t,n){if(!Bw(t))return!1;const i=Ew(t);if(i.nodeAfter.attrs[A]===e)return!1;if(n){const B=t.tr;t.selection instanceof aw?t.selection.forEachCell(((t,n)=>{t.attrs[A]!==e&&B.setNodeMarkup(n,null,{...t.attrs,[A]:e})})):B.setNodeMarkup(i.pos,null,{...i.nodeAfter.attrs,[A]:e}),n(B)}return!0}}(A,e)(t,n),goToNextCell:()=>({state:A,dispatch:e})=>qw(1)(A,e),goToPreviousCell:()=>({state:A,dispatch:e})=>qw(-1)(A,e),fixTables:()=>({state:A,dispatch:e})=>(e&&ww(A),!0),setCellSelection:A=>({tr:e,dispatch:t})=>{if(t){const t=aw.create(e.doc,A.anchorCell,A.headCell);e.setSelection(t)}return!0}}),addKeyboardShortcuts(){return{Tab:()=>!!this.editor.commands.goToNextCell()||!!this.editor.can().addRowAfter()&&this.editor.chain().addRowAfter().goToNextCell().run(),"Shift-Tab":()=>this.editor.commands.goToPreviousCell(),Backspace:nR,"Mod-Backspace":nR,Delete:nR,"Mod-Delete":nR}},addProseMirrorPlugins(){return[...this.options.resizable&&this.editor.isEditable?[Tw({handleWidth:this.options.handleWidth,cellMinWidth:this.options.cellMinWidth,View:this.options.View,lastColumnResizable:this.options.lastColumnResizable})]:[],$w({allowTableNodeSelection:this.options.allowTableNodeSelection})]},extendNodeSchema:A=>({tableRole:p(J(A,"tableRole",{name:A.name,options:A.options,storage:A.storage}))})}),BR=R.create({name:"tableCell",addOptions:()=>({HTMLAttributes:{}}),content:"block+",addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null}}}),tableRole:"cell",isolating:!0,parseHTML:()=>[{tag:"td"}],renderHTML({HTMLAttributes:A}){return["td",l(this.options.HTMLAttributes,A),0]}}),ER=R.create({name:"tableHeader",addOptions:()=>({HTMLAttributes:{}}),content:"block+",addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null}}}),tableRole:"header_cell",isolating:!0,parseHTML:()=>[{tag:"th"}],renderHTML({HTMLAttributes:A}){return["th",l(this.options.HTMLAttributes,A),0]}}),sR=R.create({name:"tableRow",addOptions:()=>({HTMLAttributes:{}}),content:"(tableCell | tableHeader)*",tableRole:"row",parseHTML:()=>[{tag:"tr"}],renderHTML({HTMLAttributes:A}){return["tr",l(this.options.HTMLAttributes,A),0]}}),rR=BR.extend({addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null},renderHTML:A=>A.colwidth?{style:`width: ${A.colwidth[0]}px;`}:{}}}),renderHTML({HTMLAttributes:A}){return["td",l(this.options.HTMLAttributes,A,{style:"border: 1px solid black; padding: 5px;"}),0]}}),oR=ER.extend({addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null},renderHTML:A=>A.colwidth?{style:`width: ${A.colwidth[0]}px;`}:{}}}),renderHTML({HTMLAttributes:A}){return["th",l(this.options.HTMLAttributes,A,{style:"border: 1px solid black; padding: 5px;"}),0]}}),cR=iR.extend({renderHTML({HTMLAttributes:A}){return["table",l(this.options.HTMLAttributes,A,{style:"border-collapse: collapse; border: 1px solid black;"}),["tbody",0]]}});var gR;!function(A){A[A.compact=0]="compact",A[A.full=1]="full"}(gR||(gR={}));const aR=R.create({name:"iframe",group:"block",atom:!0,addOptions:()=>({HTMLAttributes:{class:"iframe-wrapper"}}),addAttributes:()=>({src:{default:null},frameborder:{default:0},width:{default:null},height:{default:null}}),parseHTML:()=>[{tag:"iframe"}],renderHTML({HTMLAttributes:A}){return["div",this.options.HTMLAttributes,["iframe",A]]},addCommands(){return{setIframe:A=>({tr:e,dispatch:t})=>{const{selection:n}=e,i=this.type.create(A);return t&&e.replaceRangeWith(n.from,n.to,i),!0}}}}),QR=TE.extend({addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak(),Enter:()=>{const{state:A}=this.editor,{selection:e}=A,{$from:t}=e;if("paragraph"===t.parent.type.name){const{nodeBefore:A}=t;return A&&"hardBreak"===A.type.name?(this.editor.commands.deleteRange({from:t.pos-1,to:t.pos}),!1):this.editor.commands.setHardBreak()}}}}});class lR extends O{constructor(){super(...arguments),this.contentComponent=null}}const hR=class{constructor(A){e(this,A),this.editorDidLoad=B(this,"editorDidLoad",7),this.toggleMonaco=async()=>{if(this.isMonaco){const A=await this.monacoEditor.getValue();this.editor.chain().setContent(A).run()}this.isMonaco=!this.isMonaco},this.name="",this.readonly=!1,this.uploadUrl="",this.placeholder="",this.initialContent="",this.resizable=!1,this.exposeEditor=!1,this.size="sm",this.hideUI=!1,this.hideMenubar=void 0,this.menubarMode="full",this.extraMenubarItems="",this.bubbleMenu=!1,this.preferHardBreak=!1,this.locale=void 0,this.styles=void 0,this.collaborative=!1,this.hocuspocus="",this.docName="",this.username="",this.userColor="#ffcc00",this.updateInputValue=void 0,this.fullscreenable=!1,this.toggleFullscreen=void 0,this.isFullscreen=!1,this.value=void 0,this.editor=null,this.forceUpdateCounter=0,this.isMonaco=!1}forceUpdate(){this.forceUpdateCounter>1e3?this.forceUpdateCounter=0:this.forceUpdateCounter++}onLocaleChanage(){void 0!==this.locale&&(A.setLocale(this.locale),this.forceUpdate())}connectedCallback(){void 0!==this.locale&&A.setLocale(this.locale),setTimeout((()=>{const{lowlight:A}=li;this.ydoc=this.collaborative?new Ho:null;const e=this.collaborative?[nQ.configure({document:this.ydoc}),EQ.configure({provider:new Ah({url:this.hocuspocus,name:this.docName,document:this.ydoc}),user:{name:this.username,color:this.userColor}})]:[];this.editor=new lR({extensions:[us.configure(Object.assign(Object.assign({history:{depth:50,newGroupDelay:500},codeBlock:!1},this.collaborative?{history:!1}:{}),this.preferHardBreak?{}:{hardBreak:!1})),tA,BA,iA,$,EA,sA.extend({priority:1e3}),rE,OM,oE,XM,KM,ue.configure({lowlight:A}),cR.configure({resizable:!0}),sR,oR,rR,Mi.configure({inline:!0}),tE,nE,iE,BE.configure({types:["heading","paragraph"]}),th,W,LM.configure({uploadUrl:this.uploadUrl}),EE.configure({placeholder:this.placeholder}),sE,aR,...e,...this.preferHardBreak?[QR]:[]],editorProps:{attributes:{spellcheck:"false"},handleDOMEvents:{mouseup:A=>{requestAnimationFrame((()=>{const e=A.pluginViews.find((A=>{var e;return"BubbleMenuView"===(null===(e=A.constructor)||void 0===e?void 0:e.name)}));null==e||e.update(A)}))}},editable:()=>!this.readonly},content:this.value||this.initialContent}),this.editorDidLoad.emit(this.editor),this.editor.on("transaction",(()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{this.forceUpdate()}))}))})),this.editor.on("blur",(()=>{requestAnimationFrame((()=>{this.updateInputValue()}))})),this.updateInputValue(),this.exposeEditor&&(window.$zenEditors||(window.$zenEditors={}),window.$zenEditors[this.name||"ze"]=this.editor)}),0)}componentDidLoad(){Boolean(this.styles)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles])}disconnectedCallback(){this.editor.destroy()}render(){return Boolean(this.editor)?t("div",{class:`editor${this.isFullscreen?" is-fullscreen":""}${this.resizable?" resizable":""}${"full"===this.size?" full":""}${this.hideUI?" hide-ui":""}`},!this.hideUI&&t(n,null,t("zen-editor-bubble-menu",{editor:this.editor,menuProps:{tippyOptions:{duration:100}},disabled:!this.bubbleMenu}),this.hideMenubar?null:t("zen-editor-menubar",{editor:this.editor,menubarMode:gR[this.menubarMode],toggleMonaco:this.toggleMonaco,toggleFullscreen:this.fullscreenable&&this.toggleFullscreen,states:{isMonaco:this.isMonaco,isCollaborative:this.collaborative,isFullscreen:this.isFullscreen},forceUpdateCounter:this.forceUpdateCounter,styles:this.styles,extraMenubarItems:this.extraMenubarItems}),this.isMonaco&&t("monaco-editor",{class:`monaco-editor ${this.size}`,ref:A=>this.monacoEditor=A,options:{language:"html",ariaContainerElement:null,value:this.editor.getHTML()},tiptapEditor:this.editor,updateInputValue:this.updateInputValue})),t("zen-editor-content",{class:`editor__content ${this.size}`,editor:this.editor,styles:this.styles,style:{display:this.isMonaco?"none":""}})):null}get element(){return i(this)}static get watchers(){return{locale:["onLocaleChanage"]}}};hR.style='button,input,select{font-size:inherit;font-family:inherit;color:#333333;margin:0.1em;border:1px solid #333333;border-radius:0.25em;padding:0.1em 0.4em;background:white;accent-color:black}button[disabled],input[disabled],select[disabled]{opacity:0.3}.editor{font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;background-color:#fff;border:1px solid #a6a39e;border-radius:0.25em;color:#0d0d0d;display:flex;flex-direction:column;min-height:10em;max-height:96vh}.editor.resizable{resize:vertical;overflow:hidden}.editor.is-fullscreen{height:100% !important;max-height:unset;resize:none}.editor.full{min-height:100%}.editor.hide-ui{border:none}.hide-ui .editor__content{cursor:unset}.editor__content{flex:1 1 auto;overflow-x:hidden;overflow-y:auto;padding:0.25em 0.75em 1.25em 1em;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;cursor:text}.editor__content.sm{min-height:3.5em}.editor__content.lg{min-height:14em}.editor__content.full{min-height:100%}.editor__content.narrow{padding:0 0 0 0.5em}.editor__content .collaboration-cursor__caret{border-left:1px solid #0d0d0d;border-right:1px solid #0d0d0d;margin-left:-1px;margin-right:-1px;pointer-events:none;position:relative;word-break:normal}.editor__content .collaboration-cursor__label{border-radius:3px 3px 3px 0;color:#0d0d0d;font-size:12px;font-style:normal;font-weight:600;left:-1px;line-height:normal;padding:0.1em 0.3em;position:absolute;top:-1.4em;user-select:none;white-space:nowrap}.editor__footer{align-items:center;border-top:1px solid #a6a39e;color:#6e6e6e;display:flex;flex:0 0 auto;font-size:12px;flex-wrap:wrap;font-weight:600;justify-content:space-between;padding:0.25em 0.75em;white-space:nowrap}.editor ::-webkit-scrollbar{width:14px;height:14px}.editor ::-webkit-scrollbar-track{border:4px solid transparent;background-clip:padding-box;border-radius:8px;background-color:transparent}.editor ::-webkit-scrollbar-thumb{border:4px solid rgba(0, 0, 0, 0);background-clip:padding-box;border-radius:8px;background-color:rgba(0, 0, 0, 0)}.editor :hover::-webkit-scrollbar-thumb{background-color:rgba(0, 0, 0, 0.1)}.editor ::-webkit-scrollbar-thumb:hover{background-color:rgba(0, 0, 0, 0.15)}.editor ::-webkit-scrollbar-button{display:none;width:0;height:0}.editor ::-webkit-scrollbar-corner{background-color:transparent}.editor .monaco-editor{height:100%;min-height:10em}.editor .monaco-editor.sm{min-height:3.5em}.editor .monaco-editor.lg{min-height:14em}.editor .monaco-editor.full{min-height:100%}';const MR=class{constructor(A){e(this,A),this.itemProps=void 0,this.menubarMode=void 0,this.styles=void 0}updateMenu(){if(this.menuTippy){const{menuItems:A}=this.itemProps;this.menuContent=document.createElement("div"),this.menuContent.style.padding="0.1em",this.menuContent.style.borderRadius="0.3em",this.menuContent.style.backgroundColor="#fff",this.menuContent.style.border="1px solid #a6a39e",A.forEach((A=>{const e=document.createElement("zen-editor-menu-item"),{menuModeLevel:t}=A;t&&t>this.menubarMode||(e.itemProps=Object.assign(Object.assign({},A),{action:A.action?()=>{A.action(),this.menuTippy.hide()}:null}),this.menuContent.append(e))})),this.menuTippy.setContent(this.menuContent)}}componentDidLoad(){var A;const{menuItems:e}=this.itemProps;e&&(this.menuTippy=a(null!==(A=this.menuTippyTarget)&&void 0!==A?A:this.el,{placement:"bottom-start",trigger:"click",interactive:!0,animation:!1,appendTo:()=>{var A,e,t;return null!==(t=null===(e=null===(A=document.fullscreenElement)||void 0===A?void 0:A.shadowRoot)||void 0===e?void 0:e.querySelector(".editor"))&&void 0!==t?t:document.body}}),this.updateMenu())}componentDidUpdate(){this.menuTippy&&this.updateMenu()}render(){const{icon:A,label:e,title:i,action:B,menuItems:E,isDisabled:s=null,isActive:r=null,flip:o="none"}=this.itemProps;return t(n,{key:"5de5d304ccbbc40c3f931caee1f4b8660f791f9a"},t("button",{key:"f83f7ab2f767c18e18e522dcd55cb73590a87c49",class:`menu-item${s&&s()?" is-disabled":""}${r&&r()?" is-active":""}${"none"!==o?` flip-${o}`:""}${E&&B?" has-submenu":""}`,onClick:s&&s()?null:B,title:i},A&&(A.startsWith("ci")?t("i",{class:`coolicons ${A}`}):t("i",{class:A})),e&&t("span",{key:"25894f3ec2b799247a9ca7b0f2d1d91af3670db9",class:"label"},e),E&&!B?t("i",{class:"coolicons ci-caret_down_sm"}):null),E&&B&&t("button",{key:"796c4a7ceb09f50f8f4ed2cb455b26310099fe8c",class:"menu-item",ref:A=>this.menuTippyTarget=A},t("i",{key:"50b462eb37f42f070dd6c622e8725303290938d0",class:"coolicons ci-caret_down_sm"})))}get el(){return i(this)}};MR.style='@font-face{font-family:\'coolicons\';src:url(data:application/font-woff;base64,d09GRgABAAAAAqHYAAsAAAACoYwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABCAAAAGAAAABgDxIH4mNtYXAAAAFoAAAAVAAAAFQXVtRAZ2FzcAAAAbwAAAAIAAAACAAAABBnbHlmAAABxAACj+QAAo/kVeTDvGhlYWQAApGoAAAANgAAADYjj5draGhlYQACkeAAAAAkAAAAJAfCBX9obXR4AAKSBAAABvgAAAb47gDuDmxvY2EAApj8AAAG/AAABvwCHRzQbWF4cAACn/gAAAAgAAAAIAHMApFuYW1lAAKgGAAAAZ4AAAGe7/mK6XBvc3QAAqG4AAAAIAAAACAAAwAAAAMD/wGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA6rkDwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADgAAAAKAAgAAgACAAEAIOq5//3//wAAAAAAIOkA//3//wAB/+MXBAADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAwCrABUDAANrABEAIwBSAAA3NDYzMSEyFhUUBiMxISImNTE3MhYVMREUBiMiJjUxETQ2MzETMzIWFTERFAYjMSMiJjU0NjMxMzI2NTERNCYjMSMiBhUxERQGIyImNTERNDYzMasZEQEAEhkZEv8AERmqEhkZEhEZGRHWVTVLSzUrERkZESsSGRkSVRIZGRIRGUs16xEZGRESGRkSqhkR/wASGRkSAQARGQHWSzX9qjVLGRISGRkRAlYRGRkR/wASGRkSAQA1SwADAIAAQAOAA0AARACJAJsAACUhKgEnLgEnLgEnNS4BJyY0NRE8ATc+ATc+ATczPgE3NjIzIToBFx4BFx4BFxUeARcWFBURHAEHDgEHDgEHIw4BBwYiIzc+ATc+ATc1PgE3NDY1ETQmNS4BJy4BJyMuASciJiMhIgYjDgEHDgEHFQ4BBxQGFREUFhUeARceARczHgEXMhYzITI2MwE0NjMxITIWFRQGIzEhIiY1MQLO/mQRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREBnBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdETMJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEgGaEhkJ/ioZEQFWERkZEf6qERlAAQEGBgkdEQEMGQ0MHREBnRAdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEf5kER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEBASoSGRkSEhkZEgAAAwBVABUDqwNrAB4AOwBgAAABIgcOAQcGFRQXHgEXFjMxMjc+ATc2NTQnLgEnJiMxATQ3PgE3NjMyFx4BFxYVFAcOAQcGIyInLgEnJjUlMhYVMRUzMhYVFAYjMSMVFAYjIiY1MTUjIiY1NDYzMTM1NDYzAgBHPj5dGxoaG10+PkdHPj5dGxoaG10+Pkf+VSIhdE5OWFhOTnQhIiIhdE5OWFhOTnQhIgGrEhmAERkZEYAZEhIZgBEZGRGAGRIDFRobXT4+R0c+Pl0bGhobXT4+R0c+Pl0bGv6rWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5Y1RkRgBkSEhmAERkZEYAZEhIZgBEZAAAABACAAEADgANAAEQAiQCbAKwAACUhKgEnLgEnLgEnNS4BJyY0NRE8ATc+ATc+ATczPgE3NjIzIToBFx4BFx4BFxUeARcWFBURHAEHDgEHDgEHIw4BBwYiIzc+ATc+ATc1PgE3NDY1ETQmNS4BJy4BJyMuASciJiMhIgYjDgEHDgEHFQ4BBxQGFREUFhUeARceARczHgEXMhYzITI2MwE0NjMxITIWFRQGIzEhIiY1MRciJjUxETQ2MzIWFTERFAYjAs7+ZBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEQGcER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0RMwkIAQYKAwECAQEBAQIBAwoFAQEICQkZEv5mEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQn+KhkRAVYRGRkR/qoRGdUSGRkSEhkZEkABAQYGCR0RAQwZDQwdEQGdEB0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0R/mQRHQwNGQwSHQkGBgEBVgECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEv5mEhkJCQgBBgoDAQIBAQEBKhIZGRISGRkS1RkRAVYRGRkR/qoRGQABANUAlQMrAusAJAAAATIWFTEVMzIWFRQGIzEjFRQGIyImNTE1IyImNTQ2MzEzNTQ2MwIAEhnVEhkZEtUZEhIZ1RIZGRLVGRIC6xkS1RkSEhnVEhkZEtUZEhIZ1RIZAAADAFUAwAOrAxUALgBAAFIAAAEhMhYVMRUUBiMxISImNTE1NDYzMhYVMRUUFjMxITI2NTE1NCYjMSEiJjU0NjMxJxQGIzEhIiY1NDYzMSEyFhUxJzIWFTERFAYjIiY1MRE0NjMxAisBADVLSzX9qjVLGRISGRkRAlYRGRkR/wASGRkSVhkR/wASGRkSAQARGaoRGRkREhkZEgIVSzVVNUtLNSsRGRkRKxIZGRJVEhkZEhEZVhIZGRIRGRkRqhkR/wASGRkSAQARGQAAAAAEAFUAFQOrA2sAMAB1ALoA3wAAEzIWFTERHAEVHAEVNTM6ATMhMhYVFAYjMSEiJiMuASczLgEnNS4BJzE0JjURNDYzMQEhKgEnLgEnLgEnNS4BJyY0NRE8ATc+ATc+AT8BPgE3PgEzITIWFx4BFx4BFzMeARceARURFAYHDgEHDgEHMQ4BBwYiIzc+ATc+ATc1NDY1NjQ1ETwBJzQmNS4BJzEiJiMmIiMhKgEHIgYjDgEHMQ4BBxQGFREUFhUeARceARczHgEXMhYzITI2MwMyFhUxFTMyFhUUBiMxIxUUBiMiJjUxNSMiJjU0NjMxMzU0NjOAEhkBAwwJAbwSGRkS/kMIEAYJEQgBDBMGBAQBARkSAnn+uREdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEQFHER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHREzCQcCBgoDAwEBAwMKBgIHCQkZE/68EhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAUQTGQnXEhlVEhkZElUZEhEZVhEZGRFWGRECaxkS/kQBAwIFCgUBGRISGQEBBAQGEwsBBxEJBhAIAb0SGf5VAQEGBgkdEQEMGQ0MHREBRxEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0R/rkRHQwNGQwSHQkGBgEBVgECAQMKBQEBCAkJGRIBRBMZCQkHAgYKAwMBAQMDCgYCBwkJGRP+vBIZCQkIAQYKAwECAQEBAaoZElUZEhEZVhEZGRFWGRESGVUSGQAAAAADAFUAQAOrAxUAFwAbALoAAAEyFhcxFx4BFRQGIyEiJjU0NjcxNz4BMwczJwcDIToBFx4BFx4BHwEeARceAR0BFAYHDgEHDgEHIw4BBwYiKwEiJjU0NjMxMzI2Mz4BNz4BNzU+ATU2ND0BPAEnNCY1LgEnMS4BJyYiIyEqAQcOAQcOAQcxFAYVBhQdARwBFxQWFR4BFzEeARcyFjsBOAExMhYVFAYrASoBJy4BJy4BLwEuAScuATU8ATUxNTQ2Nz4BNz4BNzE+ATc2MjMCAAoRBqsEBRkR/qoRGQUEqwYRClKkUlKnAfIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEQEMGQ0MHREDEhkZEgISGQkJBwIGCgMBAgEBAwMKBgIHCQkZE/4SExkJCQcCBgoDAwEBAwMKBgIHCQkZEwIRGRkRBBEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0RAWsJB9YFDgcSGRkSBw4F1gcJ1mdnAoABAQUHCRwSAQwZDAwdEfIRHQwNGQwSHQkGBgEBGRIRGQEBAgEDCgUBAQgJCRkS7xMZCQgIAgYJAwECAQEBAQIBAwkGAggICRkT7xIZCQkIAQYKAwECAQEZERIZAQEGBgkdEQEMGQ0KGAwDBgPyER0MDBkMExwJBwUBAQAABQBVAEADqgOWABcANgBUAG8AigAAATIWFTEVMzIWFRQGIzEjIiY1MTU0NjMxNSIHDgEHBhUUFx4BFxYzMTI3PgE3NjU0Jy4BJyYjMQE0Nz4BNzYzMhceARcWFTEUBw4BBwYjIicuAScmNQEOARUUFhcxFx4BMzI2NTQmJzEnLgEjIgYHMQUuATU0NjcxNz4BMzIWFRQGBzEHDgEjIiYnNQIAEhmqEhkZEtUSGRkSPjY3URcYGBdRNzY+PjY3URcYGBdRNzY+/oAeHmlGRVBQRUZpHh4eHmlGRVBQRUZpHh4CXQUFCAeDBQ4HEhkIBoMGDggJEQb9ggQGCQeCBg4JERkICIMFDggKEQYCwBkSqhkSEhkZEtUSGSsYF1E3Nj4+NjdRFxgYF1E3Nj4+NjdRFxj+1VBFRmkeHh4eaUZFUFBFRmkeHh4eaUZFUAHGBQ4IChEGbgQFGRIJEQZtBQUIB6QFDggKEQZtBQYZEgoRBm4EBgkGAQAAAAUAVQBrA6sC6wBEAIAAkQDSAPkAAAEhMhYzHgEXHgEXFR4BFxwBHQEcAQcOAQcOAQcjDgEHBiIjISoBJy4BJy4BJzUuAScmND0BPAE1PgE3PgE3MT4BNzI2MwcVHAEdARwBFx4BFx4BFzEeARcWMjMhOgE3PgE3PgE3MT4BNzY0PQE8AT0BIyoBIyoBIzEhKgEjKgEjMRc0NjMxMzIWFRQGIzEjIiY1AyEyFhceARcxHgEfAh4BFx4BFxwBFRQGBzEOAQciBiMhIiYjLgEnLgE1PAE1MT4BNz4BPwI+ATc+ATczPgEzBw4BDwEzOgEzIToBMzoBNyMuAScXLgEnFTkBKgEjKgEjMyEqASMxARgB0AgPBwcRCQwTBgQEAQEBBQcJHBIBDBkMDB0R/rgRHQwMGQwTHAkHBQEBAQQEBhMMCREHBw8IGAEBAgEDCQYCCAgJGRMBRBMZCQgIAgYJAwECAQEBBAoFAQMC/jQCAwEFCgWAGRKqEhkZEqoSGa4CXAYPBwoSBwYJBAEBCA0FBAoBFhILFgkJFg39pg0WCQkWCxIWAQoEBQ0IAQEECQYHEgkBBw8GCAcPBwECBhIOAlgBBAMIEQkCBgwGAQIDAgIEAgEBAQH9qAQFAQJrAQEDBQYTCwEJEAgGEAjhER0MDBkMExwJBwUBAQEBBQcJHBIBDBkMDB0R4QgQBggQCQwTBgUDAQFWAQMMCd4TGQkICAIGCQMBAgEBAQECAQMJBgIICAkZE94JDAMBqhEZGRESGRkSAYABAgIJBgUMBQIBChIIBxUMAgMCFyYMBwQBAQEBBAcLJxcCAwIMFQcIEgoCAQUMBQYJAgIBVgkUCgMBCREIAQIFAgEAAAQAVQAVA6sDawAcADsAUgBrAAATNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNQEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEDMhYVMRUzMhYVFAYjMSMiJjUxNTQ2MyUeARUUBgcBDgEjIiY1NDY3AT4BMzIWFzFVIiF0Tk5YWE5OdCEiIiF0Tk5YWE5OdCEiAatHPj5dGxoaG10+PkdHPj5dGxoaG10+PkeAEhmAERkZEasSGRkSAR4GBwcG/wAGDwgSGQYGAQAGDwkJDwYBwFhOTnQhIiIhdE5OWFhOTnQhIiIhdE5OWAFVGhtdPj5HRz4+XRsaGhtdPj5HRz4+XRsa/wAZEYAZEhIZGRKrERlJBg8JCQ8G/wAGBhkSCA8GAQAGBwcGAAAEAFUAFQOrA2sAHAA7AFIAawAAEzQ3PgE3NjMyFx4BFxYVFAcOAQcGIyInLgEnJjUBIgcOAQcGFRQXHgEXFjMxMjc+ATc2NTQnLgEnJiMxEzIWFTEVFAYjMSMiJjU0NjMxMzU0NjMlPgEzMhYXAR4BFRQGIyImJwEuATU0NjcxVSIhdE5OWFhOTnQhIiIhdE5OWFhOTnQhIgGrRz4+XRsaGhtdPj5HRz4+XRsaGhtdPj5HgBIZGRKrERkZEYAZEv7iBg8JCQ8GAQAGBhkSCA8G/wAGBwcGAcBYTk50ISIiIXROTlhYTk50ISIiIXROTlgBVRobXT4+R0c+Pl0bGhobXT4+R0c+Pl0bGv8AGRGrEhkZEhIZgBEZSQYHBwb/AAYPCBIZBgYBAAYPCQkPBgAABQBVABUDqwNrABwAOwBUAG0AfgAAEzQ3PgE3NjMyFx4BFxYVFAcOAQcGIyInLgEnJjUBIgcOAQcGFRQXHgEXFjMxMjc+ATc2NTQnLgEnJiMxAz4BMzIWHwEeARUUBiMiJi8BLgE1NDY3MSEeARUUBg8BDgEjIiY1NDY/AT4BMzIWFzEnMhYVMREUBiMiJjUxETQ2M1UiIXROTlhYTk50ISIiIXROTlhYTk50ISIBq0c+Pl0bGhobXT4+R0c+Pl0bGhobXT4+R54GDwkJDwaABgYZEggPBoAGBwcGATwGBwcGgAYPCBIZBgaABg8JCQ8GnhIZGRISGRkSAcBYTk50ISIiIXROTlhYTk50ISIiIXROTlgBVRobXT4+R0c+Pl0bGhobXT4+R0c+Pl0bGv6eBgcHBoAFEAgSGQcFgAYPCQkQBQUQCQkPBoAFBxkSCBAGgAUHBwXhGRH+qhEZGREBVhEZAAAFAFUAFQOrA2sAHAA7AFQAbQB/AAATNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNQEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEHHgEVFAYPAQ4BIyImNTQ2PwE+ATMyFhcxBz4BMzIWHwEeARUUBiMiJi8BLgE1NDY3MQc0NjMxITIWFRQGIzEhIiY1MVUiIXROTlhYTk50ISIiIXROTlhYTk50ISIBq0c+Pl0bGhobXT4+R0c+Pl0bGhobXT4+Rw0GBwcGgAUQCBIZBwWABg8JCRAFvAYPCQkQBYAGBhkRCQ8GgAYGBgYMGREBVhEZGRH+qhEZAcBYTk50ISIiIXROTlhYTk50ISIiIXROTlgBVRobXT4+R0c+Pl0bGhobXT4+R0c+Pl0bGrcGDwkJDwaABgYZEggPBoAGBwcGgAYHBwaABg8IEhkGBoAGDwkJDwYeEhkZEhIZGRIAAAUAVQAVA6sDawAcADsAVABtAH4AABM0Nz4BNzYzMhceARcWFRQHDgEHBiMiJy4BJyY1ASIHDgEHBhUUFx4BFxYzMTI3PgE3NjU0Jy4BJyYjMRMeARUUBg8BDgEjIiY1NDY/AT4BMzIWFzEnPgEzMhYfAR4BFRQGIyImLwEuATU0NjcxByEyFhUUBiMxISImNTQ2MzFVIiF0Tk5YWE5OdCEiIiF0Tk5YWE5OdCEiAatHPj5dGxoaG10+PkdHPj5dGxoaG10+PkfJBgYGBoAGDwkRGQYGgAUQCQkPBrwFEAkJDwaABQcZEggQBoAFBwcFtwFWERkZEf6qERkZEQHAWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YAVUaG10+PkdHPj5dGxoaG10+PkdHPj5dGxr+yQYPCQkPBoAGBhkSCA8GgAYHBwaABgcHBoAGDwgSGQYGgAYPCQkPBnMZEhIZGRISGQAABABVABUDqwNrABwAOwBSAGsAABM0Nz4BNzYzMhceARcWFRQHDgEHBiMiJy4BJyY1ASIHDgEHBhUUFx4BFxYzMTI3PgE3NjU0Jy4BJyYjMQc0NjMxMzIWFRQGIzEjFRQGIyImNTE1Nz4BMzIWFwEeARUUBiMiJicBLgE1NDY3MVUiIXROTlhYTk50ISIiIXROTlhYTk50ISIBq0c+Pl0bGhobXT4+R0c+Pl0bGhobXT4+R6sZEqsRGRkRgBkSEhkNBg8JCQ8GAQAGBhkSCA8G/wAGBwcGAcBYTk50ISIiIXROTlhYTk50ISIiIXROTlgBVRobXT4+R0c+Pl0bGhobXT4+R0c+Pl0bGtUSGRkSEhmAERkZEaseBgcHBv8ABg8IEhkGBgEABg8JCQ8GAAAAAAQAVQAVA6sDawAcADsAUwBsAAATNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNQEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEHNDYzMTMyFhUxFRQGIyImNTE1IyImNTE3HgEVFAYHAQ4BIyImNTQ2NwE+ATMyFhcxVSIhdE5OWFhOTnQhIiIhdE5OWFhOTnQhIgGrRz4+XRsaGhtdPj5HRz4+XRsaGhtdPj5HVRkRqxIZGRISGYARGfMGBwcG/wAGDwgSGQYGAQAGDwkJDwYBwFhOTnQhIiIhdE5OWFhOTnQhIiIhdE5OWAFVGhtdPj5HRz4+XRsaGhtdPj5HRz4+XRsa1RIZGRKrERkZEYAZEh4GDwkJDwb/AAYGGRIIDwYBAAYHBwYAAAAFAFUAFQOrA2sAHAA7AFQAbQB+AAATNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNQEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEHPgEzMhYfAR4BFRQGIyImLwEuATU0NjcxMx4BFRQGDwEOASMiJjU0Nj8BPgEzMhYXMScyFhUxERQGIyImNTERNDYzVSIhdE5OWFhOTnQhIiIhdE5OWFhOTnQhIgGrRz4+XRsaGhtdPj5HRz4+XRsaGhtdPj5HHgYPCQkPBoAGBhkSCA8GgAYHBwY8BgcHBoAGDwgSGQYGgAYPCQkPBh4SGRkSEhkZEgHAWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YAVUaG10+PkdHPj5dGxoaG10+PkdHPj5dGxqMBgYGBoAGDwkRGQYGgAUQCQkPBgYPCQkQBYAGBhkRCQ8GgAYGBgYMGRH+qhEZGREBVhEZAAAAAAIAxgCGAzoC+gAXADAAABMyFhUxESEyFhUUBiMxISImNTERNDYzMSUeARUUBgcBDgEjIiY1NDY3AT4BMzIWFzHwEhkBAxIZGRL+0hEZGRECPgUHBwX94QYPCRIZBwUCHwYQCQgQBgIJGRL+/RkREhkZEgEtEhnlBhAICRAG/eEFBxkSCQ8GAh8FBwcFAAAAAAIBAADAAwACwAAYADAAAAEeARUUBgcBDgEjIiY1NDY3AT4BMzIWFzEFMhYVMREhMhYVFAYjMSEiJjUxETQ2MzEC8wYHBwb+VgYPCREZBgYBqgYPCQkQBf44ERkBKxIZGRL+qxIZGRICswUQCQkPBv5WBgYZEQkPBgGqBgcHBUkZEv7VGRESGRkSAVUSGQAAAAIBKwDrAtUClQAYADAAAAEeARUUBgcBDgEjIiY1NDY3AT4BMzIWFzEFMhYVMRUzMhYVFAYjMSEiJjUxETQ2MzECyQYGBgb+qgUQCBIZBwUBVgUQCQkPBv6MEhnVEhkZEv8AERkZEQKJBg8JCRAF/qoFBxkSCBAGAVUGBgYGSRkS1RkSERkZEQEAEhkAAgEAABUC/wNrACAAMQAAAT4BMzIWHwE3PgEzMhYVFAYPAQ4BIyImLwEuATU0NjcxEzIWFTERFAYjIiY1MRE0NjMBDQUQCQkPBre3Bg8JERkGBtUGDwkJDwbVBgcHBvMSGRkSEhkZEgEzBgcHBre3BgYZEQkPBtUGBwcG1QYPCQkQBQI4GRL9ABIZGRIDABIZAAAAAAIA1QBrAyoDFQARADIAAAEyFhUxERQGIyImNTERNDYzMQE+ATMyFh8BNz4BMzIWFRQGBwEOASMiJicBLgE1NDY3MQIAEhkZEhIZGRL+4gYPCQkPBuLiBg8IEhkGBv8ABg8JCQ8G/wAGBwcGAxUZEf2qERkZEQJWERn+ngYHBwbh4QYGGREJDwb/AAYGBgYBAAYPCQkQBQAAAgDGAIYDOgL6ABcAMAAAATIWFTERFAYjMSEiJjU0NjMxIRE0NjMxJT4BMzIWFwEeARUUBiMiJicBLgE1NDY3MQMPEhkZEv7TEhkZEgEDGRH9wwYQCAkQBgIfBQcZEgkPBv3hBQcHBQIJGRL+0hEZGRESGQEDEhnlBQcHBf3hBg8JEhkHBQIfBhAJCBAGAAAAAgEAAMADAALAABgAMAAAAT4BMzIWFwEeARUUBiMiJicBLgE1NDY3MQUyFhUxERQGIzEhIiY1NDYzMSERNDYzMQENBRAJCQ8GAaoGBhkRCQ8G/lUFBwcFAckSGRkS/qsSGRkSASsZEQKzBgcHBv5WBg8JERkGBgGqBg8JCRAFSBkS/qsSGRkSERkBKxIZAAAAAgErAOsC1QKVABgALwAAAT4BMzIWFwEeARUUBiMiJicBLgE1NDY3MQUyFhUxERQGIzEhIiY1NDYzMTM1NDYzATcGDwkJEAUBVgUHGRIIEAb+qwYGBgYBdBEZGRH/ABIZGRLVGRICiQYGBgb+qgUQCBIZBwUBVgUQCQkPBkkZEv8AERkZERIZ1RIZAAACASsAwALVAsAAEQAyAAABMhYVMREUBiMiJjUxETQ2MzEDPgEzMhYfATc+ATMyFhUUBg8BDgEjIiYvAS4BNTQ2NzECABIZGRISGRkSyQYPCQkQBY2MBhAIEhkHBasGDwkJDwarBgYGBgLAGRL+VhIZGRIBqhIZ/vMGBwcGjIwGBhkRCQ8GqgYHBwaqBg8JCRAFAAAABACrAGsDVQMVACAAPQBPAGEAABM+ATMyFh8BNz4BMzIWFRQGDwEOASMiJi8BLgE1NDY3MQE+ATMyFh8BHgEVFAYjIiYvAQcOASMiJjU0Nj8BNzIWFTERFAYjIiY1MRE0NjMxITIWFTERFAYjIiY1MRE0NjMxtwYPCQkQBWJiBg8JERkGBoAFEAkJDwaABgYGBgHWBRAJCQ8GgAUHGRIIEAZhYgYQCRIZBwaAHxEZGRESGRkS/qoSGRkSERkZEQEzBgcHBmFhBgYZEQkPBoAGBgYGgAYPCQkQBQHWBgYGBoAGDwkRGQYGYWEHBxkSCRAGgAwZEf2qERkZEQJWERkZEf2qERkZEQJWERkAAAIAVQC/A6sCwAAgADEAAAEeARUUBg8BFx4BFRQGIyImLwEuATU0Nj8BPgEzMhYXMQU0NjMxITIWFRQGIzEhIiY1AXMGBwcGt7cHBxkSCRAG1QYHBwbVBg8JCRAF/uIZEgMAEhkZEv0AEhkCswUQCQkPBre3BhAJEhkHBtYGDwkJDwbVBgcHBvMSGRkSEhkZEgAAAAACAKsAlgNVAusAEQAyAAATNDYzMSEyFhUUBiMxISImNTEBHgEVFAYPARceARUUBiMiJicBLgE1NDY3AT4BMzIWFzGrGRECVhEZGRH9qhEZAUgGBwcG4eEGBhkRCQ8G/wAGBgYGAQAGDwkJEAUBwBIZGRISGRkSAR4GDwkJDwbi4gYPCBIZBgYBAAYPCQkPBgEABgcHBgAAAAQAqwBrA1UDFQAgADIAUwBlAAABPgEzMhYfAR4BFRQGDwEOASMiJjU0Nj8BJy4BNTQ2NzEFNDYzMSEyFhUUBiMxISImNTETHgEVFAYPARceARUUBiMiJi8BLgE1NDY/AT4BMzIWFzEHNDYzMSEyFhUUBiMxISImNTECjQUQCQkPBoAGBgYGgAYPCREZBgZhYQYHBwX+HxkRAlYRGRkR/aoRGcgGBwcGYWEHBxkSCRAGgAYGBgaABg8JCRAFyBkRAlYRGRkR/aoRGQGzBgcHBoAFEAkJDwaABQcZEggQBmFiBhAICRAGnxIZGRIRGRkRAfQGDwkJEAViYgYQCRIZBwaBBRAJCQ8GgAYGBgaeERkZERIZGRIAAAACAQAA6wMAApUAEQAyAAABNDYzMSEyFhUUBiMxISImNTE3HgEVFAYPARceARUUBiMiJi8BLgE1NDY/AT4BMzIWFzEBABkSAaoSGRkS/lYSGfMGBwcGjIwGBhkRCQ8GqgYHBwaqBg8JCRAFAcASGRkSEhkZEskGDwkJEAWNjAYQCBIZBwWrBg8JCQ8GqwYGBgYAAAAABACZABUDZwNrABcALwBeAJEAAAE0NjMxMzIWFTEVFAYjIiY1MTUjIiY1MQEyFhUxFTMyFhUUBiMxIyImNTE1NDYzMRc+ATMyFx4BFxYfAR4BFRQGIyImJzEmJy4BJyYjIgYPAQ4BIyImNTQ2NzE+AT8BAz4BMzIWFzEWFx4BFxYzMjY/AT4BMzIWFRQGBzEGBw4BBwYjIicuAScmLwEuATU0NjczAisZEdYRGRkREhmrERn+qhIZqxEZGRHWERkZEXgnWzE8NzdcJCQVAQIBGRINFQURHBxIKyovUognAQYUDBEZAwMcTC8CmgQIBA4VBREcHEgrKi9SiCcBBhMMEhkDAxojI1UxMTU8NzdcJCQVAQIBDwsBARUSGRkS1RIZGRKrGRECVhkSqxkREhkZEtUSGVcVFxIRPywrNQIECAQSGQ8MKSMiMQ4OUUICCgwZEgYLBS9JGQH+VQECDwwpIyIxDg5RQgIJDBkSBgsEKyQjMg0OERI/LCs1AgQIBA0WBQAAAAIAVQDBA6sCwAAgADEAAAE+ATMyFh8BHgEVFAYPAQ4BIyImNTQ2PwEnLgE1NDY3MQU0NjMxITIWFRQGIzEhIiY1Ao0FEAkJDwbVBgcHBtUGDwkRGQYGt7cGBwcF/ckZEgMAEhkZEv0AEhkCswYHBwbVBg8JCQ8G1QYGGREJDwa3twYQCAkQBvQSGRkSEhkZEgAAAAACAKsAlgNVAusAEQAyAAATNDYzMSEyFhUUBiMxISImNTEBPgEzMhYXAR4BFRQGBwEOASMiJjU0Nj8BJy4BNTQ2NzGrGRECVhEZGRH9qhEZAWIFEAkJDwYBAAYGBgb/AAYPCREZBgbh4QYHBwUBwBIZGRISGRkSAR4GBwcG/wAGDwkJDwb/AAYGGRIIDwbi4gYPCQkPBgAAAAIBAADrAwAClQARADIAAAE0NjMxITIWFRQGIzEhIiY1MSU+ATMyFh8BHgEVFAYPAQ4BIyImNTQ2PwEnLgE1NDY3MQEAGRIBqhIZGRL+VhIZAQ0FEAkJDwaqBgcHBqoGDwkRGQYGjIwGBwcFAcASGRkSEhkZEskGBgYGqwYPCQkPBqsFBxkSCBAGjI0FEAkJDwYAAAACANUAFgMAA2sAIABUAAABHgEVFAYPARceARUUBiMiJi8BLgE1NDY/AT4BMzIWFzETMhYVMREcAQcOAQcOAQcjDgEHBiIjISImNTQ2MzEhOgE3PgE3PgE3MT4BNzQ2NRE0NjMxAfMGBwcGt7cGBhkRCQ8G1QYHBwbVBg8JCRAF4hIZAQEGBgkdEQEMGQ0MHRH+shIZGRIBTRIZCQkIAQYKAwECAQEZEQIJBg8JCRAFuLcGDwgSGQYG1QYPCQkQBdYGBgYGAWIZEv5cER0MDBkMExwJBwUBARkREhkBAQIBAwkGAggICRkTAaISGQAAAAACAQAAFgMrA2sAIABYAAABPgEzMhYfAR4BFRQGDwEOASMiJjU0Nj8BJy4BNTQ2NzEDMhYVMREUFhUeARceARczHgEXFjIzITIWFRQGIzEhKgEnLgEnLgEnNS4BJzQmNTwBNRURNDYzMQINBRAJCQ8G1QYHBwbVBg8JERkGBre3BgcHBeERGQEBAgEDCgUBAQgJCRkSAU0SGRkS/rIRHQwNGQwSHQkGBgEBGRICCQYGBgbWBRAJCQ8G1QYGGRIIDwa3uAUQCQkPBgFiGRL+XhMZCQgIAgYJAwECAQEZEhEZAQEFBwkcEgEMGQwLFw0DBgMBAaQSGQAAAAIAagCrA8AC1QAgAFMAAAEeARUUBg8BDgEjIiYvAS4BNTQ2MzIWHwE3PgEzMhYXMQMhMhYVFAYjMSEqAQcOAQcOAQcxDgEHFAYVERQGIyImNTERPAE3PgE3PgE3Mz4BNzYyMwJeBgcHBtUGDwkJEAXWBgcZEgkQBbi3Bg8JCQ8GbAGjEhkZEv5eEhkJCQgBBgoDAQIBARkREhkBAQYGCR0RAQwZDQwdEQHJBg8JCRAF1gYGBgbWBRAJEhkHBre3BgYGBgEMGRESGQEBAgEDCQYCCAgJGRP+sxEZGREBTxEdDAwZDBMcCQcFAQEAAgBBAKsDlQLVABwAVAAAAT4BMzIWHwEeARUUBiMiJi8BBw4BIyImNTQ2PwE3MhYVMREcARcUFhUeARcxHgEXFjIzITIWFRQGIzEhKgEnLgEnLgEvAS4BJy4BNTwBNRURNDYzMQEiBg8JCQ8G1QYGGREJDwa3twYPCREZBgbVHhIZAQMDCgYCBwkJGRMBohEZGRH+XBEdDA0ZDBIcCQEGBQEBARkSAskGBgYG1gUQCBIZBwW3twUHGRIIEAbVDBkR/rMTGQkICAIGCQMBAgEBGRIRGQEBBQcJHBIBDBkMCxcNAwYDAQFPERkAAAACAFUAlQOqAsAAIABTAAABPgEzMhYfATc+ATMyFhUUBg8BDgEjIiYvAS4BNTQ2NzE3IiYjISImNTQ2MzEhOgEXHgEXHgEXFR4BFxYUFREUBiMiJjUxETwBJy4BJy4BJzEuAScBtwYPCQkQBbi3Bg8IEhkGBtUGDwkJEAXWBgYGBqAJGRP+XhIZGRIBpBEdDAwZDBMcCQcFAQEZERIZAQECAQMJBgIICAGzBgcHBre3BgYZEQkPBtUGBwcG1QYPCQkQBbcBGRESGQEBBgYJHREBDBkNDB0R/rISGRkSAU0SGQkJCAEGCgMBAgEAAAIAVQDAA6oC6wAcAFAAAAE+ATMyFh8BHgEVFAYjIiYvAQcOASMiJjU0Nj8BNzIWFTERHAEHDgEHDgEHIw4BBwYiIyEiJjU0NjMxITI2Mz4BNz4BNzU+ATc2NDURNDYzMQKNBRAJCQ8G1QYGGRIIDwa3uAUQCBIZBwXVHxEZAQEFBwkcEgEMGQwMHRH+XBIZGRIBohMZCQgIAgYJAwECAQEZEgLeBgcHBtUGDwkRGQYGt7cGBhkRCQ8G1Q0ZEv6yER0MDRkMEh0JBgYBARkSERkBAQIBAwoFAQEICQkZEgFNEhkAAAIA1QAVAwADawAgAFMAAAEeARUUBg8BFx4BFRQGIyImLwEuATU0Nj8BPgEzMhYXMRMmIiMhIiY1NDYzMSE6ARceARceARcVHgEXFhQVERQGIyImNTERNCY1LgEnLgEnIy4BJwHzBgcHBre3BgYZEQkPBtUGBwcG1QYPCQkQBY4JGRL+sxIZGRIBThEdDA0ZDBIdCQYGAQEZEhEZAQECAQMKBQEBCAkDXgYPCQkPBre4BRAIEhkHBdYFEAkJDwbVBgcHBv7hARkSERkBAQUHCRwSAQwZDAwdEf5cEhkZEgGiExkJCAgCBgkDAQIBAAAAAAIBAAAVAysDawAgAFMAAAE+ATMyFh8BHgEVFAYPAQ4BIyImNTQ2PwEnLgE1NDY3MQchMhYVFAYjMSEqAQcOAQcOAQcxDgEHFAYVERQGIyImNTERPAE3PgE3PgE3Mz4BNzYyMwINBRAJCQ8G1QYHBwbVBg8JERkGBre3BgcHBVoBThIZGRL+sxIZCQkIAQYKAwECAQEZERIZAQEGBgkdEQEMGQ0MHREDXgYHBwbVBg8JCRAF1gUHGRIIEAa3twYPCQkPBskZERIZAQECAQMJBgIICAkZE/5eEhkZEgGkER0MDBkMExwJBwUBAQAAAgBVAGoDqwMVACAASgAAAR4BFRQGDwEXHgEVFAYjIiYvAS4BNTQ2PwE+ATMyFhcxNzQ2MzEzMhceARcWFRQHDgEHBiMxISImNTQ2MzEhMjY1NCYjMSMiJjUxAUkGBgYGjY0GBxkSCRAFqwYHBwarBRAJCQ8GYhkR1jUuL0UVFBQVRS8uNf3VEhkZEgIrRmRkRtYRGQIJBg8JCRAFjYwGEAkSGQcGqwYPCQkPBqsGBgYG4hEZFBRFLy81NS4vRRUUGRISGWRGR2QZEgAAAgBVAGsDqwMVACAASgAAAT4BMzIWHwEeARUUBg8BDgEjIiY1NDY/AScuATU0NjcxJTQ3PgE3NjMxMzIWFRQGIzEjIgYVFBYzMSEyFhUUBiMxISInLgEnJjUxArcGDwkJEAWrBgcHBqsFEAgSGQcFjY0GBgYG/Z4UFUUvLjXWERkZEdZGZGRGAisSGRkS/dU1Li9FFRQCCQYGBgarBg8JCQ8GqwUHGRIIEAaMjQUQCQkPBgw1Ly9FFBQZERIZZEdGZBkSEhkUFUUvLjUAAgBVAGsDqwMVACAASgAAAR4BFRQGDwEXHgEVFAYjIiYvAS4BNTQ2PwE+ATMyFhcxBzQ2MzEhMhceARcWFRQHDgEHBiMxIyImNTQ2MzEzMjY1NCYjMSEiJjUxAUkGBgYGjY0GBxkSCRAFqwYHBwarBRAJCQ8G9BkSAis1Li9FFRQUFUUvLjXWERkZEdZGZGRG/dUSGQMJBg8JCRAFjYwGEAkSGQcGqwYPCQkPBqsGBgYGyRIZFBVFLy41NS8vRRQUGRESGWRHRmQZEgAAAgBVAGsDqwMVACAASQAAAT4BMzIWHwEeARUUBg8BDgEjIiY1NDY/AScuATU0NjcxBSIGFRQWMzEzMhYVFAYjMSMiJy4BJyY1NDc+ATc2MzEhMhYVFAYjMSECtwYPCQkQBasGBwcGqwUQCBIZBwWNjQYGBgb+nkZkZEbWERkZEdY1Li9FFRQUFUUvLjUCKxIZGRL91QMJBgYGBqsGDwkJDwarBQcZEggQBoyNBRAJCQ8G9GRGR2QZEhEZFBRFLy81NS4vRRUUGRISGQAAAgDGAIYDOgL6ABYALwAAEzQ2MzEhMhYVFAYjMSERFAYjIiY1MRE3PgEzMhYXAR4BFRQGIyImJwEuATU0NjcxxhkRAS4SGRkS/v0ZEhEZDAYQCAkQBgIfBQcZEgkPBv3hBQcHBQLQERkZERIZ/v0SGRkSAS4eBQcHBf3hBg8JEhkHBQIfBhAJCBAGAAACAQAAwQL/AsAAGAAvAAABPgEzMhYXAR4BFRQGIyImJwEuATU0NjcxBzQ2MzEhMhYVFAYjMSERFAYjIiY1MREBDQUQCQkPBgGqBgYZEQkPBv5VBQcHBQwZEgFVEhkZEv7VGRESGQKzBgcHBv5WBg8JERkGBgGqBg8JCRAFHhIZGRIRGf7VEhkZEgFVAAIBKwDrAtUClQAYAC8AAAE+ATMyFhcBHgEVFAYjIiYnAS4BNTQ2NzEHNDYzMSEyFhUUBiMxIxUUBiMiJjUxEQE3Bg8JCRAFAVYFBxkSCBAG/qsGBgYGDBkRAQASGRkS1RkSERkCiQYGBgb+qgUQCBIZBwUBVgUQCQkPBh4RGRkREhnVEhkZEgEAAAAAAgEBABUC/wNrABwALQAAAT4BMzIWHwEeARUUBiMiJi8BBw4BIyImNTQ2PwE3MhYVMREUBiMiJjUxETQ2MwHiBg8JCQ8G1QYGGREJDwa3twYPCREZBgbVHhIZGRISGRkSA14GBwcG1QYPCREZBga3twYGGREJDwbVDRkS/QASGRkSAwASGQAAAAIA1gBrAyoDFQARAC4AAAEyFhUxERQGIyImNTERNDYzMQc+ATMyFhcBHgEVFAYjIiYvAQcOASMiJjU0NjcBAgASGRkSEhkZEh4GDwkJDwYBAAYGGRIIDwbi4gYPCBIZBgYBAAMVGRH9qhEZGRECVhEZDAYGBgb/AAYPCREZBgbh4QYGGREJDwYBAAAAAgDFAIUDOgL6ABcAMAAAATQ2MzEhMhYVMREUBiMiJjUxESEiJjUxJR4BFRQGBwEOASMiJjU0NjcBPgEzMhYXMQG3GRIBLhEZGRESGf79EhkBdwYGBgb94QYQCRIZBwYCHwYQCQgQBgLQERkZEf7SEhkZEgEDGREfBhAICRAG/eEGBxkSCRAGAh8FBwcFAAAAAgEBAMEDAALAABgAMAAAAR4BFRQGBwEOASMiJjU0NjcBPgEzMhYXMQU0NjMxITIWFTERFAYjIiY1MREhIiY1MQLzBgcHBv5WBg8JERkGBgGqBg8JCRAF/mIZEgFVEhkZEhEZ/tUSGQKzBRAJCQ8G/lYGBhkRCQ8GAaoGBwcFHxIZGRL+qxIZGRIBKxkRAAAAAgErAOsC1QKVABgALwAAAR4BFRQGBwEOASMiJjU0NjcBPgEzMhYXMQU0NjMxITIWFTERFAYjIiY1MTUjIiY1AskGBgYG/qoFEAgSGQcFAVYFEAkJDwb+txkSAQARGRkREhnVEhkCiQYPCQkQBf6qBQcZEggQBgFVBgYGBh4RGRkR/wASGRkS1RkSAAACASsAwALVAsAAEQAuAAABMhYVMREUBiMiJjUxETQ2MzEHPgEzMhYfAR4BFRQGIyImLwEHDgEjIiY1NDY/AQIAEhkZEhIZGRIeBg8JCQ8GqwUHGRIIEAaMjQUQCBIZBwWrAsAZEv5WEhkZEgGqEhkNBgcHBqoGDwkRGQYGjIwGBhkRCQ8GqgAABACZABUDZwNrABYALgBhAJQAABM0NjMxMzIWFRQGIzEjFRQGIyImNTE1ATIWFTEVFAYjMSMiJjU0NjMxMzU0NjMxBy4BIyIHDgEHBg8BDgEjIiY1NDY3MTY3PgE3NjMyFx4BFxYfAR4BFRQGIyImJzEuAS8BEx4BFRQGBzEGBw4BBwYjIicuAScmLwEuATU0NjMyFhcxHgEzMjc+ATc2PwE+ATMyFhcjqxkR1hEZGRGrGRIRGQKAERkZEdYRGRkRqxkSnx9HJi8qK0gcGxEBBRUOERkBAhYkJFw3Nzw1MTFVIyMZAQMDGRIMEwYVPCQBwAwPAQIWJCRcNzc8NTExVSMjGQEDAxkSDBMGJ4lSLyorSBwbEQEFFQ0FCAQBARUSGRkSERmrEhkZEtUCVhkS1RIZGRIRGasSGaMQEw4OMSEiKQIMDxkSBAgENSwsQBESDg0yIyMqAgQLBhIZDAklORMB/qAFFg0ECAQ1LCxAERIODTIjIyoCBQsGEhkMCkNSDg4xIiEpAgwPAgEAAwCAAEADgANAABEAWgCfAAATNDYzMSEyFhUUBiMxISImNTETIToBFx4BFx4BFxUeARcWFBURHAEHDgEHDgEHIw4BBwYiIyEqAScuAScuASc1LgEnNCY1PAE1MRE8ATc+ATc+ATczPgE3NjIzBw4BBw4BBxUOAQcUBhURFBYVHgEXHgEXMx4BFzIWMyEyNjM+ATc+ATc1PgE3NDY1ETQmNS4BJy4BJyMuASciJiMhIgYjgBkSAqoSGRkS/VYSGbIBnBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEf5jEB0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0RMwkIAQYKAwECAQEBAQIBAwoFAQEICQkZEgGaEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS/mYSGQkBQBIZGRISGRkSAgABAQYGCR0RAQwZDQwdEf5kER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNChcMBAYDAZwRHQwNGQwSHQkGBgEBVgECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEgGaEhkJCQgBBgoDAQIBAQEAAAAAAwCAAEADgANAABAAVQCaAAABMhYVMREUBiMiJjUxETQ2MwURHAEHDgEHDgEHIw4BBwYiIyEqAScuAScuASc1LgEnJjQ1ETwBNz4BNz4BNzM+ATc2MjMhOgEXHgEXHgEXFR4BFxYUFScuAScuAScjLgEnIiYjISIGIw4BBw4BBxUOAQcUBhURFBYVHgEXHgEXMx4BFzIWMyEyNjM+ATc+ATc1PgE3NDY1ETQmNQGAEhkZEhIZGRICAAEBBgYJHREBDBkNDB0R/mMQHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREBnBEdDA0ZDBIdCQYGAQFWAQIBAwoFAQEICQkZEv5mEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQNAGRL9VhIZGRICqhIZsv5kER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0RAZ0QHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREzCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBmhIZCQAAAAMAgABAA4ADQAAQAFkAngAAJSImNTERNDYzMhYVMREUBiMlETwBNz4BNz4BNzM+ATc2MjMhOgEXHgEXHgEXFR4BFxYUFREcAQcOAQcOAQcjDgEHBiIjISoBJy4BJy4BJzUuASc0JjU8ATUxFx4BFx4BFzMeARcyFjMhMjYzPgE3PgE3NT4BNzQ2NRE0JjUuAScuAScjLgEnIiYjISIGIw4BBw4BBxUOAQcUBhURFBYVAoASGRkSEhkZEv4AAQEGBgkdEQEMGQ0MHREBnBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEf5kER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEBQBkSAqoSGRkS/VYSGbIBnBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEf5kER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNChgNAwUDMwkIAQYKAwECAQEBAQIBAwoFAQEICQkZEgGaEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS/mYSGQkAAwCAAEADgANAABAAVQCaAAABFAYjMSEiJjU0NjMxITIWFQMhKgEnLgEnLgEnNS4BJyY0NRE8ATc+ATc+ATczPgE3NjIzIToBFx4BFx4BFxUeARcWFBURHAEHDgEHDgEHIw4BBwYiIzc+ATc+ATc1PgE3NDY1ETQmNS4BJy4BJyMuASciJiMhIgYjDgEHDgEHFQ4BBxQGFREUFhUeARceARczHgEXMhYzITI2MwOAGRL9VhIZGRICqhIZsv5kER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0RAZwRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREzCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBmhIZCQJAEhkZEhIZGRL+AAEBBgYJHREBDBkNDB0RAZ0QHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQFWAQIBAwoFAQEICQkZEgGaEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAQAAAAUAgAAVA4ADawBEAIQAlwChAMYAAAExMhceARcWHQEUFh8BHgEXOQEVMRwBFRwBBzkBBiIjISoBJzEVJjQ1PAE1MTA0NTwBNTkBMz4BPwE+AT0BNDc+ATc2MzUiBw4BBwYVMRUHDgEHDgEHFQYUHQEUFhceAR8BHgEzITI2Nz4BPwE+AT0BPAEnLgEnMS4BLwE1NCcuAScmIzEDNDYzMSEyFhUxFRQGIyImNTE1FzI2NTEjFBYzMREyFhUxFTMyFhUUBiMxIxUUBiMiJjUxNSMiJjU0NjMxMzU0NjMCADUvLkYUFAsKEQECAgEDBwf9zgcHAwEBAQIBEQoLFBRGLi81Rz4+XRsaDgMHAwYHAgEBAwccEgEKFgkCOgkWChMcBgEDAQECCAUDBwMOGhtdPj5HqxkSAQASGWRHR2SrIzKqMiMSGVUSGRkSVRkSEhlVEhkZElUZEgMVFBRFLy81nw4aChEBAgIHAQIBBAYDAQEBBAcDAQIBAQEBAwECAgERChoPnjUvL0UUFFYbG10+PkeZDQMIBAgRCgEFCgQGCRYKExwGAQMBAQMHHBIBChYJBgQKBQoTBwQIAw2ZRz4+XRsb/YARGRkRK0dkZEcrgDIjIzICVRkSVRkSERlWERkZEVYZERIZVRIZAAAAAAUAgAAVA4ADawBEAIQAlwChANIAAAExMhceARcWHQEUFh8BHgEXOQEVMRwBFRwBBzkBBiIjISoBJzEVJjQ1PAE1MTA0NTwBNTkBMz4BPwE+AT0BNDc+ATc2MzUiBw4BBwYVMRUHDgEHDgEHFQYUHQEUFhceAR8BHgEzITI2Nz4BPwE+AT0BPAEnLgEnMS4BLwE1NCcuAScmIzEDNDYzMSEyFhUxFRQGIyImNTE1FzI2NTEjFBYzMRMeARUUBg8BFx4BFRQGIyImLwEHDgEjIiY1NDY/AScuATU0NjMyFh8BNz4BMzIWFzECADUvLkYUFAsKEQECAgEDBwf9zgcHAwEBAQIBEQoLFBRGLi81Rz4+XRsaDgMHAwYHAgEBAwccEgEKFgkCOgkWChMcBgEDAQECCAUDBwMOGhtdPj5HqxkSAQASGWRHR2SrIzKqMiNzBgcHBjc3BgYZEQkPBjc3Bg8JERkGBjc3BgYZEQkPBjc3Bg8JCRAFAxUUFEUvLzWfDhoKEQECAgcBAgEEBgMBAQEEBwMBAgEBAQEDAQICAREKGg+eNS8vRRQUVhsbXT4+R5kNAwgECBEKAQUKBAYJFgoTHAYBAwEBAwccEgEKFgkGBAoFChMHBAgDDZlHPj5dGxv9gBEZGRErR2RkRyuAMiMjMgIeBg8JCRAFODcGDwgSGQYGNzcGBhkSCA8GNzgFEAgSGQcFNzcGBgYGAAUAgAAVA6sDlQASABwAKgBIAKUAACU0NjMxITIWFTEVFAYjIiY1MTUXMjY1MSMUFjMxEyIGFRQWMzEyNjU0JiMHNDc+ATc2MzIXHgEXFhUxFAcOAQcGIyInLgEnJjUFOAExNDc+ATc2MzIWFyceARUUBiMiJiMxLgEjIgcOAQcGFTgBOQEVFAYPARUhNScuATU4ATkBNTwBJzwBNTQ2MzIWFzEWFB0BFx4BHQEUBiMxISImNTE1NDY/ATUBVRkSAQASGWRHR2SrIzKqMiPVNUtLNTVLSzXVERE5JycsLSYnOhERERE6JyYtLCcnORER/qsaG10+PkcbMxgCDRAZEgMGAhEmFDUvLkYUFAsKFgJWFgoLARkSERgBARIMDTIj/aojMg0MEusRGRkRK0dkZEcrgDIjIzIC1Us1NUtLNTVLgCwnJzoREBAROicnLCwnJzoREBAROicnLKtHPj5dGxsICAEFFg4RGQEGBRQURS8vNZ4PGgoWGRkWChoPngUKBAEBARIZFxAGDQeZEQwgERkjMjIjGRIfDBGZAAAFAIAAFQOqA2sAEgAbAFIAawChAAAlNDYzMSEyFhUxFRQGIyImNTE1FxQWMzI2NTEjAx4BFRQGBzMOARUwFDkBFRQGDwEdASEyFhUUBiMxISImJzE1MDQxNTQ2PwE1NDY3PgEzMhYXMSc+ATMyFhcBHgEVFAYjIiYnAS4BNTQ2NzElMzIXHgEXFhUxFRQGIyImNTgBOQE1OAExNCcuAScmIzEjDgEHNw4BIyImNTQ2NzM+ATcxMzcBVRkSAQASGWRHR2RWMiMjMqppBwcGBgEgJQsKFgJWERkZEf2qITEDDQwSMSoGEAkJDwWLBg8JCRAFAqsGBhkSCA8G/VUGBgYGAUgBRz4+XRsaGRESGRQURi4vNQkXKhQBAwgEEhkQCwEYOR4BCusRGRkRK0dkZEcrKyMyMiMCQAYQCQkPBSJaMgGfDhoKFhcCGRESGS0hBQIZEh8MEZlEdy4GBwYFXgYHBwb9VQUQCBIZBwUCqwYPCQkPBg0bG10+PkeAERkZEYA1Ly5GFBQBCQgBAQIZEg0WBQoLAQEAAAAFAIAAFQOAA2sARACEAJcAoQCyAAABMTIXHgEXFh0BFBYfAR4BFzkBFTEcARUcAQc5AQYiIyEqAScxFSY0NTwBNTEwNDU8ATU5ATM+AT8BPgE9ATQ3PgE3NjM1IgcOAQcGFTEVBw4BBw4BBxUGFB0BFBYXHgEfAR4BMyEyNjc+AT8BPgE9ATwBJy4BJzEuAS8BNTQnLgEnJiMxAzQ2MzEhMhYVMRUUBiMiJjUxNRcyNjUxIxQWMzETFAYjMSEiJjU0NjMxITIWFQIANS8uRhQUCwoRAQICAQMHB/3OBwcDAQEBAgERCgsUFEYuLzVHPj5dGxoOAwcDBgcCAQEDBxwSAQoWCQI6CRYKExwGAQMBAQIIBQMHAw4aG10+PkerGRIBABIZZEdHZKsjMqoyI6sZEv8AEhkZEgEAEhkDFRQURS8vNZ8OGgoRAQICBwECAQQGAwEBAQQHAwECAQEBAQMBAgIBEQoaD541Ly9FFBRWGxtdPj5HmQ0DCAQIEQoBBQoEBgkWChMcBgEDAQEDBxwSAQoWCQYECgUKEwcECAMNmUc+Pl0bG/2AERkZEStHZGRHK4AyIyMyAaoRGRkREhkZEgAAAAYATgAVA7IDlQBEAIQAlwChAMIA4wAAATEyFx4BFxYdARQWHwEeARc5ARUxHAEVHAEHOQEGIiMhKgEnMRUmNDU8ATUxMDQ1PAE1OQEzPgE/AT4BPQE0Nz4BNzYzNSIHDgEHBhUxFQcOAQcOAQcVBhQdARQWFx4BHwEeATMhMjY3PgE/AT4BPQE8AScuAScxLgEvATU0Jy4BJyYjMQM0NjMxITIWFTEVFAYjIiY1MTUXMjY1MSMUFjMxEz4BMzIWFyMeAR8BHgEVFAYjIiYnMS4BLwEuATU0NjcxIR4BFRQGBzEOAQ8BDgEjIiY1NDY3FT4BPwE+ATMyFhcxAgA1Ly5GFBQLChEBAgIBAwcH/c4HBwMBAQECAREKCxQURi4vNUc+Pl0bGg4DBwMGBwIBAQMHHBIBChYJAjoJFgoTHAYBAwEBAggFAwcDDhobXT4+R6sZEgEAEhlkR0dkqyMyqjIj3wYRCwcNBgEwSxgCAQIZEg0VBRQ9JwEICQUE/kIEBQkIJz0UAQUVDhEZAgIZSi8CBQ0HCxEGAxUUFEUvLzWfDhoKEQECAgcBAgEEBgMBAQEEBwMBAgEBAQEDAQICAREKGg+eNS8vRRQUVhsbXT4+R5kNAwgECBEKAQUKBAYJFgoTHAYBAwEBAwccEgEKFgkGBAoFChMHBAgDDZlHPj5dGxv9gBEZGRErR2RkRyuAMiMjMgMZCAkFBCReNwMDCQURGQ4LL00dAQYSCgcNBgYNBwoSBh5MLQMLDxkSBAoEATlfIwEEBQkIAAAAAAQAgAAVA4ADawBEAIQAlwChAAABMTIXHgEXFh0BFBYfAR4BFzkBFTEcARUcAQc5AQYiIyEqAScxFSY0NTwBNTEwNDU8ATU5ATM+AT8BPgE9ATQ3PgE3NjM1IgcOAQcGFTEVBw4BBw4BBxUGFB0BFBYXHgEfAR4BMyEyNjc+AT8BPgE9ATwBJy4BJzEuAS8BNTQnLgEnJiMxAzQ2MzEhMhYVMRUUBiMiJjUxNRcyNjUxIxQWMzECADUvLkYUFAsKEQECAgEDBwf9zgcHAwEBAQIBEQoLFBRGLi81Rz4+XRsaDgMHAwYHAgEBAwccEgEKFgkCOgkWChMcBgEDAQECCAUDBwMOGhtdPj5HqxkSAQASGWRHR2SrIzKqMiMDFRQURS8vNZ8OGgoRAQICBwECAQQGAwEBAQQHAwECAQEBAQMBAgIBEQoaD541Ly9FFBRWGxtdPj5HmQ0DCAQIEQoBBQoEBgkWChMcBgEDAQEDBxwSAQoWCQYECgUKEwcECAMNmUc+Pl0bG/2AERkZEStHZGRHK4AyIyMyAAMBKwBrAwADFQAhAEMAVQAAATQ2MzEzMhYVFAYjMSMiJjU0NjMxMzI2NTQmIzEjIiY1MRE0NjMxMzIWFRQGIzEjIiY1NDYzMTMyNjU0JiMxIyImNTE3MhYVMREUBiMiJjUxETQ2MzEBKxkR61BwcFDrERkZEessPz8s6xEZGRHAUHBwUMARGRkRwC0+Pi3AERkqEhkZEhEZGREBwBIZcU9QcBkREhk+LSw+GRIBKxEZcFBPcRkSEhk+LC0+GRIqGRH9qhEZGRECVhEZAAQAVQBAA6sDFQBMAH4AygD8AAABIyoBBw4BBw4BBxUOAQcOARUROAExFBYzMjY3Mzc+ATc+ATczPgE7AToBNzI2Nz4BNzU+ATcxNDY1ETQmNS4BJzEuAScjLgEnMSoBIxcVHAEVERwBFRwBFTUjBiIrASIGBw4BBzMRPAE3PgE3PgE3NT4BNzYyOwE6ATM6ARcnJTM6ARceARceARcVHgEXHgEVETgBMRQGIyImJyMnLgEnLgEnIy4BKwEqASciJicXLgEnNS4BJzE0JjURNDY1PgE3PgE3Mz4BNzoBMwcVHAEVERwBFRwBFTUzFjI7ATIWFx4BFyMRPAEnLgEnLgEnNS4BJyYiKwEqASMqAQc3Az1yGioSEiEPGSUNCAcCAQEZEgsTBQEYEg8HBg4IAQgaIHoIEAYIEAkMEwYEBAEBAQEEBAYTCwEHEQkGEAgYAQMMCX8aKBMSHg4BAQEEAwYTDAUQDg8mHG8BAwIFCgUB/W5yGioSEiEPGSUNCAcCAQEZEgsTBQEYEg8HBg4IAQgaIHoIEAYJEQgBDBMGBAQBAQEBAwUGEwsBCRAIBhAIGAEDDAl/GigTEh4OAQEBBAMGEwwFEA4PJhxvAQMCBQoFAQMVAgEHCA0lGAEPIhIRKxn+SxIZCgklGhUGBQgCAwEBBAQHEgwBBxAJBxAIAXoIDwcJEQcMEwYEBAFVAQQLCv6JAQMCBQoFAQECBQYRCwEyGycODhAFDRIGAQIEAQIBAVUCAQcIDSUYAQ8iEhErGf5LEhkKCSUaFQYFCAIDAQEFBAEHEgwBBxAJBxAIAXoIDwcHEQkMEwYEBAFVAQQLCv6JAQQBBQoFAQECBQYRCwEyGycODhAFDRIGAQIEAQIBAQAAAAMAqwAVA1UDawAzAEUAkAAAATE4ATE4ATMVHAEVERwBHQEjKgEjITgBMSIGBxE8ATc+ATcxPgE3MjYzNjIzIToBMzoBMwMVHAEdATMqASMqASMhPgEzIQUUFjMhMjYzPgE3PgE3NT4BNzQ2PQE+ATc1PgE3PAE1ETwBNS4BJxUuAScxLgEnMSImIyEiBgcOAQcOAQcxDgEHBhQVERwBFwYUFQL/AQEECwr+Tw4bDAEBAgEDCQYCCAgJGRMBiAIDAgQKBCoBBQsFAQMB/kUEHRMBoP3WKx8ByAgQBggQCQwTBgUDAQEKEQYEBAEBBAQGEwwHEQkHDwj+dBEdDAwZDBMcCQcFAQEBAQMVAQMMCf4ICQwDAQYFAdcTGQkJBwIGCgMDAf2AEQkMAwESGDUfLAEBAwUGEwsBCRAIBhAIHgYSCgEJEAgGEAgB+ggQBgkRCAEMEwYEBAEBAQEBBQYKHBIMGQ0MHRH9xwMGAgULBQAAAgDVADUDKwNAAFwAtQAAATM6ARceARceAR8BHgEXHgEVERQGBxQGBw4BIyoBJzMuAScuAS8BLgEnLgEjIgYHMw4BDwEOAQcOAQcGIiMiJicjLgE1LgE1PAE1MRE0Njc+ATc+ATcxPgE3NjIzBw4BBw4BBxUUBhUGFBURHAEXFBYVHgEzOgE3FT4BNz4BPwE+ATc+ATMyFhcjHgEfAR4BFx4BFzoBMzI2NzE0NjU2NDURPAEnNCY1LgEnMS4BJyImKwEiBiMBh/IRHQwNGQwSHAkBBgUBAQEBAQUGED4lBQkEAQ4ZDAwdEQEQCwMDBwQEBwQBAwsQAREdDAwZDgQIBSU+DwEGBQEBAQEBBQYKHBIMGQ0MHREzCQcCBgoDAwEBAwUVDAIDAQEJCgkbEgMMFgsKFgsLFgsBCxYMAxIbCQoJAQEDAgwVBQMBAQMDCgYCBwkJGRPuExkJA0ABAQYGCR0RAQwZDQwdEf5pFSMNDhsNICcBAgsHBhMMAQoHAQEBAQEBBwoBDBMGBwsCAScgDRsODBwOBAgDAZgQHQwNGQwSHQkGBgEBVgECAQMKBQEBCAkJGRL+axYfDAsJAQsNAQEBAwUGEQ0CCA0EBAMDBAQNCAINEQYFAwENCwEJCwwfFgGVEhkJCQgBBgoDAQIBAQEAAAAEACsAQAPVA0AAEQA+AHQAzwAANzQ2MzEhMhYVFAYjMSEiJjUxAS4BIyIGBzEOAQcOAQ8BDgEHDgEHFQYUHQEhNTQmJy4BJxcuAS8BLgEnLgEnJz4BMzIWFyceARceAR8BHgEXHgEXFR4BHQEUBiMxISImNTE1NDY3PgE3MT4BPwI+ATc+ATclMzoBFx4BFx4BHwEeARceAR0BFAYjIiY1MTU8ASc0JicuAScxLgEnIiYrASIGIw4BBw4BBxUOAQcUBhURMzIWFRQGIzEjIiY1MRE8ATc+ATc+ATczPgE3NjIzKxkRA1YRGRkR/KoRGQJMAwYDBAYDAQcGBxEMYg4IAgIDAQEBgAEBAQMCAQIJDWMMEQcGBgIxCBMKChMJAQwUCQkUC2YLEgcFCQMDARkS/isSGQEDAwkGBxIKA2MLFAkJFQz+7EcRHQwNGQwSHAkBBgUBAQEZEhIZAQIBAwoGAgcJCRkTRBIZCQkIAQYKAwECAQGrEhkZEtUSGQEBBgYJHREBDBkNDB0RaxEZGRESGRkSAbYBAQEBAQMFBQ8LWA0IAwIHAwEDDBLGxhIMAwQHAwEDCA1YCw8FBQMBUgIDAwMBBAwHBxELWwoRCgkTCgEMGQ70EhkZEvQOGQwLEwkKEQoCWQsRBwcMBM0BAQYGCR0RAQwZDQwdEXkRGRkReBIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEv4IGRESGRkSAiMRHQwNGQwSHQkGBgEBAAAEACsAQAPVA0AAEQBpAJYAuwAANzQ2MzEhMhYVFAYjMSEiJjUxAT4BMzIWFyceARceAR8BHgEXHgEXFR4BHQEUBiMxISImNTQ2MzEhNTQmJy4BJxUuAS8BLgEnLgEnLgEjIgYHMQ4BBw4BDwEOASMiJjU0NjcxNz4BNz4BNyUzOgEXHgEXHgEfAR4BFx4BFREUBiMxISImNTERPAE3PgE3PgE3Mz4BNzYyMwcOAQcOAQcVDgEHFAYVESERPAEnNCY1LgEnMS4BJyImKwEiBiMrGREDVhEZGRH8qhEZAhsIEwoKEwkBDBQJCRQLZgsSBwUJAwMBGRL+qxIZGRIBKwEBAQMCAQkNYwwRBwYGAgMGAwQGAwEHBgcRDBAFDwgSGQgGEQsUCQkVDP7sRxEdDA0ZDBIcCQEGBQEBARkS/qsSGQEBBgYJHREBDBkNDB0RMwkIAQYKAwECAQEBAAEDAwoGAgcJCRkTRBIZCWsRGRkREhkZEgIIAgMDAwEEDAcHEQtbChEKCRMKAQwZDvQSGRkSERnGEgwDBAcDAQMIDVgLDwUFAwEBAQEBAQMFBQ8LDgUGGREKEQYOCxEHBwwEzQEBBgYJHREBDBkNDB0R/d0SGRkSAiMRHQwNGQwSHQkGBgEBVgECAQMKBQEBCAkJGRL+CAH4EhkJCQgBBgoDAQIBAQEAAAAEACsAQAPVA0AAEQA+AHQA0wAANzQ2MzEhMhYVFAYjMSEiJjUxAS4BIyIGBzEOAQcOAQ8BDgEHDgEHFQ4BHQEhNTwBJy4BJxUuAS8BLgEnLgEnJz4BMzIWFyceARceAR8BHgEXHgEfAR4BHQEUBiMxISImNTE1NDY3PgE3Iz4BPwI+ATc+ATclISoBBw4BBw4BBxUOAQcGFB0BFBYzMjY1MTU0NjU+ATc+ATczPgE3MjYzITIWMx4BFx4BFxUeARcUFhURIyIGFRQWMzEzMjY1MRE8AScuAScuAScjLgEnIiYjKgEjMSsZEQNWERkZEfyqERkBdwMGBAMGAwIGBgcRDGMNCQECAwEBAQGAAQEDAgIIDmIMEQcGBwEyCRIKChMJAQwVCQkUC2YKEgcGCQIBAwEZEv4rEhkBAwMJBgEHEgsCZAsUCQkUDAFe/uQRHQwNGQwSHQkGBgEBGRIRGQEBAgEDCgUBAQgJCRkSARoSGQkJCAEGCgMBAgEBsBIZGRLaEhkBAQYGCR0RAQwZDQoYDAMGA2sRGRkREhkZEgG2AQEBAQEDBQUPC1gNCAMCBwMBAwwSxsYSDAMEBwMBAwgNWAsPBQUDAVICAwMDAQQMBwcRC1sKEQoJEwoBDBkO9BIZGRL0DhkMCxMJChEKAlkLEQcHDATNAQEGBgkdEQEMGQ0MHRF5ERkZEXgSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+CBkREhkZEgIjER0MDRkMEh0JBgYBAQAAAAAHACsAQAPVA2sAEQAjAFAAeACJALYA2wAANzQ2MzEhMhYVFAYjMSEiJjUxEzQ2MzEzMhYVFAYjMSMiJjUxJTMyFjMeARceARcxHgEXFhQVERQGIzEhIiY1MRE8ATc0Njc+ATczPgE3MjYzFyoBIw4BBw4BBzEUBhUGFBURMxE0JjUuAScuAScjLgEnKgEjKgEjMSU0NjMxMzIWFRQGIzEjIiY1NzMyFhceARceARcxHgEXFhQVERQGIzEhIiY1MRE8ATc+ATc+AT8BPgE3PgEzByIGIw4BBzEOAQcUBhURIRE0JjUuAScuAScjIiYjJiIrASoBBysZEQNWERkZEfyqERnVGRKqEhkZEqoSGQHUAw4YCgoWChgjCgUDAQEZEv8AERkBBAQKJBcBChULChgOAQ8VBwgGAggLBAIBqwEBAQEDDAcBAQcHBxIJAgYC/isZEqoSGRkSqhIZMpwRHQwNGQwSHQkGBgEBGRL+VhIZAQEGBgkdEQEMGQ0MHREzCQgBBgoDAQIBAQFWAQECAQMKBQEBCAkJGRKaEhkJaxEZGRESGRkSAaoSGRkSERkZEVYBAQQECiQXCxUKChkO/qoSGRkSAVYOGQoKFQsXJAoEBAEBVgEBAQMMCAEHBwgVD/7VASsPFQgHBwEIDAMBAQGAEhkZEhEZGRHWAQEBBQYKHBIMGQ0MHRH9shIZGRICThEdDA0ZDBIcCQEGBQEBAVcDAwoGAgcJCRkT/d4CIhMZCQkHAgYKAwMBAQAAAAMAoQAVAysDawARAGgAuAAAJTQ2MzEhMhYVFAYjMSEiJjUxAzQ3PgE3NjMyFx4BFxYVFAYHNw4BDwIOAQc3Bw4BDwEUBhUxHAEdAQccARUUBiMxIyImNTE8ATU0Jj0BNCY1FTQmJzEnFCYvATEnLgEnFy4BNTgBOQElOAExIgcOAQcGFRQWFzUXHgEfAh4BFx4BFx4BFRwBFRYUFycWFB0BMzU8ATc8ATc1PAE1NDY3PgE/Az4BPwE+ATU0Jy4BJyYjOAE5AQFVGRIBABIZGRL/ABIZgBgXUTc2Pj42N1EXGBoYAQ8XCAwEBQQCAwEBAgIBAQEyJKokMgEBAQEEAwIEBFo3DmUXGgErLCcnOhEQEhEGGx0DBwEBAwECBQICAgEBAQGqAQECAgIFAgUBBwMdGwYREhAROicnLEASGRkSEhkZEgIAPjY3URcYGBdRNzY+LlMkARcjDBMGCAgDBQEBBAMDAQIBAgQDARACDAwkMjIkDAwCBQgDAgQHAwIBAgEHAQYEBgaRVRWiI1Mu1RAROicnLCE7GgEKKSwFDAICBAIECwYHDAQDBAMJCgQHBQ8KAgIKDwUCCAQCAwQDBAwHBgsECAIMBSwpChk7ISwnJzoREAAAAAAGAIAAQAOAA5UAEQBaAJ8AxADVAOcAABM0NjMxITIWFRQGIzEhIiY1MTchOgEXHgEXHgEXFR4BFxYUFREcAQcOAQcOAQcjDgEHBiIjISoBJy4BJy4BJzUuASc0JjU8ATUxETwBNz4BNz4BNzM+ATc2MjMHDgEHDgEHFQ4BBxQGFREUFhUeARceARczHgEXMhYzITI2Mz4BNz4BNzU+ATc0NjURNCY1LgEnLgEnIy4BJyImIyEiBiMFMhYVMRUzMhYVFAYjMSMVFAYjIiY1MTUjIiY1NDYzMTM1NDYzEzIWFTEVFAYjIiY1MTU0NjMhMhYVMRUUBiMiJjUxNTQ2MzGrGRECVhEZGRH9qhEZhwGcER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0R/mMQHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREzCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCQEBEhlAERkZEUAZEhIZQBEZGRFAGRKrERkZERIZGRL+qhIZGRIRGRkRAmsRGRkREhkZEtUBAQYGCR0RAQwZDQwdEf5kER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNChcMBAYDAZwRHQwNGQwSHQkGBgEBVgECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEgGaEhkJCQgBBgoDAQIBAQHqGRJAGRESGUASGRkSQBkSERlAEhkBlRkRVhEZGRFWERkZEVYRGRkRVhEZAAAABgCAAEADgAOVABEAWgCfAMAA0QDjAAATNDYzMSEyFhUUBiMxISImNTE3IToBFx4BFx4BFxUeARcWFBURHAEHDgEHDgEHIw4BBwYiIyEqAScuAScuASc1LgEnNCY1PAE1MRE8ATc+ATc+ATczPgE3NjIzBw4BBw4BBxUOAQcUBhURFBYVHgEXHgEXMx4BFzIWMyEyNjM+ATc+ATc1PgE3NDY1ETQmNS4BJy4BJyMuASciJiMhIgYjAR4BFRQGDwEOASMiJi8BLgE1NDYzMhYfATc+ATMyFhcxEzIWFTEVFAYjIiY1MTU0NjMhMhYVMRUUBiMiJjUxNTQ2MzGrGRECVhEZGRH9qhEZhwGcER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0R/mMQHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREzCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCQGfBgcHBqsFEAkJDwZVBgcZEQoPBjeNBg8JCQ8GDREZGRESGRkS/qoSGRkSERkZEQJrERkZERIZGRLVAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQoXDAQGAwGcER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEB/vQGDwkJDwarBgYGBlYFEAkSGQcGN4wGBwcGAbcZEVYRGRkRVhEZGRFWERkZEVYRGQAABgCAAEADgAOVABEAWgCfANAA4QDzAAATNDYzMSEyFhUUBiMxISImNTE3IToBFx4BFx4BFxUeARcWFBURHAEHDgEHDgEHIw4BBwYiIyEqAScuAScuASc1LgEnNCY1PAE1MRE8ATc+ATc+ATczPgE3NjIzBw4BBw4BBxUOAQcUBhURFBYVHgEXHgEXMx4BFzIWMyEyNjM+ATc+ATc1PgE3NDY1ETQmNS4BJy4BJyMuASciJiMhIgYjEz4BMzIWHwE3PgEzMhYVFAYPARceARUUBiMiJi8BBw4BIyImNTQ2PwEnLgE1NDY3MQEyFhUxFRQGIyImNTE1NDYzITIWFTEVFAYjIiY1MTU0NjMxqxkRAlYRGRkR/aoRGYcBnBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEf5jEB0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0RMwkIAQYKAwECAQEBAQIBAwoFAQEICQkZEgGaEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS/mYSGQmOBRAJCQ8GNzcGDwkRGQYGNzcGBhkRCQ8GNzcGDwkRGQYGNzgFBwcFAR8RGRkREhkZEv6qEhkZEhEZGRECaxEZGRESGRkS1QEBBgYJHREBDBkNDB0R/mQRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0KFwwEBgMBnBEdDA0ZDBIdCQYGAQFWAQIBAwoFAQEICQkZEv5mEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAf70BgcHBjc3BgYZEggPBjc4BRAIEhkHBTc3BQcZEggQBjc3Bg8JCQ8GAbcZEVYRGRkRVhEZGRFWERkZEVYRGQAAAAALAIAAQAOAA5UASACNAKEAtgDLAN8A9AEJARsBLAE+AAABIToBFx4BFx4BFxUeARcWFBURHAEHDgEHDgEHIw4BBwYiIyEqAScuAScuASc1LgEnNCY1PAE1MRE8ATc+ATc+ATczPgE3NjIzBw4BBw4BBxUOAQcUBhURFBYVHgEXHgEXMx4BFzIWMyEyNjM+ATc+ATc1PgE3NDY1ETQmNS4BJy4BJyMuASciJiMhIgYjATQ2MzkBMhYVOQEUBiM5ASImNTEjNDYzOQEyFhU5ARQGIzkBIiY1OQEjNDYzOQEyFhU5ARQGIzkBIiY1OQElNDYzOQEyFhU5ARQGIzkBIiY1MSM0NjM5ATIWFTkBFAYjOQEiJjU5ASM0NjM5ATIWFTkBFAYjOQEiJjU5ASc0NjMxITIWFRQGIzEhIiY1MQEyFhUxFRQGIyImNTE1NDYzITIWFTEVFAYjIiY1MTU0NjMxATIBnBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEf5jEB0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0RMwkIAQYKAwECAQEBAQIBAwoFAQEICQkZEgGaEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS/mYSGQkBgRkSERkZERIZqxkSEhkZEhIZqhkREhkZEhEZAVUZEhEZGRESGasZEhIZGRISGaoZERIZGRIRGYAZEQJWERkZEf2qERkCABEZGRESGRkS/qoSGRkSERkZEQNAAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQoXDAQGAwGcER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEB/isSGRkSERkZERIZGRIRGRkREhkZEhEZGRGrEhkZEhIZGRISGRkSEhkZEhIZGRISGRkSqxEZGRESGRkSASoZEVYRGRkRVhEZGRFWERkZEVYRGQAAAAAHAIAAQAOAA5UAEQBaAJ8AsAC0AMUA1wAAEzQ2MzEhMhYVFAYjMSEiJjUxNyE6ARceARceARcVHgEXFhQVERwBBw4BBw4BByMOAQcGIiMhKgEnLgEnLgEnNS4BJzQmNTwBNTERPAE3PgE3PgE3Mz4BNzYyMwcOAQcOAQcVDgEHFAYVERQWFR4BFx4BFzMeARcyFjMhMjYzPgE3PgE3NT4BNzQ2NRE0JjUuAScuAScjLgEnIiYjISIGIxM0NjsBMhYdARQGKwEiJj0BFxUzNRMyFhUxFRQGIyImNTE1NDYzITIWFTEVFAYjIiY1MTU0NjMxqxkRAlYRGRkR/aoRGYcBnBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEf5jEB0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0RMwkIAQYKAwECAQEBAQIBAwoFAQEICQkZEgGaEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS/mYSGQksHxaVFiAgFpUWH1VV1hEZGRESGRkS/qoSGRkSERkZEQJrERkZERIZGRLVAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQoXDAQGAwGcER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEB/ssWICAWlRYfHxaVIFVVAgAZEVYRGRkRVhEZGRFWERkZEVYRGQAAAAAGAIAAQAOAA5UAEQBaAJ8AsQDCANQAABM0NjMxITIWFRQGIzEhIiY1MTchOgEXHgEXHgEXFR4BFxYUFREcAQcOAQcOAQcjDgEHBiIjISoBJy4BJy4BJzUuASc0JjU8ATUxETwBNz4BNz4BNzM+ATc2MjMHDgEHDgEHFQ4BBxQGFREUFhUeARceARczHgEXMhYzITI2Mz4BNz4BNzU+ATc0NjURNCY1LgEnLgEnIy4BJyImIyEiBiMTNDYzMTMyFhUUBiMxIyImNTEBMhYVMRUUBiMiJjUxNTQ2MyEyFhUxFRQGIyImNTE1NDYzMasZEQJWERkZEf2qERmHAZwRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHRH+YxAdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdETMJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEv5mEhkJbBkR1hEZGRHWERkBQBEZGRESGRkS/qoSGRkSERkZEQJrERkZERIZGRLVAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQoXDAQGAwGcER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEB/oERGRkREhkZEgIqGRFWERkZEVYRGRkRVhEZGRFWERkAAAAGAIAAQAOAA5UAEQBaAJ8AsQDCANQAABM0NjMxITIWFRQGIzEhIiY1MTchOgEXHgEXHgEXFR4BFxYUFREcAQcOAQcOAQcjDgEHBiIjISoBJy4BJy4BJzUuASc0JjU8ATUxETwBNz4BNz4BNzM+ATc2MjMHDgEHDgEHFQ4BBxQGFREUFhUeARceARczHgEXMhYzITI2Mz4BNz4BNzU+ATc0NjURNCY1LgEnLgEnIy4BJyImIyEiBiMTNDYzMSEyFhUUBiMxISImNTEBMhYVMRUUBiMiJjUxNTQ2MyEyFhUxFRQGIyImNTE1NDYzMasZEQJWERkZEf2qERmHAZwRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHRH+YxAdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdETMJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEv5mEhkJLBkRAVYRGRkR/qoRGQGAERkZERIZGRL+qhIZGRIRGRkRAmsRGRkREhkZEtUBAQYGCR0RAQwZDQwdEf5kER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNChcMBAYDAZwRHQwNGQwSHQkGBgEBVgECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEgGaEhkJCQgBBgoDAQIBAQH+1hIZGRISGRkSAdUZEVYRGRkRVhEZGRFWERkZEVYRGQAFAIAAQAOAA5UAEQAiADQAfQDCAAATNDYzMSEyFhUUBiMxISImNTEBMhYVMRUUBiMiJjUxNTQ2MyEyFhUxFRQGIyImNTE1NDYzMQchOgEXHgEXHgEXFR4BFxYUFREcAQcOAQcOAQcjDgEHBiIjISoBJy4BJy4BJzUuASc0JjU8ATUxETwBNz4BNz4BNzM+ATc2MjMHDgEHDgEHFQ4BBxQGFREUFhUeARceARczHgEXMhYzITI2Mz4BNz4BNzU+ATc0NjURNCY1LgEnLgEnIy4BJyImIyEiBiOrGRECVhEZGRH9qhEZAgARGRkREhkZEv6qEhkZEhEZGREjAZwRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHRH+YxAdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdETMJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEv5mEhkJAmsRGRkREhkZEgEqGRFWERkZEVYRGRkRVhEZGRFWERlVAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQoXDAQGAwGcER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEBAAAAAAYAVQBrA6sDQAAOAB0AZgCrAN8BAAAAASIGFRQWMzEyNjU0JiMxBzQ2MzIWFTEUBiMiJjUxAyE6ARceARceAR8BHgEXHgEdARQGBw4BBw4BByMOAQcGIiMhKgEnLgEnLgEvAS4BJy4BNTwBNRU1NDY3PgE3PgE3MT4BNzYyMwcOAQcOAQcVFAYVBhQdARwBFxQWFR4BFzEeARcWMjMhOgE3PgE3PgE3MTQ2NTY0PQE8ASc0JjUuAScxLgEnIiYjISIGIzczOgEzHgEfAR4BHwEeARceARUUBgcxKgErASoBIy4BNTQ2NzE+AT8BNT4BNz4BNzE6ATMXKgEjDgEHFQ4BBxUxOwExJy4BJxcuAScxKgEjKgEjMSMCACMyMiMjMjIjq2RHR2RkR0dkTgHyER0MDRkMEhwJAQYFAQEBAQEBBQYKHBEBDBkNDB0R/g4RHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkTAe4TGQkJBwIGCgMDAQEDAwoGAgcJCRkT/hITGQnweAUHBCU6DQEBAwEBAQIBAQEsIAQIA9QDCAQgLAEBAQIBAQICAQ46JQQHBQEGBAEMEwUBAgIG2AIBAgEBBRMMAgQCAQEBdgHrMiQjMjIjJDJWR2RkR0ZkZEYBKwEBBgYJHREBDBkNDB0R8hEdDAwZDBMcCQcFAQEBAQUHCRwSAQwZDAsYDAMGAwHyER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkS7xMZCQgIAgYJAwECAQEBAQIBAwkGAggICRkT7xIZCQkIAQYKAwECAQEB1gMrIAEDCAQCAwgDBAkFITAEBDAhBQkEAwgDAgEEBwMhKwNVAQ8KAQEIBAMHAwUDAgsPAQAAAAAFAFUAQAOrAxUAEQBJAH4AoADCAAATNDYzMSEyFhUUBiMxISImNTEBITIWFx4BFzMeAR8CFR4BFx4BFxYUHQEUBiMxISImNTE1PAE3PgE3PgE3NTc+ATc+AT8BPgEzFyIGBw4BBzEOAQ8BDgEPARQGFTEGFBUcARU1FSE1PAEnNCY1MS4BJxcnLgEnLgEnMS4BIyEDMhYVMRUUFjMyNjUxNTQ2MzIWFTEVFAYjIiY1MTU0NjMxITIWFTEVFBYzMjY1MTU0NjMyFhUxFRQGIyImNTE1NDYzMVUZEgMAEhkZEv0AEhkBGwEgFCQPDxkJAQsQCANCAwUCAQIBARkS/VYSGQEBAgECBQNFCBAMChgOAQ8kFAUaEgQECQMDCAtCAQMBAQEBAlYBAQIDAgFCCwgDAwkEBBIa/urKERkZEhIZGRESGUs1NUsZEgIAERkZEhIZGRESGUs1NUsZEgHrERkZERIZGRIBKgIFBhAKDCASBZUBBgwGBQoFBg0G5RIZGRLlBg0GBQoFBgwGAZoSIAwKEAUBBQJVAQIBBgMDDxmUAwcEAQIDAgMFAwICAgG5uQkFAgIDAgQIBAGUGQ8DAwYBAgH+VRkRKxIZGRIrERkZESs1S0s1KxEZGRErEhkZEisRGRkRKzVLSzUrERkAAAAAAwBVABUDqwNrABwAOwBcAAATNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNQEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEDPgEzMhYfATc+ATMyFhUUBg8BDgEjIiYvAS4BNTQ2NzFVIiF0Tk5YWE5OdCEiIiF0Tk5YWE5OdCEiAatHPj5dGxoaG10+PkdHPj5dGxoaG10+PkeeBg8JCQ8GYmIGDwoRGQcGgAYPCQkPBoAGBwcGAcBYTk50ISIiIXROTlhYTk50ISIiIXROTlgBVRobXT4+R0c+Pl0bGhobXT4+R0c+Pl0bGv70BgYGBmJiBgcZEgkQBYAGBwcGgAUQCQkPBgAAAAADAFUAFQOrA2sAHAA7AFwAABM0Nz4BNzYzMhceARcWFRQHDgEHBiMiJy4BJyY1ASIHDgEHBhUUFx4BFxYzMTI3PgE3NjU0Jy4BJyYjMRceARUUBg8BFx4BFRQGIyImLwEuATU0Nj8BPgEzMhYXMVUiIXROTlhYTk50ISIiIXROTlhYTk50ISIBq0c+Pl0bGhobXT4+R0c+Pl0bGhobXT4+R0kGBgYGYmIFBxkSCBAGfwYHBwaABRAJCQ8GAcBYTk50ISIiIXROTlhYTk50ISIiIXROTlgBVRobXT4+R0c+Pl0bGhobXT4+R0c+Pl0bGrcGDwkJDwZiYgYPCBIZBgaABg8JCQ8GgAYHBwYAAwBVABUDqwNrABwAOwBcAAATNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNQEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEHPgEzMhYfAR4BFRQGDwEOASMiJjU0Nj8BJy4BNTQ2NzFVIiF0Tk5YWE5OdCEiIiF0Tk5YWE5OdCEiAatHPj5dGxoaG10+PkdHPj5dGxoaG10+PkdJBg8JCRAFgAYHBwaABRAIEhkHBWJiBgYGBgHAWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YAVUaG10+PkdHPj5dGxoaG10+PkdHPj5dGxq3BgcHBoAGDwkJDwaABgYZEggPBmJiBg8JCQ8GAAMAVQAVA6sDawAcADsAWAAAEzQ3PgE3NjMyFx4BFxYVFAcOAQcGIyInLgEnJjUBIgcOAQcGFRQXHgEXFjMxMjc+ATc2NTQnLgEnJiMxBz4BMzIWHwEeARUUBiMiJi8BBw4BIyImNTQ2PwFVIiF0Tk5YWE5OdCEiIiF0Tk5YWE5OdCEiAatHPj5dGxoaG10+PkdHPj5dGxoaG10+PkceBg8JCQ8GgAYGGRIIDwZiYgYPCBIZBgaAAcBYTk50ISIiIXROTlhYTk50ISIiIXROTlgBVRobXT4+R0c+Pl0bGhobXT4+R0c+Pl0bGuIGBwcGgAUQCBIZBwViYgUHGRIIEAZ/AAAAAQErAUAC1gJBACAAAAE+ATMyFh8BNz4BMzIWFRQGDwEOASMiJi8BLgE1NDY3MQE3Bg8JCRAFjYwGEAkSGQcGqwYPCQkPBqsGBgYGAjMGBwcGjIwHBxkSCRAGqgYHBwaqBg8JCRAFAAABAVUBQAKrAhYAIAAAAT4BMzIWHwE3PgEzMhYVFAYPAQ4BIyImLwEuATU0NjcxAWIGDwkJDwZiYgYPChEZBwaABg8JCQ8GgAYHBwYCCQYGBgZiYgYHGRIJEAWABgcHBoAFEAkJDwYAAAEBgAEWAlUCawAgAAABHgEVFAYPARceARUUBiMiJi8BLgE1NDY/AT4BMzIWFzECSQYGBgZiYgUHGRIIEAZ/BgcHBoAFEAkJDwYCXgYPCQkPBmJiBg8IEhkGBoAGDwkJDwaABgcHBgAAAQGrARYCgAJrACAAAAE+ATMyFh8BHgEVFAYPAQ4BIyImNTQ2PwEnLgE1NDY3MQG3Bg8JCRAFgAYHBwaABRAIEhkHBWJiBgYGBgJeBgcHBoAGDwkJDwaABgYZEggPBmJiBg8JCQ8GAAABASsBQQLVAkAAHAAAAT4BMzIWHwEeARUUBiMiJi8BBw4BIyImNTQ2PwEB4gYPCQkPBqsFBxkSCBAGjI0FEAgSGQcFqwIzBgcHBqoGDwkRGQYGjIwGBhkRCQ8GqgAAAAABAVYBawKqAkAAHAAAAT4BMzIWHwEeARUUBiMiJi8BBw4BIyImNTQ2PwEB4gYPCQkPBoAGBhkSCA8GYmIGDwgSGQYGgAIzBgcHBoAFEAgSGQcFYmIFBxkSCBAGfwAAAAAGAIAAFQOAA2sAIAAzAGIAfgCLAK4AAAEVFAYjMSEiJjUxETQ2MzEhMhYzHgEXHgEXFR4BFxwBFScjKgEjKgEjMSEVITU8ATU8AScBFRwBBxQGBzcOAQcjDgEHMSIGIyEiJjUxETQ2MzEhMhYzHgEXHgEfAR4BFRYUFScxKgEjKgEjMSEVIToBMzE1NjQ9ATwBNTQmNRUDPAE9ASEVIToBOwE1Fw4BBzUOAQcxDgEHMSIGIyEiJjUxETQ2MzEhMhYVMRUcARUCVRkR/oASGRkSAT0IDwcHEQkMEwYEBAFVAQQKBQEDAv7vASsBAYEBBQQBBxIMAQcQCQcQCP2ZEhkZEgJnCBAHBxEIDRIGAQQEAVYFCQUBBAH9xAI8CgsEAQGq/lUBkQoLBAFVAQQEBhMMBxEJBw8I/kMSGRkSAgARGQL9vRIZGRIBABIZAQEDBQYTCwEJEAgGEAgYqpEBAwIFCgX+53oIEAYJEQgBDBMGBAQBARkSAQASGQEBAwUGEwsBCRAIBhAIGKoBAwwJeAEDAQULBQH+VwMMCZGqAQcJEQgBDBMGBAQBARkSAQASGRkSvQgQBgAAAAYAVQBAA6sDQAAhADEASABoAJUAsAAAEzMyFhUxERQGIzEhIiY1MRE0NjU+ATc+ATczPgE3MToBMwcVHAEVETMRIyoBIyoBBzclKgEjKgEjMyMRMxE8AT0BOAExIjA5ATceARceARcxHgEXFBYVERQGIzEhIiY1MRE0NjMxMzoBJTM6ARcyFhceARcVHgEXFBYVERQGIzEhIiY1MRE0NjU+ATc+AT8BPgEzNjIzBzEcARURMxE8ATUxIiYjKgEjMyMqASMiBiMzw70SGRkS/wASGQEBAwUGEwsBBxEJBhAIGKqRAQMCBQoFAQKpBAkFAgMCAZGqAQcIEAkMEwYFAwEBGRL/ABIZGRK9CBD+bnoIEAYIEAkMEwYFAwEBGRL/ABIZAQEDBQYTCwEJEAgGEAgYqgQKBQIDAgF4AQMCBQoFAQIVGRH+gBIZGRIBPQgPBwcRCQwTBgQEAVUBBAsK/u8BKwEBgP5VAZEKCwQBVQEEBAYTDAkRBwcPCP5DEhkZEgIAERmrAQQEBxIMAQgRBwcQCP2ZEhkZEgJnCBAHBxEIDRIGAQQEAVYECwr9xAI8CgsEAQEAAAAAAgBVAEADqwMVADcApAAAEzIWFTERHAEXFBYVHgEXMR4BFzIWMyEyFhUUBiMxISoBJy4BJy4BLwEuAScuATU8ATUxETQ2MzEFHgEVFAYHMQcOAQcOAQcjDgEjIiYnMy4BJy4BLwEuAS8BLgEjLgEjIgYHNQ4BBw4BDwEOASMiJjU0NjcxNz4BNz4BNz4BMzIWFyMeARceAR8BHgEXHgEXHgEzMjY3MTI2Nz4BPwE+ATMyFhcxgBIZAQMDCgYCBwkJGRMCdxIZGRL9hxEdDA0ZDBIcCQEGBQEBARkSAyAFBggH+gsSCAgTCgEJFQoOGAwBChIICBEKAQcPCAEFBQIECAQEBgMBBgYGEAulBQ8IERkICKULEggIEwsIFAoNGQwBChIHCBEJAQsPBgUGAQQIBQMHAwEGBgYQC/oGDggKEAYDFRkR/ggSGQkJCAEGCgMBAgEBGRESGQEBBgYJHREBDBkNChgMAwYDAfkRGWQFDwgJEQbbCRAGBwoEAwQGBAQMBwcRCgEHDwcBBAQCAgIBAQEDBAQNCokFBRkRChIGiggPBgYLAwMDBQUEDAcHEAoBCw4FBQMBAgEBAQQEBQ0K2gUGCAcAAAAABABVABUDqwNrAB4AOwBWAGgAAAEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEBNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNQEyFhUxERMeARUUBiMiJicxAS4BNTERNDYzMQM0NjMxITIWFRQGIzEhIiY1MQIARz4+XRsaGhtdPj5HRz4+XRsaGhtdPj5H/lUiIXROTlhYTk50ISIiIXROTlhYTk50ISIBqxIZ9AUGGREJEQX/AAYGGRIrGRIBgBIZGRL+gBIZAxUaG10+PkdHPj5dGxoaG10+PkdHPj5dGxr+q1hOTnQhIiIhdE5OWFhOTnQhIiIhdE5OWAGrGRL+kf73Bg8IEhkIBgEVBg8IAYASGf5VEhkZEhIZGRIAAAADAFUAGQOrA0AAVgCdAMIAAAEhOgEXHgEXHgEfAR4BFx4BFREUBgcOAQcOAQ8BDgEHDgEjISoBByIGBzEOAQ8BDgEHDgEjOAExIiYnMS4BJy4BNTwBNRURNDY3PgE3PgE3MT4BNzYyMwcOAQcOAQcVFAYVBhQVERwBFxU3PgE/AT4BNz4BNz4BMyE6ATcyNjM+ATcxNDY1NjQ1ETwBJzQmNS4BJzEuASciJiMhIgYjBTIWFTEVMzIWFRQGIzEjFRQGIyImNTE1IyImNTQ2MzEzNTQ2MwEHAfIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEQEMGQ0MHRH+jA4KAgMGAgIIC0MMFgkJGg8UIwwKBgEBAQEBAQUGChwSDBkNDB0RMwkHAgYKAwMBAQIGEg5ECBAJCBAJCRQLAXUTGQkJBwIGCgMDAQEDAwoGAgcJCRkT/hITGQkBLBIZVRIZGRJVGRISGVUSGRkSVRkSA0ABAQYGCR0RAQwZDQwdEf65ER0MDRkMEhwJAQYFAQEBAQIBAQYJNQoRBwYLEQ8MGwsKFgwCBgMBAe0RHQwNGQwSHQkGBgEBVgECAQMKBQEBCAkJGRL+FhEYBwIBBA4LNgcMBQQFAgIBAQMDCgYCBwkJGRMBRBIZCQkIAQYKAwECAQEBVRkRVhkREhlVEhkZElUZEhEZVhEZAAADAFUAGQOrA0AAVgCdAL4AAAEhOgEXHgEXHgEfAR4BFx4BFREUBgcOAQcOAQ8BDgEHDgEjISoBByIGBzEOAQ8BDgEHDgEjOAExIiYnMS4BJy4BNTwBNRURNDY3PgE3PgE3MT4BNzYyMwcOAQcOAQcVFAYVBhQVERwBFxU3PgE/AT4BNz4BNz4BMyE6ATcyNjM+ATcxNDY1NjQ1ETwBJzQmNS4BJzEuASciJiMhIgYjBR4BFRQGDwEOASMiJi8BLgE1NDYzMhYfATc+ATMyFhcxAQcB8hEdDA0ZDBIcCQEGBQEBAQEBAQUGChwRAQwZDQwdEf6MDgoCAwYCAggLQwwWCQkaDxQjDAoGAQEBAQEBBQYKHBIMGQ0MHREzCQcCBgoDAwEBAgYSDkQIEAkIEAkJFAsBdRMZCQkHAgYKAwMBAQMDCgYCBwkJGRP+EhMZCQHKBgcHBqsFEAkJDwZVBgcZEQoPBjeNBg8JCQ8GA0ABAQYGCR0RAQwZDQwdEf65ER0MDRkMEhwJAQYFAQEBAQIBAQYJNQoRBwYLEQ8MGwsKFgwCBgMBAe0RHQwNGQwSHQkGBgEBVgECAQMKBQEBCAkJGRL+FhEYBwIBBA4LNgcMBQQFAgIBAQMDCgYCBwkJGRMBRBIZCQkIAQYKAwECAQEBjAYPCQkPBqsGBgYGVgUQCRIZBwY3jAYHBwYAAAMAVQAVA6sDawA7AHEAlwAAATgBMSIHDgEHBhUUFhcnFx4BFx4BFQ4BBzUHNzI2MQc+ATMyFhceAR8BHgEzMjc+ATc2NTQnLgEnJiMxATQ3PgE3NjMyFx4BFxYVFAcOAQcGIzgBIyImJxcHDgEHDgEnLgEnIyY2Nz4BPwEuATU0MDkBJTIWFTEVMzIWFRQGIzEjFRQGIyImNTE1IyImNTQ2MzEzNTQ2MzECAEc+Pl0bGhgWAQEBBgIBAQECAhxTAQEBAwsGBgoGBgsDASRXL0c+Pl0aGxsaXT4+R/5VIiF0Tk5YWE5OdCEiIiF0Tk5YATprLwJgBw4GBhQMDRUEAQQCAgEEAyAaHgGrEhlVEhkZElUZEhIZVRIZGRJVGRIDFRobXT4+Ry9XJgIBAwsGBgoGBgsFAVMcAQEBBAEBAgYBARUYGhtdPj5HRz4+XRob/qtYTk50ISIiIXROTlhYTk50ISIeGwEgAwQBAgIEBRUNDBQGBg4HYC5rOQGrGRJVGRISGVUSGRkSVRkSEhlVEhkAAAAAAwBVABUDqwNrADsAcQCSAAABOAExIgcOAQcGFRQWFycXHgEXHgEVDgEHNQc3MjYxBz4BMzIWFx4BHwEeATMyNz4BNzY1NCcuAScmIzEBNDc+ATc2MzIXHgEXFhUUBw4BBwYjOAEjIiYnFwcOAQcOAScuAScjJjY3PgE/AS4BNTQwOQElHgEVFAYPAQ4BIyImLwEuATU0NjMyFh8BNz4BMzIWFzECAEc+Pl0bGhgWAQEBBgIBAQECAhxTAQEBAwsGBgoGBgsDASRXL0c+Pl0aGxsaXT4+R/5VIiF0Tk5YWE5OdCEiIiF0Tk5YATprLwJgBw4GBhQMDRUEAQQCAgEEAyAaHgJJBgcHBqsFEAkJDwZVBgcZEQoPBjeNBg8JCQ8GAxUaG10+PkcvVyYCAQMLBgYKBgYLBQFTHAEBAQQBAQIGAQEVGBobXT4+R0c+Pl0aG/6rWE5OdCEiIiF0Tk5YWE5OdCEiHhsBIAMEAQICBAUVDQwUBgYOB2AuazkBcwUQCQkPBqoGBwcGVQYPChEZBwY3jAYHBwYAAwBVABUDqwNrADsAcQCiAAABOAExIgcOAQcGFRQWFycXHgEXHgEVDgEHNQc3MjYxBz4BMzIWFx4BHwEeATMyNz4BNzY1NCcuAScmIzEBNDc+ATc2MzIXHgEXFhUUBw4BBwYjOAEjIiYnFwcOAQcOAScuAScjJjY3PgE/AS4BNTQwOQElHgEVFAYPARceARUUBiMiJi8BBw4BIyImNTQ2PwEnLgE1NDYzMhYfATc+ATMyFhcxAgBHPj5dGxoYFgEBAQYCAQEBAgIcUwEBAQMLBgYKBgYLAwEkVy9HPj5dGhsbGl0+Pkf+VSIhdE5OWFhOTnQhIiIhdE5OWAE6ay8CYAcOBgYUDA0VBAEEAgIBBAMgGh4CHgYHBwY3NwYGGREJDwY3NwYPCREZBgY3NwcHGRIJEAY3NwYPCQkQBQMVGhtdPj5HL1cmAgEDCwYGCgYGCwUBUxwBAQEEAQECBgEBFRgaG10+PkdHPj5dGhv+q1hOTnQhIiIhdE5OWFhOTnQhIh4bASADBAECAgQFFQ0MFAYGDgdgLms5AXMFEAkJDwY3NwYPCREZBgY3NwYGGREJDwY3NwYQCRIZBwY4OAUHBwUAAAAFAFUAFQOrA2sAOwBxAIYAmgCvAAABOAExIgcOAQcGFRQWFycXHgEXHgEVDgEHNQc3MjYxBz4BMzIWFx4BHwEeATMyNz4BNzY1NCcuAScmIzEBNDc+ATc2MzIXHgEXFhUUBw4BBwYjOAEjIiYnFwcOAQcOAScuAScjJjY3PgE/AS4BNTQwOQEhNDYzOQEyFhU5ARQGIzkBIiY1OQEzNDYzOQEyFhU5ARQGIzkBIiY1MSE0NjM5ATIWFTkBFAYjOQEiJjU5AQIARz4+XRsaGBYBAQEGAgEBAQICHFMBAQEDCwYGCgYGCwMBJFcvRz4+XRobGxpdPj5H/lUiIXROTlhYTk50ISIiIXROTlgBOmsvAmAHDgYGFAwNFQQBBAICAQQDIBoeAYAZEhIZGRISGasZEhEZGRESGf6rGRESGRkSERkDFRobXT4+Ry9XJgIBAwsGBgoGBgsFAVMcAQEBBAEBAgYBARUYGhtdPj5HRz4+XRob/qtYTk50ISIiIXROTlhYTk50ISIeGwEgAwQBAgIEBRUNDBQGBg4HYC5rOQESGRkSEhkZEhIZGRISGRkSEhkZEhIZGRIAAAMAVQAVA6sDawA7AHEAggAAATgBMSIHDgEHBhUUFhcnFx4BFx4BFQ4BBzUHNzI2MQc+ATMyFhceAR8BHgEzMjc+ATc2NTQnLgEnJiMxATQ3PgE3NjMyFx4BFxYVFAcOAQcGIzgBIyImJxcHDgEHDgEnLgEnIyY2Nz4BPwEuATU0MDkBIRQGIzEhIiY1NDYzMSEyFhUCAEc+Pl0bGhgWAQEBBgIBAQECAhxTAQEBAwsGBgoGBgsDASRXL0c+Pl0aGxsaXT4+R/5VIiF0Tk5YWE5OdCEiIiF0Tk5YATprLwJgBw4GBhQMDRUEAQQCAgEEAyAaHgJWGRL/ABIZGRIBABIZAxUaG10+PkcvVyYCAQMLBgYKBgYLBQFTHAEBAQQBAQIGAQEVGBobXT4+R0c+Pl0aG/6rWE5OdCEiIiF0Tk5YWE5OdCEiHhsBIAMEAQICBAUVDQwUBgYOB2AuazkBEhkZEhIZGRIAAAIAVQAVA6sDawA7AHEAAAE4ATEiBw4BBwYVFBYXJxceARceARUOAQc1BzcyNjEHPgEzMhYXHgEfAR4BMzI3PgE3NjU0Jy4BJyYjMQE0Nz4BNzYzMhceARcWFRQHDgEHBiM4ASMiJicXBw4BBw4BJy4BJyMmNjc+AT8BLgE1NDA5AQIARz4+XRsaGBYBAQEGAgEBAQICHFMBAQEDCwYGCgYGCwMBJFcvRz4+XRobGxpdPj5H/lUiIXROTlhYTk50ISIiIXROTlgBOmsvAmAHDgYGFAwNFQQBBAICAQQDIBoeAxUaG10+PkcvVyYCAQMLBgYKBgYLBQFTHAEBAQQBAQIGAQEVGBobXT4+R0c+Pl0aG/6rWE5OdCEiIiF0Tk5YWE5OdCEiHhsBIAMEAQICBAUVDQwUBgYOB2AuazkBAAAAAwBVABkDqwNAAFYAnQDOAAABIToBFx4BFx4BHwEeARceARURFAYHDgEHDgEPAQ4BBw4BIyEqAQciBgcxDgEPAQ4BBw4BIzgBMSImJzEuAScuATU8ATUVETQ2Nz4BNz4BNzE+ATc2MjMHDgEHDgEHFRQGFQYUFREcARcVNz4BPwE+ATc+ATc+ATMhOgE3MjYzPgE3MTQ2NTY0NRE8ASc0JjUuAScxLgEnIiYjISIGIwUeARUUBg8BFx4BFRQGIyImLwEHDgEjIiY1NDY/AScuATU0NjMyFh8BNz4BMzIWFzEBBwHyER0MDRkMEhwJAQYFAQEBAQEBBQYKHBEBDBkNDB0R/owOCgIDBgICCAtDDBYJCRoPFCMMCgYBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQECBhIORAgQCQgQCQkUCwF1ExkJCQcCBgoDAwEBAwMKBgIHCQkZE/4SExkJAZ8GBwcGNzcGBhkRCQ8GNzcGDwkRGQYGNzcGBhkRCQ8GNzcGDwkJEAUDQAEBBgYJHREBDBkNDB0R/rkRHQwNGQwSHAkBBgUBAQEBAgEBBgk1ChEHBgsRDwwbCwoWDAIGAwEB7REdDA0ZDBIdCQYGAQFWAQIBAwoFAQEICQkZEv4WERgHAgEEDgs2BwwFBAUCAgEBAwMKBgIHCQkZEwFEEhkJCQgBBgoDAQIBAQGMBg8JCQ8GNzgFEAgSGQcFNzcFBxkSCBAGNzcGDwgSGQYGNzcGBwcGAAAAAAMAVQBAA6sDQAAwAGQA1gAAATgBMSIHDgEHBhUUFhc1HgEVFAYHMQc3PgEzMhYXMR4BMzI3PgE3NjU0Jy4BJyYjMQU0Nz4BNzYzMhceARcWFRQHDgEHBiMiJicXBw4BBw4BJy4BLwEmNjc+ATc1Ny4BNTgBOQElMzgBMTIXHgEXFhUUBgc3FzAUMR4BFx4BBw4BBzEGJicuAScuATEXJw4BIyInLgEnJi8BLgE1NDYzMhYXMR4BMzI2Nwc+ATMyFhcjFycuATU0NjcxNz4BNTQnLgEnJiMxKwEiMCMiJjU0NjczMDIzMTMBgCwnJzoREBEQAwMBAQ0nAwYEBgwFGDogLCcnOhAREBE6Jycs/tUYF1E3Nj4+NjdRFxgYF1E3Nj4nSCABJQcOBgYUDA0VBAEEAgIBBAMMERMCKgE+NjdRFxgTEgEMAwQBAgIEBRUNDBQGBg4HAwIEJB9IJzEsLEkcHA8BAQEZEQ4WBRZuRSA6GQEFDAYEBwMBJw0BAQMDBg0OEBE6JyYtCAQBARIZGBAFAQEJAusRETonJi0fOxkBBQsHAwcDJg0BAQQDEBERETknJywtJic6ERHWPjc2URcYGBdRNjc+PjY2URgXExEBDAIFAQECBAUUDQELFQYGDQcCJB5IJ4AXGFE2Nj4nSSACJAEHDgYGFAwOFAUEAgECBAIBAQEMERMPDjUkJCwCAwcEERkPDT9QEhABAwQBAQ0mAwcEBgsFCRc2HSwnJjoRERkRERkBAAADAFUAQAOrA0AAMQBNAFYAAAE0NjMxMzIWFTEROAExFAYjIiYnMSchIiY1MTU0NjMyFhUxFSEyFhcxBzcXESMiJjUxJTQ2MzEhMhYVMREUBiMxIQcOASMiJjU4ATkBESkBETc+ATMhEQKAGRKqJDIZEggOBY7+qSMyGRESGQFXDxwLGxtIqhIZ/dUyJAHVIzIyI/6pjgUOCBIZAiv+K0gLHA8BVwJrERkyI/4rEhkFBXYyI4ASGRkSgAoJISE8AXoZEoAjMjIj/tUjMncEBRkRAdb+hTwJCwErAAAABQBVABkDqwNAAFYAnQCxAMYA2wAAASE6ARceARceAR8BHgEXHgEVERQGBw4BBw4BDwEOAQcOASMhKgEHIgYHMQ4BDwEOAQcOASM4ATEiJicxLgEnLgE1PAE1FRE0Njc+ATc+ATcxPgE3NjIzBw4BBw4BBxUUBhUGFBURHAEXFTc+AT8BPgE3PgE3PgEzIToBNzI2Mz4BNzE0NjU2NDURPAEnNCY1LgEnMS4BJyImIyEiBiMFNDYzOQEyFhU5ARQGIzkBIiY1MSM0NjM5ATIWFTkBFAYjOQEiJjU5ASM0NjM5ATIWFTkBFAYjOQEiJjU5AQEHAfIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEQEMGQ0MHRH+jA4KAgMGAgIIC0MMFgkJGg8UIwwKBgEBAQEBAQUGChwSDBkNDB0RMwkHAgYKAwMBAQIGEg5ECBAJCBAJCRQLAXUTGQkJBwIGCgMDAQEDAwoGAgcJCRkT/hITGQkBrBkSERkZERIZqxkSEhkZEhIZqhkREhkZEhEZA0ABAQYGCR0RAQwZDQwdEf65ER0MDRkMEhwJAQYFAQEBAQIBAQYJNQoRBwYLEQ8MGwsKFgwCBgMBAe0RHQwNGQwSHQkGBgEBVgECAQMKBQEBCAkJGRL+FhEYBwIBBA4LNgcMBQQFAgIBAQMDCgYCBwkJGRMBRBIZCQkIAQYKAwECAQEB/xEZGRESGRkSERkZERIZGRIRGRkREhkZEgAAAAMAVQAZA6sDQABWAJ0ArwAAASE6ARceARceAR8BHgEXHgEVERQGBw4BBw4BDwEOAQcOASMhKgEHIgYHMQ4BDwEOAQcOASM4ATEiJicxLgEnLgE1PAE1FRE0Njc+ATc+ATcxPgE3NjIzBw4BBw4BBxUUBhUGFBURHAEXFTc+AT8BPgE3PgE3PgEzIToBNzI2Mz4BNzE0NjU2NDURPAEnNCY1LgEnMS4BJyImIyEiBiMFFAYjMSEiJjU0NjMxITIWFTEBBwHyER0MDRkMEhwJAQYFAQEBAQEBBQYKHBEBDBkNDB0R/owOCgIDBgICCAtDDBYJCRoPFCMMCgYBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQECBhIORAgQCQgQCQkUCwF1ExkJCQcCBgoDAwEBAwMKBgIHCQkZE/4SExkJAdcZEv8AEhkZEgEAEhkDQAEBBgYJHREBDBkNDB0R/rkRHQwNGQwSHAkBBgUBAQEBAgEBBgk1ChEHBgsRDwwbCwoWDAIGAwEB7REdDA0ZDBIdCQYGAQFWAQIBAwoFAQEICQkZEv4WERgHAgEEDgs2BwwFBAUCAgEBAwMKBgIHCQkZEwFEEhkJCQgBBgoDAQIBAQH/EhkZEhEZGREAAgBVABkDqwNAAFYAnQAAASE6ARceARceAR8BHgEXHgEVERQGBw4BBw4BDwEOAQcOASMhKgEHIgYHMQ4BDwEOAQcOASM4ATEiJicxLgEnLgE1PAE1FRE0Njc+ATc+ATcxPgE3NjIzBw4BBw4BBxUUBhUGFBURHAEXFTc+AT8BPgE3PgE3PgEzIToBNzI2Mz4BNzE0NjU2NDURPAEnNCY1LgEnMS4BJyImIyEiBiMBBwHyER0MDRkMEhwJAQYFAQEBAQEBBQYKHBEBDBkNDB0R/owOCgIDBgICCAtDDBYJCRoPFCMMCgYBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQECBhIORAgQCQgQCQkUCwF1ExkJCQcCBgoDAwEBAwMKBgIHCQkZE/4SExkJA0ABAQYGCR0RAQwZDQwdEf65ER0MDRkMEhwJAQYFAQEBAQIBAQYJNQoRBwYLEQ8MGwsKFgwCBgMBAe0RHQwNGQwSHQkGBgEBVgECAQMKBQEBCAkJGRL+FhEYBwIBBA4LNgcMBQQFAgIBAQMDCgYCBwkJGRMBRBIZCQkIAQYKAwECAQEBAAAAAAMALQDAA+wC2wAiADsAVAAAAT4BMzIWHwEBPgEzMhYVFAYHMQEOASMiJicxJy4BNTQ2NzEHPgEzMhYfAR4BFRQGIyImLwEuATU0NjcxBS4BNTQ2PwE+ATMyFhUUBg8BDgEjIiYnMQENBRAJCQ8GtQGmBg8IEhkGBf47Bg8JCRAF1AUHBwXTBhAICRAG0wYGGREJEAbTBgYGBgG2BgcHBuIGDwkSGQcG4gYPCQkPBgHeBgcHBrUBpwUGGRIIDwb+PAYHBwbTBg8JCQ8GAgYHBwbTBg8JEhkHBtMFEAkJDwYtBg8JCQ8G4gYHGRIJDwbiBgcHBgADAFUAzAOgAosAIQA6AFQAAAE+ATMyFh8BAT4BMzIWFRQGBwEOASMiJicxJy4BNTQ2NzEjPgEzMhYfAR4BFRQGIyImLwEuATU0NjcxJR4BFRQGDwEOASMiJjU0NjcxNz4BMzIWFzEBNwYPCQkQBZcBTAYQCRIZBwb+lgYQCQgQBrUGBgYG1QYPCQkPBrUGBxkSCQ8GtQYHBwYCWwYHBwaJBhAJEhkHBooGDwkJDwYByQYHBwaWAUsGBxkRCRAG/pYGBgYGtQYPCQkQBQYHBwa1BRAJERkGBrUGDwkJEAW2BhAJCBAGiwYHGRIJEAWLBgcHBQAAAQCAAMIDbALbACEAABM+ATMyFh8BAT4BMzIWFRQGBzEBDgEjIiYvAS4BNTQ2NzGNBRAJCQ8GtQGmBg8IEhkGBf47Bg8JCRAF1AUHBwUB3gYHBwa1AacFBhkSCA8G/jwGBwcG0wYPCQkPBgAAAQDVAOADSgKgACAAABM+ATMyFh8BAT4BMzIWFRQGBwEOASMiJi8BLgE1NDY3MeIGDwkJDwaXAUwGEAkRGQcG/pYGDwkJDwa1BgcHBgHeBgcHBpcBTAYHGREJEAb+lgYHBwa1Bg8JCQ8GAAAAAwCAAEADgANAACEAagCvAAABHgEVFAYHMQMOASMiJi8BLgE1NDYzMhYfATc+ATMyFhcxJSE6ARceARceARcVHgEXFhQVERwBBw4BBw4BByMOAQcGIiMhKgEnLgEnLgEnNS4BJzQmNTwBNTERPAE3PgE3PgE3Mz4BNzYyMwcOAQcOAQcVDgEHFAYVERQWFR4BFx4BFzMeARcyFjMhMjYzPgE3PgE3NT4BNzQ2NRE0JjUuAScuAScjLgEnIiYjISIGIwLGBwgFBdUGEQoJDwaABgcZEgkQBV+4BhEKBw4G/mwBnBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEf5jEB0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0RMwkIAQYKAwECAQEBAQIBAwoFAQEICQkZEgGaEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS/mYSGQkCYQYRCggOBf8ABwkHBoAGDwoRGQcGX9wHCQYE3wEBBgYJHREBDBkNDB0R/mQRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0KFwwEBgMBnBEdDA0ZDBIdCQYGAQFWAQIBAwoFAQEICQkZEv5mEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQAABACAAEADgANAAEgAjQDWAQUAAAEhOgEXHgEXHgEXFR4BFxYUFREcAQcOAQcOAQcjDgEHBiIjISoBJy4BJy4BJzUuASc0JjU8ATUxETwBNz4BNz4BNzM+ATc2MjMHDgEHDgEHFQ4BBxQGFREUFhUeARceARczHgEXMhYzITI2Mz4BNz4BNzU+ATc0NjURNCY1LgEnLgEnIy4BJyImIyEiBiMXMzIWMx4BFx4BFxUeARcUFh0BFAYVDgEHNQ4BByMOAQcxIgYrASImIy4BJzMuASc1LgEnMTQmPQE0NjU+ATc+ATczPgE3MjYzBxUcAR0BHAEVHAEVNTM6ATsBOgE7ATU8AT0BPAE9ASMqASMqASMzIyoBIyoBIzMBMgGcER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0R/mMQHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREzCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCcR6CBAGCBAJDBMGBQMBAQEBBAQGEwsBBxEJBhAIeggQBgkRCAEMEwYEBAEBAQEDBQYTCwEJEAgGEAgYAQMMCXgJDAMBAQQKBQEDAgF4AQMCBQoFAQNAAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQoXDAQGAwGcER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEBfwEBAwUGEwsBCRAIBhAIeggQBgkRCAEMEwYEBAEBAQEEBAYTCwEHEQkGEAh6CBAGCBAJDBMGBQMBAVYBAwwJeAEDAgUKBQEBAwwJeAkMAwEAAAIAgABAA4ADQABIAI0AAAEhOgEXHgEXHgEXFR4BFxYUFREcAQcOAQcOAQcjDgEHBiIjISoBJy4BJy4BJzUuASc0JjU8ATUxETwBNz4BNz4BNzM+ATc2MjMHDgEHDgEHFQ4BBxQGFREUFhUeARceARczHgEXMhYzITI2Mz4BNz4BNzU+ATc0NjURNCY1LgEnLgEnIy4BJyImIyEiBiMBMgGcER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0R/mMQHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREzCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCQNAAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQoXDAQGAwGcER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEBAAACASsAwALWAsEAIABBAAABPgEzMhYfATc+ATMyFhUUBg8BDgEjIiYvAS4BNTQ2NzERPgEzMhYfATc+ATMyFhUUBg8BDgEjIiYvAS4BNTQ2NzEBNwYPCQkQBY2MBhAIEhkHBasGDwkJDwarBgYGBgYPCQkQBY2MBhAJEhkHBqsGDwkJDwarBgYGBgGzBgcHBoyMBgYZEQkPBqoGBwcGqgYPCQkQBQEABgcHBoyMBwcZEgkQBqoGBwcGqgYPCQkQBQABAKsA6wNWAmsAIAAAEz4BMzIWFwkBPgEzMhYVFAYHAQ4BIyImJwEuATU0NjcxtwYPCQkQBQENAQwGEAkSGQcG/tUGDwkJDwb+1QYGBgYCXgYHBwb+9AEMBgcZEQoPBv7VBgYGBgErBg8JCQ8GAAAAAgEAAOsDAAKVACAAQQAAAR4BFRQGDwEXHgEVFAYjIiYvAS4BNTQ2PwE+ATMyFhcxIR4BFRQGDwEXHgEVFAYjIiYvAS4BNTQ2PwE+ATMyFhcxAvMGBwcGjIwGBhkRCQ8GqgYHBwaqBg8JCRAF/wAGBwcGjIwGBhkRCQ8GqgYHBwaqBg8JCRAFAokGDwkJEAWNjAYQCBIZBwWrBg8JCQ8GqwYGBgYGDwkJEAWNjAYQCBIZBwWrBg8JCQ8GqwYGBgYAAQGAAOsCgAKVACAAAAEeARUUBg8BFx4BFRQGIyImLwEuATU0Nj8BPgEzMhYXMQJzBgcHBoyMBgYZEQkPBqoGBwcGqgYPCQkQBQKJBg8JCRAFjYwGEAgSGQcFqwYPCQkPBqsGBgYGAAABASsAawKrAxUAIAAAAR4BFRQGBwkBHgEVFAYjIiYnAS4BNTQ2NwE+ATMyFhcxAp4GBwcG/vQBDAYGGRIIDwb+1QYGBgYBKwYPCQkPBgMJBg8JCRAF/vP+9AYQCBIZBwUBKwYPCQkPBgErBgYGBgAAAgEAAOsDAAKVACAAQQAAAT4BMzIWHwEeARUUBg8BDgEjIiY1NDY/AScuATU0NjcxIz4BMzIWHwEeARUUBg8BDgEjIiY1NDY/AScuATU0NjcxAg0FEAkJDwaqBgcHBqoGDwkRGQYGjIwGBwcF/wUQCQkPBqoGBwcGqgYPCREZBgaMjAYHBwUCiQYGBgarBg8JCQ8GqwUHGRIIEAaMjQUQCQkPBgYGBgarBg8JCQ8GqwUHGRIIEAaMjQUQCQkPBgAAAQGAAOsCgAKVACAAAAE+ATMyFh8BHgEVFAYPAQ4BIyImNTQ2PwEnLgE1NDY3MQGNBRAJCQ8GqgYHBwaqBg8JERkGBoyMBgcHBQKJBgYGBqsGDwkJDwarBQcZEggQBoyNBRAJCQ8GAAABAVUAawLVAxUAIAAAAT4BMzIWFwEeARUUBgcBDgEjIiY1NDY3CQEuATU0NjcxAWIGDwkJDwYBKwYGBgb+1QYPCBIZBgYBDP70BgcHBgMJBgYGBv7VBg8JCQ8G/tUFBxkSCBAGAQwBDQUQCQkPBgAAAgErAMEC1QLAABwAOQAAAT4BMzIWHwEeARUUBiMiJi8BBw4BIyImNTQ2PwERPgEzMhYfAR4BFRQGIyImLwEHDgEjIiY1NDY/AQHiBg8JCQ8GqwUHGRIIEAaMjQUQCBIZBwWrBg8JCQ8GqwUHGRIIEAaMjQUQCBIZBwWrAbMGBwcGqgYPCREZBgaMjAYGGREJDwaqAQAGBwcGqgYPCREZBgaMjAYGGREJDwaqAAEAqwDrA1UCawAcAAABPgEzMhYXAR4BFRQGIyImJwkBDgEjIiY1NDY3AQHiBg8JCQ8GASsFBxkSCBAG/vT+8wUQCBIZBwUBKwJeBgcHBv7VBRAIEhkHBQEN/vMFBxkSCBAGASoAAAAABABVAGsDqwMVAHYAjgCqAMoAAAERFAYHDgEHDgEHMQ4BBwYiKwEiJjU0NjMxMzoBNz4BNz4BNzE0NjU2NDURPAEnNCY1LgEnMS4BJyYiIyEqAQcOAQcOAQcxFAYVBhQdARQGIyImNTE1NDY3PgE3PgE3MT4BNzYyMyE6ARceARceAR8BHgEXHgEVATQ2MzEyFhUxFAYjIiY1MTQmIzEiJjUxNTQ2MzEyFx4BFxYVMRQGIyImNTE0JiMxIiY1MTU0NjMxMhceARcWFTEUBiMiJjUxNCcuAScmIzEiJjUxA6sBAQEFBgocEgwZDQwdEaQRGRkRohMZCQkHAgYKAwMBAQMDCgYCBwkJGRP+EhMZCQkHAgYKAwMBGRISGQEBAQUGChwSDBkNDB0RAfIRHQwNGQwSHAkBBgUBAQH8qhkSNUsZEhEZGRISGRkSNS8uRhQUGRIRGWRHEhkZElBFRmkeHhkSERkYF1E3Nj4SGQJk/rgRHQwMGQwTHAkHBQEBGRESGQEBAgEDCQYCCAgJGRMBRBMZCQgIAgYJAwECAQEBAQIBAwkGAggICRkTAhIZGRIEER0MDBkMExwJBwUBAQEBBQcJHBIBDBkMDB0R/ocRGUs1ERkZERIZGRKAERkUFEUvLzURGRkRR2QZEoARGR4eaEZGUBEZGRE+NzZRGBcZEgADAFUAFQOrA2sAHgA7AFwAAAEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEBNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNSUeARUUBg8BDgEjIiYvAS4BNTQ2MzIWHwE3PgEzMhYXMQIARz4+XRsaGhtdPj5HRz4+XRsaGhtdPj5H/lUiIXROTlhYTk50ISIiIXROTlhYTk50ISICSQYHBwarBRAJCQ8GVQYHGREKDwY3jQYPCQkPBgMVGhtdPj5HRz4+XRsaGhtdPj5HRz4+XRsa/qtYTk50ISIiIXROTlhYTk50ISIiIXROTlhzBRAJCQ8GqgYHBwZVBg8KERkHBjeMBgcHBgAAAAUAVQAVA6sDawAeADsAaAB5AI4AAAEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEBNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNQUOASMxIiY1NDYzMTgBMTI2NTQmIyIGBzEOASMiJjU0NjcxPgEzMhYVFAYHIycyFhUxFRQGIyImNTE1NDYzBzQ2MzEzMhYVMRUUBiMxIyImNTE1AgBHPj5dGxoaG10+PkdHPj5dGxoaG10+Pkf+VSIhdE5OWFhOTnQhIiIhdE5OWFhOTnQhIgIEEy0ZEhkZEiMyMiMcLQgEFw4RGQEBEVg5R2QtJAFZEhkZEhIZGRItGRIEEhkZEgQSGQMVGhtdPj5HRz4+XRsaGhtdPj5HRz4+XRsa/qtYTk50ISIiIXROTlhYTk50ISIiIXROTlg8DA0ZERIZMiMkMiEaDREZEgMHAzRCZEcuTBc8GRIqEhkZEioSGdURGRkRBREZGREFAAAAAAQAVQAVA6sDawAeADsAUABhAAABIgcOAQcGFRQXHgEXFjMxMjc+ATc2NTQnLgEnJiMxATQ3PgE3NjMyFx4BFxYVFAcOAQcGIyInLgEnJjUFNDYzMTMyFhUxFRQGIzEjIiY1MTUTMhYVMRUUBiMiJjUxNTQ2MwIARz4+XRsaGhtdPj5HRz4+XRsaGhtdPj5H/lUiIXROTlhYTk50ISIiIXROTlhYTk50ISIBfhkSBBIZGRIEEhktEhkZEhIZGRIDFRobXT4+R0c+Pl0bGhobXT4+R0c+Pl0bGv6rWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YkxEZGREEEhkZEgQBVRkSqhIZGRKqEhkAAAACAFUAFQOrA2sAHgA7AAABIgcOAQcGFRQXHgEXFjMxMjc+ATc2NTQnLgEnJiMxATQ3PgE3NjMyFx4BFxYVFAcOAQcGIyInLgEnJjUCAEc+Pl0bGhobXT4+R0c+Pl0bGhobXT4+R/5VIiF0Tk5YWE5OdCEiIiF0Tk5YWE5OdCEiAxUaG10+PkdHPj5dGxoaG10+PkdHPj5dGxr+q1hOTnQhIiIhdE5OWFhOTnQhIiIhdE5OWAADAFUAFQOrA2sAHgA7AFMAAAEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEBNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNQEyFhUxFTMyFhUUBiMxIyImNTE1NDYzMQIARz4+XRsaGhtdPj5HRz4+XRsaGhtdPj5H/lUiIXROTlhYTk50ISIiIXROTlhYTk50ISIBqxIZqhIZGRLVEhkZEgMVGhtdPj5HRz4+XRsaGhtdPj5HRz4+XRsa/qtYTk50ISIiIXROTlhYTk50ISIiIXROTlgBABkSqhkSEhkZEtUSGQAAAAMAVQAVA6sDawAeADsAbAAAASIHDgEHBhUUFx4BFxYzMTI3PgE3NjU0Jy4BJyYjMQE0Nz4BNzYzMhceARcWFRQHDgEHBiMiJy4BJyY1JT4BMzIWHwE3PgEzMhYVFAYPARceARUUBiMiJi8BBw4BIyImNTQ2PwEnLgE1NDY3MQIARz4+XRsaGhtdPj5HRz4+XRsaGhtdPj5H/lUiIXROTlhYTk50ISIiIXROTlhYTk50ISIBDQYPCQkPBmJiBg8KERkHBmJiBgYZEggPBmJiBg8IEhkGBmJiBgcHBgMVGhtdPj5HRz4+XRsaGhtdPj5HRz4+XRsa/qtYTk50ISIiIXROTlhYTk50ISIiIXROTlieBgcHBmJiBgcZEQoPBmJiBg8IEhkGBmJiBgYZEggPBmJiBg8JCQ8GAAIAVQAWA6sDawAYADEAABM+ATMyFhcBHgEVFAYjIiYnAS4BNTQ2NzEhHgEVFAYHAQ4BIyImNTQ2NwE+ATMyFhcxYgYPCQkPBgMABgYZEggPBv0ABgcHBgM8BgcHBv0ABg8IEhkGBgMABg8JCQ8GA14GBwcG/QAGDwgSGQYGAwAGDwkJDwYGDwkJDwb9AAYGGRIIDwYDAAYHBwYAAAIA1QCVAysC6wAYADEAABM+ATMyFhcBHgEVFAYjIiYnAS4BNTQ2NzEhHgEVFAYHAQ4BIyImNTQ2NwE+ATMyFhcx4gYPCQkPBgIABgYZEggPBv4ABgcHBgI8BgcHBv4ABg8KERkHBgIABg8JCQ8GAt4GBwcG/gAGDwgSGQYGAgAGDwkJDwYGDwkJDwb+AAYHGREKDwYCAAYHBwYAAAIBKgDqAtUClQAYADEAAAE+ATMyFhcBHgEVFAYjIiYnAS4BNTQ2NzEhHgEVFAYHAQ4BIyImNTQ2NwE+ATMyFhcxATcGDwkJEAUBVgUHGRIIEAb+qwYGBgYBkgYGBgb+qgUQCRIZBwYBVgUQCQkPBgKJBgYGBv6qBRAIEhkHBQFWBRAJCQ8GBg8JCRAF/qoGBxkSCRAFAVYGBgYGAAQAgABAA4ADQABEAIkAogC7AAAlISoBJy4BJy4BJzUuAScmNDURPAE3PgE3PgE3Mz4BNzYyMyE6ARceARceARcVHgEXFhQVERwBBw4BBw4BByMOAQcGIiM3PgE3PgE3NT4BNzQ2NRE0JjUuAScuAScjLgEnIiYjISIGIw4BBw4BBxUOAQcUBhURFBYVHgEXHgEXMx4BFzIWMyEyNjMBPgEzMhYXAR4BFRQGIyImJwEuATU0NjcxES4BNTQ2NwE+ATMyFhUUBgcBDgEjIiYnMQLO/mQRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREBnBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdETMJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEgGaEhkJ/mEGDwkJDwYBAAYGGRIIDwb/AAYHBwYGBwcGAQAGDwoRGQcG/wAGDwkJDwZAAQEGBgkdEQEMGQ0MHREBnRAdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEf5kER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEBAcgGBwcG/wAGDwgSGQYGAQAGDwkJDwb+xAYPCQkPBgEABgcZEQoPBv8ABgcHBgAABAAAAGsEAAMVACwAWwBsAH0AABM2Nz4BNzYzMhceARcWFxUeARUUBw4BBwYjITgBMSInLgEnJjU0Nz4BNzY3MyU4ATEiBg8BDgEHMQ4BFRQWMzIwMSEyNjU0JiMiMCMxOAExIiYnNSYnLgEnJiMxFTIWFTERFAYjIiY1MRE0NjMXFAYjMSEiJjU0NjMxITIWFdYXHyBMLCwwPDU2Vx8fD01oERE6Jics/dU1Ly5GFBQQEDonJy0BASpMfB8BBRIMQ11kRgECKzRLSzUBARAYAwcWFkQrKzASGRkSEhkZEqsZEv8AEhkZEgEAEhkCZyggIC0NDBMTRS8vNwINdlAsJyc6EBEUFEUvLzUvKypDFxYIWVFAAgoNAQRiREdkSzU1SxUPAS4pKDsQEYAZEv8AERkZEQEAEhmrERkZERIZGRIAAAAAAwAAAGsEAAMVACwAWwB8AAATNjc+ATc2MzIXHgEXFhcVHgEVFAcOAQcGIyE4ATEiJy4BJyY1NDc+ATc2NzMlOAExIgYPAQ4BBzEOARUUFjMyMDEhMjY1NCYjIjAjMTgBMSImJzUmJy4BJyYjMRceARUUBg8BDgEjIiYvAS4BNTQ2MzIWHwE3PgEzMhYXMdYXHyBMLCwwPDU2Vx8fD01oERE6Jics/dU1Ly5GFBQQEDonJy0BASpMfB8BBRIMQ11kRgECKzRLSzUBARAYAwcWFkQrKzCeBgcHBqsFEAkJDwZVBgcZEQoPBjeNBg8JCQ8GAmcoICAtDQwTE0UvLzcCDXZQLCcnOhARFBRFLy81LysqQxcWCFlRQAIKDQEEYkRHZEs1NUsVDwEuKSg7EBG3Bg8JCRAFqwYHBwZVBhAJEhkHBjiNBgYGBgAAAAADAAAAawQAAxUALABbAIwAABM2Nz4BNzYzMhceARcWFxUeARUUBw4BBwYjITgBMSInLgEnJjU0Nz4BNzY3MyU4ATEiBg8BDgEHMQ4BFRQWMzIwMSEyNjU0JiMiMCMxOAExIiYnNSYnLgEnJiMxFx4BFRQGDwEXHgEVFAYjIiYvAQcOASMiJjU0Nj8BJy4BNTQ2MzIWHwE3PgEzMhYXMdYXHyBMLCwwPDU2Vx8fD01oERE6Jics/dU1Ly5GFBQQEDonJy0BASpMfB8BBRIMQ11kRgECKzRLSzUBARAYAwcWFkQrKzBzBgcHBjc3BgYZEQkPBjc3Bg8JERkGBjc3BwcZEgkQBjc3Bg8JCRAFAmcoICAtDQwTE0UvLzcCDXZQLCcnOhARFBRFLy81LysqQxcWCFlRQAIKDQEEYkRHZEs1NUsVDwEuKSg7EBG3Bg8JCRAFODcGDwgSGQYGNzcGBhkSCA8GNzgFEAkSGQcGNzcGBgYGAAADAAAAawQAAxUALABbAIUAABM2Nz4BNzYzMhceARcWFxUeARUUBw4BBwYjITgBMSInLgEnJjU0Nz4BNzY3MyU4ATEiBg8BDgEHMQ4BFRQWMzIwMSEyNjU0JiMiMCMxOAExIiYnNSYnLgEnJiMxFTIWFTEVNz4BMzIWFRQGBzEHDgEjIiYnMScuATU0NjMyFhcxFzU0NjMx1hcfIEwsLDA8NTZXHx8PTWgRETomJyz91TUvLkYUFBAQOicnLQEBKkx8HwEFEgxDXWRGAQIrNEtLNQEBEBgDBxYWRCsrMBIZPQUMBxIZCwiABQwHBwwFgAgLGRIHDAU9GRICZyggIC0NDBMTRS8vNwINdlAsJyc6EBEUFEUvLzUvKypDFxYIWVFAAgoNAQRiREdkSzU1SxUPAS4pKDsQEVUZErApAwQZEgsSBlUEBAQEVQYSCxIZBAMpsBIZAAAAAAMAAAAWBAADFQA+AIEAmgAAAR4BFRQGBzEOAQ8BDgEHMQ4BFRQWMzAyMSEyFhUUBiMxITgBMSInLgEnJjU0Nz4BNzY3Mz4BNzE+ATMyFhcxNyIGByIGIyImNTQ2NzM+ATMyFx4BFxYXFR4BFRQGBzUOASMiJjU0NjcxPgE1NCYjKgEjMTgBMSImJzUmJy4BJyYjMSU+ATMyFhcBHgEVFAYjIiYnAS4BNTQ2NzEBSQUHBgYOGQkBBRIMRF1kRwECKxEZGRH91TUvLkYUFBAQOicnLQEMGw8GEAkIEAa3EyURAwYDEhkRDQEVMho8NTZXHx8PTWgZFgYRCRIZBQQND0s1AQEBEBgDBxYWRCsrMP63Bg8JCRAFAqsGBhkSCA8G/VUGBgYGAq8FEAkJDwYPIhMCCg0BBGJER2QZEhEZFBRFLy81LysqQxcWCBUjEAYHBwYRBQYBGREPFgQHBxMTRS8uOAIMd1AmRBwBBwgZEQgNBRApFzVLFQ8BLikoOxARSQYGBgb9VQYPCBIZBgYCqwUQCQkPBgAAAAMAAABrBAADFQAsAFsAbAAAEzY3PgE3NjMyFx4BFxYXFR4BFRQHDgEHBiMhOAExIicuAScmNTQ3PgE3NjczJTgBMSIGDwEOAQcxDgEVFBYzMjAxITI2NTQmIyIwIzE4ATEiJic1JicuAScmIzETFAYjMSEiJjU0NjMxITIWFdYXHyBMLCwwPDU2Vx8fD01oERE6Jics/dU1Ly5GFBQQEDonJy0BASpMfB8BBRIMQ11kRgECKzRLSzUBARAYAwcWFkQrKzCrGRL/ABIZGRIBABIZAmcoICAtDQwTE0UvLzcCDXZQLCcnOhARFBRFLy81LysqQxcWCFlRQAIKDQEEYkRHZEs1NUsVDwEuKSg7EBH+1REZGRESGRkSAAAAAwAAAGsEAAMVACwAWwCEAAATNjc+ATc2MzIXHgEXFhcVHgEVFAcOAQcGIyE4ATEiJy4BJyY1NDc+ATc2NzMlOAExIgYPAQ4BBzEOARUUFjMyMDEhMjY1NCYjIjAjMTgBMSImJzUmJy4BJyYjMQc+ATMyFhcxFx4BFRQGIyImJzEnFRQGIyImNTE1Bw4BIyImNTQ2NzE31hcfIEwsLDA8NTZXHx8PTWgRETomJyz91TUvLkYUFBAQOicnLQEBKkx8HwEFEgxDXWRGAQIrNEtLNQEBEBgDBxYWRCsrMBgFDAcHDAWACAsZEgcMBT0ZEhIZPQUMBxIZCwiAAmcoICAtDQwTE0UvLzcCDXZQLCcnOhARFBRFLy81LysqQxcWCFlRQAIKDQEEYkRHZEs1NUsVDwEuKSg7EBGHAwQEA1YFEwsSGQQEKbERGRkRsSkEBBkSCxMFVgAAAAACAAAAawQAAxUALABbAAATNjc+ATc2MzIXHgEXFhcVHgEVFAcOAQcGIyE4ATEiJy4BJyY1NDc+ATc2NzMlOAExIgYPAQ4BBzEOARUUFjMyMDEhMjY1NCYjIjAjMTgBMSImJzUmJy4BJyYjMdYXHyBMLCwwPDU2Vx8fD01oERE6Jics/dU1Ly5GFBQQEDonJy0BASpMfB8BBRIMQ11kRgECKzRLSzUBARAYAwcWFkQrKzACZyggIC0NDBMTRS8vNwINdlAsJyc6EBEUFEUvLzUvKypDFxYIWVFAAgoNAQRiREdkSzU1SxUPAS4pKDsQEQACAIAAwAOAAsAAIABBAAABPgEzMhYfAR4BFRQGDwEOASMiJjU0Nj8BJy4BNTQ2NzEDDgEjIiYvAS4BNTQ2PwE+ATMyFhUUBg8BFx4BFRQGBzECYgYPCQkPBtUGBwcG1QYPCBIZBga3twYHBwbEBg8JCQ8G1QYHBwbVBg8IEhkGBre3BgcHBgKzBgcHBtUGDwkJDwbVBgYZEQkPBre3BhAICRAG/hkGBwcG1QYPCQkPBtUGBhkRCQ8Gt7cGEAgJEAYAAAAABgCfABUDYQNrABEAIwBrAKcA1QETAAATNDYzMSEyFhUUBiMxISImNTEnNDYzMSEyFhUUBiMxISImNTETIToBFzIWFx4BFzEeARUUBgcDDgEHDgEHDgEHDgEjDgErASImIy4BJy4BJzUuAScuAScDFDAxNS4BNTQ2Nz4BPwE+ATM2MjMHFRQWFxMeARceARceARcxHgEzFjI7AToBNzI2Nz4BNzE+ATc+ATcTPgE9ASMiJiMqASMzISoBIyIGIzMlJxQyFTMGIiMqASMhKgEnIzc+ATc+ATcxPgE3PgEzITIWFzMeARceARcnHgEXNycuAScuAScjLgEjISIGBw4BBzEOAQ8CDgEHDgEXHgEXMR4BFxYyMyE6ATc+ATc+ATcxNiYnLgEnOAExJ/MZEQHGERkZEf46ERkIGRIB1BIZGRL+LBIZXgFuCRAHCBIJDRMGBAIBASIBAwICBwYKHBEMFwwLGxCiEBsLDBcMERwKBgcCAgMBIgEBAgQGEwwBCRIIBxAJGgEBIgEDAQEDAQMJBgIHCAgXEp4SFwgIBwIGCQMBAwEBAwEiAQEBBAsFAgMCAf6UAQMCBQsGAQHbAQECCREJAgUC/kAPEwcBAQUKBAwIAwMIBQMQFwFKFxADAQQIAwMIDAEFCgY2AgkRDAkXDQEPIBH+rBIfDw0YCQwRCQIBBwsEBAcBAhMODBgKCRgNAcQNGAkKGAwOEwIBBwQECwcBAUASGRkSEhkZElUSGRkSERkZEQErAQQFBxUNChIIBxAJ/m8QGwsLGAoRGggGBQEBAQEFBggaEAEKGAsLGxABkAMECRAHCBIKDRUGAQUEAVYBBAwK/nISFwgIBwEGCAMBAgEBAgEDCAYBBwgIFxIBjgoMBAEBAVgBAQEBAQMJEgcVDQIDBQEBAQEBAQUDAg0VAggSDE4FDxsKCQ4EBQICBQQOCQobDwQCDBQJCRgOEx8KCAYBAQEBBggKHxMOGAkJFAwBAAAACACAAEAD1QNrABEAJAAwAEMAXQB4AJMArgAANzQ2MzEhMhYVFAYjMSEiJjUxJSImNTE1NDYzMTMyFhUUBiMxIzc0JiMxIxUzMjY1MSUVFBceARcWMzI3PgE3NjUxNSEBIicuAScmNTE1NDYzITIWHQEUBw4BBwYjMRMeARUUBgcxBw4BIyImNTQ2NzE3PgEzMhYXMSMeARUUBgcxBw4BIyImNTQ2NzE3PgEzMhYXMSMeARUUBgcxBw4BIyImNTQ2NzE3PgEzMhYXMYAZEgJVEhkZEv2rEhkCgBIZGRJAPldXPkCAJRsVFRsl/VUUFUUvLjU1Ly9FFBT+AAEARj8+XBsbMCICByIwGxtdPj5HvgsNAwIqBhQNERkCAisFFQwFCgSACw0DAioGFA0RGQICKwUVDAUKBIALDQMCKgYUDREZAgIrBRUMBQoEaxEZGRESGRkS1RkS1RIZWD4+V5UbJYAmGmurNS4vRRUUFBVFLy41q/4AGxtcPj9GriIwMCKuRj8+XBsbAyYFFQwFCgRVCw0ZEgUKBFULDQMCBRUMBQoEVQsNGRIFCgRVCw0DAgUVDAUKBFULDRkSBQoEVQsNAwIAAAAEAKsAQANVA0AALABXAIMArgAAAREcAQcOAQ8BDgErASImJy4BJzUmNDURPAE3PgE/AT4BOwEyFhceARcVFhQVBzwBJy4BJzEiJiMiBiMOAQcVBhQVERwBFx4BFzEyFjMyNjM+ATc1NjQ1ESURHAEHDgEPAQ4BKwEiJicuASc1JjQ1ETwBNz4BPwE+ATsBMhYXHgEXFRYUBzwBJy4BJzEiJiMiBiMOAQcVBhQVERwBFx4BFzEyFjMyNjM+ATc1NjQ1EQNVAgg2JgEJFQwIDBUJJjcIAgIINiYBCRUMCAwVCSY3CAJVAQITDAMLEBALAwwTAgEBAhMMAwsQEAsDDBMCAf7VAgg2JgEJFQwIDBUJJjcIAgIINiYBCRUMCAwVCSY3CAJVAQITDAMLEBALAwwTAgEBAhMMAwsQEAsDDBMCAQKu/iQMFgkmNwcBAQEBAQg3JQEJFgwB3AwWCSY3BwEBAQEBCDclAQkWDAMQCwINEgMBAQMSDAECCxD+KhALAg0SAwEBAxIMAQILEAHWA/4kDBYJJjcHAQEBAQEINyUBCRYMAdwMFgkmNwcBAQEBAQg3JQEJFg8QCwINEgMBAQMSDAECCxD+KhALAg0SAwEBAxIMAQILEAHWAAAAAAUAgABAA4ADQAAQACEAMgB7AMAAAAEyFhUxFRQGIyImNTE1NDYzNTIWFTEVFAYjIiY1MTU0NjM1MhYVMRUUBiMiJjUxNTQ2MychOgEXHgEXHgEXFR4BFxYUFREcAQcOAQcOAQcjDgEHBiIjISoBJy4BJy4BJzUuASc0JjU8ATUxETwBNz4BNz4BNzM+ATc2MjMHDgEHDgEHFQ4BBxQGFREUFhUeARceARczHgEXMhYzITI2Mz4BNz4BNzU+ATc0NjURNCY1LgEnLgEnIy4BJyImIyEiBiMCABIZGRISGRkSEhkZEhIZGRISGRkSEhkZEs4BnBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEf5jEB0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0RMwkIAQYKAwECAQEBAQIBAwoFAQEICQkZEgGaEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS/mYSGQkBQBkSKhIZGRIqEhnVGRFWERkZEVYRGasZEioSGRkSKhIZgAEBBgYJHREBDBkNDB0R/mQRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0KFwwEBgMBnBEdDA0ZDBIdCQYGAQFWAQIBAwoFAQEICQkZEv5mEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQAAAAoAVQAVA6sDawANAB4AKwA8AFEAVgBkAHUAgwCUAAAlIiY1NDYzMTMVFAYjMScUFjMyNjUxNTQmIzEjIgYVBTI2NTQmIzEjFRQWMzcUBiMiJjUxNTQ2MzEzMhYVATQ2MzEhMhYVMREUBiMxISImNTERFxUzNSMBMhYVFAYjMSM1NDYzMRc0JiMiBhUxFRQWMzEzMjY1JSIGFRQWMzEzNTQmIzEHNDYzMhYVMRUUBiMxIyImNQEAIzIyI1UyI6tkR0dkGRKAR2QCqyMyMiNVMiOrZEdHZBkSgEdk/aoZEgEAEhkZEv8AEhlWqqoBVSMyMiNVMiOrZEdHZBkSgEdk/VUjMjIjVTIjq2RHR2QZEoBHZGsyIyMyVSMyVUdkZEeAEhlkR1UyIyMyVSMyVUdkZEeAEhlkRwGAEhkZEv8AEhkZEgEAK6qqAQAyIyMyVSMyVUdkZEeAEhlkR1UyIyMyVSMyVUdkZEeAEhlkRwAEAFUAFQOrA2sAHgA7AGAAZQAAASIHDgEHBhUUFx4BFxYzMTI3PgE3NjU0Jy4BJyYjMQE0Nz4BNzYzMhceARcWFRQHDgEHBiMiJy4BJyY1JR4BFRQGBzEHDgEHMQcOASMiJjU0NjcxNz4BNzE3PgEzMhYXMQ8BPwEHAgBHPj5dGxoaG10+PkdHPj5dGxoaG10+Pkf+VSIhdE5OWFhOTnQhIiIhdE5OWFhOTnQhIgJ0BgYCAmoDCwfrBAkFERkCAmoDCwfrBAkFCQ8G6TV1NXUDFRobXT4+R0c+Pl0bGhobXT4+R0c+Pl0bGv6rWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YyQYPCQUJBOsHCwNqAgIZEQUJBOsHCwNqAgIGBql1NXU1AAAAAAkAVQAVA6sDawBUAIIAlgCqAL8A0wDnAPwBEAAAAQ4BFRQWFzEeARUxOAEVFAYHFQ4BIyImJzMuASMiBhUUFhU1HgEVMRYGByMOASciJiMiBhU4ATkBFhceARcWMzY3PgE3NjU0Jy4BJyYjOAExIgYHMRcWFx4BFxYVMRYHDgEHBiMiJy4BJyYnPgE3Iz4BNzU6ATMyNjcHMT4BNTwBOQEDNDYzOQEyFhU5ARQGIzkBIiY1MTc0NjM5ATIWFTkBFAYjOQEiJjUxJzQ2MzkBMhYVOQEUBiM5ASImNTkBNzQ2MzkBMhYVOQEUBiM5ASImNTElNDYzOQEyFhU5ARQGIzkBIiY1MTc0NjM5ATIWFTkBFAYjOQEiJjU5ASM0NjM5ATIWFTkBFAYjOQEiJjUxAd4EBQEBAgMbFgwcDwoSCQEECAQSGQEBAQEYFQEUMxsCBQISGQEhInNOTlhYTk50ISIiInNOTlgKEgZTPjU2ThcWARsbXT4+R0E5OloeHQkhOxgBICgEAQQCHTUWASgusRkSERkZERIZ1RkSEhkZEhIZqhkREhkZEhEZ1RkSERkZERIZ/dUZEhIZGRISGdYZERIZGRIRGasZEhEZGRESGQNaBg0HAwYDCBIJAR0xDwEICQQDAQIZEgIEAgEHDQYcMhERCwYBGRJYTk50ISIBISJ0TU5YWE5OcyIiCQhICR4eWjk6QEc+PlwbGxYXTzY2PwEYExlKKgEREAEcVjIBAf3ZERkZERIZGRJVEhkZEhIZGRKAEhkZEhIZGRJVEhkZEhEZGRGAEhkZEhEZGRGrEhkZEhIZGRISGRkSEhkZEgAAAAMAVQAVA6sDawB2ALsBAAAAASMiJjU0NjMxMzoBNzI2Mz4BNzE0NjU2ND0BPAEnNCY1LgEnMSImIyYiKwEqAQciBiMOAQcxFAYVBhQdARQGIyImNTE1NDY3PgE3PgE3NT4BNz4BOwEyFhceARceARczHgEXHgEdARQGBw4BBw4BBxUOAQcOASMBIyImJy4BJy4BJyMuAScuAT0BNDY3PgE3PgE3NT4BNz4BOwEyFhceARceARczHgEXHgEdARQGBw4BBw4BBxUOAQcOASM3MjYzPgE3MTQ2NTY0PQE8ASc0JjUuAScxIiYjJiIrASoBByIGIw4BBzEUBhUGFB0BHAEXFBYVHgEXMTIWMxYyOwE6ATcC+XkSGRkSdxMZCQkHAgYKAwMBAQMDCgYCBwkJGRPuExkJCQcCBgoDAwEZEhIZAQEBBQYKHBIMGQ0MHRHyER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHRH/APIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdEfIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkT7hMZCQkHAgYKAwMBAQMDCgYCBwkJGRPuExkJARUZEhIZAQMDCgYCBwkJGRPuExkJCQcCBgoDAwEBAwMKBgIHCQkZE3cSGRkSeREdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0R8hEdDA0ZDBIcCQEGBQEBAf8AAQEBBQYKHBIMGQ0MHRHyER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHRHyER0MDRkMEhwJAQYFAQEBVwMDCgYCBwkJGRPuExkJCQcCBgoDAwEBAwMKBgIHCQkZE+4TGQkJBwIGCgMDAQEAAAAFAFUAawOrAxUASACNAJ4AsADBAAABIToBFx4BFx4BHwEeARceARURFAYHDgEHDgEHIw4BBwYiIyEqAScuAScuAS8BLgEnLgE1PAE1FRE0Njc+ATc+ATcxPgE3NjIzBw4BBw4BBzEUBhUGFBURHAEXFBYVHgEXMR4BFxYyMyE6ATc+ATc+ATcxNDY1NjQ1ETwBJzQmNS4BJzEuAScmIiMhKgEHEzQ2MzEzMhYVFAYjMSMiJjUnNDYzMSEyFhUUBiMxISImNTE1NDYzMSEyFhUUBiMxISImNQEHAfIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEQEMGQ0MHRH+DhEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0RMwkHAgYKAwMBAQMDCgYCBwkJGRMB7hMZCQkHAgYKAwMBAQMDCgYCBwkJGRP+EhMZCSwZEqoSGRkSqhIZqxkSAwASGRkS/QASGRkSAwASGRkS/QASGQMVAQEFBwkcEgEMGQwMHRH+uBEdDAwZDBMcCQcFAQEBAQUHCRwSAQwZDAsYDAMGAwEBSBEdDAwZDBMcCQcFAQFWAQIBAwkGAggICRkT/rwTGQkICAIGCQMBAgEBAQECAQMJBgIICAkZEwFEExkJCAgCBgkDAQIBAQH+gRIZGRISGRkSqxEZGRESGRkSVRIZGRISGRkSAAAFAFUAawOrAxUASACNAJsAqQDGAAABIToBFx4BFx4BHwEeARceARURFAYHDgEHDgEHIw4BBwYiIyEqAScuAScuAS8BLgEnLgE1PAE1FRE0Njc+ATc+ATcxPgE3NjIzBw4BBw4BBzEUBhUGFBURHAEXFBYVHgEXMR4BFxYyMyE6ATc+ATc+ATcxNDY1NjQ1ETwBJzQmNS4BJzEuAScmIiMhKgEHASIGFRQWMzEyNjU0JiMHNDYzMhYVMRQGIyImNSciBhUUFjMxMhYVFAYjMSImNTQ2MzEyFhUUBiMxAQcB8hEdDA0ZDBIcCQEGBQEBAQEBAQUGChwRAQwZDQwdEf4OER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHREzCQcCBgoDAwEBAwMKBgIHCQkZEwHuExkJCQcCBgoDAwEBAwMKBgIHCQkZE/4SExkJAcEJDAwJCQ0NCWo+LC0+Pi0sPkAJDQ0JERkZES0+Pi0RGRkRAxUBAQUHCRwSAQwZDAwdEf64ER0MDBkMExwJBwUBAQEBBQcJHBIBDBkMCxgMAwYDAQFIER0MDBkMExwJBwUBAVYBAgEDCQYCCAgJGRP+vBMZCQgIAgYJAwECAQEBAQIBAwkGAggICRkTAUQTGQkICAIGCQMBAgEBAf7WDAkJDAwJCQwVLD8/LCw/PywVDAkJDBkSEhk/LCw/GRISGQAEAFUAFQOrA2sAEAAhAFkAjAAAJTIWFTEVFAYjIiY1MTU0NjMBNDYzMTMyFhUUBiMxIyImNTcyFhUxERwBFxQWFR4BFzEyFjMWMjMhMhYVFAYjMSEiJicuAScuAScjLgEnLgE1PAE1FRE0NjMxBSYiKwEiJjU0NjMxMzIWFx4BFx4BFzMeARceAR0BFAYjIiY1MTU8ASc0JjUuAScxIiYjAwASGRkSEhkZEv1VGRKAEhkZEoASGasSGQEDAwoGAgcJCRkTAfcSGRkS/gcRHQwNGQwSHAkBBgUBAQEZEgGsCRkTzBIZGRLOER0MDRkMEhwJAQYFAQEBGRISGQEDAwoGAgcJ6xkSgBIZGRKAEhkB1RIZGRISGRkSqxkS/gkTGQkJBwIGCgMDARkSEhkBAQEFBgocEgwZDQoYDAMGBAEB+RIZ1wEZEhIZAQEBBQYKHBIMGQ0MHRHOEhkZEswTGQkJBwIGCgMDAAAGAFUAFQOrA2sAOABNAF4AcACcAMQAABM+ATMhMhYVHAEVNQcOAQcOAQc1DgEHDgEjBiIjISoBJyImJzMuASc1LgEnNS4BLwI8ATU0NjcxHwEeARcnMzoBMyE6ATsBMTQ2PwEhASImNTERNDYzMhYVMREUBiMjIiY1MRE0NjMyFhUxERQGIzEBNDc+ATc2MzIWFx4BNz4BMzIWFx4BFRQGBw4BIyEiJiMuATU0NjcxMDYzMSUiBhUUBgcOARUUFhchPgE1NCYnLgE1MTQmIyIGBwYmJy4BIzAiOQG1BhEJAlYRGSMBAgECBQQHEgwHEAYGDgf+dAcOBggPBwEMEgcEBQIBAgEBIgUFUhsBAgEBAQMKCAGKCAoDAQIBG/4OAU4RGRkREhkZEqoSGRkSERkZEf8AFxZMMjI4Kk4hAgwICRMKOlkCOEk1OQQJBf2qAgUDOjwvJQEBARVSbhwSEhUaFgJFFx4qJBYcIh4ECQQULhYXNh4BAYcGCBkRAgMCAfIHDQYIDgcBCxAFBAMBAQQDBRAKAQYOBwEGDQcC8AEDAggOBke/BwwFAgQJCb/+1RkSASsRGRkR/tUSGRkSASsRGRkR/tUSGQJWNi8vRBQUFxQBAgICA0w6F2E/NXQaAgIBDl00LUgVAapnRRomCgoiExwoBw8/JCI6DQgnGBQjAQEFAw0OEAAABQDVAEADKwNAABAAIQBIAGEAegAAJSImNTERNDYzMhYVMREUBiMhIiY1MRE0NjMyFhUxERQGIzUyFhUxFBYXHgEzMjY3PgE1NDYzMhYVMRQGBw4BIyImJy4BNTQ2MxMOARUUFhceATMyNjc+ATU0JicuASMiBgcnPgEzMhYXHgEVFAYHDgEjIiYnLgE1NDY3AwASGRkSEhkZEv4AEhkZEhIZGRISGRQfHlMxMVQdHxQZEhIZPSYoZzk5ZygmPRkSXh8UFB8eUzExVB0fFBQfHlMxMVQdJihnOTlnKCY9PSYoZzk5ZygmPT0mwBkSAaoSGRkS/lYSGRkSAaoSGRkS/lYSGVUZEQgdEA4TEw4QHQgRGRkRLUETFBYWFBNBLREZAbUQHQgIHBAPEhIPEBwICB0QDhMTDkwUFhYUE0EtLUATFBYWFBNALS1BEwAGANUAQAMrA0AAEAAhAEgAcACJAKIAACUiJjUxETQ2MzIWFTERFAYjISImNTERNDYzMhYVMREUBiM1MhYVMRQWFx4BMzI2Nz4BNTQ2MzIWFTEUBgcOASMiJicuATU0NjM1MhYVMRQWFx4BMzI2Nz4BNTQ2MzIWFTEUBgcOASMiJicuATU0NjMxNw4BFRQWFx4BMzI2Nz4BNTQmJy4BIyIGByc+ATMyFhceARUUBgcOASMiJicuATU0NjcDABIZGRISGRkS/gASGRkSEhkZEhIZFB8eUzExVB0fFBkSEhk9JihnOTlnKCY9GRISGRQfHlMxMVQdHxQZEhIZPSYoZzk5ZygmPRkSXh8UFB8eUzExVB0fFBQfHlMxMVQdJihnOTlnKCY9PSYoZzk5ZygmPT0mwBkSAaoSGRkS/lYSGRkSAaoSGRkS/lYSGVUZEQgdEA4TEw4QHQgRGRkRLUETFBYWFBNBLREZ1hkSCB0PDxISDw8dCBIZGRItQRMUFhYUE0EtEhnfEB0ICBwQDxISDxAcCAgdEA4TEw5MFBYWFBNBLS1AExQWFhQTQC0tQRMAAAACAQAAFQNVA2sALgA/AAABIyIGFTERFBYzMTMyNjU0JiMxIyImNTERNDYzMTMyFhUxERQWMzI2NTERNCYjMQE0JiMxISIGFRQWMzEhMjY1AdVVNUtLNSsRGRkRKxIZGRJVEhkZEhEZSzUBgBkR/wASGRkSAQARGQNrSzX9qjVLGRISGRkRAlYRGRkR/wASGRkSAQA1S/2qEhkZEhEZGREAAgBVAOsDqwLAABAAPwAAATQ2MzEhMhYVFAYjMSEiJjUBNDYzMSEyFhUxFRQGIyImNTE1NCYjMSEiBhUxFRQWMzEhMhYVFAYjMSEiJjUxNQIrGREBABIZGRL/ABEZ/ipLNQJWNUsZEhIZGRH9qhEZGREBABIZGRL/ADVLARUSGRkSERkZEQErNUtLNSsRGRkRKxIZGRJVEhkZEhEZSzVVAAYAVQBAA6sDQAAQACEAegCOANMBFwAAJTQ2MzEzMhYVFAYjMSMiJjUlNDYzMTMyFhUUBiMxIyImNQEhMhYVFAYjMSEqAQciBiMOAQcxFAYVBhQdARwBFxQWFR4BFzEeARcyFjMhMhYVFAYjMSEqAScuAScuAS8BLgEnLgE1PAE1MTU0Njc+ATc+ATc1PgE3PgEzJTQ2MzkBMhYVOQEUBiM5ASImNTE3MzoBFx4BFx4BHwEeARceARURFAYHDgEHDgEHMQ4BBwYiKwEqAScuAScuASc1LgEnJjQ1ETwBNz4BNz4BNzM+ATc2MjMHDgEHDgEHFQ4BBxQGFREUFhUeARceARczHgEXMhY7ATI2Mz4BNz4BNzU0NjU2NDURPAEnNCY1LgEnMS4BJyImKwEiBgEAGRKAERkZEYASGQGAGRJVEhkZElUSGf6HASQRGRkR/t4TGQkJBwIGCgMDAQEDAwoGAgcJCRkTASIRGRkR/twRHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdEQGkGRESGRkSERkHRxEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0RSBAdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdETMJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRJEExkJCQcCBgoDAwEBAwMKBgIHCQkZE0QSGWsRGRkREhkZEoARGRkREhkZEgGAGRISGQEDAwoGAgcJCRkTRBIZCQkIAQYKAwECAQEZERIZAQEGBgkdEQEMGQ0KGAwDBgNHER0MDRkMEhwJAQYFAQEBKhIZGRIRGRkRqwEBBgYJHREBDBkNDB0R/mQRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREBnBEdDA0ZDBIdCQYGAQFWAQIBAwoFAQEICQkZEv5mEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQAAAAQAgABAA4ADQAARAFoAnwDQAAAlNDYzMSEyFhUUBiMxISImNTEDIToBFx4BFx4BFxUeARcWFBURHAEHDgEHDgEHIw4BBwYiIyEqAScuAScuASc1LgEnNCY1PAE1MRE8ATc+ATc+ATczPgE3NjIzBw4BBw4BBxUOAQcUBhURFBYVHgEXHgEXMx4BFzIWMyEyNjM+ATc+ATc1PgE3NDY1ETQmNS4BJy4BJyMuASciJiMhIgYjAzQ2MzEhMhYVMRUcAQcUBgc3DgEPAQ4BIzEGIiMhKgEnIiYnFy4BLwEuATUxJjQ9AQFVGRIBABIZGRL/ABIZIwGcER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0R/mQRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREzCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCX8ZEgKqEhkBBQQBBxIMAQcQCQcQCP3cCBAHCRAIAQ0SBgEDBQFrERkZERIZGRIC1QEBBgYJHREBDBkNDB0R/uQRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0KGA0DBQMBHBEdDA0ZDBIdCQYGAQFWAQIBAwoFAQEICQkZEv7mEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSARoSGQkJCAEGCgMBAgEBAf5WEhkZEhIIEAcJEAgBDRIGAQMFAQEFBAEHEgwBBxAJBxAIEgAAAAADAFUAQAOrA0AAdgC/AQQAAAEhOgEXHgEXHgEfAR4BFx4BFREUBgcOAQcOAQcxDgEHBiIjISImNTQ2MzEhMjYzPgE3PgE3NTQ2NTY0NRE8ASc0JjUuAScxLgEnIiYjISIGIw4BBw4BBxUUBhUGFB0BFAYjIiY1MTU0Njc+ATc+ATcxPgE3NjIzBzM6ARceARceARcVHgEXFhQdARwBBw4BBw4BByMOAQcGIisBKgEnLgEnLgEvAS4BJy4BNTwBNTE1NDY3PgE3PgE3MT4BNzYyMwcOAQcOAQcxFAYVBhQdARwBFxQWFR4BFzEeARcyFjsBMjYzPgE3PgE3NT4BNzY0PQE8AScuAScuAScxLgEnJiIrASoBBwGHAXIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdEf7HEhkZEgE3ExkJCQcCBgoDAwEBAwMKBgIHCQkZE/6SExkJCQcCBgoDAwEZEhIZAQEBBQYKHBIMGQ0MHRGAHREdDAwZDBMcCQcFAQEBAQUHCRwSAQwZDAwdER0RHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkTGRMZCQgIAgYJAwECAQEBAQIBAwkGAggICRkTGRMZCQNAAQEGBgkdEQEMGQ0MHRH+5BEdDA0ZDBIdCQYGAQEZEhEZAQECAQMKBQEBCAkJGRIBGhIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEg0SGRkSDhEdDA0ZDBIdCQYGAQGrAQEFBwkcEgEMGQwMHRHyER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNChcMBAYD8hEdDAwZDBMcCQcFAQFWAQIBAwkGAggICRkT7xIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEu8TGQkICAIGCQMBAgEBAQAGAKsAwANVAsAAPABjAKAAygDjAP0AACUjKgEnIiYnFS4BJzUuAScxPAE9ATQ2MzEzMhYzHgEXHgEXFR4BFxwBHQEcARUOAQc1DgEHFQ4BIzEGIiM3MzwBPQE8ATU8AScVMSoBIyoBIzEjFRwBFTEzFjI7AToBMzI2MyMFIyoBJyImJxUuASc1LgEnMTwBPQE0NjMxMzIWMx4BFx4BFxUeARccAR0BHAEVDgEHNQ4BBxUOASMxBiIjNzE8AT0BPAE1PAEnFyMqASMqASMxIxUcARUcARcnMxYyOwE6ATMyNjMxNyImNTE1NDYzMTIWFRQGIzEiBhUxFRQGIyEiJjUxNTQ2MzEyFhUUBiMxIgYVMRUUBiMxAuhQCA8HCREHDBMGBAQBGRGTCA8HBxEJDBMGBAQBAQQEBhMMBxEJBw8IFwEBBAoFAQMCZgEECwpMAgMBBQoFAf5pUAgPBwkRBwwTBgQEARkRkwgPBwcRCQwTBgQEAQEEBAYTDAcRCQcPCBgBAQEECgUBAwJmAQEBBAsKTAIDAQUKBdURGWRGEhkZEiMyGRL+gBEZZEYSGRkSIzIZEsABBQQBBxIMAQcQCQcQCJISGQEBAwUGEwsBCRAIBhAITwgQBwkQCAENEgYBAwUBVgQLCk0BAwEFCwUBZgoLBAEBVgEFBAEHEgwBBxAJBxAIkhIZAQEDBQYTCwEJEAgGEAhPCBAHCRAIAQ0SBgEDBQFWBAsKTQEDAgUKBQFmAQMCBQoFAQEBfxkSVUdkGRIRGTIkVRIZGRJVR2QZEhEZMiRVEhkAAAAGAKsAwANVAsAAOwBhAHsAtQDfAPkAAAEzOgEXMhYXHgEXFR4BFxwBHQEUBiMxIyImIy4BJzEuASc1LgEnMTwBPQE8ATU+ATcVPgE3NT4BMzYyMwcjHAEdARwBFRwBFyczOgE7ATU8ATUxIiYjKgEjMSMqASMiBiMzFzIWFTEVFAYjMSImNTQ2MzEyNjUxNTQ2MzElMzoBFzIWFx4BFxUeARccAR0BFAYjMSMiJiMuAScxLgEnNS4BJzE8AT0BPAE1PgE3PgE3NT4BMzYyBzEcAR0BHAEVHAEXJzM6ATsBNTwBNTwBJxcjIiYjKgEjMSMqASMiBiMxFzIWFTEVFAYjMSImNTQ2MzEyNjUxNTQ2MzECmFAIDwcHEQkMEwYEBAEZEZMIDwcJEQcMEwYEBAEBBAQGEwwJEQcHDwgXAQEBAQQLCmYFCgUBAwJMAgMBBQoFAaoRGWRGEhkZEiMyGRL97VAIDwcHEQkMEwYEBAEZEZMIDwcJEQcMEwYEBAEBBAQGEwwJEQcHDxABAQEECwpmAQEBBAoFAQMCTAIDAQUKBasRGWRGEhkZEiMyGRICwAEEBAcSDAEIEQcHEAiSEhkBAQQEBhMLAQcRCQYQCE8IEAcJEAgBDRIGAQQEAVYECwpNAQMCBQoFAWYKCwQBAX8ZElVHZBkSERkyJFUSGdUBBAQHEgwBCBEHBxAIkhIZAQEEBAYTCwEHEQkGEAhPCBAHBxEIDRIGAQQEAVYECwpNAQMCBQoFAWYBBAEFCgUBAQF/GRJVR2QZEhEZMiRVEhkABgCAAEADgANAADAAVQBmAIoAsQDKAAATNDYzMSEyFhUxERwBBw4BBw4BByMOAQcGIiMhKgEnLgEnLgEnNS4BJzQmNTwBNTERFxEUFhUeARceARczHgEXMhYzITI2Mz4BNz4BNzU+ATc0NjURIQUyFhUxERQGIyImNTERNDYzBz4BMzIWFzEXNz4BMzIWFRQGBzEHDgEjIiYnMScuATU0NjcxAyEyFhceARcxHgEfAh4BFRQGIyEiJjU0NjcxNz4BNz4BPwE+ATMXIgYHDgEHMQ4BDwEhJy4BJy4BJzUuASMhgBkSAqoSGQEBBgYJHREBDBkNDB0R/mQRHQwNGQwSHQkGBgEBVQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEB/aoBKxIZGRISGRkSowUTCwcMBWhoBQwHEhkLCIAFDAcHDAWACAsEBAcBVBEgDw0YCQwRCQI6AwMZEv1WEhkDAzwJEQwJFw0BDyARBRcQBAQIAwMIDBYCGBYMCAMDCAQEEBf+tgJrERkZEf6HER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNChgNAwUDAXkr/rMSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBTSsZEf8AEhkZEgEAERm9CAsEBEVFBAQZEgsTBVYDBAQDVgUTCwcMBQHoAgQFDQkKGxAEZgUKBhIZGRIGCgVqEBsKCQ0EAQQCVQEBAgQDAw0VJiYVDQMDBAEBAQEAAAMA1QAVAysDawAQACEAQgAANzQ2MzEhMhYVFAYjMSEiJjUBMhYVMREUBiMiJjUxETQ2MwM+ATMyFh8BNz4BMzIWFRQGDwEOASMiJi8BLgE1NDY3MdUZEgIAEhkZEv4AEhkBKxIZGRISGRkS8wUQCQkPBre3Bg8JERkGBtUGDwkJDwbVBgcHBkASGRkSEhkZEgMrGRL9qxIZGRICVRIZ/nMGBwcGt7cGBhkSCA8G1QYHBwbVBg8JCQ8GAAAABgCrAOsDVQKVAA0AGwAqADkASABXAAABMhYVFAYjMSImNTQ2MyEyFhUUBiMxIiY1NDYzITIWFRQGIzEiJjU0NjMxATIWFRQGIzEiJjU0NjMxITIWFRQGIzEiJjU0NjMxITIWFRQGIzEiJjU0NjMxAwAjMjIjIzIyI/8AIzIyIyMyMiP/ACMyMiMjMjIjAgAjMjIjIzIyI/8AIzIyIyMyMiP/ACMyMiMjMjIjAZUyIyMyMiMjMjIjIzIyIyMyMiMjMjIjIzIBADIjIzIyIyMyMiMjMjIjIzIyIyMyMiMjMgAGASsAawLVAxUADQAcACoAOQBHAFYAACU0NjMyFhUxFAYjIiY1ITQ2MzIWFTEUBiMiJjUxATQ2MzIWFTEUBiMiJjUhNDYzMhYVMRQGIyImNTEBNDYzMhYVMRQGIyImNSE0NjMyFhUxFAYjIiY1MQIrMiMjMjIjIzL/ADIjIzIyIyMyAQAyIyMyMiMjMv8AMiMjMjIjIzIBADIjIzIyIyMy/wAyIyMyMiMjMsAjMjIjIzIyIyMyMiMjMjIjAQAjMjIjIzIyIyMyMiMjMjIjAQAjMjIjIzIyIyMyMiMjMjIjAAIBKwDrAtUClQANACsAAAEiBhUUFjMxMjY1NCYjESInLgEnJjU0Nz4BNzYzMTIXHgEXFhUUBw4BBwYjAgA1S0s1NUtLNSwnJzoREBAROicnLCwnJzoREBAROicnLAJASzU1S0s1NUv+qxAROicnLCwnJzoREBAROicnLCwnJzoREAAAAAIA1QCVAysC6wAeAD0AAAEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzERIicuAScmNTQ3PgE3NjMxMhceARcWFRQHDgEHBiMxAgAsJyc6ERAQETonJywsJyc6ERAQETonJyw+NjdRFxgYF1E3Nj4+NjdRFxgYF1E3Nj4ClRAROicnLCwnJzoREBAROicnLCwnJzoREP4AGBdRNzY+PjY3URcYGBdRNzY+PjY3URcYAAIBKwDrAtUClQBIAI0AAAEzOgEXHgEXHgEXFR4BFxYUHQEcAQcOAQcOAQcjDgEHBiIrASoBJy4BJy4BJzUuAScmNDU8ATUVNTwBNz4BNz4BNzM+ATc2MjMHDgEHDgEHMQ4BBwYUHQEcARceARceARcxHgEXFjI7AToBNz4BNz4BNzE+ATc2ND0BPAEnLgEnLgEnMS4BJyYiKwEqAQcB3EgRHQwMGQwTHAkHBQEBAQEFBwkcEgEMGQwMHRFIER0MDBkMExwJBwUBAQEBBQcJHBIBDBkMDB0RMwgIAgYJAwECAQEBAQIBAwkGAggICRkTRBMZCQgIAgYJAwECAQEBAQIBAwkGAggICRkTRBMZCQKVAQEFBwkcEgEMGQwMHRFIER0MDBkMExwJBwUBAQEBBQcJHBIBDBkMCxcNAwYDAUgRHQwMGQwTHAkHBQEBVgECAQMJBgIICAkZE0QTGQkICAIGCQMBAgEBAQECAQMJBgIICAkZE0QTGQkICAIGCQMBAgEBAQACANUAlQMrAusASACNAAABMzIWFx4BFx4BFzMeARceAR0BFAYHDgEHDgEHFQ4BBw4BKwEiJicuAScuAScjLgEnLgE1PAE1MTU0Njc+ATc+ATc1PgE3PgEzByIGIw4BBzEUBhUGFB0BHAEXFBYVHgEXMTIWMxYyOwE6ATcyNjM+ATcxNDY1NjQ9ATwBJzQmNS4BJzEiJiMmIisBKgEHAYfyER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHRHyER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHREzCQcCBgoDAwEBAwMKBgIHCQkZE+4TGQkJBwIGCgMDAQEDAwoGAgcJCRkT7hMZCQLrAQEBBQYKHBIMGQ0MHRHyER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0LGAwDBgLyER0MDRkMEhwJAQYFAQEBVwMDCgYCBwkJGRPuExkJCQcCBgoDAwEBAwMKBgIHCQkZE+4TGQkJBwIGCgMDAQEAAAMAgABAA24DLgA4AFAAaQAAAT4BMzIWFyMeARceAR8BHgEXHgEXHgEVFAYHMQ4BBw4BBwEOASM4ATEjIiY1MTU0NjcBPgE3PgE3Fw4BBwEVMwE+ATc1MS4BJzEnLgEnOQEjBz4BMzIWHwEeARUUBiMiJi8BLgE1NDY3MQKQBg4HBw0HAQkPBQULBkwGCwQFCQMCAgICAwkFBAsG/jAGEAmqEhkHBgHQBgsFBg4JGgMIBv48bwHDBwgCBAkESgQJBQHIBg8JCQ8GqwUHGRIIEAaqBgcHBgMqAgICAgMJBQQLBkwGCwUFDwkGDQcHDgYJDgYFCwb+MAYHGRKqCRAFAdEGCwQFCQNSAggH/j1vAcQGCAMBBQgFSgQJBE8GBgYGqwYPCBIZBgarBRAJCQ8GAAACAIAAQANuAy4AOABQAAABPgEzMhYXIx4BFx4BHwEeARceARceARUUBgcxDgEHDgEHAQ4BIzgBMSMiJjUxNTQ2NwE+ATc+ATcXDgEHARUzAT4BNzUxLgEnMScuASc5ASMCkAYOBwcNBwEJDwUFCwZMBgsEBQkDAgICAgMJBQQLBv4wBhAJqhIZBwYB0AYLBQYOCRoDCAb+PG8BwwcIAgQJBEoECQUBAyoCAgICAwkFBAsGTAYLBQUPCQYNBwcOBgkOBgULBv4wBgcZEqoJEAUB0QYLBAUJA1ICCAf+PW8BxAYIAwEFCAVKBAkEAAQAgABAA4ADLgARAEoAYgB7AAA3NDYzMSEyFhUUBiMxISImNTEBPgEzMhYXIx4BFx4BHwEeARceARceARUUBgcxDgEHDgEHAQ4BIzgBMSMiJjUxNTQ2NwE+ATc+ATcXDgEHARUzAT4BNzUxLgEnMScuASc5ASMHPgEzMhYfAR4BFRQGIyImLwEuATU0NjcxgBkSAqoSGRkS/VYSGQIQBg4HBw0HAQkPBQULBkwGCwQFCQMCAgICAwkFBAsG/jAGEAmqEhkHBgHQBgsFBg4JGgMIBv48bwHDBwgCBAkESgQJBQHIBg8JCQ8GqwUHGRIIEAaqBgcHBmsRGRkREhkZEgK/AgICAgMJBQQLBkwGCwUFDwkGDQcHDgYJDgYFCwb+MAYHGRKqCRAFAdEGCwQFCQNSAggH/j1vAcQGCAMBBQgFSgQJBE8GBgYGqwYPCBIZBgarBRAJCQ8GAAAAAAMAgABAA4ADLgARAEoAYgAANzQ2MzEhMhYVFAYjMSEiJjUxAT4BMzIWFyMeARceAR8BHgEXHgEXHgEVFAYHMQ4BBw4BBwEOASM4ATEjIiY1MTU0NjcBPgE3PgE3Fw4BBwEVMwE+ATc1MS4BJzEnLgEnOQEjgBkSAqoSGRkS/VYSGQIQBg4HBw0HAQkPBQULBkwGCwQFCQMCAgICAwkFBAsG/jAGEAmqEhkHBgHQBgsFBg4JGgMIBv48bwHDBwgCBAkESgQJBQFrERkZERIZGRICvwICAgIDCQUECwZMBgsFBQ8JBg0HBw4GCQ4GBQsG/jAGBxkSqgkQBQHRBgsEBQkDUgIIB/49bwHEBggDAQUIBUoECQQAAAAEAIAAQAOAA0AAGAAxAEIA3wAAAR4BFRQGDwEOASMiJjU0Nj8BPgEzMhYXMSc+ATMyFh8BHgEVFAYjIiYvAS4BNTQ2NzEFITIWFRQGIzEhIiY1NDYzMRMhOgEXHgEXHgEXFR4BFxYUFREcAQcOAQcOAQcjDgEHBiIjISoBJy4BJy4BJzUuASc0JjU8ATUxNTQ2MzIWFTEVFBYVHgEXHgEXMx4BFzIWMyEyNjM+ATc+ATc1PgE3NDY1ETQmNS4BJy4BJyMuASciJiMhIgYjDgEHDgEHFQ4BBxQGHQEUBiMiJjUxNTwBNz4BNz4BNzM+ATc2MjMCngYHBwaABg8IEhkGBoAGDwkJDwa8Bg8JCQ8GgAYGGRIIDwaABgcHBv7JAdUSGRkS/isSGRkShwGcER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0R/mMQHQwNGQwSHQkGBgEBGRIRGQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEZERIZAQEGBgkdEQEMGQ0MHREB3gYPCQkPBoAGBhkSCA8GgAYHBwaABgcHBoAGDwgSGQYGgAYPCQkPBnMZEhIZGRISGQFVAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQoXDAQGAwMSGRkSAhIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEgGaEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAhIZGRIEEB0MDRkMEh0JBgYBAQAAAgCrAGsDVQMVABcALwAAEzIWFTEVMzIWFRQGIzEjIiY1MTU0NjMxATQ2MzEzMhYVMRUUBiMiJjUxNSMiJjUx1RIZqxEZGRHWERkZEQFWGRHWERkZERIZqxEZAZUZEasZEhEZGRHWERkBVhEZGRHWERkZEasZEgAAAwCrAGsDgANAAHoAkgCrAAABMzIWFRQGIzEjKgEHDgEHDgEHMQ4BBwYUFREcARceARceARcxHgEXFjIzIToBNz4BNz4BNzE+ATc2ND0BNDYzMhYVMRUcAQcOAQcOAQcjDgEHBiIjISoBJy4BJy4BJzUuAScmNDU8ATUVETwBNz4BNz4BNzM+ATc2MjMzNDYzMTMyFhUxFRQGIyImNTE1IyImNTElHgEVFAYHAQ4BIyImNTQ2NwE+ATMyFhcxAVxPERkZEU0TGQkICAIGCQMBAgEBAQECAQMJBgIICAkZEwFEExkJCAgCBgkDAQIBARkSERkBAQUHCRwSAQwZDAwdEf64ER0MDBkMExwJBwUBAQEBBQcJHBIBDBkMDB0R+RkS1RIZGRIRGasSGQEeBgcHBv7WBg8JERkGBgEqBg8JCRAFAxUZERIZAQECAQMJBgIICAkZE/68ExkJCAgCBgkDAQIBAQEBAgEDCQYCCAgJGRNNERkZEU8RHQwMGQwTHAkHBQEBAQEFBwkcEgEMGQwLGAwDBgMBAUgRHQwMGQwTHAkHBQEBEhkZEtUSGRkSqxkRHgUQCQkPBv7WBgYZEQkPBgErBQcHBQAACgDVABUDKwNrABAAHQAwADsATgBZAGwAdwCFAJMAADc0NjMxMzIWFTEVFAYjIiY1FzI2NTE1IyIGFRQWMwM0NjMxMzIWFTERFAYjMSMiJjU3IgYVFBYzMTM1Iyc0NjMxMzIWFTERFAYjMSMiJjU3IgYVFBYzMTM1IwU0JiMxIyIGFTERFBYzMTMyNjUnMhYVFAYjMSM1MxM0JiMiBhUxFBYzMjY1ByImNTQ2MzEyFhUUBiPVZEeAEhlkR0dkqyMyVSMyMiOrZEeAEhkZEoBHZKsjMjIjVVWrZEeAEhkZEoBHZKsjMjIjVVUBq2RHgBIZGRKAR2SrIzIyI1VVq2RHR2RkR0dkqyMyMiMjMjIjwEdkGRKAR2RkR1UyI1UyIyMyAVVHZBkS/wASGWRHVTIjIzKqq0dkGRL/ABIZZEdVMiMjMqpVR2QZEv8AEhlkR1UyIyMyqv6rR2RkR0dkZEdVMiMjMjIjIzIABACrABUDVQNrACUAbwC4AOsAAAEyFhUxFTMyFhUUBiMxIxUUBiMiJjUxNSMiJjU0NjMxMzU0NjMxAyEyNjc+ATc+ATcxPgE3NjQ1ETQmJy4BJxUuAS8BLgEnLgEnIy4BKwEiBgcOAQcOAQcxDgEHBhQVERwBFx4BFx4BHwEeARceATMnIiYjLgEnMS4BJyY0NRE8ATc+ATc+ATcxMjYzNjI7AToBFx4BFyMeAR8BHgEXHgEXFBYVERwBBw4BBw4BBzEiBiMGIiMhKgEnATMyNjU0JiMxIyoBJyImIy4BJzEuASc0Jj0BNCYjIgYVMRUcARceARceAR8BHgEXHgEzAgASGVUSGRkSVRkSEhlVEhkZElUZEqQBSBEdDAwZDBMcCQcFAQEBAgMIBQYPCooJEQoIEgoBCxgNxBEdDAwZDBMcCQcFAQEBAQUHCRwSAQwZDAwdETMICAIGCQMBAgEBAQECAQMJBgIICAkZE78RCwMDBwMBAwgMhgwHAgEDAQEBAQIBAwkGAggICRkT/rwTGQkBiXkRGRkReBIZCQkIAQYKAwECAQEZERIZAQEGBgkdEQEMGQ0MHREB6xkSVRkSEhlVEhkZElUZEhIZVRIZ/ioBAQEFBgocEgwZDQwdEQFvDRcLCxIJAQoRCYsJEAYFCAIDAQEBAQUGChwSDBkNDB0R/g4RHQwNGQwSHAkBBgUBAQFXAwMKBgIHCQkZEwHuExkJCQcCBgoDAwEBAQICAQgMhgwIAgMGBAMLEf6XExkJCQcCBgoDAwEBAakZEhIZAQMDCgYCBwkJGRN3EhkZEnkRHQwNGQwSHAkBBgUBAQEAAwCrABUDVQNrAEkAkgDFAAAlITI2Nz4BNz4BNzE+ATc2NDURNCYnLgEnFS4BLwEuAScuAScjLgErASIGBw4BBw4BBzEOAQcGFBURHAEXHgEXHgEfAR4BFx4BMyciJiMuAScxLgEnJjQ1ETwBNz4BNz4BNzEyNjM2MjsBOgEXHgEXIx4BHwEeARceARcUFhURHAEHDgEHDgEHMSIGIwYiIyEqAScBMzI2NTQmIzEjKgEnIiYjLgEnMS4BJzQmPQE0JiMiBhUxFRwBFx4BFx4BHwEeARceATMBXAFIER0MDBkMExwJBwUBAQECAwgFBg8KigkRCggSCgELGA3EER0MDBkMExwJBwUBAQEBBQcJHBIBDBkMDB0RMwgIAgYJAwECAQEBAQIBAwkGAggICRkTvxELAwMHAwEDCAyGDAcCAQMBAQEBAgEDCQYCCAgJGRP+vBMZCQGJeREZGRF4EhkJCQgBBgoDAQIBARkREhkBAQYGCR0RAQwZDQwdERUBAQEFBgocEgwZDQwdEQFvDRcLCxIJAQoRCYsJEAYFCAIDAQEBAQUGChwSDBkNDB0R/g4RHQwNGQwSHAkBBgUBAQFXAwMKBgIHCQkZEwHuExkJCQcCBgoDAwEBAQICAQgMhgwIAgMGBAMLEf6XExkJCQcCBgoDAwEBAakZEhIZAQMDCgYCBwkJGRN3EhkZEnkRHQwNGQwSHAkBBgUBAQEABACrABUDVQNrACAAagCzAOYAAAEeARUUBg8BDgEjIiYvAS4BNTQ2MzIWHwE3PgEzMhYXMQEhMjY3PgE3PgE3MT4BNzY0NRE0JicuAScVLgEvAS4BJy4BJyMuASsBIgYHDgEHDgEHMQ4BBwYUFREcARceARceAR8BHgEXHgEzJyImIy4BJzEuAScmNDURPAE3PgE3PgE3MTI2MzYyOwE6ARceARcjHgEfAR4BFx4BFxQWFREcAQcOAQcOAQcxIgYjBiIjISoBJwEzMjY1NCYjMSMqASciJiMuAScxLgEnNCY9ATQmIyIGFTEVHAEXHgEXHgEfAR4BFx4BMwKeBgcHBqsFEAkJDwZVBgcZEQoPBjeNBg8JCQ8G/r4BSBEdDAwZDBMcCQcFAQEBAgMIBQYPCooJEQoIEgoBCxgNxBEdDAwZDBMcCQcFAQEBAQUHCRwSAQwZDAwdETMICAIGCQMBAgEBAQECAQMJBgIICAkZE78RCwMDBwMBAwgMhgwHAgEDAQEBAQIBAwkGAggICRkT/rwTGQkBiXkRGRkReBIZCQkIAQYKAwECAQEZERIZAQEGBgkdEQEMGQ0MHREBswUQCQkPBqoGBwcGVQYPChEZBwY3jAYHBwb+YgEBAQUGChwSDBkNDB0RAW8NFwsLEgkBChEJiwkQBgUIAgMBAQEBBQYKHBIMGQ0MHRH+DhEdDA0ZDBIcCQEGBQEBAVcDAwoGAgcJCRkTAe4TGQkJBwIGCgMDAQEBAgIBCAyGDAgCAwYEAwsR/pcTGQkJBwIGCgMDAQEBqRkSEhkBAwMKBgIHCQkZE3cSGRkSeREdDA0ZDBIcCQEGBQEBAQAEAKsAFQNVA2sAMAB6AMMA9gAAAT4BMzIWHwE3PgEzMhYVFAYPARceARUUBiMiJi8BBw4BIyImNTQ2PwEnLgE1NDY3MQMhMjY3PgE3PgE3MT4BNzY0NRE0JicuAScVLgEvAS4BJy4BJyMuASsBIgYHDgEHDgEHMQ4BBwYUFREcARceARceAR8BHgEXHgEzJyImIy4BJzEuAScmNDURPAE3PgE3PgE3MTI2MzYyOwE6ARceARcjHgEfAR4BFx4BFxQWFREcAQcOAQcOAQcxIgYjBiIjISoBJwEzMjY1NCYjMSMqASciJiMuAScxLgEnNCY9ATQmIyIGFTEVHAEXHgEXHgEfAR4BFx4BMwGNBRAJCQ8GNzcGDwkRGQYGNzcGBhkRCQ8GNzcGDwkRGQYGNzgFBwcFMAFIER0MDBkMExwJBwUBAQECAwgFBg8KigkRCggSCgELGA3EER0MDBkMExwJBwUBAQEBBQcJHBIBDBkMDB0RMwgIAgYJAwECAQEBAQIBAwkGAggICRkTvxELAwMHAwEDCAyGDAcCAQMBAQEBAgEDCQYCCAgJGRP+vBMZCQGJeREZGRF4EhkJCQgBBgoDAQIBARkREhkBAQYGCR0RAQwZDQwdEQGzBgcHBjc3BgYZEQkPBjc3Bg8JERkGBjc3BgYZEQkPBjc3Bg8JCRAF/mIBAQEFBgocEgwZDQwdEQFvDRcLCxIJAQoRCYsJEAYFCAIDAQEBAQUGChwSDBkNDB0R/g4RHQwNGQwSHAkBBgUBAQFXAwMKBgIHCQkZEwHuExkJCQcCBgoDAwEBAQICAQgMhgwIAgMGBAMLEf6XExkJCQcCBgoDAwEBAakZEhIZAQMDCgYCBwkJGRN3EhkZEnkRHQwNGQwSHAkBBgUBAQEAAAAABQCrABUDVQNrAEkAkgCzANQBBwAAJSEyNjc+ATc+ATcxPgE3NjQ1ETQmJy4BJxUuAS8BLgEnLgEnIy4BKwEiBgcOAQcOAQcxDgEHBhQVERwBFx4BFx4BHwEeARceATMnIiYjLgEnMS4BJyY0NRE8ATc+ATc+ATcxMjYzNjI7AToBFx4BFyMeAR8BHgEXHgEXFBYVERwBBw4BBw4BBzEiBiMGIiMhKgEnAT4BMzIWHwEeARUUBg8BDgEjIiY1NDY/AScuATU0NjcxBw4BIyImLwEuATU0Nj8BPgEzMhYVFAYPARceARUUBgcxEzMyNjU0JiMxIyoBJyImIy4BJzEuASc0Jj0BNCYjIgYVMRUcARceARceAR8BHgEXHgEzAVwBSBEdDAwZDBMcCQcFAQEBAgMIBQYPCooJEQoIEgoBCxgNxBEdDAwZDBMcCQcFAQEBAQUHCRwSAQwZDAwdETMICAIGCQMBAgEBAQECAQMJBgIICAkZE78RCwMDBwMBAwgMhgwHAgEDAQEBAQIBAwkGAggICRkT/rwTGQkBDgYPCQkQBVYGBgYGVgUQCBIZBwU3NwYGBgZuBg8JCRAFVgYGBgZWBRAIEhkHBTc3BgYGBul5ERkZEXgSGQkJCAEGCgMBAgEBGRESGQEBBgYJHREBDBkNDB0RFQEBAQUGChwSDBkNDB0RAW8NFwsLEgkBChEJiwkQBgUIAgMBAQEBBQYKHBIMGQ0MHRH+DhEdDA0ZDBIcCQEGBQEBAVcDAwoGAgcJCRkTAe4TGQkJBwIGCgMDAQEBAgIBCAyGDAgCAwYEAwsR/pcTGQkJBwIGCgMDAQEBRwYHBwZVBg8JCQ8GVQYGGREJDwY3NwYQCAkQBucGBwcGVQYPCQkPBlUGBhkRCQ8GNzcGEAgJEAYBSRkSEhkBAwMKBgIHCQkZE3cSGRkSeREdDA0ZDBIcCQEGBQEBAQAABQCrABUDVQNrAE4AlwCpALsA7gAAJSEyNjc+ATc+ATcxPgE3NjQ1ETwBJy4BJxUuAS8CMCY1Jy4BJy4BJyMuASsBIgYHDgEHDgEHMQ4BBwYUFREcARceARceAR8BHgEXHgEzJyImIy4BJzEuAScmNDURPAE3PgE3PgE3MTI2MzYyOwE6ARceARcxHgEfAR4BFx4BFxYUFREcAQcOAQcOAQcxIgYjBiIjISoBJzc0NjMxITIWFRQGIzEhIiY1MTU0NjMxITIWFRQGIzEhIiY1MSUzMjY1NCYjMSMqASciJiMuAScxLgEnNCY9ATQmIyIGFTEVHAEXHgEXHgEfAR4BFx4BMwFcAUgRHQwMGQwTHAkHBQEBAwIHBQUPCAKJAQEKEQoIEwsBCxkOwREdDAwZDBMcCQcFAQEBAQUHCRwSAQwZDAwdETMICAIGCQMBAgEBAQECAQMJBgIICAkZE7wSDAIEBwIDCA2ICwcBAgIBAQEBAgEDCQYCCAgJGRP+vBMZCSwZEgEAEhkZEv8AEhkZEgEAEhkZEv8AEhkBXXkRGRkReBIZCQkIAQYKAwECAQEZERIZAQEGBgkdEQEMGQ0MHREVAQEBBQYKHBIMGQ0MHREBYA0WCwoSCAEKEAkDkwEBAQoRBwUJAwMBAQEBBQYKHBIMGQ0MHRH+DhEdDA0ZDBIcCQEGBQEBAVcDAwoGAgcJCRkTAe4TGQkJBwIGCgMDAQEBAwIBCA6TDAgDAgYDAwsQ/qUTGQkJBwIGCgMDAQF/ERkZERIZGRKAERkZERIZGRKqGRISGQEDAwoGAgcJCRkTdxIZGRJ5ER0MDRkMEhwJAQYFAQEBAAAEAKsAFQNVA2sAKQBzALwA7wAAATIWFTEVNz4BMzIWFRQGBzEHDgEjIiYnMScuATU0NjMyFhcxFzU0NjMxAyEyNjc+ATc+ATcxPgE3NjQ1ETQmJy4BJxUuAS8BLgEnLgEnIy4BKwEiBgcOAQcOAQcxDgEHBhQVERwBFx4BFx4BHwEeARceATMnIiYjLgEnMS4BJyY0NRE8ATc+ATc+ATcxMjYzNjI7AToBFx4BFyMeAR8BHgEXHgEXFBYVERwBBw4BBw4BBzEiBiMGIiMhKgEnATMyNjU0JiMxIyoBJyImIy4BJzEuASc0Jj0BNCYjIgYVMRUcARceARceAR8BHgEXHgEzAgASGT0FDAcSGQsIgAUMBwcMBYAICxkSBwwFPRkSpAFIER0MDBkMExwJBwUBAQECAwgFBg8KigkRCggSCgELGA3EER0MDBkMExwJBwUBAQEBBQcJHBIBDBkMDB0RMwgIAgYJAwECAQEBAQIBAwkGAggICRkTvxELAwMHAwEDCAyGDAcCAQMBAQEBAgEDCQYCCAgJGRP+vBMZCQGJeREZGRF4EhkJCQgBBgoDAQIBARkREhkBAQYGCR0RAQwZDQwdEQHrGRKwKQMEGRILEgZVBAQEBFUGEgsSGQQDKbASGf4qAQEBBQYKHBIMGQ0MHREBbw0XCwsSCQEKEQmLCRAGBQgCAwEBAQEFBgocEgwZDQwdEf4OER0MDRkMEhwJAQYFAQEBVwMDCgYCBwkJGRMB7hMZCQkHAgYKAwMBAQECAgEIDIYMCAIDBgQDCxH+lxMZCQkHAgYKAwMBAQGpGRISGQEDAwoGAgcJCRkTdxIZGRJ5ER0MDRkMEhwJAQYFAQEBAAUAgAAVA4ADawB/AJsAoQCmANkAACUGIisBIgYVFBYzMTMyNjc+ATc+ATcxPgE3NjQ1ETQmJy4BJxUuAS8BLgEnLgEnMS4BKwEiBgcOAQcOAQcjDgEHDgEdARQWMzI2NTE1PAE3NDY1PgE3MTI2MzYyOwE6ARceARcxHgEfAR4BFx4BFxQWFREUBhUOAQcOAQcjIgYjAT4BMzIWHwEeARUUBgcBDgErASImNTE1NDY3AQMVMzcnBzcXNycHJTMyNjU0JiMxIyoBJyImIy4BJzEuAScmND0BNCYjIgYVMRUcARceARceAR8BHgEXHgEzAwEJGRKiEhkZEqMRHQwNGQwSHQkGBgEBAQMCCAUGEAmKChEJCBMKDBcNxBEdDA0ZDBIcCQEGBQEBARkSEhkBAwMKBgIHCQkZE74SCwMDBgMCCQyFDAgBAgMBAQEBAgEDCgUBAQgJ/swFEAkJDwZqBgcHBv7ABRAJahIZBwYBP/cvoC+g3S45LjkBKnkSGRkSdxMZCQgIAgYJAwECAQEZEhEZAQEFBwkcEgEMGQwMHRFsARkSEhkBAQEFBgocEgwZDQwdEQFvDRcLCxIJAQoRCYsJEAYFCAIDAQEBAQUGChwSDBkNDB0RzhIZGRLMExkJCQcCBgoDAwEBAQICAQgMhgwIAgMGBAMLEf6XExkJCQcCBgoDAwGdBgYGBmsGDwkJDwb+wAYHGRJrCQ8GAUD+kC6gLqDcLjkuOaAZEhIZAQMDCgYCBwkJGRN3EhkZEnkRHQwNGQwSHAkBBgUBAQEAAAAEAKsAFQNVA2sAEABaAKMA1gAAARQGIzEhIiY1NDYzMSEyFhUBITI2Nz4BNz4BNzE+ATc2NDURNCYnLgEnFS4BLwEuAScuAScjLgErASIGBw4BBw4BBzEOAQcGFBURHAEXHgEXHgEfAR4BFx4BMyciJiMuAScxLgEnJjQ1ETwBNz4BNz4BNzEyNjM2MjsBOgEXHgEXIx4BHwEeARceARcUFhURHAEHDgEHDgEHMSIGIwYiIyEqAScBMzI2NTQmIzEjKgEnIiYjLgEnMS4BJzQmPQE0JiMiBhUxFRwBFx4BFx4BHwEeARceATMCqxkS/wASGRkSAQASGf6xAUgRHQwMGQwTHAkHBQEBAQIDCAUGDwqKCREKCBIKAQsYDcQRHQwMGQwTHAkHBQEBAQEFBwkcEgEMGQwMHREzCAgCBgkDAQIBAQEBAgEDCQYCCAgJGRO/EQsDAwcDAQMIDIYMBwIBAwEBAQECAQMJBgIICAkZE/68ExkJAYl5ERkZEXgSGQkJCAEGCgMBAgEBGRESGQEBBgYJHREBDBkNDB0RAUASGRkSEhkZEv7VAQEBBQYKHBIMGQ0MHREBbw0XCwsSCQEKEQmLCRAGBQgCAwEBAQEFBgocEgwZDQwdEf4OER0MDRkMEhwJAQYFAQEBVwMDCgYCBwkJGRMB7hMZCQkHAgYKAwMBAQECAgEIDIYMCAIDBgQDCxH+lxMZCQkHAgYKAwMBAQGpGRISGQEDAwoGAgcJCRkTdxIZGRJ5ER0MDRkMEhwJAQYFAQEBAAYAqwAVA1UDawBOAJcAsAC/AM4BAQAAJSEyNjc+ATc+ATcxPgE3NjQ1ETwBJy4BJxUuAS8CMCY1Jy4BJy4BJyMuASsBIgYHDgEHDgEHMQ4BBwYUFREcARceARceAR8BHgEXHgEzJyImIy4BJzEuAScmNDURPAE3PgE3PgE3MTI2MzYyOwE6ARceARcxHgEfAR4BFx4BFxYUFREcAQcOAQcOAQcxIgYjBiIjISoBJzc+ATMyFh8BHgEVFAYjIiYvAS4BNTQ2NzEnIgYVFBYzMTI2NTQmIzEHNDYzMhYVMRQGIyImNTElMzI2NTQmIzEjKgEnIiYjLgEnMS4BJzQmPQE0JiMiBhUxFRwBFx4BFx4BHwEeARceATMBXAFIER0MDBkMExwJBwUBAQMCBwUFDwgCiQEBChEKCBMLAQsZDsERHQwMGQwTHAkHBQEBAQEFBwkcEgEMGQwMHREzCAgCBgkDAQIBAQEBAgEDCQYCCAgJGRO8EgwCBAcCAwgNiAsHAQICAQEBAQIBAwkGAggICRkT/rwTGQnyBg8JCRAFRwYHGRIJDwZHBgYGBjAbJSUbGiYmGpZYPj5XVz4+WAFdeREZGRF4EhkJCQgBBgoDAQIBARkREhkBAQYGCR0RAQwZDQwdERUBAQEFBgocEgwZDQwdEQFgDRYLChIIAQoQCQOTAQEBChEHBQkDAwEBAQEFBgocEgwZDQwdEf4OER0MDRkMEhwJAQYFAQEBVwMDCgYCBwkJGRMB7hMZCQkHAgYKAwMBAQEDAgEIDpMMCAMCBgMDCxD+pRMZCQkHAgYKAwMBAbkGBgYGRwYPCRIZBwZHBRAJCQ8GcCUbGiYmGhslQD5YWD4+V1c+wBkSEhkBAwMKBgIHCQkZE3cSGRkSeREdDA0ZDBIcCQEGBQEBAQAAAAAEAKsAFQNVA2sAKAByALsA7gAAAT4BMzIWFzEXHgEVFAYjIiYnMScVFAYjIiY1MTUHDgEjIiY1NDY3MTcDITI2Nz4BNz4BNzE+ATc2NDURNCYnLgEnFS4BLwEuAScuAScjLgErASIGBw4BBw4BBzEOAQcGFBURHAEXHgEXHgEfAR4BFx4BMyciJiMuAScxLgEnJjQ1ETwBNz4BNz4BNzEyNjM2MjsBOgEXHgEXIx4BHwEeARceARcUFhURHAEHDgEHDgEHMSIGIwYiIyEqAScBMzI2NTQmIzEjKgEnIiYjLgEnMS4BJzQmPQE0JiMiBhUxFRwBFx4BFx4BHwEeARceATMB6AUMBwcMBYAICxkSBwwFPRkSEhk9BQwHEhkLCICMAUgRHQwMGQwTHAkHBQEBAQIDCAUGDwqKCREKCBIKAQsYDcQRHQwMGQwTHAkHBQEBAQEFBwkcEgEMGQwMHREzCAgCBgkDAQIBAQEBAgEDCQYCCAgJGRO/EQsDAwcDAQMIDIYMBwIBAwEBAQECAQMJBgIICAkZE/68ExkJAYl5ERkZEXgSGQkJCAEGCgMBAgEBGRESGQEBBgYJHREBDBkNDB0RAeMEBAQEVQYSCxIZBAMpsBIZGRKwKQMEGRILEgZV/jIBAQEFBgocEgwZDQwdEQFvDRcLCxIJAQoRCYsJEAYFCAIDAQEBAQUGChwSDBkNDB0R/g4RHQwNGQwSHAkBBgUBAQFXAwMKBgIHCQkZEwHuExkJCQcCBgoDAwEBAQICAQgMhgwIAgMGBAMLEf6XExkJCQcCBgoDAwEBAakZEhIZAQMDCgYCBwkJGRN3EhkZEnkRHQwNGQwSHAkBBgUBAQEAAAUAVQAVA6sDawBOAIkBAAEyAWQAADchMjYzPgE3Iz4BPwE+ATU2NDURNCYnLgEnLgEnMS8BLgEnMS4BJyMuASsBIgYjDgEHMw4BBxUOAQcxFAYVERQWFR4BFx4BFzMeARcyFjMnNTwBNTwBNRURPAE1PAE1FTM6ATsBOgExOgEzOQEeAR8BHgEXMxUcARURHAEHFTEqASMhKgEjKgEjMyUqASsBIgYVFBYzMTMyNjM+ATcjPgE3NT4BNzQ2NRE0JicuAScuAScxLwEuAScjLgEnMS4BKwEiBiMOAQczDgEPAQ4BFTEGFB0BFBYzMjY1MTU8ATU0NjUVMToBOwE4ATE6ATMxHgEfAR4BFzEVHAEVERwBHQEjJTMyNjU0JiMxIyoBIyImIzMxPAE1PAE1MTU0JiMiBhUxFRQWFR4BFx4BHwEeATMWMjMlMzI2NTQmIzEjKgEjIiYjMzE0JjU8ATUxNTQmIyIGFTEVHAEXFBYXHgEfAR4BMxYyM8MBTwgQBwkQCAENEgYBBAQBAQECBQQECQUChAUKBgYMBgEIDgbOCBAGCREIAQwTBgQEAQEBAQMFBhMLAQkQCAYQCBgBAwwJygEBAwQCAQQDggIEAQEBBAsK/rMBAwEFCwUBAqkDDAnnERkZEegIEAYJEQgBDBMGBQMBAQECAQUEBAkFAoQFCwUBBQwHCA8GzQgQBwkQCAENEgYBAwUBGRIRGQEECwrKAwUDAQMDgwIDAgH+b5ISGRkSkQEDAgUKBQEZEhIZAQEDBQYTCwEJEAgGEAgBK5ISGRkSkQEDAgUKBQEBGRESGQEEBAcSDAEIEQcHEAgVAQEEBAYTCwEJEAgGEAgBeAYPCAYNBQYLBQKEBQkEAwYBAgEBAQQEBhMLAQcRCQYQCP4GCBAGCBAJDBMGBQMBAVYBBAoFAQMCAQH4AQMCBQoFAQEDA4MCAwIBAQUE/osJDAMBgBkSEhkBAQQEBhMLAQkQCAYQCAF4Bg8IBg0FBgsFAoQFCQQDBgECAQEBBAQGEwsBBxEJBhAIPRIZGRI8AQMCBQoFAQEDA4MCAwIBAQUE/osJDAMB1RkSERkBBQkFAQQBkRIZGRKSCBAHBxEIDRIGAQQEAYAZEhEZAQUJBQEEAZESGRkSkggQBwcRCA0SBgEEBAEAAAAAAwCAADEDgAPAAE8A+wEUAAABIiYjKgEjMSMiJjU0NjMxMzoBFzIWFx4BHwEeARUWFB0BFAYHDgEHDgEHMQ8BDgEjIiY1NDY/AT4BNzMxPAE1MDQ1MTU8AScxOAExOAE5ASUzMhYVFAYjMSMqASMiBiMzMQYUHQEcATEcARUxMx4BHwEeARceARcxFhQdARwBFRQWFTUzPgE/AT4BNzkBNjQ9ATwBNz4BNxU+AT8CPgEzMhYVFAYPAQ4BBzkBFRwBFRwBFTEVFAYHDgEHMQ4BDwIOAQcOAScuAScjLgEnNCY1PAE1MTU8AT0BMS4BLwEuAScxLgEnNS4BPQE8ATc0Njc+AT8BPgEzNjIzJz4BMzIWFwEeARUUBiMiJicBLgE1NDY3MQMqBQkFAQQB5hIZGRLnCBAHBxEIDRIGAQQEAQEBAgUEBAkFAkEGDwkSGQcGQQIEAQEB/cRSEhkZElEBBAEFCgUBAQEBAwPZBQoEAwUCAgECBREMIwUGAgECAgUDBAoFASwGDwkSGQcGKwIEAgEEAwoGCBMHAyQLFQgJGA0SHgkBBwYBAQIEAdoFCQQEBQIBAQEEBAcSDAEIEQcHEAg3Bg8JCRAFAlYFBxkSCBAG/asGBgYGAuoBGRESGQEEBAcSDAEIEQcHEAgjBg4IBg0GBgoFAkEGBxkSCQ8GQQIEAgIEAwEBHwoLBFYZEhEZAQQLCh8BAQMEAgEEA9kECwcFDAcIDwbNAgQDCBAIAgIIBxECBAECBwa8Bg8IBwwGAQcLBAIsBQcZEggQBiwCAwIBAQQCAQEBvQkVCgkQBwgKBAISBQoDBAUCAhMOCxcKCBMJAgUCzAQFAQECAwLaBAsGBgwGAQgOBiMIEAcHEQgNEgYBBAQBcwYHBwb9qwYPCBIZBgYCVQYPCQkQBQAAAAIAgAAxA4ADQAB1ANcAABMhOgEXMhYXHgEfAR4BFRYUHQEUBgcOAQcxDgEHFAYjMQcOAQc5ARUcARUcARUxFRQGBw4BBzEOAQ8CDgEHDgEnLgEnIy4BJzQmNTwBNTE1PAE9ATEuAS8BLgEnMS4BJzUuAT0BPAE3NDY3PgE/AT4BMzYyMwcxBhQdARwBMRwBFTEzHgEfAR4BFx4BFzEWFB0BHAEVFBYVNTM+AT8BPgE3OQE2ND0BPAE3PgE3FT4BPwI+ATczMTwBNTA0NTE1PAE1NCY1FTEiJiMqASMxISoBIyIGIzPuAiQIEAcHEQgNEgYBBAQBAQECBQQECgQBAdcCBAIBBAMKBggTBwMkCxUICRgNEh4JAQcGAQECBAHaBQkEBAUCAQEBBAQHEgwBCBEHBxAIGAEBAQMD2QUKBAMFAgIBAgURDCMFBgIBAgIFAwQKBQHYAgQBAQEFCQUCAwH93gEEAQUKBQEDQAEEBAcSDAEIEQcHEAgjBg4IBwwGBgsEAQHYAgMCAQEEAgEBAb0JFQoJEAcICgQCEgUKAwQFAgITDgsXCggTCQIFAswEBQEBAgMC2gQLBgYMBgEIDgYjCBAHBxEIDRIGAQQEAVYECwofAQEDBAIBBAPZBAsHBQwHCA8GzQIEAwgQCAICCAcRAgQBAgcGvAYPCAcMBgEHCwQC2AEEAgIEAwEBHwEDAgUKBQEBAQAAAgBVABUDqwNrACwASAAAATQ2MzEzMhYVMRUzMhYVMRUUBiMxIxUUBiMxIyImNTE1IyImNTE1NDYzMTM1ISMVFAYjMSMVMzIWFTEVMzU0NjMxMzUjIiY1MQFVMiSqJDKqJDIyJKoyJKokMqokMjIkqgEAqhkS1dUSGaoZEtXVEhkDFSQyMiSqMiSqJDKqJDIyJKoyJKokMqrVEhmqGRLV1RIZqhkSAAAAAwCAABUDgANpABEAQgBnAAATMhYVMREUBiMiJjUxETQ2MzEFFjY3PgEzMhYVERQGBzEOAScuAS8BLgEnJgYHDgEjIiY1ETQ2NzU+ARceAR8BHgEXBRE+ATMyFhcjHgEfAR4BFxY2NxEOASMiJiczLgEvAS4BJyYGB6sRGRkREhkZEgH+IkgoBQ4HEhkJBzZnMy9YKAIqSiQiSCgFDgcSGQkHNmczL1goAipKJP4sGDcdCBAIAS9YKAIqSiQfQCMYNx0IEAgBL1goAipKJB9AIwMVGRH9VRIZGRICqxEZGQQSIAQFGRL+GwsRBikcBgUiEQISHQQEEx8EBRkSAeUKEgUBKRsFBSISARMcBAr+fAsNAQEFIhIBEx0DBA4XAYQLDAEBBSISARMcBAMNGAAAAAUAVQBAA6sDQAAQACEAWgCPAMAAAAEyFhUxERQGIyImNTERNDYzFxQGIzEhIiY1NDYzMSEyFhUTISoBJy4BJy4BLwEuAScuATURNDYzMSEyFhceARceARczHgEXHgEVERQGBw4BBw4BBzEOAQcGIiM3PgE3PgE3NTQ2NTY0NRE8ASc0JjUuAScxIiYjJiIjIREcARcUFhUeARcxHgEXMhYzITI2MwEuASsBIgYVMRQGIyImNTE0NjMxMzIWFx4BFyMeAR8BHgEVFAYjIiYvAS4BJy4BIycCABIZGRISGRkSqxkS/wASGRkSAQASGU7+DhEdDA0ZDBIcCQEGBQEBARkSAnkRHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkT/bQBAwMKBgIHCQkZEwHuExkJ/mUDCxGdERkZEhIZSzWhDRcLCxIJAQoRCTAGBhkSCA8GLgwIAgMGAwECQBkS/wARGRkRAQASGasRGRkREhkZEv6rAQEGBgkdEQEMGQ0MHREBzhIZAQEBBQYKHBIMGQ0MHRH+uREdDA0ZDBIdCQYGAQFWAQIBAwoFAQEICQkZEgFEExkJCQcCBgoDAwH+XhIZCQkIAQYKAwECAQEBAlMBARkSEhkZEjVLAQMCCAUGEAkwBg8IEhkGBi0MCAECAwEAAAAEAFUAQAOrA0AAIABZAI4AvwAAAR4BFRQGDwEOASMiJi8BLgE1NDYzMhYfATc+ATMyFhcxEyEqAScuAScuAS8BLgEnLgE1ETQ2MzEhMhYXHgEXHgEXMx4BFx4BFREUBgcOAQcOAQcxDgEHBiIjNz4BNz4BNzU0NjU2NDURPAEnNCY1LgEnMSImIyYiIyERHAEXFBYVHgEXMR4BFzIWMyEyNjMBLgErASIGFTEUBiMiJjUxNDYzMTMyFhceARcjHgEfAR4BFRQGIyImLwEuAScuASMnAp4GBwcGqwUQCQkPBlUGBxkRCg8GN40GDwkJDwZb/g4RHQwNGQwSHAkBBgUBAQEZEgJ5ER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHREzCQcCBgoDAwEBAwMKBgIHCQkZE/20AQMDCgYCBwkJGRMB7hMZCf5lAwsRnREZGRISGUs1oQ0XCwsSCQEKEQkwBgYZEggPBi4MCAIDBgMBAgkGDwkJEAWrBgcHBlUGEAkSGQcGOI0GBgYG/jcBAQYGCR0RAQwZDQwdEQHOEhkBAQEFBgocEgwZDQwdEf65ER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkSAUQTGQkJBwIGCgMDAf5eEhkJCQgBBgoDAQIBAQECUwEBGRISGRkSNUsBAwIIBQYQCTAGDwgSGQYGLQwIAQIDAQAAAAAFAFUAQAOrA0AAGAAxAGoAnwDQAAABHgEVFAYPAQ4BIyImNTQ2PwE+ATMyFhcxFQ4BIyImLwEuATU0NjMyFh8BHgEVFAYHMRchKgEnLgEnLgEvAS4BJy4BNRE0NjMxITIWFx4BFx4BFzMeARceARURFAYHDgEHDgEHMQ4BBwYiIzc+ATc+ATc1NDY1NjQ1ETwBJzQmNS4BJzEiJiMmIiMhERwBFxQWFR4BFzEeARcyFjMhMjYzAS4BKwEiBhUxFAYjIiY1MTQ2MzEzMhYXHgEXIx4BHwEeARUUBiMiJi8BLgEnLgEjJwJzBgcHBqoGDwkRGQYGqgYPCQkQBQUQCQkPBqoHBxkSCRAGqgYHBwWF/g4RHQwNGQwSHAkBBgUBAQEZEgJ5ER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHREzCQcCBgoDAwEBAwMKBgIHCQkZE/20AQMDCgYCBwkJGRMB7hMZCf5lAwsRnREZGRISGUs1oQ0XCwsSCQEKEQkwBgYZEggPBi4MCAIDBgMBAgkGDwkJEAWrBgYZEggPBqsGBgYG5wYHBwarBRAJEhkHBqsGDwkJDwbiAQEGBgkdEQEMGQ0MHREBzhIZAQEBBQYKHBIMGQ0MHRH+uREdDA0ZDBIdCQYGAQFWAQIBAwoFAQEICQkZEgFEExkJCQcCBgoDAwH+XhIZCQkIAQYKAwECAQEBAlMBARkSEhkZEjVLAQMCCAUGEAkwBg8IEhkGBi0MCAECAwEABQBVAEADqwNAACAAQQB6AK8A4AAAAT4BMzIWHwEeARUUBg8BDgEjIiY1NDY/AScuATU0NjcxBw4BIyImLwEuATU0Nj8BPgEzMhYVFAYPARceARUUBgcxBSEqAScuAScuAS8BLgEnLgE1ETQ2MzEhMhYXHgEXHgEXMx4BFx4BFREUBgcOAQcOAQcxDgEHBiIjNz4BNz4BNzU0NjU2NDURPAEnNCY1LgEnMSImIyYiIyERHAEXFBYVHgEXMR4BFzIWMyEyNjMBLgErASIGFTEUBiMiJjUxNDYzMTMyFhceARcjHgEfAR4BFRQGIyImLwEuAScuASMnAjcGDwkJEAVWBgYGBlYFEAgSGQcFNzcGBgYGbgYPCQkQBVYGBgYGVgUQCRIZBwY3NwYGBgYBMP4OER0MDRkMEhwJAQYFAQEBGRICeREdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0RMwkHAgYKAwMBAQMDCgYCBwkJGRP9tAEDAwoGAgcJCRkTAe4TGQn+ZQMLEZ0RGRkSEhlLNaENFwsLEgkBChEJMAYGGRIIDwYuDAgCAwYDAQIJBgYGBlYFEAkJDwZVBgYZEggPBjc4BRAJCQ8G5wYHBwZVBg8JCRAFVgYHGRIJEAU4NwYPCQkPBuIBAQYGCR0RAQwZDQwdEQHOEhkBAQEFBgocEgwZDQwdEf65ER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkSAUQTGQkJBwIGCgMDAf5eEhkJCQgBBgoDAQIBAQECUwEBGRISGRkSNUsBAwIIBQYQCTAGDwgSGQYGLQwIAQIDAQAAAAUAVQBAA6sDQAARACMAXACRAMIAAAE0NjMxITIWFRQGIzEhIiY1MTU0NjMxITIWFRQGIzEhIiY1MQEhKgEnLgEnLgEvAS4BJy4BNRE0NjMxITIWFx4BFx4BFzMeARceARURFAYHDgEHDgEHMQ4BBwYiIzc+ATc+ATc1NDY1NjQ1ETwBJzQmNS4BJzEiJiMmIiMhERwBFxQWFR4BFzEeARcyFjMhMjYzAS4BKwEiBhUxFAYjIiY1MTQ2MzEzMhYXHgEXIx4BHwEeARUUBiMiJi8BLgEnLgEjJwFVGRIBABIZGRL/ABIZGRIBABIZGRL/ABIZAaT+DhEdDA0ZDBIcCQEGBQEBARkSAnkRHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkT/bQBAwMKBgIHCQkZEwHuExkJ/mUDCxGdERkZEhIZSzWhDRcLCxIJAQoRCTAGBhkSCA8GLgwIAgMGAwEBQBIZGRISGRkSgBIZGRISGRkS/oABAQYGCR0RAQwZDQwdEQHOEhkBAQEFBgocEgwZDQwdEf65ER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkSAUQTGQkJBwIGCgMDAf5eEhkJCQgBBgoDAQIBAQECUwEBGRISGRkSNUsBAwIIBQYQCTAGDwgSGQYGLQwIAQIDAQAFAFUAQAOrA0AAEAA0AG0AogDTAAABMhYVMREUBiMiJjUxETQ2Mwc+ATMyFhcxFzc+ATMyFhUUBgcxBw4BIyImJzEnLgE1NDY3MQEhKgEnLgEnLgEvAS4BJy4BNRE0NjMxITIWFx4BFx4BFzMeARceARURFAYHDgEHDgEHMQ4BBwYiIzc+ATc+ATc1NDY1NjQ1ETwBJzQmNS4BJzEiJiMmIiMhERwBFxQWFR4BFzEeARcyFjMhMjYzAS4BKwEiBhUxFAYjIiY1MTQ2MzEzMhYXHgEXIx4BHwEeARUUBiMiJi8BLgEnLgEjJwIAEhkZEhIZGRKjBRMLBwwFaGgFDAcSGQsIgAUMBwcMBYAICwQEAZz+DhEdDA0ZDBIcCQEGBQEBARkSAnkRHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkT/bQBAwMKBgIHCQkZEwHuExkJ/mUDCxGdERkZEhIZSzWhDRcLCxIJAQoRCTAGBhkSCA8GLgwIAgMGAwECQBkS/wARGRkRAQASGb4JCgMERUUEAxkRCxMGVQQDAwRVBhMLBgwF/r4BAQYGCR0RAQwZDQwdEQHOEhkBAQEFBgocEgwZDQwdEf65ER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkSAUQTGQkJBwIGCgMDAf5eEhkJCQgBBgoDAQIBAQECUwEBGRISGRkSNUsBAwIIBQYQCTAGDwgSGQYGLQwIAQIDAQAAAAUAVQAVA6sDQABaAHYAfACVAOQAADcyFjsBMhYVFAYjMSMqAScuAScuAS8BLgEnLgE1ETQ2MzEhMhYXHgEXHgEXMx4BFx4BHQEUBiMiJjUxNTwBJzQmNS4BJzEiJiMmIiMhERwBFxQWFR4BFzEeARcBPgEzMhYfAR4BFRQGBwEOASsBIiY1MTU0NjcBAxUzAScBNz4BMzIWHwEeARUUBiMiJi8BLgE1NDY3MQMqASMwIiMxIyoBIyIGIzMxHAEdARQGIyImNTE1NDY1PgE3PgE/AT4BMzYyOwEyFhceARcxHgEfAR4BFRQGIyImLwEuAScxNTgBMTgBOQHUCRkTIhEZGREkER0MDRkMEhwJAQYFAQEBGRICeREdDA0ZDBIcCQEGBQEBARkSEhkBAwMKBgIHCQkZE/20AQMDCgYCBwkCIwYPCQkQBWsGBwcG/sAGDwlrERkGBgFA9y4BFi/+640FEAkJDwZVBgYZEggPBlYFBwcF8wIEAgIBygEDAgUKBQEZEhIZAQEDBQYTCwEJEAgGEAjOBg4IBwwGBgsEQwYGGRIIDwZBAgQClgEZERIZAQEGBgkdEQEMGQ0MHREBzhIZAQEBBQYKHBIMGQ0MHREEERkZEQITGQkJBwIGCgMDAf5eEhkJCQgBBgoDAQIBAXMGBgYGawYPCQkPBv7ABgcZEmsJDwYBQP6QLgEVLv7r8AYGBgZWBRAIEhkHBVYFEAkJDwYBYgEECwoREhkZEhIIEAcHEQgNEgYBBAQBAQECBQQECgRDBg8IEhkGBkECBAEBAAAABQBVAEAD7wNAADYAVwCQAMUA9gAAJSEqAScuAScuAS8BJjY3PgE/AT4BMzgBMSE6ARceARceARcVFgYHDgEHFQ8BDgEHDgEPAQ4BIzcxPgE/AT4BPwEjIiYjKgEjMyEHDgEHFTEyFjMhOgE3MwchKgEnLgEnLgEvAS4BJy4BNRE0NjMxITIWFx4BFx4BFzMeARceARURFAYHDgEHDgEHMQ4BBwYiIzc+ATc+ATc1NDY1NjQ1ETwBJzQmNS4BJzEiJiMmIiMhERwBFxQWFR4BFzEeARcyFjMhMjYzAS4BKwEiBhUxFAYjIiY1MTQ2MzEzMhYXHgEXIx4BHwEeARUUBiMiJi8BLgEnLgEjJwNQ/YkLEwgJFAoOEwQBAwECAQYCPQQXDgKnCxMICRUKDRMFAwECAQUDLwEDCAgHEQoBDBkLEAECAi4CBAIBAQYMBwIEAgH9ezQCBAIFDwwCcwcIAwFn/g4RHQwNGQwSHAkBBgUBAQEZEgJ5ER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHREzCQcCBgoDAwEBAwMKBgIHCQkZE/20AQMDCgYCBwkJGRMB7hMZCf5lAwsRnREZGRISGUs1oQ0XCwsSCQEKEQkwBgYZEggPBi4MCAIDBgMBQAEBBQYIGQ8BCxUJCBMK1Q4RAQEFBggZDwELFQkIEwoBowMLFwoJDQQBBQFWAwgHogYPCAMBtQYPCAMBAVYBAQYGCR0RAQwZDQwdEQHOEhkBAQEFBgocEgwZDQwdEf65ER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkSAUQTGQkJBwIGCgMDAf5eEhkJCQgBBgoDAQIBAQECUwEBGRISGRkSNUsBAwIIBQYQCTAGDwgSGQYGLQwIAQIDAQAABABVAEADqwNAABAASQB+AK8AAAEUBiMxISImNTQ2MzEhMhYVEyEqAScuAScuAS8BLgEnLgE1ETQ2MzEhMhYXHgEXHgEXMx4BFx4BFREUBgcOAQcOAQcxDgEHBiIjNz4BNz4BNzU0NjU2NDURPAEnNCY1LgEnMSImIyYiIyERHAEXFBYVHgEXMR4BFzIWMyEyNjMBLgErASIGFTEUBiMiJjUxNDYzMTMyFhceARcjHgEfAR4BFRQGIyImLwEuAScuASMnAqsZEv8AEhkZEgEAEhlO/g4RHQwNGQwSHAkBBgUBAQEZEgJ5ER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHREzCQcCBgoDAwEBAwMKBgIHCQkZE/20AQMDCgYCBwkJGRMB7hMZCf5lAwsRnREZGRISGUs1oQ0XCwsSCQEKEQkwBgYZEggPBi4MCAIDBgMBAZURGRkREhkZEv6rAQEGBgkdEQEMGQ0MHREBzhIZAQEBBQYKHBIMGQ0MHRH+uREdDA0ZDBIdCQYGAQFWAQIBAwoFAQEICQkZEgFEExkJCQcCBgoDAwH+XhIZCQkIAQYKAwECAQEBAlMBARkSEhkZEjVLAQMCCAUGEAkwBg8IEhkGBi0MCAECAwEAAAAABgBVAEADqwNAADgAbQCGAJUApADVAAAlISoBJy4BJy4BLwEuAScuATURNDYzMSEyFhceARceARczHgEXHgEVERQGBw4BBw4BBzEOAQcGIiM3PgE3PgE3NTQ2NTY0NRE8ASc0JjUuAScxIiYjJiIjIREcARcUFhUeARcxHgEXMhYzITI2MyU+ATMyFh8BHgEVFAYjIiYvAS4BNTQ2NzEnIgYVFBYzMTI2NTQmIzEHNDYzMhYVMRQGIyImNTETLgErASIGFTEUBiMiJjUxNDYzMTMyFhceARcjHgEfAR4BFRQGIyImLwEuAScuASMnAvn+DhEdDA0ZDBIcCQEGBQEBARkSAnkRHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkT/bQBAwMKBgIHCQkZEwHuExkJ/u8GDwkJEAVHBgcZEgkPBkcGBgYGMBslJRsaJiYallg+PldXPj5YPAMLEZ0RGRkSEhlLNaENFwsLEgkBChEJMAYGGRIIDwYuDAgCAwYDAUABAQYGCR0RAQwZDQwdEQHOEhkBAQEFBgocEgwZDQwdEf65ER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkSAUQTGQkJBwIGCgMDAf5eEhkJCQgBBgoDAQIBAQHkBgcHBkcFEAkRGQYGRwYPCQkPBnEmGhslJRsaJkA+V1c+PlhYPgE+AQEZEhIZGRI1SwEDAggFBhAJMAYPCBIZBgYtDAgBAgMBAAAFAFUAQAOrA0AAEAAzAGwAoQDSAAAlIiY1MRE0NjMyFhUxERQGIzcOASMiJicxJwcOASMiJjU0NjcxNz4BMzIWFzEXHgEVFAYHEyEqAScuAScuAS8BLgEnLgE1ETQ2MzEhMhYXHgEXHgEXMx4BFx4BFREUBgcOAQcOAQcxDgEHBiIjNz4BNz4BNzU0NjU2NDURPAEnNCY1LgEnMSImIyYiIyERHAEXFBYVHgEXMR4BFzIWMyEyNjMBLgErASIGFTEUBiMiJjUxNDYzMTMyFhceARcjHgEfAR4BFRQGIyImLwEuAScuASMnAgASGRkSEhkZEqMFEwsHDAVoaAUMBxIZCwiABQwHBwwFgAgLBARW/g4RHQwNGQwSHAkBBgUBAQEZEgJ5ER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHREzCQcCBgoDAwEBAwMKBgIHCQkZE/20AQMDCgYCBwkJGRMB7hMZCf5lAwsRnREZGRISGUs1oQ0XCwsSCQEKEQkwBgYZEggPBi4MCAIDBgMB6xkRAQASGRkS/wARGb0ICwQERUUEBBkSCxMFVgMEBANWBRMLBwwF/pgBAQYGCR0RAQwZDQwdEQHOEhkBAQEFBgocEgwZDQwdEf65ER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkSAUQTGQkJBwIGCgMDAf5eEhkJCQgBBgoDAQIBAQECUwEBGRISGRkSNUsBAwIIBQYQCTAGDwgSGQYGLQwIAQIDAQAAAwBVAEADqwNAADgAbQCeAAAlISoBJy4BJy4BLwEuAScuATURNDYzMSEyFhceARceARczHgEXHgEVERQGBw4BBw4BBzEOAQcGIiM3PgE3PgE3NTQ2NTY0NRE8ASc0JjUuAScxIiYjJiIjIREcARcUFhUeARcxHgEXMhYzITI2MwEuASsBIgYVMRQGIyImNTE0NjMxMzIWFx4BFyMeAR8BHgEVFAYjIiYvAS4BJy4BIycC+f4OER0MDRkMEhwJAQYFAQEBGRICeREdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0RMwkHAgYKAwMBAQMDCgYCBwkJGRP9tAEDAwoGAgcJCRkTAe4TGQn+ZQMLEZ0RGRkSEhlLNaENFwsLEgkBChEJMAYGGRIIDwYuDAgCAwYDAUABAQYGCR0RAQwZDQwdEQHOEhkBAQEFBgocEgwZDQwdEf65ER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkSAUQTGQkJBwIGCgMDAf5eEhkJCQgBBgoDAQIBAQECUwEBGRISGRkSNUsBAwIIBQYQCTAGDwgSGQYGLQwIAQIDAQAAAAUAVQAVA6sDawA8AGYAvQEIAVIAACUhIiYjLgEnMy4BJzUuAScxNCY1ETQ2MzEhOgEzHgEXHgEXMx4BFRYUFREcAQcUBgc3DgEHIw4BBzEiBiM3NTY0NRE8ATU0JjU5ASoBIyoBIzEhERwBFRwBFTUzOgEzIToBMzoBMyM3IyImNTQ2MzEzOgEzOgEzIzU8ATURPAE1PAE1MSMqASMqASMzIRUUBiMiJjUxNTQ2MzEhOgEzHgEXHgEXMR4BFxQWFREUBhUOAQc1DgEHIw4BBzEiBiMBKgEjKgEjMSMqASMqASMzFRwBHQEUBiMiJjUxNTQ2NT4BNz4BNzM+ATcyNjsBMhYXHgEXMR4BHwIeARUUBiMiJicxJy4BJzkCEyoBIyoBIzMjKgEjKgEjMxUGFB0BFAYjIiY1MTU8ATc0Njc+ATczPgE3MjY7ATIWFx4BFx4BHwIeARUUBiMiJicxJy4BJzkCApL+MQgQBgkRCAEMEwYEBAEBGRICEggQBwcRCA0SBgEEBAEBBQQBBxIMAQcQCQcQCBgBAQUJBQIDAf4aAQMMCQHNAQMBBgoFAZNoERkZEWcBAwIFCgUBAQQKBQEDAgH+GRkREhkZEgISCBAGCBAJDBMGBQMBAQEBBAQGEwsBBxEJBhAI/hYCBAMBAQGDAQMCBQoFARkSEhkBAQMFBhMLAQkQCAYQCIYIEQgIDgYHDAQBLgQFGRIKEQYuAgQCqwIFAgECAQGDAQQBBQoFAQEZERIZAQQEBxIMAQgRBwcQCIYHEQkIDgYHCwUBLgQEGREKEQYuAgQCFQEBBAQGEwsBBxEJBhAIAWgRGQEEBAYTDAkRBwcPCP7bCBAGCREIAQwTBgQEAQFWAQMMCQEiAgMBBQoF/sQBAwIFCgUBqhkSEhkBAwwJASICAgIFCgWAEhkZEqsRGQEEBAYTDAkRBwcPCP7bCBAGCREIAQwTBgQEAQEBAAEDDAkREhkZEhIIEAYIEAkMEwYFAwEBAQIDBwQFDQYCOwUNCBEZCAc7AwUCAQABAwwJERIZGRISCBAGCBAJDBMGBQMBAQECAwYFBQ0GAjsFDQgRGQgHOwMFAgAAAAAFAFUAlQOrAusAJgA4AEoAWABmAAABOAExMhYXFRMeARUUBiMiJic1CwEOASMiJjU0NjcVEz4BMzgBOQEDNDYzMSEyFhUUBiMxISImNTElMhYVMREUBiMiJjUxETQ2MzEHIgYVFBYzMTI2NTQmIwc0NjMyFhUxFAYjIiY1AVUOFQXVAgEZEQ4VBa6uBRUNEhkCAtUFFQ2qGREBABIZGRL/ABEZAtUSGRkSEhkZEoAjMjIjIzIyI6tkR0dkZEdHZALrDwsB/gADCQQSGQ8LAQGh/l8MDxkSBAkEAQIADA/+gBEZGRESGRkSgBkS/wASGRkSAQASGVYyIyMyMiMjMlVHZGRHR2RkRwAEAFUAwAOrAsAAIgAmAEkATQAAAT4BMzIWFzEFHgEVFAYHMQUOASMiJjU4ATkBETgBMTQ2NzEXETcnJT4BMzIWFzEFHgEVFAYHMQUOASMiJjU4ATkBETgBMTQ2NzEXETcnAeoFCwYGCgUBgAoMDAr+gAUKBhIZDAlB/f3+PwULBgYKBQGACgwMCv6ABQoGEhkMCUH9/QK6AwMDAtYFFAwMFAXWAgMZEgGqDBMGbf7mjY1tAwMDAtYFFAwMFAXWAgMZEgGqDBMGbf7mjY0AAAAABwBVAEADqwNrAAwAHgArAD0AhgDLAPEAAAEyFhUUBiMxIzU0NjMXNCYjIgYVMRUUFjMxMzI2NTElIgYVFBYzMTM1NCYjBzQ2MzIWFTEVFAYjMSMiJjUxFyE6ARceARceAR8BHgEXHgEdARQGBw4BBw4BByMOAQcGIiMhKgEnLgEnLgEvAS4BJy4BNTwBNTE1NDY3PgE3PgE3MT4BNzYyMwcOAQcOAQcxFAYVBhQdARwBFxQWFR4BFzEeARcyFjMhMjYzPgE3PgE3NTQ2NTY0PQE8ASc0JjUuAScxLgEnJiIjISoBByUyFhUxFSEyFhUUBiMxIRUUBiMiJjUxNSEiJjU0NjMxITU0NjMxAmsaJiYaQCUblVc+PlgZEms+V/6VGiYmGkAlG5VXPj5YGRJrPlcHAfIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEQEMGQ0MHRH+DhEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0RMwkHAgYKAwMBAQMDCgYCBwkJGRMB7hMZCQkHAgYKAwMBAQMDCgYCBwkJGRP+EhMZCQEsEhkBVRIZGRL+qxkSEhn+qxIZGRIBVRkSAxUlGxomQBslQD5YWD5qEhlXPkAlGxomQBslQD5YWD5qEhlXPkABAQUHCRwSAQwZDAwdEfIRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0KGA0DBQPyER0MDBkMExwJBwUBAVYBAgEDCQYCCAgJGRPvEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS7xMZCQgIAgYJAwECAQEBVhkR1hkREhnVEhkZEtUZEhEZ1hEZAAAFAFUAFQOrA2sAEAAvAEwAcQCWAAATNDYzMSEyFhUUBiMxISImNQEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEBNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNSUOARUUFhceARceATMyNjc+ATc+ATU0JicuAScuASMiBgcOAQcnPgEzMhYXHgEXHgEVFAYHDgEHDgEjIiYnLgEnLgE1NDY3PgE3VRkSAwASGRkS/QASGQGrRz4+XRsaGhtdPj5HRz4+XRsaGhtdPj5H/lUiIXROTlhYTk50ISIiIXROTlhYTk50ISIBWRUZGRULFwsLEwcHEwsLFwsVGRkVCxcLCxMHBxMLCxcLDhQwHBwwFBMgDRkcHBkNIBMUMBwcMBQTIA0ZHBwZDSATAcASGRkSEhkZEgFVGhtdPj5HRz4+XRsaGhtdPj5HRz4+XRsa/qtYTk50ISIiIXROTlhYTk50ISIiIXROTlj+L4NMTIMvGCILCwcHCwsiGC+DTEyDLxgiCwsHBwsLIhiDEhgYEhMxHDmVU1OVORwxExIYGBITMRw5lVNTlTkcMRMAAAAAAwBVAMADqwLAABAAIQAyAAA3NDYzMSEyFhUUBiMxISImNTU0NjMxITIWFRQGIzEhIiY1NTQ2MzEhMhYVFAYjMSEiJjVVGRIDABIZGRL9ABIZGRIDABIZGRL9ABIZGRIDABIZGRL9ABIZ6xEZGRESGRkS1RIZGRISGRkS1RIZGRIRGRkRAAAAAAMAqwDAA1UCwAARACMANQAANzQ2MzEhMhYVFAYjMSEiJjUxNTQ2MzEhMhYVFAYjMSEiJjUxNTQ2MzEhMhYVFAYjMSEiJjUxqxkRAlYRGRkR/aoRGRkRAlYRGRkR/aoRGRkRAlYRGRkR/aoRGesRGRkREhkZEtUSGRkSEhkZEtUSGRkSERkZEQADAGcAQAOZA0AARQCLALAAAAEhOgEXHgEXHgEXFR4BFx4BHwEeARcWBgcOAQcjDgEHBiIjISoBJy4BJy4BJzEuATc+AT8BPgE3PgE3PgE3Mz4BMzE2MjMHIgYHDgEHMQ4BBw4BDwEOAQcGFhceARcxHgEzHgEzITI2NzI2Nz4BNzE+AScuAS8BLgEnFS4BJy4BJzEuASMmIiMhKgEHNzQ3PgE3NjMyFx4BFxYVMRQGIyImNTE0JiMiBhUxFAYjIiY1MQFIAXAPGQsLFgsRGwoHCAIDBAMoAwUBAQEGCB0SAQ0cDw0iE/4+EyINDxwNEx0IBgEBAQUDKAMEAwIIBwobEAEKFgwLGQ8sBwcCBQoDAQMBAgQDJwQEAQEBAQIKBgIJCgsdFQG+FR0LCgkBBwoCAQEBAQQEJwMEAgEDAQMKBQIHBwgVEP6SEBUIDxAROicnLCwnJzoREBkREhlLNTVLGRIRGQKVAQEEBQgXDgEKFQsKGQ7yFCENDh0PFSILCAYBAgIBBggLIhUPHQ4NIRTyDhkKCxUKDxcIBAYBVgIBAggFAQcHCBUP7xUdCwoJAgcLBAEDAQEBAQMBBAsHAgkKCx0V7w4XCwQHBwEFCAIBAgEBLCwnJzkREREROScnLBIZGRI1S0s1EhkZEgAGAFUAawNVAxUAHwAwAEIAVABmAHgAAAEeARURFAYjIiY1MREHDgEjIiY1NDY3MTc+ATMyFhcxJTIWFTERFAYjIiY1MRE0NjMRMhYVMREUBiMiJjUxETQ2MzEBMhYVMREUBiMiJjUxETQ2MzERMhYVMREUBiMiJjUxETQ2MzEFNDYzMSEyFhUUBiMxISImNTEDRAgJGRESGUgDBwMSGRANgAMHBAcMBv08EhkZEhIZGRISGRkSEhkZEgFVEhkZEhEZGRESGRkSERkZEf6AGRIBVRIZGRL+qxIZAmMGEgv+VREZGREBcBgBARkRDhYFKgIBBQOyGRH+1RIZGRIBKxEZ/tYZEv7VERkZEQErEhkBKhkR/tUSGRkSASsRGf7WGRL+1REZGREBKxIZKxIZGRISGRkSAAYAVQBrA6sDFQA2AEcAWQBrAH0AjwAAASIGFTEVFAYjIiY1MTU0NjMxMzgBMTIWFRQGDwEzMhYVFAYjMSEiJjU0Nj8BPgE1NCYjOAExIwEyFhUxERQGIyImNTERNDYzETIWFTERFAYjIiY1MRE0NjMxATIWFTERFAYjIiY1MRE0NjMxETIWFTERFAYjIiY1MRE0NjMxBTQ2MzEhMhYVFAYjMSEiJjUxAwAjMhkSEhlkRwdEYBoWlJkSGRkS/wASGQcG3QoMLSEH/YASGRkSEhkZEhIZGRISGRkSAVUSGRkSERkZERIZGRIRGRkR/oAZEgFVEhkZEv6rEhkCFTIjFRIZGRIVR2RgRCI7FpQZEhEZGREJEAXdCxwQIS0BABkR/tUSGRkSASsRGf7WGRL+1REZGREBKxIZASoZEf7VEhkZEgErERn+1hkS/tURGRkRASsSGSsSGRkSEhkZEgAAAAAGAFUAawOrAxUANwBIAFoAbAB+AJAAAAE0NjMxITIWFRQGDwEeARUUBiMxIiYnNS4BNTQ2MzIWFzMeATMyNjU0JisBIiY1NDY/ASMiJjUxJTIWFTERFAYjIiY1MRE0NjMRMhYVMREUBiMiJjUxETQ2MzEBMhYVMREUBiMiJjUxETQ2MzERMhYVMREUBiMiJjUxETQ2MzEFNDYzMSEyFhUUBiMxISImNTECVRkSAQASGQcGajRCY0c3WBIBARkRDhYEAQkrHCMyMiMrERkGBmKZEhn+KxIZGRISGRkSEhkZEhIZGRIBVRIZGRIRGRkREhkZEhEZGRH+gBkSAVUSGRkS/qsSGQJAEhkZEgkPBmoRWTlGZD8xAgMHAxIZEAwZIDIjJDIZEQkQBWIZEtUZEf7VEhkZEgErERn+1hkS/tURGRkRASsSGQEqGRH+1RIZGRIBKxEZ/tYZEv7VERkZEQErEhkrEhkZEhIZGRIABwBVAGsDqwMVACAAMQBCAFQAZgB4AIoAAAEeARUUBgcxAzMyFhUUBiMxIyImNTQ2NxUTPgEzMhYXMRcyFhUxFRQGIyImNTE1NDYzATIWFTERFAYjIiY1MRE0NjMRMhYVMREUBiMiJjUxETQ2MzEBMhYVMREUBiMiJjUxETQ2MzERMhYVMREUBiMiJjUxETQ2MzEFNDYzMSEyFhUUBiMxISImNTEDDQ0RAQFasRIZGRLrERkBAWoEFw4DBwNIEhkZEhEZGRH9KxIZGRISGRkSEhkZEhIZGRIBVRIZGRIRGRkREhkZEhEZGRH+gBkSAVUSGRkS/qsSGQJpBBcOAwcD/uIZERIZGRIDBwMBAVYNEQEB1BkR1hEZGRHWERkBgBkR/tUSGRkSASsRGf7WGRL+1REZGREBKxIZASoZEf7VEhkZEgErERn+1hkS/tURGRkRASsSGSsSGRkSEhkZEgAAAAYAVQBrA6sDFQA8AE0AXwBxAIMAlQAAAT4BOwEyFhUUBiMxIwc+ATMyFhUUBiMiJicxLgE1NDYzMhYXMR4BMzI2NTQmIyIGBzEOASMiJjU0NjcVNyUyFhUxERQGIyImNTERNDYzETIWFTERFAYjIiY1MRE0NjMxATIWFTERFAYjIiY1MRE0NjMxETIWFTERFAYjIiY1MRE0NjMxBTQ2MzEhMhYVFAYjMSEiJjUxAqwEFg+rEhkZEokWBxAIR2RkRyZCGAUGGRIKEAYMIRMjMjIjEyEMBhAKEhkBATX91BIZGRISGRkSEhkZEhIZGRIBVRIZGRIRGRkREhkZEhEZGRH+gBkSAVUSGRkS/qsSGQJKDhMZEhIZWAECZEdGZB8aBg8IERkHBw0QMiMkMhANBwgZEgMFAwHWyxkR/tUSGRkSASsRGf7WGRL+1REZGREBKxIZASoZEf7VEhkZEgErERn+1hkS/tURGRkRASsSGSsSGRkSEhkZEgAIAFUAawOrAxUAHAA5AFQAZQB3AIkAmwCtAAABLgEjIgYHMQ4BFRQWFxUeATMyNjcxPgE1NCYnMSc+ATMyFhcnHgEVFAYHNw4BIyImJxcuATU0NjcjEx4BFRQGBzEDDgEjIiY1NDY3MRM+ATMyFhcxJTIWFTERFAYjIiY1MRE0NjMRMhYVMREUBiMiJjUxETQ2MzEBMhYVMREUBiMiJjUxETQ2MzERMhYVMREUBiMiJjUxETQ2MzEFNDYzMSEyFhUUBiMxISImNTEDKwkWDBcoCwUGFxMJFgwYJwsFBhcTvxdOLxgrEwEnLw0LARdOLxgrEwEnLw0LAdMKDAIDmQYUDBEZAgOZBhQMBQsE/UESGRkSEhkZEhIZGRISGRkSAVUSGRkSERkZERIZGRIRGRkR/oAZEgFVEhkZEv6rEhkBXgUGFxMJFgsYJgsBBQYXEwkWDBcnCwwmLw0LARZOLxgrEwEnLgwLARdOLxcsEgEmBhMMBgsE/uoKDBkSBQsEARYKDAIDhRkR/tUSGRkSASsRGf7WGRL+1REZGREBKxIZASoZEf7VEhkZEgErERn+1hkS/tURGRkRASsSGSsSGRkSEhkZEgAAAAAFAQAAawMAAxUAEQAjADQARgBYAAABMhYVMREUBiMiJjUxETQ2MzERMhYVMREUBiMiJjUxETQ2MzEBMhYVMREUBiMiJjUxETQ2MxEyFhUxERQGIyImNTERNDYzMQU0NjMxITIWFRQGIzEhIiY1MQErERkZERIZGRIRGRkREhkZEgGqEhkZEhEZGRESGRkSERkZEf4rGRIBqhIZGRL+VhIZAxUZEf7VEhkZEgErERn+1hkS/tURGRkRASsSGQEqGRH+1RIZGRIBKxEZ/tYZEv7VERkZEQErEhkrEhkZEhIZGRIAAAAFAFUAawOrA0AALABXAIMArgDbAAABIyIGBw4BByMOAR0BFBYXHgEXMxYyOwE6ATc+ATc1PgE9ATQmJy4BJzEuASMHOgEXHgEXMxwBHQEcAQcOAQcxBiIjKgEnLgEnMTQmPQE0NjU+AT8BOgEzJTMyFhceARczHgEdARQGBw4BByMGIisBKgEnLgEnNS4BPQE0Njc+ATcxPgEXKgEHDgEHIxwBHQEcARceARcxFjIzOgE3PgE3MTQ2PQE0JjUuAS8BKgEjJzQ3PgE3NjMyFx4BFxYVMRQGIyImNTE0Jy4BJyYjIgcOAQcGFTEUBiMiJjUxAxkHDBYJJjcHAQEBAQEINyUBCRYMBwwVCiY2CAIBAQIINiYKFQwEEQsCDRICAQECEg0CCxEQCwINEgMBAQMSDAECCxD90gcMFgkmNwcBAQEBAQg3JQEJFgwHDBUKJjYIAgEBAgg2JgoVEBELAg0SAgEBAhINAgsREAsCDRIDAQEDEgwBAgsQQBobXT4+R0c+Pl0bGhkREhkUFEYuLzU1Ly5GFBQZEhEZAesBAgg2JgoVDF0MFQkmNwgCAgg2JgEJFQxdDBUKJjYIAgFWAQISDQILEVUQCwMMEwIBAQITDAMLEFURCwINEgIBVgECCDYmChUMXQwVCSY3CAICCDYmAQkVDF0MFQomNggCAVYBAhINAgsRVRALAwwTAgEBAhMMAwsQVRELAg0SAgFWRj8+XBsbGxtcPj9GEhkZEjUuL0UVFBQVRS8uNRIZGRIAAAADAFUAFQOrAxEAMQBpAHMAABMOARUUFx4BFxYXHgEfAT4BNwc2Nz4BNzY1NCYnLgEnIyYGBw4BIyImJzUuAQcOAQcxAQc5ASMuAScXLgEnJicuAScmNTQ2Nz4BNzM2Fhc+ARceARczHgEVFAcOAQcGBw4BDwEjOQEwJicxBzEeATMyNjcn0REVDg4xISAjJU8rBS5SJQEjICExDg4VERArGQEyZxoFFQ0NFQUaZzIaKxABLxUBFB8PBBxHJSUlJDsTEx8bGkcpAT58LCx8PipHGQEbHxMTOyQlJSxgNAYBBRAVBQoGBgoFFQKOFDsqKCgoTCMkHyE7GwIcPSEBHyQjTCgoKCo7FBMYBAc1PQwODgsBPTUHBBgT/bIlDBQJAhI2ISAoKFwzNDc3WCEeKAYJLzY2LwkGKB4hWDc3NDNcKCggJ0ceBAkcJQMDAwMlAAACAG0AQAOTAxQAJwBLAAABPgEzMhceARcWFRQGBzEBDgEjIiYnMQEuATU0Nz4BNzYzMhYfAjcFLgEjIgYHMQcOASMiJicxJy4BIyIGFRQWFzEJAT4BNTQmJzECDx9YNC0nKDsRER4b/sYGEQkJEQb+xhseERE7KCcuM1geAQ8PAQgSMBwfNhIxBhEKChEGMRI2IDdNExABGwEbEBIUEgLCJiwRETsoJy0rSx3+pgYIBwcBWh1LKy0nKDsRESwlARMTKhIUGhc9BwkJBz0XG003Gi4S/skBNxIuGRwwEgAAAAMBMwBmAtUC6wAwAEEAVgAAAQ4BIzgBOQEiJjU0NjMxMjY1NCYjIgYHFQ4BIyImNTQ2NzE+ATMyFx4BFxYVFAYPAScyFhUxFRQGIyImNTE1NDYzAzQ2MzEzMhYVMRUUBiMxIyImNTE1Am8XOR8SGRkSNUtLNSpDDQQWDxEZAQEWbkcsJyc6ERA3LgFvEhkZEhIZGRItGRIEEhkZEgQSGQFfDhEZEhEZSzU1SzEmAQ0RGBIEBwNBUxEROicmLTlgHAE2GRErEhkZEisRGf8AEhkZEgQSGRkSBAAAAAAEAEYAQQO6A0AAGABrALkA5gAAEz4BMzIWFwEeARUUBiMiJicBLgE1NDY3MRceARUUBgcxDgEHDgEHFQYUFRQWFTUeARcWFx4BFxYzMjY3PgEzMhYVFAYHMQ4BIyInLgEnJi8BLgEnLgE1PAE5ATQ2Nz4BPwE+ATc+ATMyFhcVNz4BMzIXHgEXFh8BHgEXHgEVFAYHDgEPAQ4BBw4BIyImNTQ2NzE+ATc+ATc1NjQ1PAEnMTQwMS4BJyYnLgEnJiMiBgcqASMiJjU0NjcxFx4BFRQGBzEOARUUFjMyNjcxPgEzMhYVFAYHMQ4BIyImNTQ2NzE+ATMyFhcxjQUQCQkPBgKqBgYZEQkPBv1VBQcHBcsDAwwKK0kcEAgCAQECCBAcJCVULy8yLVcoBAoFEhkMCi5rOz86OmQoKR0CDhgHAwMDAwcYDgIeUjIECwYMEwZ5DBgMPzo6ZCgpHQIOGAcDAwMDBxgOAgkVCwUOCBIZBwcKEgkQCAIBAQIIEBwkJVQvLzIJEwkBAgESGRQQEAYHBgYFBxkSCA8FBg4IEhkIBhEsGDVLExEGEAkIDwYDMwYHBwb9VgYPCREZBgYCqgYPCQkQBZsECwYMEwYZPBsQCgcBAwYDAwcEAQYLEBseHjEQDxoWAgIZEgsUBRkiFBM6ISIdAg4cFgkTCgEBCRUKFhwOAh5DHQMDDAkBUAECFBM6ISIdAg4cFgoVCQkVChYcDgIJFAkFBRkRChAGCREIEAoHAQMGAwMGAwEHChAbHh4xEA8BARkREBgDzgYQCQgQBQYPCRIZBgUFBhkSChAGDxFLNRouEQYHBwUAAAIAgABAA4ADTwB1APQAAAEiJiMiBgc1DgEHDgEPAQ4BBw4BBxUOAR0BFBYVHgEXHgEXMx4BFzIWMzI2Mz4BNz4BNzU0NjU2ND0BNDYzMhYVMRUcARcUFhUeARcxHgEXMhYzMjYzPgE3PgE3NT4BNzQ2PQE0JicuAScxLgEvAS4BLwEuAScDIgYVMRUcAQcUBgcOAQcjDgErAQYiKwEqASciJiczLgEnNS4BNTEmND0BNDY3PgE3FT4BPwI+ATc+ATc+ATMyFhcjHgEXHgEfAR4BFx4BFxUeAR0BHAEHDgEHDgEHIw4BIzEGIisBKgEnIiYnMy4BLwEuATUxJjQ9ATQmIzECDAMGAwMGAwIGBgcRDM0OCQECAwEBAQEBAQEDDAcBAQcHBxUQDxUHCAYCCAsEAgFLNTVLAQIECwgCBggHFQ8QFQcHBwEIDAMBAQEBAQEBAwIBCQ7NCBEJAgYGAgwSGQEEBAokFwEJFQsBChgOAw4YCgsWCgEYIwoEBQEBAwMJBgcTCgPOCxQJCRQMCBIKChIJAQwUCQkUC9EKEwcGCQMDAQEBAwUKIxcBCRYLChgOAw4YCgwVCgEYJAkBAwUBGRIC+AEBAQEBAwUFDguzDAkCAwcDAQMME+wQFQcHBwEIDAMBAQEBAQEBAQMMBwEBBwcHFRAqNUtLNSoQFQcHBwEIDAMBAQEBAQEBAQMMBwEBBwcHFRDsEwwDBAcDAgkMswcPBwEFAwH+SBkSLA4YCgoWChgjCgQFAQEFBAojFwEJFgsKGA7yDhoMCxQJAQsRCgK0ChEGBwwDAwMDAwMMBgcRCrYKEQsIFAoBDBoO8g4YCgoWChgjCgQFAQEFBAojFwEJFgsKGA4sEhkAAAAAAgCAAEADgANPAE0AmwAAASImIyIGBzUOAQcOAQ8BDgEHDgEHFQ4BHQEUFhUeARceARczHgEXMhYzITI2Mz4BNz4BNzU+ATc0Nj0BNCYnLgEnMS4BLwEuAS8BLgEnJz4BMzIWFyMeARceAR8BHgEXHgEXFR4BHQEcAQcOAQcOAQcjDgEHBiIjISoBJy4BJy4BJzUuAScmND0BNDY3PgE3MT4BPwI+ATc+ATcCDAMGAwMGAwIGBgcRDM0OCQECAwEBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQEBAwIBCQ7NCBEJAgYGAjAIEgoKEgkBDBQJCRQL0QoTBwYJAwMBAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQEBAwMJBgcTCgPOCxQJCRQMAvgBAQEBAQMFBQ4LswwJAgMHAwEDDBPkEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS5BMMAwQHAwIJDLMHDwcBBQMBUQMDAwMDDAYHEQq2ChEKCRMLAQwZD+kRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHRDqDxkMCxQJChEKArQKEQcGDAMAAwArAEAD1QNPABEASQCSAAA3NDYzMSEyFhUUBiMxISImNTEBIiYjIgYHNQ4BBw4BDwEOAQcOAQcVDgEVETM1NDYzMhYVMRUzETQmJy4BJzEuAS8BLgEvAS4BJwMiBhUxFRQGIzEhIiY1MRE0Njc+ATcVPgE/Aj4BNz4BNz4BMzIWFyMeARceAR8BHgEXHgEXFR4BFREUBiMxISImNTE1NCYjMSsZEQNWERkZEfyqERkB4QMGAwMGAwIGBgcRDM0OCQECAwEBAatLNTVLqwEBAQMCAQkOzQgRCQIGBgIMEhkZEf8AEhkBAwMJBgcTCgPOCxQJCRQMCBIKChIJAQwUCQkUC9EKEwcGCQMDARkS/wARGRkSaxEZGRESGRkSAo0BAQEBAQMFBQ4LswwJAgMHAwEDDBP+voA1S0s1gAFCEwwDBAcDAgkMswcPBwEFAwH+SBkSqhIZGRIBcA4aDAsUCQELEQoCtAoRBgcMAwMDAwMDDAcGEQq2ChELCBQKAQwaDv6QEhkZEqoSGQAAAwCAAEADgANPAE0AmwDAAAABIiYjIgYHNQ4BBw4BDwEOAQcOAQcVDgEdARQWFR4BFx4BFzMeARcyFjMhMjYzPgE3PgE3NT4BNzQ2PQE0JicuAScxLgEvAS4BLwEuAScnPgEzMhYXIx4BFx4BHwEeARceARcVHgEdARwBBw4BBw4BByMOAQcGIiMhKgEnLgEnLgEnNS4BJyY0PQE0Njc+ATcxPgE/Aj4BNz4BNxMyFhUxFTMyFhUUBiMxIxUUBiMiJjUxNSMiJjU0NjMxMzU0NjMCDAMGAwMGAwIGBgcRDM0OCQECAwEBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQEBAwIBCQ7NCBEJAgYGAjAIEgoKEgkBDBQJCRQL0QoTBwYJAwMBAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQEBAwMJBgcTCgPOCxQJCRQMJBIZVRIZGRJVGRISGVUSGRkSVRkSAvgBAQEBAQMFBQ4LswwJAgMHAwEDDBPkEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS5BMMAwQHAwIJDLMHDwcBBQMBUQMDAwMDDAYHEQq2ChEKCRMLAQwZD+kRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHRDqDxkMCxQJChEKArQKEQcGDAP+9xkSVRkSERlWERkZEVYZERIZVRIZAAAAAwCAAEADgANPAE0AmwC8AAABIiYjIgYHNQ4BBw4BDwEOAQcOAQcVDgEdARQWFR4BFx4BFzMeARcyFjMhMjYzPgE3PgE3NT4BNzQ2PQE0JicuAScxLgEvAS4BLwEuAScnPgEzMhYXIx4BFx4BHwEeARceARcVHgEdARwBBw4BBw4BByMOAQcGIiMhKgEnLgEnLgEnNS4BJyY0PQE0Njc+ATcxPgE/Aj4BNz4BNxMeARUUBg8BDgEjIiYvAS4BNTQ2MzIWHwE3PgEzMhYXMQIMAwYDAwYDAgYGBxEMzQ4JAQIDAQEBAQECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEBAQEDAgEJDs0IEQkCBgYCMAgSCgoSCQEMFAkJFAvRChMHBgkDAwEBAQYGCR0RAQwZDQwdEf5kER0MDRkMEh0JBgYBAQEDAwkGBxMKA84LFAkJFAzCBgcHBqsFEAkJDwZVBgcZEQoPBjeNBg8JCQ8GAvgBAQEBAQMFBQ4LswwJAgMHAwEDDBPkEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS5BMMAwQHAwIJDLMHDwcBBQMBUQMDAwMDDAYHEQq2ChEKCRMLAQwZD+kRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHRDqDxkMCxQJChEKArQKEQcGDAP+wAYPCQkQBasGBwcGVQYQCRIZBwY4jQYGBgYAAAADAIAAQAOAA08ATQCbAMwAAAEiJiMiBgc1DgEHDgEPAQ4BBw4BBxUOAR0BFBYVHgEXHgEXMx4BFzIWMyEyNjM+ATc+ATc1PgE3NDY9ATQmJy4BJzEuAS8BLgEvAS4BJyc+ATMyFhcjHgEXHgEfAR4BFx4BFxUeAR0BHAEHDgEHDgEHIw4BBwYiIyEqAScuAScuASc1LgEnJjQ9ATQ2Nz4BNzE+AT8CPgE3PgE3Ex4BFRQGDwEXHgEVFAYjIiYvAQcOASMiJjU0Nj8BJy4BNTQ2MzIWHwE3PgEzMhYXMQIMAwYDAwYDAgYGBxEMzQ4JAQIDAQEBAQECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEBAQEDAgEJDs0IEQkCBgYCMAgSCgoSCQEMFAkJFAvRChMHBgkDAwEBAQYGCR0RAQwZDQwdEf5kER0MDRkMEh0JBgYBAQEDAwkGBxMKA84LFAkJFAyXBgcHBjc3BgYZEQkPBjc3Bg8JERkGBjc3BwcZEgkQBjc3Bg8JCRAFAvgBAQEBAQMFBQ4LswwJAgMHAwEDDBPkEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS5BMMAwQHAwIJDLMHDwcBBQMBUQMDAwMDDAYHEQq2ChEKCRMLAQwZD+kRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHRDqDxkMCxQJChEKArQKEQcGDAP+wAYPCQkQBTg3Bg8IEhkGBjc3BgYZEggPBjc4BRAJEhkHBjc3BgYGBgADAIAAQAOAA08ATQCbAKwAAAEiJiMiBgc1DgEHDgEPAQ4BBw4BBxUOAR0BFBYVHgEXHgEXMx4BFzIWMyEyNjM+ATc+ATc1PgE3NDY9ATQmJy4BJzEuAS8BLgEvAS4BJyc+ATMyFhcjHgEXHgEfAR4BFx4BFxUeAR0BHAEHDgEHDgEHIw4BBwYiIyEqAScuAScuASc1LgEnJjQ9ATQ2Nz4BNzE+AT8CPgE3PgE3ExQGIzEhIiY1NDYzMSEyFhUCDAMGAwMGAwIGBgcRDM0OCQECAwEBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQEBAwIBCQ7NCBEJAgYGAjAIEgoKEgkBDBQJCRQL0QoTBwYJAwMBAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQEBAwMJBgcTCgPOCxQJCRQMzxkS/wASGRkSAQASGQL4AQEBAQEDBQUOC7MMCQIDBwMBAwwT5BIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEuQTDAMEBwMCCQyzBw8HAQUDAVEDAwMDAwwGBxEKtgoRCgkTCwEMGQ/pER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0Q6g8ZDAsUCQoRCgK0ChEHBgwD/kwRGRkREhkZEgAAAAQAVQBAA6sDQABIAI0A/wENAAABIToBFx4BFx4BHwEeARceARURFAYHDgEHDgEHIw4BBwYiIyEqAScuAScuAS8BLgEnLgE1PAE1MRE0Njc+ATc+ATcxPgE3NjIzBw4BBw4BBxUUBhUGFBURHAEXFBYVHgEXMR4BFzIWMyEyNjM+ATc+ATc1NDY1NjQ1ETwBJzQmNS4BJzEuASciJiMhIgYjFz4BMzIWFyMeARceAR8BHgEXFTc+AT8BPgE3PgE3PgEzMhYXIx4BFx4BHwEeARUUBiMiJicxJy4BJzE1Bw4BDwEOAQcOAQcjDgEjIiYnMy4BJzEuAS8BLgEnOQEOAQcVBw4BIyImNTQ2NxU3PgE3PgE3NzQ2MzIWFTEUBiMiJjUBBwHyER0MDRkMEhwJAQYFAQEBAQEBBQYKHBEBDBkNDB0R/g4RHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkTAe4TGQkJBwIGCgMDAQEDAwoGAgcJCRkT/hITGQmPBg8ICA8HAQoQBgULBnMHCAMBAwkHFgcMBQYQCgUNBgkQCAEKDwUFCwV8BQUZEgoRBnsFCQQBAwkHFwYMBQcPCQEFDAcIEAgBCQ8GBQsFcwUJBQUKBcwFEQoRGQUFzAYMBQYQCsgyIyMyMiMjMgNAAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQoXDAQGAwGcER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEBxgIDAwMECwYGDQeKCAkDAQECCQcXBgwEBgoCAgIEAwQLBgUNB5sGDQgSGQkHmgYKBQEBAwgIFgYMBAYJAwICAwMECgcFDQaKBgsFBQsFAe0HCBkSCA4GAe8HDQYFDAQcIzIyIyMyMiMABABVABUDqwNrAHEAugD/AQ4AAAE+ATMyFhcjHgEXHgEfAR4BFxU3PgE/AT4BNz4BNz4BMzIWFyMeARceAR8BHgEVFAYjIiYnMScuAScxNQcOAQ8BDgEHDgEHIw4BIyImJzMuAScxLgEvAS4BJzkBDgEHFQcOASMiJjU0NjcVNz4BNz4BNwMhMhYXHgEXHgEXMx4BFx4BFREUBgcOAQcOAQ8BDgEHDgEjISImJy4BJy4BLwEuAScuATU8ATUVETQ2Nz4BNz4BNzU+ATc+ATMHIgYjDgEHMRQGFQYUFREcARcUFhUeARcxMhYzFjIzIToBNzI2Mz4BNzE0NjU2NDURPAEnNCY1LgEnMSImIyYiIyEqAQcFNDYzMhYVMRQGIyImNTEBYwYPCAgPBwEKEAYFCwZzBwgDAQMJBxYHDAUGEAoFDQYJEAgBCg8FBQsFfAUFGRIKEQZ7BQkEAQMJBxcGDAUHDwkBBQwHCBAIAQkPBgULBXMFCQUFCgXMBREKERkFBcwGDAUGEApcAfIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEQEMGQ0MHRH+DhEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0RMwkHAgYKAwMBAQMDCgYCBwkJGRMB7hMZCQkHAgYKAwMBAQMDCgYCBwkJGRP+EhMZCQFXMiMjMjIjIzICJAIDAwMECwYGDQeKCAkDAQECCQcXBgwEBgoCAgIEAwQLBgUNB5sGDQgSGQkHmgYKBQEBAwgIFgYMBAYJAwICAwMECgcFDQaKBgsFBQsFAe0HCBkSCA4GAe8HDQYFDAQBRwEBAQUGChwSDBkNDB0R/g4RHQwNGQwSHAkBBgUBAQEBAQEFBgocEQEMGQ0KGAwDBgQBAfIRHQwNGQwSHAkBBgUBAQFXAwMKBgIHCQkZE/4SExkJCQcCBgoDAwEBAwMKBgIHCQkZEwHuExkJCQcCBgoDAwEBqSMyMiMkMjIkAAAEAFUAFQOrA2sAHgA7AEwAYQAAASIHDgEHBhUUFx4BFxYzMTI3PgE3NjU0Jy4BJyYjMQE0Nz4BNzYzMhceARcWFRQHDgEHBiMiJy4BJyY1JTIWFTEVFAYjIiY1MTU0NjMnNDYzMTMyFhUxFRQGIzEjIiY1MTUCAEc+Pl0bGhobXT4+R0c+Pl0bGhobXT4+R/5VIiF0Tk5YWE5OdCEiIiF0Tk5YWE5OdCEiAasSGRkSEhkZEi0ZEgQSGRkSBBIZAxUaG10+PkdHPj5dGxoaG10+PkdHPj5dGxr+q1hOTnQhIiIhdE5OWFhOTnQhIiIhdE5OWFUZEdYRGRkR1hEZVhEZGREFERkZEQUAAAAAAgA0//QDzAOMAFIAogAACQEeARceARceARUUBgczDgEHDgEHAQ4BBw4BBw4BIyImJxUuAScuAS8BAS4BJy4BJy4BNTQ2NyM+ATc+ATcBPgE3MT4BNz4BMzIWFzUeARceARcHLgEjLgEjIgYHMSIGBw4BBwEOAQcOARUOARUUFhcxFBYXHgEXAR4BFx4BMx4BMzI2NzEyNjc+ATcBPgE3PgE1PgE1NCYnMTQmJy4BJwEuAQJ+AQUMFQcJDQUDAwMEAQUNCQcVDP77DBUJChYMCRQLCxQJDBYKCxQKAf77DBUHCQ0FAwMDBAEFDQkHFQwBBQoVCwoWDAkUCwsUCQwWCgkVDGIGBwIDBgQEBgMCBwYHEg3+/A0RBgYEAQICAQQGBhENAQQNEgcGBwIDBgQEBgMCBwYHEg0BBA0RBgYEAQICAQQGBhEN/vwNEgND/vsMFQkKFgwJFAsLFAkMFgoJFQz++wwVBwkNBQMDAwQBBQ0JChMKAQEFDBUJChYMCRQLCxQJDBYKCRUMAQULEwoJDQUDAwMEAQUNCQcVDBkGBAECAgEEBgYRDf78DRIHBgcCAwYEBAYDAgcHBhIN/vwNEQYGBAECAgEEBgYRDQEEDRIGBwcCAwYEBAYDAgcGBxINAQQNEQAAAAADASsAawLVAxUAEQAjAD4AACU0NjMxMzIWFRQGIzEjIiY1MRM0NjMxMzIWFRQGIzEjIiY1MTceARUUBgcxAw4BIyImNTQ2NzETPgEzMhYzMQErGRGrEhkZEqsRGaoZEqsRGRkRqxIZjA4RAQGqBBcOEhkBAaoEFw4DBgOVEhkZEhEZGRECVhEZGRESGRkSKQQXDgMHAv2rDhEZEQMHAgJVDhEBAAcAKwCVA9UC6wAQACIAMwBFAFcAnADhAAABNDYzMTMyFhUUBiMxIyImNSE0NjMxITIWFRQGIzEhIiY1MSMUBiMxIyImNTQ2MzEzMhYVJzQ2MzEhMhYVFAYjMSEiJjUxNTQ2MzEhMhYVFAYjMSEiJjUxNyEyFhceARceARcxHgEXFhQdARwBBw4BBw4BDwEOAQcOASMhIiYnLgEnLgEnMS4BJyY0PQE8ATc+ATc+AT8BPgE3PgEzByIGIw4BBzEOAQcGFB0BHAEXHgEXHgEXMTIWMxYyMyE6ATcyNjM+ATcxPgE3NjQ9ATwBJy4BJy4BJzEiJiMmIiMhKgEHAtUZEisRGRkRKxIZ/oAZEgEAEhkZEv8AEhkqGRIrERkZESsSGYAZEQJWERkZEf2qERkZEQJWERkZEf2qERkxAkgRHQwMGQwTHAkHBQEBAQEFBwkcEgEMGQwMHRH9uBEdDAwZDBMcCQcFAQEBAQUHCRwSAQwZDAwdETMICAIGCQMBAgEBAQECAQMJBgIICAkZEwJEExkJCAgCBgkDAQIBAQEBAgEDCQYCCAgJGRP9vBMZCQFAEhkZEhIZGRISGRkSEhkZEhIZGRISGRkSgBIZGRISGRkSgBIZGRISGRkSqwEBAQUGChwSDBkNDB0R8hEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0R8hEdDA0ZDBIcCQEGBQEBAVcDAwoGAgcJCRkT7hMZCQkHAgYKAwMBAQMDCgYCBwkJGRPuExkJCQcCBgoDAwEBAAAAAgCAAJUDkQLrAEsAnQAAASYiIyEqAQciBiMOAQcxDgEHFAYdARQWFR4BFx4BFzMyFjMWMjMhOgE3PgE3PgE/AT4BNz4BNz4BNTQmJzEuAScuAS8BLgEnLgEnMScyFhceARcjHgEfAR4BFx4BFx4BFRQGBzUOAQczDgEPAQ4BBw4BByMOASMhIiYnLgEnLgEnMS4BJzQmNTwBNTE1PAE3PgE3PgE/AT4BNz4BMyECjgMNE/7IEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSATgTDQMDBwMDCA1jCg4EBAMBAQEBAQEDBAQOCmMNCAMDBgQfDhsMDBQJAQsRCmcJEAYGCwMCAwMCBAoHAQYQCWcKEQsIFAsBDBsO/sMRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREBPQKUAQEDAwoGAgcJCRkT7hMZCQkHAgYKAwMBAQEDAgIKDngMEAcFBwEDBgMDBgMBBwUHEAx4DgoCAgMBVwEEAwoGBxMMewsUCAkTDAgSCQkSCQEMFAgIFAt7DBMHBwkDBAEBAQEFBgocEgwZDQoYDAMGA/IRHQwNGQwSHAkBBgUBAQEABAArAEAD1QMVABAAIgBPAHQAADciBhUUFjMxITI2NTQmIzEhBzQ2MzEhMhYVFAYjMSEiJjUxASE6ARceARceARcVHgEXFhQVERQGIzEhIiY1MRE8ATc+ATc+ATczPgE3NjIzBw4BBw4BBzEOAQcUBhURIRE0JjUuAScuAScjLgEnJiIjISoBB5UJDAwJAtYJDAwJ/SpqPiwC1iw+Piz9Kiw+AQcBnBEdDA0ZDBIdCQYGAQEZEv1WEhkBAQYGCR0RAQwZDQwdETMJCAEGCgMBAgEBAlYBAQIBAwoFAQEICQkZEv5mEhkJwAwJCQ0NCQkMFSw+PiwtPj4tAmoBAQUHCRwSAQwZDAwdEf6HEhkZEgF5ER0MDBkMExwJBwUBAVYBAgEDCQYCCAgJGRP+swFNExkJCAgCBgkDAQIBAQEAAAADAFUAQAOrA0AAIAAkAEgAAAE+ATMyFhcxAR4BFRQGBzEBDgEjIiYnMQEuATU0NjcxAQEFLQEBPgEzMhYXMQUlPgEzMhYVFAYHMQEOASMiJicxAS4BNTQ2NzEB6AUMBwcMBQGACAsLCP6ABQwHBwwF/oAICwsIAYD+5QEzATP+zf5dBRMLBwwFAWgBaAUMBxIZCwj+gAUMBwcMBf6ACAsEBAM5AwQEA/8ABhMLCxIG/wAEAwMEAQAGEgsLEwYBAP7czMzN/qAJCgME8PAEAxkRCxMG/wADBAQDAQAGEwsGDAUAAAAEAFX/6wOrA5UAIAAlAEkAbQAAAT4BMzIWFzEBHgEVFAYHMQEOASMiJicxAS4BNTQ2NzEBAQUtAQUHPgEzMhYXMQUlPgEzMhYVFAYHMQEOASMiJicxAS4BNTQ2NzEVPgEzMhYXMQUlPgEzMhYVFAYHMQEOASMiJicxAS4BNTQ2NzEB6AUMBwcMBQGACAsLCP6ABQwHBwwF/oAICwsIAYD+5QEzATP+zf7NcAUTCwcMBQFoAWgFDAcSGQsI/oAFDAcHDAX+gAgLBAQFEwsHDAUBaAFoBQwHEhkLCP6ABQwHBwwF/oAICwQEA44EAwME/wAGEgsLEwb/AAMEBAMBAAYTCwsSBgEA/t3NzczMkwgLBATw8AQEGRILEwX/AAQEBAQBAAUTCwcMBasJCgQD8PADBBkSCxIG/wAEAwMEAQAGEgsHDAUAAAAAAwCrAG8DTwMTABkAPABVAAABHgE3PgE3Njc+ATc2JyYHDgEHBgcOAQcGFgM2Nz4BNzYXHgEXMRYHDgEHBgcOAQcGJicuAScxLgE3PgE3Ay4BNTQ2PwE+ATMyFhUUBg8BDgEjIiYnMQFDMVomKEgeHRgXIAgIAkxAQWspKh0eIQMCFg4oNzaGT05XEBcBBgcHJR4eKChjOTl3PQQHAyUhBAQvKGEGBgYG8gUQCBIZBwXyBRAJCQ8GAQYcFwMDIR4dKilrQUBLAwgIIBgXHR5IKCdZAUooHh4lBwYFARcQV05PhjY3KCkvAwQhJQIIBD13OThkKP35Bg8JCRAF8gUHGRIJDwbxBgYGBgAAAAEB1QBrAisDFQARAAABMhYVMREUBiMiJjUxETQ2MzECABIZGRISGRkSAxUZEf2qERkZEQJWERkAAQHVAMACKwLAABEAAAEyFhUxERQGIyImNTERNDYzMQIAEhkZEhIZGRICwBkS/lYSGRkSAaoSGQABAdUBFQIrAmsAEQAAATIWFTERFAYjIiY1MRE0NjMxAgASGRkSEhkZEgJrGRL/ABIZGRIBABIZAAEB1QAVAisDawAQAAABMhYVMREUBiMiJjUxETQ2MwIAEhkZEhIZGRIDaxkS/QASGRkSAwASGQAABgCAAEADgANAABAAIQBPAGAAcgCgAAAlMhYVMRUUBiMiJjUxNTQ2MzcUBiMxIyImNTQ2MzEzMhYVBS4BNTQ2PwE+ATMyFhUUBg8BDgEVFBYzMjY3MTc+ATMyFhUUBg8BDgEjIiYnMQM0NjMxMzIWFRQGIzEjIiY1NyImNTE1NDYzMhYVMRUUBiMxJS4BIyIGDwEOARUUFjMyNj8BPgEzMhYVFAYHMQcOARUUFjMyNj8BPgE1NCYnMQKrERkZERIZGRLVGRJVEhkZElUSGf1SHSEhHT0FEAgSGQYGPBIUSzUbLhI8BhAJERkHBjwdTiwsTh1SGRJVEhkZElUSGdURGRkREhkZEgHZHU4sLE4dPAYHGRIJDwY8Ei4bNUsUEjwGBhgSCRAFPR0hIR3rGRJVEhkZElUSGSoRGRkREhkZEoMdTiwsTh08BgYZEQkPBjwSLhs1SxQSPAYHGRIJEAU9HSEhHQHZERkZERIZGRIqGRJVEhkZElUSGVkdISEdPQUQCREZBgY8EhRLNRsuEjwGDwkSGQcGPB1OLCxOHQAAAAAEAFUAQQOrA0AAEQA7AGQAfQAAATQ2MzEzMhYVFAYjMSMiJjUxITQnLgEnJiMxIyIGFRQWMzEzMhYVFAYHMQ4BFRQWMzI2NyM+ATU4ATkBJSIGFRQWMzEzMhYVFAYjMSMiJy4BJyY1NDc+ATc2MzEzMhYVFAYjMSMnPgEzMhYXAR4BFRQGIyImJwEuATU0NjcxASsZEasSGRkSqxEZAoARETonJi1VEhkZElU1SxcUBwcZEQgPBgEiJ/2ANUtLNVUSGRkSVS0mJzoREREROicmLSoSGRkSKp4FEAkJDwYCqgYGGREJDwb9VQUHBwUBwBIZGRISGRkSLCcnOhEQGRESGUs1HTESBhAKEhkGBR1TMIBLNTVLGRIRGRAROicnLCwnJzoREBkREhnzBgcHBv1WBg8JERkGBgKqBg8JCRAFAAMAVQDrA6sClQARADsAZQAAATQ2MzEhMhYVFAYjMSEiJjUxITQnLgEnJiMxIyIGFRQWMzEzMhYVFAYjMSMiBhUUFjMxMzI3PgE3NjUxITQ3PgE3NjMxMzIWFRQGIzEjIgYVFBYzMTMyFhUUBiMxIyInLgEnJjUxASsZEQFWERkZEf6qERkCgBEROicmLVUSGRkSVTVLSzVVEhkZElUtJic6ERH8qhEROicmLVUSGRkSVTVLSzVVEhkZElUtJic6EREBwBIZGRISGRkSLCcnOhEQGRESGUs1NUsZEhEZEBE6JycsLCcnOhEQGRESGUs1NUsZEhEZEBE6JycsAAMBKwAVAtUDawAQADoAZAAAATIWFTERFAYjIiY1MRE0NjMRMjc+ATc2NTE1NCYjIgYVMRUUBiMiJjUxNTQmIyIGFTEVFBceARcWMzERMhceARcWFTEVFAYjIiY1MTU0JiMiBhUxFRQGIyImNTE1NDc+ATc2MzECABIZGRISGRkSLCcnOhEQGRESGUs1NUsZEhEZEBE6JycsLCcnOhEQGRESGUs1NUsZEhEZEBE6JycsApUZEf6qERkZEQFWERn9gBEROicmLVUSGRkSVTVLSzVVEhkZElUtJic6EREDVhEROicmLVUSGRkSVTVLSzVVEhkZElUtJic6EREAAAMAlABUA2wDLAAZAEcAdQAAAS4BNTQ2NzE3PgEzMhYVFAYPAQ4BIyImJzEHLgE1NDY/AT4BMzIWFRQGDwEOARUUFjMyNjcxNz4BMzIWFRQGDwEOASMiJicxAS4BIyIGDwEOARUUFjMyNj8BPgEzMhYVFAYHMQcOARUUFjMyNj8BPgE1NCYnMQFpBgYGBvEGEAkRGQYG8QYQCQgQBpcdISEdPQUQCBIZBgY8EhRLNRsuEjwGEAkRGQcGPB1OLCxOHQJcHU4sLE4dPAYHGRIJDwY8Ei4bNUsUEjwGBhgSCRAFPR0hIR0BKQYPCQkQBvEGBhkRCRAG8QYGBgaXHU4sLE4dPAYGGREJDwY8Ei4bNUsUEjwGBxkSCRAFPR0hIR0CXB0hIR09BRAJERkGBjwSFEs1Gy4SPAYPCRIZBwY8HU4sLE4dAAQAVQBrA6sCwAARADYASABaAAA3NDYzMSEyFhUUBiMxISImNTElMhYVMRUzMhYVFAYjMSMVFAYjIiY1MTUjIiY1NDYzMTM1NDYzITQ2MzEhMhYVFAYjMSEiJjUxNTQ2MzEhMhYVFAYjMSEiJjUxVRkSASsRGRkR/tUSGQKrEhlVEhkZElUZEhIZVRIZGRJVGRL9VRkSAdUSGRkS/isSGRkSAdUSGRkS/isSGesRGRkREhkZEtUZElUZEhEZVhEZGRFWGRESGVUSGRIZGRISGRkS1RIZGRIRGRkRAAAEAIAAlQOAAsAAEQAyAEQAVgAANzQ2MzEhMhYVFAYjMSEiJjUxJR4BFRQGDwEOASMiJi8BLgE1NDYzMhYfATc+ATMyFhcxJTQ2MzEhMhYVFAYjMSEiJjUxNTQ2MzEhMhYVFAYjMSEiJjUxgBkSASoSGRkS/tYSGQLzBgcHBqoGDwkJEAVWBQcZEggQBjeMBg8JCRAF/Q0ZEgHVEhkZEv4rEhkZEgHVEhkZEv4rEhnrERkZERIZGRKeBg8JCRAFqwYHBwZVBg8JERkGBjeNBgYGBjcSGRkSEhkZEtUSGRkSERkZEQAGAIAAlQOAAxUAEQA1AEcAawB9AKEAACU0NjMxITIWFRQGIzEhIiY1MSceARUUBgcxBw4BIyImJzEnLgE1NDYzMhYXMRc3PgEzMhYXMTc0NjMxITIWFRQGIzEhIiY1MSceARUUBgcxBw4BIyImJzEnLgE1NDYzMhYXMRc3PgEzMhYXMTc0NjMxITIWFRQGIzEhIiY1MSceARUUBgcxBw4BIyImJzEnLgE1NDYzMhYXMRc3PgEzMhYXMQGrGREBgBIZGRL+gBEZOgcIBQVrBREKBwwFQAkKGRIGDAUgUwURCggOBjoZEQGAEhkZEv6AERk6BwgFBWsFEQoHDAVACQoZEgYMBSBTBREKCA4GOhkRAYASGRkS/oARGToHCAUFawURCgcMBUAJChkSBgwFIFMFEQoIDgbrERkZERIZGRJ2BhEKCA4FgAcJBAQqBhMLERkDBBViBwkGBF8SGRkSEhkZEnYGEQoHDgaABwgDBCsFEwsSGQQEFWMHCAUFXxIZGRIRGRkRdgURCggOBoAHCAQDKwYSCxIZBAMWYwcIBQUAAAUAfwBAA4ADQAARAEUAVwBpAIkAACU0NjMxITIWFRQGIzEhIiY1MSciBhUxFRQGIyImNTE1NDYzMTMyFhUxFAYPATMyFhUUBiMxIyImNTQ2NzE3PgE1MTQmKwE3NDYzMSEyFhUUBiMxISImNTE1NDYzMSEyFhUUBiMxISImNTEnHgEVERQGIyImNTE1Bw4BIyImNTQ2NzM3PgEzMhYXIwGAGRIBqhIZGRL+VhIZlQkNGRESGT4tASw9Cws/KxEZGRGAEhkFBHICAwsJAZUZEgGqEhkZEv5WEhkZEgGqEhkZEv5WEhlqCgsZEhIZFwUKBhEZDQsBVQQKBQYMBQHrERkZERIZGRJVDAkIEhkZEggsPj0sEiIPVBkREhkZEgcNBZkDCAQJC4ASGRkSEhkZEtUSGRkSERkZEaUGEwz/ABEZGRG7CwMDGRINFQUqAwIDAwAAAAAEAFUAwAOrAsAAEQAiADQARgAANzQ2MzEhMhYVFAYjMSEiJjUxJTQ2MzEhMhYVFAYjMSEiJjUlNDYzMSEyFhUUBiMxISImNTE1NDYzMSEyFhUUBiMxISImNTFVGRIBKxEZGRH+1RIZAgAZEgEAEhkZEv8AEhn+ABkSAdUSGRkS/isSGRkSAdUSGRkS/isSGesRGRkREhkZEioSGRkSERkZEasSGRkSEhkZEtUSGRkSERkZEQAGAKsAwANVAsAAEQAlADcASwBdAHEAACU0NjMxITIWFRQGIzEhIiY1MSM0NjM5ATIWFTkBFAYjOQEiJjUxNzQ2MzEhMhYVFAYjMSEiJjUxIzQ2MzkBMhYVOQEUBiM5ASImNTE3NDYzMSEyFhUUBiMxISImNTEjNDYzOQEyFhU5ARQGIzkBIiY1MQFVGRIBqxEZGRH+VRIZqhkREhkZEhEZqhkSAasRGRkR/lUSGaoZERIZGRIRGaoZEgGrERkZEf5VEhmqGRESGRkSERnrERkZERIZGRIRGRkREhkZEtUSGRkSEhkZEhIZGRISGRkS1RIZGRIRGRkREhkZEhEZGREAAwCrARUDVQJrAA4AHQArAAATNDYzMhYVMRQGIyImNTElNDYzMhYVMRQGIyImNTElNDYzMhYVMRQGIyImNasyIyMyMiMjMgEAMiMjMjIjIzIBADIjIzIyIyMyAWsjMjIjJDIyJFUjMjIjIzIyI1UkMjIkIzIyIwAAAwCAABUDgANrAEQAiQCqAAAlISImJy4BJy4BJzEuAScmND0BPAE3PgE3PgE/AT4BNz4BMyEyFhceARceARcxHgEXFhQdARwBBw4BBw4BDwEOAQcOASM3MjYzPgE3MT4BNzQ2PQE0JjUuAScuAScjIiYjJiIjISoBByIGIw4BBzEOAQcUBh0BFBYVHgEXHgEXMzIWMxYyMyE6ATcBIgYdARQGIyImNTE1NDYzMhYXHgEVFAYjIiYnMS4BIzECzv5kER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0RAZwRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREzCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBmhIZCf77IDEZEhIZYEckPxYFBhkSCREFCx4RFQEBAQUGChwSDBkNDB0R8hEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0R8hEdDA0ZDBIcCQEGBQEBAVcDAwoGAgcJCRkT7hMZCQkHAgYKAwMBAQMDCgYCBwkJGRPuExkJCQcCBgoDAwEBAqkyKHsSGRkSe0dpHhoFDwgSGQgHDA4AAAAEAIAAFQOAA2sARACJAJQApwAAJSEiJicuAScuAScxLgEnJjQ9ATwBNz4BNz4BPwE+ATc+ATMhMhYXHgEXHgEXMR4BFxYUHQEcAQcOAQcOAQ8BDgEHDgEjNzI2Mz4BNzE+ATc0Nj0BNCY1LgEnLgEnIyImIyYiIyEqAQciBiMOAQcxDgEHFAYdARQWFR4BFx4BFzMyFjMWMjMhOgE3AzU0JiMiBhUxFTMDMhYVMRUUBisBIiY1MTU0NjMxAs7+ZBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEQGcER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0RMwkIAQYKAwECAQEBAQIBAwoFAQEICQkZEv5mEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQmsMiMjMqpVR2QfFuwWH2RHFQEBAQUGChwSDBkNDB0R8hEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0R8hEdDA0ZDBIcCQEGBQEBAVcDAwoGAgcJCRkT7hMZCQkHAgYKAwMBAQMDCgYCBwkJGRPuExkJCQcCBgoDAwEBAf9VIzIyI1UBAGRHdhYfHxZ2R2QAAAQAgABAA4ADQAAYADEAQgDfAAABHgEVFAYPAQ4BIyImNTQ2PwE+ATMyFhcxJz4BMzIWHwEeARUUBiMiJi8BLgE1NDY3MQUhMhYVFAYjMSEiJjU0NjMxATM6ARceARceARcVHgEXFhQVERwBBw4BBw4BByMOAQcGIisBKgEnLgEnLgEvAS4BJy4BNTwBNTE1NDYzMhYVMRUcARcUFhUeARcxHgEXMhY7ATI2Mz4BNz4BNzU+ATc0NjURNCY1LgEnLgEnIy4BJyImKwEiBiMOAQcOAQcVFAYVBhQdARQGIyImNTE1NDY3PgE3PgE3MT4BNzYyMwKeBgcHBoAGDwgSGQYGgAYPCQkPBrwGDwkJDwaABgYZEggPBoAGBwcG/skB1RIZGRL+KxIZGRIBXMcRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHRHHER0MDRkMEhwJAQYFAQEBGRISGQEDAwoGAgcJCRkTxBIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEsQTGQkJBwIGCgMDARkSEhkBAQEFBgocEgwZDQwdEQHeBg8JCQ8GgAYGGRIIDwaABgcHBoAGBwcGgAYPCBIZBgaABg8JCQ8GcxkSEhkZEhIZAVUBAQYGCR0RAQwZDQwdEf5kER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNChcMBAYDAxIZGRICEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRICEhkZEgMRHQwNGQwSHQkGBgEBAAAAAAQAVQAWA6oDawARADAATwBoAAABNDYzMSEyFhUUBiMxISImNTETIgcOAQcGFRQXHgEXFjMxMjc+ATc2NTQnLgEnJiMxATQ3PgE3NjMyFx4BFxYVMRQHDgEHBiMiJy4BJyY1MQU+ATMyFhcBHgEVFAYjIiYnAS4BNTQ2NzEBABkSAQARGRkR/wASGas1Ly9FFBQUFEUvLzU1Li9FFRQUFUUvLjX+qhsbXT4+R0Y/PlwbGxsbXD4/Rkc+Pl0bGwINBg8JCQ8GAQAGBhkSCA8G/wAGBwcGAhUSGRkSERkZEQEAFBRFLy81NS4vRRUUFBVFLy41NS8vRRQU/wBHPj5dGxsbG10+PkdGPz5cGxsbG1w+P0a3BgcHBv8ABg8IEhkGBgEABg8JCQ8GAAAAAAUAVQAWA6oDawARACMAQgBhAHoAAAE0NjMxITIWFRQGIzEhIiY1MTcyFhUxERQGIyImNTERNDYzMTUiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEBNDc+ATc2MzIXHgEXFhUxFAcOAQcGIyInLgEnJjUxBT4BMzIWFwEeARUUBiMiJicBLgE1NDY3MQEAGRIBABEZGRH/ABIZqxEZGRESGRkSNS8vRRQUFBRFLy81NS4vRRUUFBVFLy41/qobG10+PkdGPz5cGxsbG1w+P0ZHPj5dGxsCDQYPCQkPBgEABgYZEggPBv8ABgcHBgIVEhkZEhEZGRGrGRL/ABEZGREBABIZVRQURS8vNTUuL0UVFBQVRS8uNTUvL0UUFP8ARz4+XRsbGxtdPj5HRj8+XBsbGxtcPj9GtwYHBwb/AAYPCBIZBgYBAAYPCQkPBgAAAAADAFUAFQOrA1QASACPAMMAAAE+ATMyFhcjHgEfAh4BFx4BFxUeARURFAYHDgEHDgEHFQ4BBw4BIyEiJicuAScuAScjLgEnLgE1ETQ2Nz4BNzE+AT8BJT4BNxcuASMiBgcxDgEHBQ4BBw4BBzEGFBURHAEXFBYVHgEXMTIWMxYyMyE6ATcyNjM+ATcxNDY1NjQ1ETwBJy4BJzEuAS8BLgEnBT4BMzIWFzEXHgEXFjI3PgE/AT4BMzIWFRQGBzEHDgEHDgEjIiYnMy4BLwIuATU0NjcxAeoHEAkJEgkBEiISBvILFQcHCgMEAQEBAQUGChwSDBkNDB0R/g4RHQwNGQwSHAkBBgUBAQECAwQKBwgWDAMBBhIjEysCBgQCBgIFERn/ABALAgIEAQEBAwMKBgIHCQkZEwHuExkJCQcCBgoDAwEBAQQCAgkQ7xgRBf6JBhELBw0F7xgRBAYKBgQRGO8FDgcSGQoJ9BIhEgcQCQkQCAESIRIF7wgKBQQDUAICAwIFGA8EwgkSCwgVCwEMGw/+7xEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0RAQ8PHA0MFQkLEQoCxg4XBVMBAQEBAQsTwgwJAgMHBAQNFf74ExkJCQcCBgoDAwEBAwMKBgIHCQkZEwELFAwEBAYDAwkMvxQMAeQICgUErxIKAQICAQoSrwUEGBILEwW0DRUFAgICAgUVDQSwBhELBw0FAAAAAAMAVQBrA6sDFQBIAI0AwQAAASE6ARceARceAR8BHgEXHgEVERQGBw4BBw4BByMOAQcGIiMhKgEnLgEnLgEvAS4BJy4BNTwBNRURNDY3PgE3PgE3MT4BNzYyMwcOAQcOAQcxFAYVBhQVERwBFxQWFR4BFzEeARcWMjMhOgE3PgE3PgE3MTQ2NTY0NRE8ASc0JjUuAScxLgEnJiIjISoBByc+ATMyFhcxFx4BFxYyNz4BPwE+ATMyFhUUBgcxBw4BBw4BIyImJzMuAS8CLgE1NDY3MQEHAfIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEQEMGQ0MHRH+DhEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0RMwkHAgYKAwMBAQMDCgYCBwkJGRMB7hMZCQkHAgYKAwMBAQMDCgYCBwkJGRP+EhMZCTYGEQsHDQXwGBAEBgoGBBEY7wUMBxIZCQj0EiESBxAJCBEIARIhEgXvCAoFBAMVAQEFBwkcEgEMGQwMHRH+uBEdDAwZDBMcCQcFAQEBAQUHCRwSAQwZDAsYDAMGAwEBSBEdDAwZDBMcCQcFAQFWAQIBAwkGAggICRkT/rwTGQkICAIGCQMBAgEBAQECAQMJBgIICAkZEwFEExkJCAgCBgkDAQIBAQEFCAkEBK8SCgECAgEKEq8EBBkSChIGsw0VBQICAgIFFQ0ErwYSCwcNBQAIADT/9APMA4wAVACiAPkBRwGcAeoCQAKOAAABFx4BFx4BFx4BFRQGBzcOAQc1DgEPAQ4BBw4BBw4BIyImJzMuAScxLgEvAS4BJy4BLwEuATU0NjcjPgE3FT4BPwE+ATc+ATc+ATMyFhcjHgEXHgEXBy4BJy4BIy4BIyIGBzMiBgcOAQcOAQcOAQcOARUUFhcxHgEXHgEXHgEXHgEzHgEzMjY3IzI2Nz4BNz4BNz4BNz4BNTQmJzEuAScuAScjBxceARceARceARUUBgc1DgEHMw4BDwEOAQcOAQ8BDgEjIiYnFS4BJzEuAS8BLgEnLgEnNS4BNTQ2NxU+ATcxPgE/AT4BNz4BNzU+ATMyFhcnHgEXHgEXBy4BJy4BJy4BIyIGBzEOAQcOAQcOAQcOARUOARUUFhc1FBYXHgEXHgEXHgEXHgEzMjY3MT4BNz4BNz4BNz4BNT4BNTQmJxU0JicuAScxJRceARceARceARUUBgc1DgEHMQ4BDwEOAQcOAQcOASMiJicXLgEnMy4BLwEuAScuASc1LgE1NDY3FT4BNyM+AT8BPgE3PgE3PgEzMhYXNR4BFx4BFwcuAScuAScuASMiBgcxDgEHDgEHDgEHDgEVDgEVFBYXNRQWFx4BFx4BFx4BFx4BMzI2NzE+ATc+ATc+ATc+ATU+ATU0JicVNCYnLgEnMQcXHgEXHgEXHgEVFAYHMw4BBzUOAQ8BDgEHDgEHDgEjIiYnMy4BJzEuAScxJy4BJy4BJyMuATU0NjcHPgE3FT4BPwE+ATc+ATc+ATMyFhcjHgEXHgEXBy4BJy4BIy4BIyIGBzMiBgcOAQcOAQcOAQcOARUUFhcxHgEXHgEXHgEXHgEzHgEzMjY3IzI2Nz4BNz4BNz4BNz4BNTQmJzEuAScuAScxAngCChEGBwwFBAUFBQEFDAcGEQoCChEICBIKCxkNDRkMAQoSCAgRCgIKEAcHDAQBBAUFBQEFDAcGEQoCChEICBIKCxkNDRkMAQoSCAgRCjwLDgYGBQIDCQQECQQBAgUGBg4LCw8FBQMBAQICAQEDBQUPCwsOBgYFAgMJBAQJBAECBQYGDgsLDwUFAwEBAgIBAQMFCA8HAdQCChEHBwwEBQUFBQULCAEHEQoCChEIBxIKAQoZDg0ZCwoSCAcRCgIKEQcHCwUFBQUFBAwHBxEKAgoRBwgSCgsZDQ4ZCwELEQgIEQo7Cw8GBQYBBAgFBAgEAQYFBg8LCw4FBQQCAgICBAUFDgsLDwYFBgEECAQFCAQBBgUGDwsLDgUFBAIBAQIEBQcPCAJaAgoRBwcMBAUFBQUEDAcHEQoCChEHCBIKCxkNDhkLAQsSCAEIEQoCChEHBwsFBQUFBQULCAEHEQoCChEICBELChkODRkLChIIBxEKOwsPBgUGAQQIBAUIBAEGBQYPCwsOBQUEAgEBAgQFBQ4LCw8GBQYBBAgFBAgEAQYFBg8LCw4FBQQCAgICBAUHDwjUAgoRBgcMBQQFBQUBBQwHBhEKAgoRCAgSCgsZDQ0ZDAEKEggJEQkCChEGBwwEAQQFBQUBBQwHBhEKAgoRCAgSCgsZDQ0ZDAEKEggIEQo8Cw4GBgUCAwkEBAkEAQIFBgYOCwsPBQUDAQECAgEBAwUFDwsLDgYGBQIDCQQECQQBAgUGBg4LCw8FBQMBAQICAQEDBQgPCANJAgoRCAcSCgsZDQ4ZCwELEggBCBEKAgoRBwcMBAUFBQUFCwcHEQoCChEIBxIKAQoZDg0ZCwoSCAEIEQoCChEHBwwEBQUFBQQMBwcRCj0LDgUFBAICAgIEBQUOCwsPBgUGAQQIBAUIBAEGBQYPCwsOBQUEAgEBAgQFBQ4LCw8GBQYBBAgFBAgEAQYFCQ8I0gIKEQgIEgoLGQ0NGQwBChIICBEKAgoRBgcMBAEEBQUFAQUMBwYRCgIKEQgIEQoBCxkNDRkMAQoSCAcSCgIKEAcHDAQBBAUFBQEFDAcHEAo+Cw8FBQMBAQICAQEDBQUPCwoPBgYFAgMJBAQJBAECBQYGDgsLDwUFAwEBAgIBAQMFBQ8LCw4GBgUCAwkEBAkEAQIFBggQBz4CChEICBIKCxkNDRkMAQoSCAgRCgIKEQYHDAUEBQUFAQUMBwYRCgIKEQgIEQoBCxkNDRkMAQoSCAgRCgIKEQYHDAUEBQUFAQUMBwYRCj4LDwUFAwEBAgIBAQMFBQ8LCw4GBgUCAwkEBAkEAQIFBgYOCwsPBQUDAQECAgEBAwUFDwsLDgYGBQIDCQQECQQBAgUGCBAH0gIKEQgIEQsKGQ4NGQsKEggBCBEKAgoRBwcMBAUFBQUFCwcJEAkCChEIBxIKCxkNDhkLAQsSCAEIEQoCChEHBwwEBQUFBQQMBwcRCj0LDgUFBAIBAQIEBQUOCwsPBgUGAQQIBQQIBAEGBQYPCwsOBQUEAgICAgQFBQ4LCw8GBQYBBAgEBQgEAQYFCQ8IAAAABACrACMDVQNrAA4AHABEAH8AAAEiBhUUFjMxMjY1NCYjMQc0NjMyFhUxFAYjIiY1NzgBMSIGBzEOARUxFBYXHgEXHgEXMz8BPgE3PgE1NCYnLgEjOAE5AQc+ATM4ATkBOAExMhYXMR4BFTEUBw4BBwYHDgEHDgEVNQ4BBwYiJy4BJzAmIzUuAScmJy4BJyY1NDY3AgASGRkSEhkZEoBLNTVLSzU1S4A1XSMjKDUoJ1UdAQUDAQMHHVUnKDUnJCNdNfEufEdHfC4vNQgJHhQTFixdIAEBBxMNCxgLDRMHAQEgXSwWExQeCQg0MAJrGRISGRkSEhkrNUtLNTVLSzXVJyMiXDRFfzY3UxcCBAICBhdTNzZ/RTJdIyMnDS41NS4ue0YsKSlLIyIePVsZAQEBAQYNBAMDBA0GAQEZWz0eIiNLKSksQ3wwAAYAVQAVA6sDawAcACEAPgBDAGAAZQAAJR4BMzI2NzElPgE1ETQmIyIGBzEFDgEVERQWFzM3ETcRBwUeATMyNjcxJT4BNRE0JiMiBgcxBQ4BFREUFhczNxE3EQcTPgEzMhYXMQUeARURFAYjIiYnMSUuATURNDY3MxcRFxEnAmoEDAYFCgQBAAsNGRIFCgT/AAsNCwkBQaqq/b8EDAYFCgQBAAsNGRIFCgT/AAsNCwkBQaqqvwQMBgUKBAEACw0ZEgUKBP8ACw0LCQFBqqocAwQDAoAFFQwCgBIZAwKABRUM/YALFAVpAiFV/d9VaQMEAwKABRUMAoASGQMCgAUVDP2ACxQFaQIhVf3fVQLfAwQDAoAFFQz9gBIZAwKABRUMAoALFAVp/d9VAiFVAAQAqQBqA1UDFQAhADAAPwCHAAABMhYVMRUUFjMyNjUxNTQ2MzIWFTEVFAYjIiY1MTU0NjMxByIGFRQWMzEyNjU0JiMxBzQ2MzIWFTEUBiMiJjUxEz4BMzIXHgEXFhUxFAYjIiY1MTQnLgEnJiMiBw4BBwYVFBceARcWMzI2Nwc+ATMyFhUUBgcjDgEjIicuAScmNTQ3PgE3Nj8BAoASGRkREhkZEhEZSzU1SxkSgCMyMiMjMjIjq2RHR2RkR0dkOhk6Hkc+Pl0bGhkREhkUFEYuLzU1Ly5GFBQUFEYuLzUaMBcCBAgFEhkQDAEcQSJHPj5dGxsRETwqKjEDAmsZEqsRGRkRKxIZGRIrNUtLNasSGVYyIyMyMiMjMlVHZGRHR2RkRwFCCQobGl0+PkcSGRkSNS8uRhQUFBRGLi81NS8uRhQUCgkBAgIZEg4VBQwNGxtcPz5HNzMyVCAgEQEAAAADAKsAwANVAsAAEQAjADUAACU0NjMxITIWFRQGIzEhIiY1MSU0NjMxITIWFRQGIzEhIiY1MTU0NjMxITIWFRQGIzEhIiY1MQHVGRIBKxEZGRH+1RIZ/tYZEQJWERkZEf2qERkZEQJWERkZEf2qERnrERkZERIZGRLVEhkZEhIZGRLVEhkZEhEZGREAAAMAqwDAA1UCwAARACMANQAAJTQ2MzEhMhYVFAYjMSEiJjUxJTQ2MzEhMhYVFAYjMSEiJjUxJTQ2MzEhMhYVFAYjMSEiJjUxAasZEQFWERkZEf6qERn/ABkRAlYRGRkR/aoRGQEAGREBVhEZGRH+qhEZ6xEZGRESGRkS1RIZGRISGRkS1RIZGRIRGRkRAAAAAAMAqwDAA1UCwAAQACIAMwAANzQ2MzEhMhYVFAYjMSEiJjU1NDYzMSEyFhUUBiMxISImNTE1NDYzMSEyFhUUBiMxISImNasZEQFWERkZEf6qERkZEQJWERkZEf2qERkZEQFWERkZEf6qERnrERkZERIZGRLVEhkZEhIZGRLVEhkZEhEZGREAAAADAKsAwANVAsAAEQAjADQAADc0NjMxITIWFRQGIzEhIiY1MTU0NjMxITIWFRQGIzEhIiY1MTU0NjMxITIWFRQGIzEhIiY1qxkRAlYRGRkR/aoRGRkRAlYRGRkR/aoRGRkRAVYRGRkR/qoRGesRGRkREhkZEtUSGRkSEhkZEtUSGRkSERkZEQAAAwCrAMADVQLAABAAIgA0AAA3NDYzMSEyFhUUBiMxISImNTU0NjMxITIWFRQGIzEhIiY1MSU0NjMxITIWFRQGIzEhIiY1MasZEQFWERkZEf6qERkZEQJWERkZEf2qERkBABkRAVYRGRkR/qoRGesRGRkREhkZEtUSGRkSEhkZEtUSGRkSERkZEQAAAAACAFUBFQOrAmsAEAAhAAATNDYzMSEyFhUUBiMxISImNRE0NjMxITIWFRQGIzEhIiY1VRkSAwASGRkS/QASGRkSAwASGRkS/QASGQFAEhkZEhIZGRIBABIZGRISGRkSAAACAKsBFQNVAmsAEQAjAAATNDYzMSEyFhUUBiMxISImNTERNDYzMSEyFhUUBiMxISImNTGrGRECVhEZGRH9qhEZGRECVhEZGRH9qhEZAUASGRkSEhkZEgEAEhkZEhIZGRIAAAAAAwEAABUDAANrAEgAjQCiAAABMzIWFx4BFx4BFzEeARcWFBURHAEHDgEHDgEPAQ4BBw4BKwEiJicuAScuAScxLgEnNCY1PAE1FRE8ATc+ATc+AT8BPgE3PgEzByIGIw4BBzEOAQcUBhURFBYVHgEXHgEXMzIWMxYyOwE6ATcyNjM+ATcxPgE3NDY1ETQmNS4BJy4BJyMiJiMmIisBKgEHEzQ2MzkBMhYVOQEUBiM5ASImNTkBAbKcER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0RnRAdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdETMJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRKaEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSmhIZCVYZEhIZGRISGQNrAQEBBQYKHBIMGQ0MHRH+DhEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNChgMAwYEAQHyER0MDRkMEhwJAQYFAQEBVwMDCgYCBwkJGRP+EhMZCQkHAgYKAwMBAQMDCgYCBwkJGRMB7hMZCQkHAgYKAwMBAf2sEhkZEhIZGRIAAwEAABUDAANrAEgAjQCiAAABMzIWFx4BFx4BFzEeARcWFBURHAEHDgEHDgEPAQ4BBw4BKwEiJicuAScuAScxLgEnNCY1PAE1FRE8ATc+ATc+AT8BPgE3PgEzByIGIw4BBzEOAQcUBhURFBYVHgEXHgEXMzIWMxYyOwE6ATcyNjM+ATcxPgE3NDY1ETQmNS4BJy4BJyMiJiMmIisBKgEHFzQ2MzkBMhYVOQEUBiM5ASImNTkBAbKcER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0RnRAdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdETMJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRKaEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSmhIZCVYZEhIZGRISGQNrAQEBBQYKHBIMGQ0MHRH+DhEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNChgMAwYEAQHyER0MDRkMEhwJAQYFAQEBVwMDCgYCBwkJGRP+EhMZCQkHAgYKAwMBAQMDCgYCBwkJGRMB7hMZCQkHAgYKAwMBAVQSGRkSEhkZEgAABQCAAEADgAMVABEAWgCfAMIAxgAAJTQ2MzEhMhYVFAYjMSEiJjUxAyE6ARceARceARcVHgEXFhQdARwBBw4BBw4BByMOAQcGIiMhKgEnLgEnLgEnNS4BJzQmNTwBNTE1PAE3PgE3PgE3Mz4BNzYyMwcOAQcOAQcxDgEHFAYdARQWFR4BFx4BFzMeARcyFjMhMjYzPgE3PgE3NT4BNzQ2PQE0JjUuAScuAScjLgEnJiIjISoBBxc+ATMyFhcxFx4BFRQGBzEHDgEjIiY1OAE5ARE4ATE0NjczFxU3JwFVGRIBABIZGRL/ABIZIwGcER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0R/mQRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREzCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCZgECgYGDAXACQoKCcAFDAYSGQwKAT5JSWsRGRkREhkZEgKqAQEFBwkcEgEMGQwMHRHyER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNChgNAwUD8hEdDAwZDBMcCQcFAQFWAQIBAwkGAggICRkT7xIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEu8TGQkICAIGCQMBAgEBAS8DAgMEgAYSCwsTBoADBBkSAQAMFAV1YTEwAAAAAAMAgABAA4ADFQARAFoAnwAAJTQ2MzEhMhYVFAYjMSEiJjUxAyE6ARceARceARcVHgEXFhQdARwBBw4BBw4BByMOAQcGIiMhKgEnLgEnLgEnNS4BJzQmNTwBNTE1PAE3PgE3PgE3Mz4BNzYyMwcOAQcOAQcxDgEHFAYdARQWFR4BFx4BFzMeARcyFjMhMjYzPgE3PgE3NT4BNzQ2PQE0JjUuAScuAScjLgEnJiIjISoBBwFVGRIBABIZGRL/ABIZIwGcER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0R/mQRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREzCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCWsRGRkREhkZEgKqAQEFBwkcEgEMGQwMHRHyER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNChgNAwUD8hEdDAwZDBMcCQcFAQFWAQIBAwkGAggICRkT7xIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEu8TGQkICAIGCQMBAgEBAQACAFUAFQOaA1oAOwBfAAABHgEVFAYHMQ4BFRQXHgEXFjMyNjcHPgEzMhYVFAYHMQYHDgEHBiMiJy4BJyY1NDc+ATc2Nz4BMzIWFzEHBgcOAQcGFRQXHgEXFjMyNz4BNzY/AQ4BIyInLgEnJjU0NjcBrwUHAQEHBxobXT4+Rxo0GAMDBgQRGQEBFCcna0FCSFhOTnQhIhcXUDg3QgMGAwkQBlgnHyAuDAwbGl0+PkcwKyxMIB8WAQoVClhOTnQhIgEBA04GEAgEBgMWMxpHPj5dGxsICAEBARkSAwYDQjc4UBcXIiF0Tk5YSEJBaycnFAEBBwVlFx8fTSwrMEc+Pl0aGwwMLSAfJwEBASIhdE5OWAoVCgAJAKsAawNVAxUADQAcACsAOQBIAFcAZQB0AIMAACU0NjMyFhUxFAYjIiY1ITQ2MzIWFTEUBiMiJjUxITQ2MzIWFTEUBiMiJjUxATQ2MzIWFTEUBiMiJjUhNDYzMhYVMRQGIyImNTEhNDYzMhYVMRQGIyImNTEBNDYzMhYVMRQGIyImNSE0NjMyFhUxFAYjIiY1MSE0NjMyFhUxFAYjIiY1MQKrMiMjMjIjIzL/ADIjIzIyIyMy/wAyIyMyMiMjMgIAMiMjMjIjIzL/ADIjIzIyIyMy/wAyIyMyMiMjMgIAMiMjMjIjIzL/ADIjIzIyIyMy/wAyIyMyMiMjMsAjMjIjIzIyIyMyMiMjMjIjIzIyIyMyMiMBACMyMiMjMjIjIzIyIyMyMiMjMjIjIzIyIwEAIzIyIyMyMiMjMjIjIzIyIyMyMiMjMjIjAAAAAAQBKwDrAtUClQANABwAKgA5AAABNDYzMhYVMRQGIyImNSE0NjMyFhUxFAYjIiY1MQE0NjMyFhUxFAYjIiY1ITQ2MzIWFTEUBiMiJjUxAisyIyMyMiMjMv8AMiMjMjIjIzIBADIjIzIyIyMy/wAyIyMyMiMjMgFAIzIyIyMyMiMjMjIjIzIyIwEAIzIyIyMyMiMjMjIjIzIyIwAAAAMAqwFrA1UCFQANABwAKwAAATQ2MzIWFTEUBiMiJjUhNDYzMhYVMRQGIyImNTEhNDYzMhYVMRQGIyImNTECqzIjIzIyIyMy/wAyIyMyMiMjMv8AMiMjMjIjIzIBwCMyMiMjMjIjIzIyIyMyMiMjMjIjIzIyIwAAAAMBqwBrAlUDFQAOAB0ALAAAJTQ2MzIWFTEUBiMiJjUxETQ2MzIWFTEUBiMiJjUxETQ2MzIWFTEUBiMiJjUxAasyIyMyMiMjMjIjIzIyIyMyMiMjMjIjIzLAIzIyIyMyMiMBACMyMiMjMjIjAQAjMjIjIzIyIwAAAAMA1QAVAysDawAQADEAUwAAATIWFTEVFAYjIiY1MTU0NjM1IgcOAQcGFTERFBceARcWMzI3PgE3NjUxETQnLgEnJiMRIicuAScmNTERNDc+ATc2MzIXHgEXFhUxERQHDgEHBiMxAgASGRkSEhkZEiwnJzoREBAROicnLCwnJzoREBAROicnLD42N1EXGBgXUTc2Pj42N1EXGBgXUTc2PgLAGRKAERkZEYASGVUQETonJyz/ACwnJzoREBAROicnLAEALCcnOhEQ/QAYF1E3Nj4BAD42N1EXGBgXUTc2Pv8APjY3URcYAAADAFUBFQOrAmoAEAAtAEoAAAEUBiMxISImNTQ2MzEhMhYVJx4BFRQGDwEOASMiJjU0Nj8BJy4BNTQ2MzIWHwEFLgE1NDY/AT4BMzIWFRQGDwEXHgEVFAYjIiYvAQOrGRL9ABIZGRIDABIZDQYHBwaABg8IEhkGBmJiBgYZEggPBoD8xAYHBwaABg8IEhkGBmJiBgcZEQoPBoABwBIZGRISGRkSHgYPCQkPBoAGBhkSCA8GYmIGDwgSGQYGgDwGDwkJDwaABgYZEggPBmJiBg8KERkHBoAAAAADAVUAFQKqA2sAEAAtAEoAAAEyFhUxERQGIyImNTERNDYzEw4BIyImLwEuATU0NjMyFh8BNz4BMzIWFRQGDwEDPgEzMhYfAR4BFRQGIyImLwEHDgEjIiY1NDY/AQIAEhkZEhIZGRIeBg8JCQ8GgAYHGREKDwZiYgYPCBIZBgaAPAYPCQkPBoAGBhkSCA8GYmIGDwgSGQYGgANrGRL9ABIZGRIDABIZ/LcGBwcGgAYPChEZBwZiYgYGGRIIDwaAAzwGBwcGgAYPCBIZBgZiYgYGGRIIDwaAAAAGAFUAFQOrA2sAEAAtAD4AWwB4AJUAAAEyFhUxERQGIyImNTERNDYzEw4BIyImLwEuATU0NjMyFh8BNz4BMzIWFRQGDwEBFAYjMSEiJjU0NjMxITIWFSceARUUBg8BDgEjIiY1NDY/AScuATU0NjMyFh8BBS4BNTQ2PwE+ATMyFhUUBg8BFx4BFRQGIyImLwEBPgEzMhYfAR4BFRQGIyImLwEHDgEjIiY1NDY/AQIAEhkZEhIZGRIeBg8JCQ8GgAYHGREKDwZiYgYPCBIZBgaAAY0ZEv0AEhkZEgMAEhkNBgcHBoAGDwgSGQYGYmIGBhkSCA8GgPzEBgcHBoAGDwgSGQYGYmIGBxkRCg8GgAGABg8JCQ8GgAYGGRIIDwZiYgYPCBIZBgaAA2sZEv0AEhkZEgMAEhn8twYHBwaABg8KERkHBmJiBgYZEggPBoABnhIZGRISGRkSHgYPCQkPBoAGBhkSCA8GYmIGDwgSGQYGgDwGDwkJDwaABgYZEggPBmJiBg8KERkHBoABvAYHBwaABg8IEhkGBmJiBgYZEggPBoAAAAAGAFUAFQOrAxUAEQAyAFMAqADtATIAAAEyFhUxFRQGIyImNTE1NDYzMSU+ATMyFh8BNz4BMzIWFRQGDwEOASMiJi8BLgE1NDY3MTcOASMiJi8BBw4BIyImNTQ2PwE+ATMyFh8BHgEVFAYHMQMhOgEXHgEXHgEfAR4BFx4BHQEUBiMiJjUxNTwBJzQmJy4BJzEuASciJiMhIgYjDgEHDgEHFRQGFQYUHQEUBiMiJjUxNTQ2Nz4BNz4BNzE+ATc2MjMBMzoBFx4BFx4BHwEeARceAR0BFAYHDgEHDgEHFQ4BBw4BKwEiJicuAScuAScxLgEnJjQ9ATwBNz4BNz4BNzM+ATc2MjMHDgEHDgEHMQ4BBwYUHQEcARceARceARcxMhYzFjI7AToBNzI2Mz4BNzE0NjU2ND0BPAEnNCY1LgEnMS4BJyYiKwEqAQcCqxEZGRESGRkS/bcGDwkJDwY3OAUQCBIZBwVWBRAJCQ8GVQYHBwbnBg8JCRAFODcGDwgSGQYGVQYPCQkQBVYGBgYGQgHyER0MDRkMEhwJAQYFAQEBGRISGQECAQMKBgIHCQkZE/4SExkJCQcCBgoDAwEZEhIZAQEBBQYKHBIMGQ0MHREBVZ0RHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdEZ0RHQwMGQwTHAkHBQEBAQEFBwkcEgEMGQwMHREzCAgCBgkDAQIBAQEBAgEDCQYCCAgJGROZExkJCQcCBgoDAwEBAwMKBgIHCQkZE5kTGQkB6xkSgBIZGRKAEhlIBgcHBjc3BgYZEQkPBlUGBwcGVQYPCQkQBUQGBgYGNzcFBxkSCBAGVQYGBgZWBRAJCQ8G/skBAQYGCR0RAQwZDQwdEU4SGRkSTRIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEk0SGRkSThEdDA0ZDBIdCQYGAQEB1QEBBQcJHBIBDBkMDB0RHREdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0RHREdDAwZDBMcCQcFAQFWAQIBAwkGAggICRkTGRMZCQkHAgYKAwMBAQMDCgYCBwkJGRMZExkJCAgCBgkDAQIBAQEAAAAAAgBvADcDiQNRAA0AFgAAEyY2FwUeAQcFAwYmJwMFJRsBPgE3MSVvD0gyAqI3CjT+4o8ZdBHPAvT9XdCPBhQMAR4C5jJID88RdBmP/uI0CjcCorbQ/V0BHgwUBo8AAAAABACAAEAD1QOVAHoAlgCbAJ8AAAEzMhYVFAYjMSMiBiMOAQcOAQcVDgEHFAYVERQWFR4BFx4BFzMeARcyFjMhMjYzPgE3PgE3NT4BNzQ2PQE0NjMyFhUxFRwBBw4BBw4BByMOAQcGIiMhKgEnLgEnLgEnNS4BJzQmNTwBNTERPAE3PgE3PgE3Mz4BNzYyMyU+ATMyFh8BHgEVFAYHAQ4BKwEiJjUxNTQ2NwEPARUzNz8BJwcBMnkRGRkReBIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEgGaEhkJCQgBBgoDAQIBARkREhkBAQYGCR0RAQwZDQwdEf5jEB0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0RAdsFEAkJDwaABgYGBv6ABg8JgBIZBwUBgGHWRNU9Q0NEA0AZEhEZAQECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEngRGRkReREdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQoXDAQGAwGcER0MDRkMEh0JBgYBAUkGBgYGgAYPCQkQBf6ABgcZEoAJDwYBgNvVRNY8RENDAAAABACAAEADgANAAHYAjwCeAKwAAAEVFAYjIiY1MTU0JjUuAScuAScjLgEnIiYjISIGIw4BBw4BBxUOAQcUBhURFBYVHgEXHgEXMx4BFzIWOwEyFhUUBiMxIyoBJy4BJy4BJzUuAScmNDURPAE3PgE3PgE3Mz4BNzYyMyE6ARceARceARcVHgEXFhQVAz4BMzIWHwEeARUUBiMiJi8BLgE1NDY3MSciBhUUFjMxMjY1NCYjMQc0NjMyFhUxFAYjIiY1A4AZEhEZAQECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEngRGRkReREdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEQGcER0MDRkMEh0JBgYBAfMFEAkJDwaABQcZEggQBoAFBwcFTCw/PywsPz8swHBQUHBwUFBwAo55ERkZEXgSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEZERIZAQEGBgkdEQEMGQ0MHREBnRAdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEf6lBgcHBoAFEAgSGQcFgAYPCQkQBbg/LCw/PywsP2tQcHBQUHBwUAADAIAAQAOAA0AATQCXAMcAAAEhOgEXHgEXHgEXFR4BFxYUHQEUBgcOAQcxDgEPAQ4BBw4BDwEOASsBKgEnLgEnLgEnNS4BJzQmNTwBNTERPAE3PgE3PgE3Mz4BNzYyMwcOAQcOAQcVDgEHFAYVERQWFR4BFx4BFzMeARcyFjsBMjY3MjY3Iz4BPwE+ATc+ATUzNDY9ATQmNS4BJy4BJyMuASciJiMhIgYjATMyFhUUBiMxIyoBIyIGIzMxBhQdARQGIyImNTE1PAE3NDY3Bz4BPwE+ATMxNjIzATIBnBEdDA0ZDBIdCQYGAQEBAwIIBQYQCbUJEQoIEgoBCxgN7xAdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdETMJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRLqEQsDAwcDAQMIDLAMCAECAwEBAQECAQMKBQEBCAkJGRL+ZhIZCQFv5xIZGRLmAQMCBQoFAQEZERIZAQUEAQcSDAEHEAkHEAgDQAEBBgYJHREBDBkNDB0R7g0YCwoTCAoRCbUJEAYFCAIBAgEBAQYGCR0RAQwZDQoXDAQGAwGcER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAQEDAgEIDLAMCAMCBgQDCxHqEhkJCQgBBgoDAQIBAQH+1hkSERkBBAsK5hIZGRLnCBAHCRAIAQ0SBgEDBQEAAAAFAIAAQAOAA0AASACNAJ8AsQDDAAABIToBFx4BFx4BFxUeARcWFBURHAEHDgEHDgEHIw4BBwYiIyEqAScuAScuASc1LgEnNCY1PAE1MRE8ATc+ATc+ATczPgE3NjIzBw4BBw4BBxUOAQcUBhURFBYVHgEXHgEXMx4BFzIWMyEyNjM+ATc+ATc1PgE3NDY1ETQmNS4BJy4BJyMuASciJiMhIgYjFzQ2MzEzMhYVFAYjMSMiJjUxNTQ2MzEzMhYVFAYjMSMiJjUxAyImNTERNDYzMhYVMREUBiMxATIBnBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEf5jEB0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0RMwkIAQYKAwECAQEBAQIBAwoFAQEICQkZEgGaEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS/mYSGQnWGRKrERkZEasSGRkSqxEZGRGrEhmAERkZERIZGRIDQAEBBgYJHREBDBkNDB0R/mQRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0KFwwEBgMBnBEdDA0ZDBIdCQYGAQFWAQIBAwoFAQEICQkZEv5mEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAf8RGRkREhkZEoARGRkREhkZEv3VGRICqhIZGRL9VhIZAAAAAAMAVQAVA6sDawBcALUA1gAAATMyFhceARc1HgEfAh4BFx4BFxUeAR0BFAYHDgEHMw4BDwIOAQcOAQcjDgErASImJy4BJxUuAS8CLgEnLgEnNS4BPQE0Njc+ATcjPgE/Aj4BNz4BNzM+ATMXKgEHDgEHMQ4BDwEOAQcOAQcxBhQdARwBFx4BFzEeAR8BHgEXHgEXMRYyOwE6ATc+ATcxPgE/AT4BNz4BNzE2ND0BPAEnLgEnMS4BLwEuAScuAScxJiIrAQUeARUUBg8BDgEjIiYvAS4BNTQ2MzIWHwE3PgEzMhYXMQGW1A0YCwoTCAoRCQKUCRAGBQgCAwEBAwIIBgEGEAkDkwkRCggTCQELGA3UDRgLChMIChEJApQJEAYFCAIDAQEDAggGAQYQCQOTCREKCBIKAQsYDQMRCwMDBwIDCAyRDAgBAgIBAQEBAgIBCAyRDAgDAwYDAwsRzhELAwMHAgMIDJEMCAECAgEBAQECAgEIDJEMCAMDBgMDCxHOAQUGBwcGqwUQCQkPBlUGBxkRCg8GN40GDwkJDwYDawEDAggGAQYQCQOTCREKCBMJAQsYDdQNGAsKEwgKEQkClAkQBgUIAgMBAQMCCAYBBhAJA5MJEQoIEwkBCxgN1A0YCwoTCAoRCQKUCRAGBQgCAwFWAQECAgEIDJEMCAMDBgMDCxHOEQsDAwcCAwgMkQwIAQICAQEBAQICAQgMkQwIAwIHAwMLEc4RCwMDBwIDCAyRDAgBAgIBAeIFEAkJDwaqBgcHBlUGDwoRGQcGN4wGBwcGAAAABQBVABUDqwNrACwAPQBSAK8BBwAAAQ4BIzEiJjU0NjMxOAExMjY1NCYjIgYHMQ4BIyImNTQ2NzE+ATMyFhUUBgcjJzIWFTEVFAYjIiY1MTU0NjMHNDYzMTMyFhUxFRQGIzEjIiY1MTUDMzIWFx4BFzUeAR8CHgEXHgEXFR4BHQEUBgcOAQczDgEPAg4BBw4BByMOASsBIiYnLgEnFS4BLwIuAScuASc1LgE9ATQ2Nz4BNyM+AT8CPgE3PgE3Mz4BMxcqAQcOAQcxDgEPAQ4BBw4BBzEGFB0BHAEXHgEXMR4BHwEeARceARcWMjsBOgE3PgE3MT4BPwE+ATc+ATcxNjQ9ATwBJy4BJzEuAS8BLgEnLgEnMSYiKwECWRMtGRIZGRIjMjIjHC0IBBcOERkBARFYOUdkLSQBWRIZGRISGRkSLRkSBBIZGRIEEhk91A0YCwoTCAoRCQKUCRAGBQgCAwEBAwIIBgEGEAkDkwkRCggTCQELGA3UDRgLChMIChEJApQJEAYFCAIDAQEDAggGAQYQCQOTCREKCBIKAQsYDQMRCwMDBwIDCAyRDAgBAgIBAQEBAgIBCAyRDAgDAwYDAwsRzhELAwMHAgMIDJEMCAECAgEBAQECAgEIDJEMCAMDBgMDCxHOAYQMDRkREhkyIyQyIRoNERkSAwcDNEJkRy5MFzwZEioSGRkSKhIZ1REZGREFERkZEQUCgAEDAggGAQYQCQOTCREKCBMJAQsYDdQNGAsKEwgKEQkClAkQBgUIAgMBAQMCCAYBBhAJA5MJEQoIEwkBCxgN1A0YCwoTCAoRCQKUCRAGBQgCAwFWAQECAgEIDJEMCAMDBgMDCxHOEQsDAwcCAwgMkQwIAQICAQEBAQICAQgMkQwIAwIHAwMLEc4RCwMDBwIDCAyRDAgBAgIBAQAEAFUAFQOrA2sAXAC1AMoA2wAAATMyFhceARc1HgEfAh4BFx4BFxUeAR0BFAYHDgEHMw4BDwIOAQcOAQcjDgErASImJy4BJxUuAS8CLgEnLgEnNS4BPQE0Njc+ATcjPgE/Aj4BNz4BNzM+ATMXKgEHDgEHMQ4BDwEOAQcOAQcxBhQdARwBFx4BFzEeAR8BHgEXHgEXMRYyOwE6ATc+ATcxPgE/AT4BNz4BNzE2ND0BPAEnLgEnMS4BLwEuAScuAScxJiIrARM0NjMxMzIWFTEVFAYjMSMiJjUxNRMyFhUxFRQGIyImNTE1NDYzAZbUDRgLChMIChEJApQJEAYFCAIDAQEDAggGAQYQCQOTCREKCBMJAQsYDdQNGAsKEwgKEQkClAkQBgUIAgMBAQMCCAYBBhAJA5MJEQoIEgoBCxgNAxELAwMHAgMIDJEMCAECAgEBAQECAgEIDJEMCAMDBgMDCxHOEQsDAwcCAwgMkQwIAQICAQEBAQICAQgMkQwIAwMGAwMLEc46GRIEEhkZEgQSGS0SGRkSEhkZEgNrAQMCCAYBBhAJA5MJEQoIEwkBCxgN1A0YCwoTCAoRCQKUCRAGBQgCAwEBAwIIBgEGEAkDkwkRCggTCQELGA3UDRgLChMIChEJApQJEAYFCAIDAVYBAQICAQgMkQwIAwMGAwMLEc4RCwMDBwIDCAyRDAgBAgIBAQEBAgIBCAyRDAgDAgcDAwsRzhELAwMHAgMIDJEMCAECAgEB/hgRGRkRBBIZGRIEAVUZEqoSGRkSqhIZAAAAAgBVABUDqwNrAFwAtAAAATMyFhceARc1HgEfAh4BFx4BFxUeAR0BFAYHDgEHMw4BDwIOAQcOAQcjDgErASImJy4BJxUuAS8CLgEnLgEnNS4BPQE0Njc+ATcjPgE/Aj4BNz4BNzM+ATMXKgEHDgEHMQ4BDwEOAQcOAQcxBhQdARwBFx4BFzEeAR8BHgEXHgEXFjI7AToBNz4BNzE+AT8BPgE3PgE3MTY0PQE8AScuAScxLgEvAS4BJy4BJzEmIisBAZbUDRgLChMIChEJApQJEAYFCAIDAQEDAggGAQYQCQOTCREKCBMJAQsYDdQNGAsKEwgKEQkClAkQBgUIAgMBAQMCCAYBBhAJA5MJEQoIEgoBCxgNAxELAwMHAgMIDJEMCAECAgEBAQECAgEIDJEMCAMDBgMDCxHOEQsDAwcCAwgMkQwIAQICAQEBAQICAQgMkQwIAwMGAwMLEc4DawEDAggGAQYQCQOTCREKCBMJAQsYDdQNGAsKEwgKEQkClAkQBgUIAgMBAQMCCAYBBhAJA5MJEQoIEwkBCxgN1A0YCwoTCAoRCQKUCRAGBQgCAwFWAQECAgEIDJEMCAMDBgMDCxHOEQsDAwcCAwgMkQwIAQICAQEBAQICAQgMkQwIAwIHAwMLEc4RCwMDBwIDCAyRDAgBAgIBAQAAAgBVAMADqwLAAD4ATwAAASYiIyoBIzEjIiY1NDYzMTMyFhceARcxHgEXEx4BFzgBOQEWMjsBMhYVFAYjMSMiJicuAScxLgEnAy4BJxcxNzQ2MzEhMhYVFAYjMSEiJjUBaAMFAwECAdkSGRkS3AgUCgkPBggLBNoDAwEDBgbZEhkZEtwIFAoJDwYICwTaAgQCAe0ZEgEAEhkZEv8AEhkCagEZERIZAQMDCQUHEAf+lQUGAQEZERIZAQMDCQUHEAcBawQHAgErEhkZEhEZGREAAAMASAAIA5EDUQAZAEcAjgAAAR4BFRQGDwEOASMiJjU0NjcxNz4BMzIWFzE3DgEHBQ4BBwYiBzcXHgEfAR4BFx4BFzEeARcVFx4BHwE3PgE3Ez4BPwEqARU1Jz4BFx4BHwEWBgcOAQcDDgEHDgEHDgEjIiYnMS4BJy4BLwEuAScXOAExIiYvAi4BJy4BJy4BNTQ2NxU+ATc+ATclPgE/AQKlBQcHBc8GDwkSGQcGzgYQCQgQBpcHFBD9yRQaCQEBAQECCBkS3wQLBQQIAwQGA24KDAUCAQMJBq4DBgMBAQERChoOEhoGAQUCAgIHBa8GCQUFDw8JFw0JEQcPFAcGDwhvAgIBAQEEAQLfEB0LChcHAwMHBgkaCwweEgI7CRcNBAJlBhAICRAGzgYHGRIJDwbPBQcHBZkCBgWuBgkDAQEBAgUMCm8CBgQDCAQFCgYB3RIZCAICCRoUAjcIFgsEAQFTAgIFBxoRAQ4aCgsYDv3FEh4MCxoJBgcDAwcXCgsdEN8DBAIBAgEBbwgPBwYUDwgQCQ0XCgEPDwUFCQavBAYDAQAAAAEAKwDVA9UC6wBJAAABNDYzMSEyFx4BFxYVFAcOAQcGIzEhIiY1NDYzMSEyFhUUBiMxISImNTQ2MzEhMjY1NCYjMSEiBhUUFjMxITI2NTQmIzEhIiY1MQEAGRIBoDcwMUgVFRUVSDEwN/4gUHBwUAHgMEVFMP5gEhkZEgGgDRMTDf4gLT4+LQHgS2pqS/5gEhkCwBIZFRVJMDE3NzEwSRUVcU9QcEQxMUQZERIZEw0NEz4tLD5qS0tqGRIAAQCXABYDkQNpAFwAABMuATU0NjcxAT4BMzIXHgEXFhUUBgcBDgEjIiY1NDY3AT4BMzIWFRQGBzEBDgEjIiY1NDY3AT4BNTQmIyIGBzEBDgEVFBYzMjY3AT4BNTQmIyIGBzEBDgEjIiYnMaMFBwcFASckYTc3MTBJFRUqJP6sGkYoT3EfGgFTECoZMEUSEP7aBg8JEhkHBgEmBAUTDQcLBf6tDhE+LBcmDwFTGBxqSyVCGP7aBhAICRAGAbkFEAkJDwYBJiQqFRVIMTA3OGEk/q0aH3FPKEYaAVQPEkQxGCoQ/toGBxkSCQ8GASYEDAYNEwUE/q0PJxYsPhAPAVMZQSVLahsY/toGBwcGAAMBAABrAwADFQARACMATQAAATIWFTERFAYjIiY1MRE0NjMxMzIWFTERFAYjIiY1MRE0NjMxBTQ3PgE3NjMxITIWFRQGIzEhIgYVFBYzMTMyFhUUBiMxIyInLgEnJjUxAgASGRkSEhkZEqsRGRkREhkZEv5VERE5JycsAQASGRkS/wA1S0s1KxIZGRIrLCcnORERAxUZEf2qERkZEQJWERkZEf2qERkZEQJWERnVLCcnOhEQGRESGUs1NUsZEhEZEBE6JycsAAAABQBVABUDqwNrAA4AHAArADkAUgAAASIGFRQWMzEyNjU0JiMxBzQ2MzIWFTEUBiMiJjUBIgYVFBYzMTI2NTQmIzEHNDYzMhYVMRQGIyImNRceARUUBgcBDgEjIiY1NDY3AT4BMzIWFzEBACMyMiMjMjIjq2RHR2RkR0dkAqsjMjIjIzIyI6tkR0dkZEdHZG8GBgYG/rUGDwkSGQcFAUwFEAkJDwYBFTIjIzIyIyMyVUdkZEdHZGRHAlUyIyMyMiMjMlVHZGRHR2RkRzwGDwkJEAX+tAUHGRIJDwYBSwYGBgYAAAAABABVABUDqwNrAB4AOwBNAF8AAAEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEBNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNSUyFhUxERQGIyImNTERNDYzMSMyFhUxERQGIyImNTERNDYzMQIARz4+XRsaGhtdPj5HRz4+XRsaGhtdPj5H/lUiIXROTlhYTk50ISIiIXROTlhYTk50ISICABIZGRIRGRkRqhEZGRESGRkSAxUaG10+PkdHPj5dGxoaG10+PkdHPj5dGxr+q1hOTnQhIiIhdE5OWFhOTnQhIiIhdE5OWKsZEv8AEhkZEgEAEhkZEv8AEhkZEgEAEhkABACAABUDgANrADIAXQCQALsAAAERFAYHDgEHIw4BKwEiJicuAScxLgE1ETQ2Nz4BNzE+ATM6ATM6ATkBMhYXHgEXMx4BFQc0JjUuAS8BKgEjKgEHDgEHIxwBFREcARUeARcVOgEzOgEzPgE3MTQ2NRElERQGBw4BBzEOASsBIiYnLgEnIy4BNRE0Njc+ATczPgEzOgEzOgEzMTIWFx4BFzEeARUHPAEnLgEnNSoBIyoBBw4BBzEUBhURFBYVHgEfAToBMzoBMz4BNzM8ATURA4ABAQg3JQEJFgwHDBUKJjYIAgEBAgg2JgoVDAECAQECDBYJJjcHAQEBVQEDEgwBAgsQEQsCDRICAQMSDQILERALAg0SAwH+gAECCDYmChUMBwwWCSY3BwEBAQEBCDclAQkWDAEBAQECAQwVCiY2CAIBVgECEg0CCxEQCwINEgMBAQMSDAECCxARCwINEgIBAtn9zgwVCiY2CAIBAQIINiYKFQwCMgwVCiY2CAIBAQIINiYKFQwEEQsCDRICAQECEg0CCxH91hELAg0SAgEDEg0CCxECKgT9zgwVCiY2CAIBAQIINiYKFQwCMgwVCiY2CAIBAQIINiYKFQwEEQsCDRICAQECEg0CCxH91hELAg0SAgEDEg0CCxECKgAAAgBVABUDqwNrADkAdgAAEyIGFRQXHgEXFjMyNj0BOAExNCYnIycuASMiBgcxBw4BIyImLwEuATU0NjcxNz4BNTQmJzEnLgErAQc0NjMxMzgBMTIWFxUXHgEVFAYHMwcOARUUFhcxFx4BMzI2NzE3PgEzMhYXIxceAR0BFAYjMSInLgEnJjXREBYyM691doUQFg8LAXADCQQIDgUdESoXGy4SURIUEA4YBQUCAS0FFQ51fEkzdShADy0EBRAOARkEBgcGUgYPCQgOBR0RKhcNGAwBcCQtSTOXhYXGOToDFRYQhXZ1rzMyFhB1DhUFLQECBQUYDhAUElESLhsXKhEdBQ4IBAkDcAwPJjNJLSMBcAsYDRcqER0FDggJDwZSBgcGBBkNEAUELQ5BKHUzSTo5xoWFlwADADAAQAOsA0AAHgA8AKEAAAEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEBNDc+ATc2MzIXHgEXFhUxFAcOAQcGIyInLgEnJjU3HgEVFAYHMQ4BBwYUFx4BFxY2NzY3PgE3Njc2Nz4BNzY3PgE3NiYnLgEnJiIHIgYjIiY1NDY3MT4BFx4BFxYGBw4BBwYHDgEHBgcGBw4BBwYHDgEnLgEnJjY3PgE3PgEzMhYXMQIAPjY3URcYGBdRNzY+PjY3URcYGBdRNzY+/oAeHmlGRVBQRUZpHh4eHmlGRVBQRUZpHh5IBgcGBRwlCQkDAw8SEjIfHyQjTCgoKSkkJUAaGxQUGgYGAQMCDxERMB4BBAIRGRQPIz8cGzEPDwEJCiMXFx4dRSgnLCsrK1MnJyQjQhwdMhARBg0NLh8GEAkIDwYC6xgXUTc2Pj42N1EXGBgXUTc2Pj42N1EXGP7VUEVGaR4eHh5pRkVQUEVGaR4eHh5pRkVQAQYQCQkPBhw0FRYYBQQLAwQCBQYKCh4TExgXGRkzGhkYGSoREhMEBAsDAwUBGRIQGAIGAQUGHBkbOhsbOBwbHB03GxsZGRUVIAsMBgYDBgUcGx5CHx5BHwYHBgUAAAAABABVABUDqwNrAB4AOwBYAFwAAAEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEBNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNSU+ATMyFhc1Fx4BFRQGBxUHDgEjIiY1MRE0NjczFxU3JwIARz4+XRsaGhtdPj5HRz4+XRsaGhtdPj5H/lUiIXROTlhYTk50ISIiIXROTlhYTk50ISIBQQQLBgYLBdUJDAwJ1QULBhIZDAkBP1hYAxUaG10+PkdHPj5dGxoaG10+PkdHPj5dGxr+q1hOTnQhIiIhdE5OWFhOTnQhIiIhdE5OWKUDAwQDAYAGEwwMEwUBgAIEGRIBAAwTBnBqNTUAAAACAKsAXQNQAyMAOABXAAABFwUeARceARceARUUBgcxDgEHDgEPAQUOAQcOAScuAScjLgEnJjQ1ETwBNz4BNz4BNzE2FhceARcHFQYUFREcARUcARc1Nz4BNyU+ATcHLgEvASUuAS8BAUwCAawNFgkIFAYEBAQEBhMJCRULA/5SCxUJCRcOEh4KAQcGAQEBAQYHCx4SDhcJCRULSwEBAQYRDQGqDRQKAwcTCwP+VgcSCQMDBgHkBwwGBRINCBIKChIIDRIFBgwFAuUGCwQEBgIDEg4LGAoJGA0Byg0YCQoXDA4SAwIGBAQLBjkCBhMO/jgCBAMIEQgBAQIJB+MHCwYBBQsFAuMECQQCAAAABgBVABUDqwNrAJcA3wEmATgBZQGIAAAlIzUyNjM+ATc+ATc1PgE3PAE9ATwBJzQmNS4BJzEuASciJiMhIgYjDgEHDgEHFRQGFQYUHQEcARUeARceARcxHgEXMhYzMhYVFAYjMSMqASciJiczLgEnNS4BJzE0JjU8ATUVNTQ2Nz4BNz4BNzE+ATc2MjMhOgEXHgEXHgEfAR4BFx4BHQEUBhUOAQcOAQcjDgEjMQYiIwchIiYjLgEnMy4BJzEuAScxNCY9ATQ2NT4BNz4BNzE+ATcyNjMhMhYzHgEXHgEXMR4BFxQWHQEUBhUOAQcOAQcxDgEHMSIGIzc+ATc+ATcxPgE3PAE1PAE1LgEnLgEnMS4BJyoBIyoBIzMhKgEjDgEHDgEHMQ4BBxwBFRwBFR4BFx4BFzEeARc6ATMhOgEzATQ2MzEzMhYVFAYjMSMiJjUxJRQGIzEhIiY1MTU0Njc+ATc+ATc1PgE3PgE7ATIWFx4BFx4BFzMeARceAR0BJzwBJzQmNS4BJzEiJiMmIisBKgEHIgYjDgEHMRQGFQYUFSEDAQEPFQgHBwEIDAMBAQEBAwMKBgIHCQkZE/4SExkJCQcCBgoDAwEBAQEDDAgBBwcIFQ8SGRkSAQ4ZCgsWCgEXJAoEBAEBAQEBBQYKHBIMGQ0MHREB8hEdDA0ZDBIcCQEGBQEBAQEBBAQKIxcBChULChkOgP7+DhkKCxYKARckCgQEAQEBAQQECiQXCxUKChkOAQIOGQoKFQsXJAoEBAEBAQEEBAokFwoVCwoZDisHBwEIDAMBAQEBAQEDDAgBBwcIEQkDBQMB/wAPFQgHBwEIDAMBAQEBAQEDDAgBBwcIFQ8BAA8VCP7UGRKqEhkZEqoSGQGrGRL+ABIZAQEBBQYKHBIMGQ0MHRHyER0MDRkMEhwJAQYFAQEBVgEDAwoGAgcJCRkT7hMZCQkHAgYKAwMBAarAVQEBAQEDDAcBAQcHBxUQohIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEqIQFQcHBwEIDAMBAQEBGRESGQEFBAojFwEJFgsJEwoDBQMBpREdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEaUOGAoKFgoYIwoEBQGrAQEEBAokFwoVCwoZDgIOGQoKFQsXJAoEBAEBAQEEBAokFwsVCgoZDgIOGQoKFQsXJAoEBAEBVgEBAQMMCAEHBwgVDw8VCAcHAQgMAwEBAQEBAQMMCAEHBwgVDw8VCAcHAQgMAwEBAQGAERkZERIZGRKqERkZESQRHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdESQrDxUICQcCBgoDAwEBAwMKBgIHCQgVDwACAFUAFQOrA2sAOQB0AAABIgYVMRQGBw4BKwEVFAYHFQ4BIzEiBhUUFjMxMhYXHgEdASE1IiY1NDYzMTUjIiYnMS4BNTE0JiMxASIGFRQWMzEyFhceAR0BFAYjMSEiJjUxNSImNTQ2MzE1NDYzMTM0NjMyFhUxMzIWFTEVFAYHFQ4BIzECVSMyCgkKHhRcEA0MHBAjMjIjDx0MDBECAEZkZEZbEx4LCQoyJAEAIzIyIw8dDAwSMiT+ACMyR2RkRzIjVmRGR2RVJDIQDgsdEAMVMiMPHQwMEVwSHwoBCQoyIyQyCgkKHhRbVWRHRmRWEA0MHBAjMv6rMiMkMgoJCh4UWyQyMiRVZEdGZFYjMkdkZEcyI1wSHwoBCQoAAA0AgABAA4ADQAAQACEAMgBDAFQAZQB2AL8BBAFLAZAB2AIdAAAlNDYzMTMyFhUUBiMxIyImNSM0NjMxMzIWFRQGIzEjIiY1NzQ2MzEzMhYVFAYjMSMiJjUnMhYVMRUUBiMiJjUxNTQ2MyUyFhUxFRQGIyImNTE1NDYzBzQ2MzEzMhYVFAYjMSMiJjUjNDYzMTMyFhUUBiMxIyImNSUzOgEXMhYXHgEfAR4BFRYUHQEcAQcUBgcOAQcjDgErAQYiKwEqASciJiczLgEnNS4BNTEmND0BPAE3PgE3PgE/AT4BMzE2MjMXKgEHIgYjDgEHMQ4BBxQGFRQWFR4BFx4BFzMeARcyFjMyNjM+ATc+ATc1NDY1NjQ1PAEnNCY1LgEnMSImIyYiIyoBIzMBMzoBFx4BFx4BFxUeARcWFB0BHAEHDgEHDgEPAQ4BIzEGIisBKgEnIiYnFy4BLwEuAT0BJjQ9ATwBNzQ2Nz4BNzM+ATc2MhciBiMOAQcOAQcVFAYVBhQVHAEXFBYVHgEXMTIWMxYyMzoBNzI2Mz4BNzE+ATc0NjU0JjUuAScuAScjLgEnIiYjKgEjMSUzOgEXHgEXHgEfAR4BFRYUHQEcAQcUBgcOAQ8BDgErAQYiKwEqASciJicXLgEnNS4BPQEmND0BPAE3PgE3PgE3Mz4BMzE2MhciBiMOAQcOAQcVDgEHFAYVFBYVHgEXHgEXMzIWMxYyMzoBNzI2Mz4BNzE0NjU2NDU8ASc0JjUuAScxLgEnIiYjKgEjMwMAGRIqEhkZEioSGdUZEVYRGRkRVhEZgBkRgBIZGRKAERlWEhkZEhEZGREBABIZGRIRGRkRVRkSKhIZGRIqEhnVGRFWERkZEVYRGf7+Aw4YCgsVChgkCQEEBAEBBAQKJBcBCRULAQoYDgMOGAoLFgoBGCMKBAUBAQEDBQojFwEJFgsKGA4CEBUHBwcBCAwDAQEBAQEBAQEDDAcBAQcHBxUQDxUHCAYCCAsEAgEBAgQLCAIGCAcRCQMFAwEBqQMOGAoKFgoYIwoFAwEBAQEDBQojFwEJFgsKGA4DDhgKDBUKARgkCQEDBQEBBAQKJBcBChULChgPDxUHCAYCCAsEAgEBAgQLCAIGCAcVDxAVBwcHAQgMAwEBAQEBAQEBAwwHAQEHBwcSCQIGAv5UAw4YCgsVChgkCQEEBAEBBAQKJBcBCRULAQoYDgMOGAoLFgoBGCMKBAUBAQEDBQojFwEJFgsKGBAQFQcHBwEIDAMBAQEBAQEBAQMMBwEBBwcHFRAPFQcIBgIICwQCAQECBAsIAgYIBxEJAwUDAWsRGRkREhkZEhEZGRESGRkSgBEZGRESGRkSKhkRgBIZGRKAERmAGRGAEhkZEoARGSoRGRkREhkZEhEZGRESGRkSKgEEBAokFwEKFQsKGA4DDhgKChYKGCMKBAUBAQUECiMXAQkWCwoYDgMOGAoLFQoYJAkBAwUBVQECBAsIAgYIBxUPEBUHBwcBCAwDAQEBAQEBAQEDDAcBAQcHBxUQDxUHCAYCCAsEAgECAAEBAwUKIxcBChYKChgOAw4YCgsVChgkCQEDBQEBBQQBCiQXAQkVCwEKGA4DDhgKChYKGCMKBQMBAVUBAQEBAwwHAQEHBwcVEA8VBwgGAggLBAIBAQIECwgCBggHFQ8QFQcHBwEIDAMBAQEBVQEBAwUKIxcBChYKChgOAw4YCgsVChgkCQEDBQEBBQQBCiQXAQkVCwEKGA4DDhgKChYKGCMKBAUBVQEBAQEDDAcBAQcHBxUQDxUHCAYCCAsEAgEBAgQLCAIGCAcVDxAVBwcHAQgMAwEBAQEAAAAABACAAEADgANAAB4APABLAFoAAAEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzERIicuAScmNTQ3PgE3NjMxMhceARcWFRQHDgEHBiMRIgYVFBYzMTI2NTQmIzEHNDYzMhYVMRQGIyImNTECAD42N1EXGBgXUTc2Pj42N1EXGBgXUTc2PlBFRmkeHh4eaUZFUFBFRmkeHh4eaUZFUCMyMiMjMjIjq2RHR2RkR0dkAusYF1E3Nj4+NjdRFxgYF1E3Nj4+NjdRFxj9VR4eaUZFUFBFRmkeHh4eaUZFUFBFRmkeHgHVMiMjMjIjIzJVR2RkR0dkZEcAAAAAAgCAAEADgANAAB4APAAAASIHDgEHBhUUFx4BFxYzMTI3PgE3NjU0Jy4BJyYjMREiJy4BJyY1NDc+ATc2MzEyFx4BFxYVFAcOAQcGIwIAPjY3URcYGBdRNzY+PjY3URcYGBdRNzY+UEVGaR4eHh5pRkVQUEVGaR4eHh5pRkVQAusYF1E3Nj4+NjdRFxgYF1E3Nj4+NjdRFxj9VR4eaUZFUFBFRmkeHh4eaUZFUFBFRmkeHgAAAwBVAMADqwLrADAAYgCDAAABIgcOAQcGFTEVFAYjIiY1MTU0Nz4BNzYzMhceARcWHQEUBiMiJjUxNTQnLgEnJiMxFSIHDgEHBhUxFRQGIyImNTE1NDc+ATc2MzIXHgEXFhUxFRQGIyImNTE1NCcuAScmIzEVIgYVMRUUBiMiJjUxNTQ2MzIWFTEVFAYjIiY1MTU0JiMCAEc+Pl0bGhkSEhkiIXROTlhYTk50ISIZEhIZGhtdPj5HLCcnOhEQGRISGRgXUTc2Pj42N1EXGBkSEhkQETonJywjMhkSEhlkR0dkGRISGTIjApUaG10+PkdVEhkZElVYTk50ISIiIXROTlhVEhkZElVHPj5dGxqAEBE6JycsVRIZGRJVPjY3URcYGBdRNzY+VRIZGRJVLCcnOhEQgDIjVRIZGRJVR2RkR1USGRkSVSMyAAIAgABAA1UDawAXAGIAAAEyFhUxFRQGIzEjIiY1NDYzMTM1NDYzMQcuASMiBw4BBwYVFBceARcWMzI2NzU+ATMyFhUUBgcxBgcOAQcGIyInLgEnJjU0Nz4BNzYzMhceARcWHwEeARUUBiMiJicjLgEvAQMrERkZEdYRGRkRqxkSzhUvGT42N1EXGBgXUTc2Pk6EKAYTCxIZBAMaIyJTLy8yUEVGaR4eHh5pRkVQMC0tUCIiGgEEBBkSChMFARtMLQIDaxkS1RIZGRIRGasSGY8HCBgXUTc2Pj42N1EXGEo9AQkLGRIGDAUoICAuDQweHmlGRVBQRUZpHh4LDCodHiQCBQwHEhkKCCc4DwEAAAAAAwBVABUDqwNrAB4AOwBNAAABIgcOAQcGFRQXHgEXFjMxMjc+ATc2NTQnLgEnJiMxATQ3PgE3NjMyFx4BFxYVFAcOAQcGIyInLgEnJjUzNDYzMSEyFhUUBiMxISImNTECAEc+Pl0bGhobXT4+R0c+Pl0bGhobXT4+R/5VIiF0Tk5YWE5OdCEiIiF0Tk5YWE5OdCEi1hkRAVYRGRkR/qoRGQMVGhtdPj5HRz4+XRsaGhtdPj5HRz4+XRsa/qtYTk50ISIiIXROTlhYTk50ISIiIXROTlgSGRkSEhkZEgAAAAABANUBlQMrAesAEAAAEzQ2MzEhMhYVFAYjMSEiJjXVGRICABIZGRL+ABIZAcASGRkSEhkZEgAAAAQAVQDAA6sCwAAiACYASQBNAAABLgEjIgYHMQUOARUUFhcxBR4BMzI2NTgBOQEROAExNCYnMQcRJzclLgEjIgYHMQUOARUUFhcxBR4BMzI2NTgBOQEROAExNCYnMQcRJzcDlgULBgYKBf6ACgwMCgGABQoGEhkMCUH9/f7BBQsGBgoF/oAKDAwKAYAFCgYSGQwJQf39AroDAwMC1gUUDAwUBdYCAxkSAaoMEwZt/uaNjW0DAwMC1gUUDAwUBdYCAxkSAaoMEwZt/uaNjQAAAAAEAIAAawOAAxUAMgBdAI8AugAAASE6ARceAR8BHgEdARQGBw4BByMGIiMhKgEnLgEvAS4BNTwBNTwBNTE0Njc+ATczNjIzFyoBBw4BBzEUBhUUFhUeARczFjIzIToBNz4BNzE0NjU0JjUuAScjJiIjIQMhOgEXHgEfAR4BHQEUBgcOAQcjBiIjISoBJy4BLwEuATU8ATU8ATUxNDY3PgE3MzYyFyoBBw4BBzEUBhUUFhUeARczFjIzIToBNz4BNzE0NjU0JjUuAScjJiIjIQESAdwMFgkmNwcBAQEBAQg3JQEJFgz+JAwWCSY3BwEBAQEBCDclAQkWDAMQCwINEgMBAQMSDAECCxAB1hALAg0SAwEBAxIMAQILEP4qAwHcDBYJJjcHAQEBAQEINyUBCRYM/iQMFgkmNwcBAQEBAQg3JQEJFg8QCwINEgMBAQMSDAECCxAB1hALAg0SAwEBAxIMAQILEP4qAZUCCDYmAQkVDAgMFQkmNwgCAgg2JgEJFQwBAgEBAgEMFQkmNwgCVQECEwwDCxAQCwMMEwIBAQITDAMLEBALAwwTAgEB1QIINiYBCRUMCAwVCSY3CAICCDYmAQkVDAECAQECAQwVCSY3CAJVAQITDAMLEBALAwwTAgEBAhMMAwsQEAsDDBMCAQAABQBwADADkANQAFIAogC7ANQA7gAACQEOAQcOAQcOASMiJiczLgEnLgEnMScuAScjLgEnLgE1NDY3FT4BNz4BNwE+ATc+ATc+ATMyFhcjHgEXHgEfAR4BFx4BFx4BFRQGBzUOAQcOAQcnPgE1PgE1NCYnMTQmJy4BLwEuAScuASMuASMiBgczIgYHDgEHAQ4BBw4BFQ4BFRQWFzEUFhceAR8BHgEXHgEzHgEzMjY3IzI2Nz4BNwE+AQU+ATMyFh8BHgEVFAYjIiYvAS4BNTQ2NzE3PgEzMhYfAR4BFRQGIyImLwEuATU0NjcxNz4BMzIWHwEeARUUBiMiJicxJy4BNTQ2NzEDR/6gDBUJChUNCRQLChUJAQ0WCgsUCjMKFAkBCA4EAwQEAwQOCAgUDAFgDBUJChUNCRQLChUJAQ0WCgkUDDMMFAgIDgQDBAQDBA4ICBQMGQYEAQEBAQQGBhEOMA0SBwYHAgMHAwQGBAECBwcHEQ7+og0RBgYEAQEBAQQGBhENMQ0SBwYHAgMHAwQGBAECBwcHEQ4BXQ4R/ckFEAkJDwZaBgcZEQkQBloGBwcGeAYQCAkQBloGBxkSCRAFWwYGBgZ5Bg8JCQ8GWwUHGREJEAZaBgcHBgHZ/qAMFAgIDgQDBAQDBA4IChQKMwoUCwoWDQgVCgsUCgENFQoJFQwBYAwUCAgOBAMEBAMEDggIFAwzDBQJChYNCBUKCxQKAQ0VCgkVDGEHBwIDBgQDBwMCBwYHEg0xDREGBgQBAQEBBAYGEQ3+og4RBwcHAgMGBAMHAwIHBgcSDTAOEQYGBAEBAQEEBgYRDgFdDhFVBgcHBloGEAkSGQcGWwYPCQkPBnkGBgYGWwUQCRIZBwZbBRAJCQ8GeQUHBwVbBg8JEhkHBloGEAgJEAYAAAAABQBVABUDqwNrAEwAlgDDAOgA+gAAJSEyNjc+ATc+ATczPgE3PgE1ETQmJy4BJzEuASciJjEnLgEnLgEvAS4BIyEiBgcOAQcOAQcjDgEHDgEVERQWFx4BFx4BFxUeARceATMnIiYjLgEnMTQmNSY0NRE8ATc0NjU+ATcxMjYzNjIzIToBFx4BFzEeAR8BHgEXHgEdARYUFREcAQcUBhUOAQcxIgYjBiIjISoBJxMzOgEXHgEXHgEXFR4BFxYUHQEUBiMxISImNTE1PAE3PgE3PgE3Mz4BNzYyMwcOAQcOAQcxDgEHFAYdASE1NCY1LgEnLgEnIy4BJyYiKwEqAQcDNDYzMSEyFhUUBiMxISImNTEBBwHyER0MDRkMEhwJAQYFAQEBAQIDBwQFDggBAXcJEgoJEwoBDBkO/oARHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkTAXoTDAMDBwMCCQx0CwcBAQMBAQMDCgYCBwkJGRP+EhMZCd6cER0MDRkMEh0JBgYBARkS/lYSGQEBBgYJHREBDBkNDB0RMwkIAQYKAwECAQEBVgEBAgEDCgUBAQgJCRkSmhIZCSoZEgEAEhkZEv8AEhkVAQEBBQYKHBIMGQ0MHREBcwwVCwoRCAkRCQKECxEHBgkCAQMBAQEBBQYKHBIMGQ0MHRH+DhEdDA0ZDBIcCQEGBQEBAVcDAwoGAgcJCRkTAe4TGQkJBwIGCgMDAQEBAwICCA6BDAgCAwUDAQILEP6TExkJCQcCBgoDAwEBASkBAQUHCRwSAQwZDAwdEaQSGRkSpBEdDAwZDBMcCQcFAQFWAQIBAwkGAggICRkTd3cTGQkICAIGCQMBAgEBAQFWEhkZEhEZGREAAAMAVQAWA6oDawAeAD0AVgAAASIHDgEHBhUUFx4BFxYzMTI3PgE3NjU0Jy4BJyYjMQE0Nz4BNzYzMhceARcWFTEUBw4BBwYjIicuAScmNTEFPgEzMhYXAR4BFRQGIyImJwEuATU0NjcxAas1Ly9FFBQUFEUvLzU1Li9FFRQUFUUvLjX+qhsbXT4+R0Y/PlwbGxsbXD4/Rkc+Pl0bGwINBg8JCQ8GAQAGBhkSCA8G/wAGBwcGAxUUFEUvLzU1Li9FFRQUFUUvLjU1Ly9FFBT/AEc+Pl0bGxsbXT4+R0Y/PlwbGxsbXD4/RrcGBwcG/wAGDwgSGQYGAQAGDwkJDwYAAAAEAFUAFQOrA2sAMAB1ALoA2wAAEzIWFTERHAEVHAEVNTM6ATMhMhYVFAYjMSEiJiMuASczLgEnNS4BJzE0JjURNDYzMQEhKgEnLgEnLgEnNS4BJyY0NRE8ATc+ATc+AT8BPgE3PgEzITIWFx4BFx4BFzMeARceARURFAYHDgEHDgEHMQ4BBwYiIzc+ATc+ATc1NDY1NjQ1ETwBJzQmNS4BJzEiJiMmIiMhKgEHIgYjDgEHMQ4BBxQGFREUFhUeARceARczHgEXMhYzITI2MwMeARUUBg8BDgEjIiYvAS4BNTQ2MzIWHwE3PgEzMhYXMYASGQEDDAkBvBIZGRL+QwgQBgkRCAEMEwYEBAEBGRICef65ER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0RAUcRHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkT/rwSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBRBMZCTkGBwcGqgYPCQkQBVYGBxkSCRAFOIwGDwkJEAUCaxkS/kQBAwIFCgUBGRISGQEBBAQGEwsBBxEJBhAIAb0SGf5VAQEGBgkdEQEMGQ0MHREBRxEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0R/rkRHQwNGQwSHQkGBgEBVgECAQMKBQEBCAkJGRIBRBMZCQkHAgYKAwMBAQMDCgYCBwkJGRP+vBIZCQkIAQYKAwECAQEBAXMGDwkJEAWrBgcHBlUGEAkSGQcGOI0GBgYGAAAAAAQAZP/4A5wDiABDAJAAnwCuAAABIiYjIgYjMQ4BDwEOAQcOAQcVDgEVERQWFx4BFx4BHwEeARcWMjc+AT8BPgE3PgE3NT4BNRE0JicuAScxLgEvAS4BJyc+ATMyFhcxHgEfAh4BFx4BFxUeARURFAYHDgEHMQ4BDwIOAQcOASMiJicxLgEvAi4BJy4BJzUuATURNDY3PgE3MT4BPwI+ATcTIgYVFBYzMTI2NTQmIzEHNDYzMhYVMRQGIyImNTECCQIFAgIFAgQNFekUDQMDBAIBAQEBAgQDAw0U6RUNBAUIBQQNFekUDQMDBAIBAQEBAgQDAw0U6RUNBCQGDgcHDgYPHA8F7Q8bCgkNBQUBAQUFDQkKGw8E7g8cDwYOBwcOBg8cDwXtDxsKCQ0FBQEBBQUNCQobDwTuDxwPGyMyMiMjMjIjq2RHR2RkR0dkAzIBAQEHDIYMCQIEBwQBAxAY/vQYEAMFBwQCCQyGDAcBAQEBBwyGDAkCBAcEAQMQGAEMGBADBQcEAgkMhgwHAVMCAQECAw4JA4kJEQsKFwwBDyAS/uoSIA8NFwoLEQkDiQkOAwIBAQIDDgkDiQkRCwoXDAEPIBIBFxEgDw0XCgsRCQOJCQ4D/pAyIyMyMiMjMlVHZGRHR2RkRwAABAArAAMD1QN9AA0ALAEbAg8AAAEiBhUUFjMxMjY1NCYjBzQ3PgE3NjMyFx4BFxYVMRQHDgEHBiMiJy4BJyY1MRMiJiMiBiMxDgEPAQ4BBw4BBxUOARcdARQGBzUHDgEHDgEHIwcOAQcOAQcVDgEdARQWFx4BFzEeAR8BHgEXHgEXMR4BFRceARUeARUcARUxFQYWFx4BFzEeAR8BHgEzFjIzOgE3MT4BPwEyNjc+ATcxOwEeARcxFx4BFzIWMzI2MzE+AT8BPgE3PgE3PgEnPQE0NjcVNz4BNz4BNzM3PgE3PgE3NT4BPQE0JicuAScxLgEvAS4BJzEuAS8BLgE1MT0BNiYnLgEnMS4BLwEuASMmIiMqAQcxDgEPASIGBw4BBzErAS4BJxcuAS8BLgEnBRceARcxHwEeARceAR8BHgEdAxQGBw4BBzEOAQ8CDgEHMQ4BFRwBFTEXFRQGBw4BBzEOAQ8CDgEHBiInLgEvAi4BIyoBIzEjDgEHMQ8BDgEHDgEjIiYnMy4BJxY0Iy8CLgEnLgEnMS4BPQE3NTQmJzEuAScxLgEnIy8BLgEnLgEvAS4BPQM0Njc+ATcxPgE/Az4BNzE+ATU8ATkBJzU0Njc+ATcxPgE/AT4BNz4BMzIWFyMeAR8CHgExHgEzOgE3FTM+ATcxNz4BNz4BMzIWFyMeAR8CHgEXHgEXMR4BHQEHMBQVFBYXMQIANUtLNTVLSzXVEBE6JycsLCcnOhEQEBE6JycsLCcnOhEQWAIFAgIFAgQOFRQVDQMDBAIBAQEKCAEBAQEJGA8BDxYNAwMEAgEBAQECBQMCDRUQAgMBDRYIAQIBAQIHCAEBAQIEAwMNFRUVDgQBBQIDBAMDDhUPAgMBDB4QBwcSIA4PFQ4EAgUCAgUCBA4VFBUNAwMEAgEBAQoIAQEBAQkYDwEPFg0DAwQCAQEBAQIFAwINFREPGAkBAQEBCAoBAQECBAMDDRUVFQ4EAQUCAwQDAw4VDwIDAQweEAcHEB4NAQEDAg8VDgQB0gIECQUQBBAcCgkOBAEEAgEFBQ4JChwQBBAGCgQDBAEBBQQOCAsbDwUZEBwQDRwNDx0PBQ8FDAcBAQEEBwsFDwUPHQ8GDggHDQcBDx0PBAEIFQQQGwsIDgQFAQEEAwEBAQMJBQEPBBAcCgkOBAEEAgEFBQ4JChwQBBADBggDAwQBAQUEDggLGw8eEBwQBg0HBw8HAQ8dDwUPAgEFCwUBAQEEBwsFFA8dDwYOCAcNBwEPHQ8FGRAbCwgOBAUBAQQDAkBLNTVLSzU1S4AsJyc6ERAQETonJywsJyc6ERAQETonJywBZwEBAQcMDA0IAwMIBAEDEBgTBhIhDgEBAgICDhcICQwIAwMIBAEDEBgYGBAEBAgDAwgMCQEBAQgVDQIDAQECAwENHxABAwERGQ8EBQgDAwgMDQwHAQEBBwwKAgEHCAEBCgkJDAgBAQEBBwwMDQgDBAcFAxAYEwYSIQ4BAQICAg4XCAkMCAMDCAQBAxAYGBgQBAQIAwMIDAkIFw4CAgIBDSESBhMYDwQFCAMDCAwNDAcBAQEHDAoCAQcIAQEICAEBAgEJDAgBogQFCAMIAwkRCwoXDQEOIRIFGAUSIA8OFwoLEQkDCAMKBwUMBwEBARIFEyAPDRgKCxIJAg8JDwMDAwQPCQMJBAQBBAMJAwkPBAECAgEDDwkDAQUMAgkSCwoYDQ8hEgURBQYMBQECAQUIAwgDCRELChcNAQ4hEgUYBRIgDw4XCgsSCAMIAgQIBgUMBwECEgUTIA8NGAoLEgkRCQ8DAgECAQQPCQMJAQEDAwEBAQQDDAkPBAECAgEDDwkCDwkSCwoYDQ8hEgUSAgEHDAUAAAAIAFUAFQOrA2sADQAbADYARQBTAG4AfQCLAAABIgYVFBYzMTI2NTQmIwc0NjMyFhUxFAYjIiY1Jz4BMzIWFzEFHgEVFAYjIiYnMSUuATU0NjcxJyIGFRQWMzEyNjU0JiMxBzQ2MzIWFTEUBiMiJjUlHgEVFAYHMQUOASMiJjU0NjcxJT4BMzIWFzE3IgYVFBYzMTI2NTQmIzEHNDYzMhYVMRQGIyImNQMAIzIyIyMyMiOrZEdHZGRHR2T7BRUMBQoEAQALDRkSBQoE/wALDQMCWiMyMiMjMjIjq2RHR2RkR0dkAlECAw0L/wAECwUSGQ4LAQAECgUMFQVaIzIyIyMyMiOrZEdHZGRHR2QBFTIjIzIyIyMyVUdkZEdHZGRH0wsNAwKABRUMEhkDAoAFFQwFCgSCMiMjMjIjIzJVR2RkR0dkZEfTBAoFDBUFgAMCGRENFQWAAgMNC4IyIyMyMiMjMlVHZGRHR2RkRwAAAwCAABUDgANrABwALQDHAAABPgEzMhYfAR4BFRQGIyImLwEHDgEjIiY1NDY/ATcyFhUxERQGIyImNTERNDYzAzMVIgYjDgEHDgEHFQ4BBxQGHQEUFhUeARceARczMhYzFjIzIToBNzI2Mz4BNzE+ATc0Nj0BNCY1LgEnLgEnIy4BJyImIyoBIzEiJjU0NjMxMzoBFx4BFx4BFxUeARcWFB0BHAEHDgEHDgEPAQ4BBw4BIyEiJicuAScuAScxLgEnNCY1PAE1MTU8ATc+ATc+ATczPgEzMTYyMwHiBg8JCQ8GgAYGGRIIDwZiYgYPCBIZBgaAHhIZGRISGRkS1wIQFQcHBwEIDAMBAQEBAQECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEBAQEBAwwHAQEHBwcSCQIGAhEZGRECDhgKChYKGCMKBQMBAQEBBgYJHREBDBkNDB0R/mQRHQwNGQwSHQkGBgEBAQEDBQojFwEJFgsKGA4DXgYHBwaABg8IEhkGBmJiBgYZEggPBoANGRL+VREZGREBqxIZ/tVVAQEBAQMMBwEBBwcHFRDMExkJCQcCBgoDAwEBAwMKBgIHCQkZE8wQFQcHBwEIDAMBAQEBGRESGQEBAwUKIxcBChYKChgO0BEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNCxgMAwYC0A4YCgoWChgjCgQFAQAAAAMAgAAcA4ADawBDAIwArQAAASEyFhceARceARcxHgEXFhQdARQHDgEHBgcxDgEHIgYjMCI5ASoBJy4BJzEmJy4BJyY9ATwBNz4BNz4BPwE+ATc+ATMHIgYjDgEHMQ4BBxQGHQEUFx4BFxYXHgEzMBYXMTM6ATM6ATMxMzYyNyMyNjc2Nz4BNzY9ATQmNS4BJy4BJyMiJiMmIiMhKgEHBR4BFRQGDwEOASMiJi8BLgE1NDYzMhYfATc+ATMyFhcxATIBnBEdDA0ZDBIdCQYGAQEmJmk3OCMIDwwFCgYBBQsGDA8IIzg3aSYmAQEGBgkdEQEMGQ0MHREzCQgBBgoDAQIBASAfVzAvIAQDAgMDAQIDAQEDAgECAwIBAgMEIC8wVx8gAQECAQMKBQEBCAkJGRL+ZhIZCQGfBgcHBqsFEAkJDwZVBgcZEQoPBjeNBg8JCQ8GA2sBAQEFBgocEgwZDQwdEatzVFR1IiMQBAYCAQECBgQQIyJ1VFRzqxEdDA0ZDBIcCQEGBQEBAVcDAwoGAgcJCRkTqV9GRmIeHg4CAgEBAQECAg4eHmJGRl+pExkJCQcCBgoDAwEBtgYPCQkPBqsGBgYGVgUQCRIZBwY3jAYHBwYAAAQAgAAcA4ADawBDAIwAoQCyAAABITIWFx4BFx4BFzEeARcWFB0BFAcOAQcGBzEOAQciBiMwIjkBKgEnLgEnMSYnLgEnJj0BPAE3PgE3PgE/AT4BNz4BMwciBiMOAQcxDgEHFAYdARQXHgEXFhceATMwFhcxMzoBMzoBMzEzNjI3IzI2NzY3PgE3Nj0BNCY1LgEnLgEnIyImIyYiIyEqAQcTNDYzMTMyFhUxFRQGIzEjIiY1MTUTMhYVMRUUBiMiJjUxNTQ2MwEyAZwRHQwNGQwSHQkGBgEBJiZpNzgjCA8MBQoGAQULBgwPCCM4N2kmJgEBBgYJHREBDBkNDB0RMwkIAQYKAwECAQEgH1cwLyAEAwIDAwECAwEBAwIBAgMCAQIDBCAvMFcfIAEBAgEDCgUBAQgJCRkS/mYSGQnUGRIEEhkZEgQSGS0SGRkSEhkZEgNrAQEBBQYKHBIMGQ0MHRGrc1RUdSIjEAQGAgEBAgYEECMidVRUc6sRHQwNGQwSHAkBBgUBAQFXAwMKBgIHCQkZE6lfRkZiHh4OAgIBAQEBAgIOHh5iRkZfqRMZCQkHAgYKAwMBAf4sEhkZEgQSGRkSBAFVGRGrEhkZEqsRGQAAAgCAABwDgANrAEMAjAAAASEyFhceARceARcxHgEXFhQdARQHDgEHBgcxDgEHIgYjMCI5ASoBJy4BJzEmJy4BJyY9ATwBNz4BNz4BPwE+ATc+ATMHIgYjDgEHMQ4BBxQGHQEUFx4BFxYXHgEzMBYXMTM6ATM6ATMxMzYyNyMyNjc2Nz4BNzY9ATQmNS4BJy4BJyMiJiMmIiMhKgEHATIBnBEdDA0ZDBIdCQYGAQEmJmk3OCMIDwwFCgYBBQsGDA8IIzg3aSYmAQEGBgkdEQEMGQ0MHREzCQgBBgoDAQIBASAfVzAvIAQDAgMDAQIDAQEDAgECAwIBAgMEIC8wVx8gAQECAQMKBQEBCAkJGRL+ZhIZCQNrAQEBBQYKHBIMGQ0MHRGrc1RUdSIjEAQGAgEBAgYEECMidVRUc6sRHQwNGQwSHAkBBgUBAQFXAwMKBgIHCQkZE6lfRkZiHh4OAgIBAQEBAgIOHh5iRkZfqRMZCQkHAgYKAwMBAQAAAAADAFUAQAOrA0AASACNAKoAAAEhOgEXHgEXHgEfAR4BFx4BFREUBgcOAQcOAQcjDgEHBiIjISoBJy4BJy4BLwEuAScuATU8ATUxETQ2Nz4BNz4BNzE+ATc2MjMHDgEHDgEHFRQGFQYUFREcARcUFhUeARcxHgEXMhYzITI2Mz4BNz4BNzU0NjU2NDURPAEnNCY1LgEnMS4BJyImIyEiBiMFFAYjIiY1MTQ2MzIWFTEUFjMyNjUxNDYzMhYVMQEHAfIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEQEMGQ0MHRH+DhEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0RMwkHAgYKAwMBAQMDCgYCBwkJGRMB7hMZCQkHAgYKAwMBAQMDCgYCBwkJGRP+EhMZCQHXZEdHZBkSEhkyIyMyGRISGQNAAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQoXDAQGAwGcER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEBf0dkZEcRGRkRJDIyJBEZGREAAwBnAEADmQNAAEcAjACxAAABIToBFx4BFx4BFxUeAQcOAQ8BDgEHDgEHDgEPAQ4BBzEGIiMhKgEnLgEnFy4BJzEuASc1LgEvAS4BJyY2Nz4BNzM+ATc2MjMHDgEHDgEHMQ4BFx4BHwEeARceARceARcxHgEXMhYzITI2Mz4BNz4BNzE+ATc+AT8BPgE3NiYnLgEnIy4BJyYiIyEqAQc3NDc+ATc2MzIXHgEXFhUxFAYjIiY1MTQmIyIGFTEUBiMiJjUxAR8BwhMiDQ8cDRMdCAYBAQEFAygDBAMCCAcKGxABChYMCxkP/pAPGQsMFgsBERsKBgkCAwQDKAMFAQEBBggdEgENHA8NIhM7CgkBBwoCAQEBAQQEJwMEAgEDAQMKBQIHBwgVEAFuEBUIBwcCBQoDAQMBAgQDJwQEAQEBAQIKBgEBCQoLHRX+QhUdC0cQETonJywsJyc6ERAZERIZSzU1SxkSERkClQEBBwgLIhQBDh0ODiEU8g4ZCgsVCg8XBwEEBQEBAQEFBQEIFw8JFQsBChkO8hQhDg4dDhUiCwgHAQFWAQMBAwwHAggLCh0V7xAVCAcGAgUHAwEBAQEBAQEBAwcFAgYHCBUQ7xUdCgoJAgcMAwEDAQEBLCwnJzkREREROScnLBIZGRI1S0s1EhkZEgAGAFUAFQOaA2sADQAbACoAOQCFAMgAACUiBhUUFjMxMjY1NCYjBzQ2MzIWFTEUBiMiJjUlIgYVFBYzMTI2NTQmIzEHNDYzMhYVMRQGIyImNTEDKgEjKgEjMSMiJjU0NjMxMzoBFzIWFx4BFzEeARceAR8BEx4BFzEzFjIzITIWFRQGIzEhKgEnIiYnMy4BJzEuASc1LgEnAy4BJxcjBSoBIyoBIzEhIiY1NDYzMSEyFjMeARceARcVFgYHDgEPAQ4BBw4BBxUOASMhIiY1NDYzMSE6ATc5AT4BPwE+ATc1IwLVERkZERIZGRKASzU1S0s1NUv/ABEZGRESGRkSgEs1NUtLNTVLIwMIBAEDAR4SGRkSHwcNBQcOCAsSBgUGAgEDAQFoAgIBAQMJCAFIEhkZEv62Bg0GCA4HAQsSBwQGAgEDAmkBAwEBAQKTBQ0GAgQC/dsSGRkSAicKFAgJFAoOEwQEAQICBQM8AwkIBhIKDBkL/lwSGRkSAaAICAMBAwI7AgQCAcAZEhEZGRESGSs1S0s1NUtLNSsZEhEZGRESGSs1S0s1NUtLNQKAGRISGQEDAwUPCQcNBgYMBwH+FwgJAwEZERIZAQMDBQ4KBQ0HAQYMBwHqBwoFAoAZEhIZAQEFBgkZDwELFQkIEgrTChcLCA0EAQUBGRIRGQEDCAfNBRAIAwAEAFUAFQOeA2sADQAcAE8AmwAAJTQ2MzIWFTEUBiMiJjUhNDYzMhYVMRQGIyImNTEDKgEjKgEjMSMiJjU0NjMxMzoBFzIWFx4BFxUeARceAR8BExwBFRQGIyImJzUDLgEnFTEFKgEjKgEjMSEiJjU0NjMxITIWMx4BFx4BFzMWFAcOAQcDDgEHDgEHDgEPAQ4BByoBIyEiJjU0NjMxIToBMzoBMyM1PgE3Ez4BNTcjAqsyIyMyMiMjMv5VMiMkMjIkIzJgAwgFAQICCxIZGRINBg4FBw8HCxIHBQUCAQMBAVwZEg8XA1wBAwECqQUMBgIEAv3BEhkZEgJBChIICRMKDRQEAQMBAQQCRAEDAgIGBAcSCgEHDwYFDQf+QxIZGRIBvAEDAQQIBAEBAgJDAwMBAWsjMjIjJDIyJCMyMiMkMjIkAqoZEhIZAQMEBQ8JAQcNBwQNBwL+DQEEAhEZEw4BAfIHCwUCgBkSEhkBAQUFCBgPCxUICBIK/twHDAUGDgYKDgQBAwIBGRESGQEDCAgBIgsOBQEAAAAEAEYAlQO6AusAOAB4AIcAlQAAASIHDgEHBgcOAQcVBhQVFBYVNR4BFxYXHgEXFjMyNz4BNzY3PgE3NTY0NTQmNRUuAScmJy4BJyYjBTY3PgE3NjMyFx4BFxYfAR4BFx4BFRQGBw4BDwEGBw4BBwYjIicuAScmJzAmNTEuAScuATU8ATkBNDY3PgE/AQUiBhUUFjMxMjY1NCYjMQc0NjMyFhUxFAYjIiY1AgAyLy9UJSQcEAgCAQECCBAcJCVULy8yMi8vVCUkHBAIAgEBAggQHCQlVC8vMv57HSkoZDo6Pz86OmQoKR0CDhgHAwMDAwcYDgIdKShkOjo/Pzo6ZCgpHQIOGAcDAwMDBxgOAgGFEhkZEhIZGRKASzU1S0s1NUsClQ8QMR4eGxALBgEDBgMDBwQBBgsQGx4eMRAPDxAxHh4bEAsGAQMGAwMHBAEGCxAbHh4xEA9rHSIhOhMUFBM6ISIdAg4cFgoVCQkVChYcDgIdIiE6ExQUEzohIh0BAQ4cFgkTCgEBCRUKFhwOAj8ZEhIZGRISGSs1S0s1NUtLNQAAAAACAKsAawNVAxUAFwAvAAATNDYzMTMyFhUxFRQGIyImNTE1IyImNTEBMhYVMRUzMhYVFAYjMSMiJjUxNTQ2MzGrGRHWERkZERIZqxEZAaoSGasRGRkR1hEZGREBaxEZGRHWERkZEasZEgGqGRGrGRIRGRkR1hEZAAAFAFUAQQOrAz8AIABBAF4AfwCrAAABDgEVFBYfAQcOARUUFjMyNj8BPgE1NCYvAS4BIyIGBzE1LgE1NDY/AScuATU0NjMyFh8BHgEVFAYPAQ4BIyImJzEnPgEzOAExMzIWFRQGIzEjIgYHDgEjIiY1NDY3MQMeARUUBgcxDgEjOAExIyImNTQ2MzEzMjY3PgEzMhYXMQE0NjMxMzIXHgEXFhUxFBYzMTMyFhUUBiMxIyInLgEnJjUxNCYjMSMiJjUxAuIGBwcGYmIGBhkSCA8GgAYHBwaABg8JCQ8GBgcHBmJiBgYZEggPBoAGBwcGgAYPCQkPBqYfTyurEhkZEqsdNBUFDQgRGQkIbwQECQgfTyurEhkZEqsdNBUFDQgKEgb+iBkSqzUuL0UVFGRGqxIZGRKrNS4vRRUUZEarEhkBiQYPCQkQBWJiBg8JERkGBoAFEAkJDwaABgYGBm4GDwkJEAViYgYPCREZBgaABRAJCQ8GgAYGBgaWGBsZEhEZEhAEBRkSChIG/qIFDQgKEgYYGxkSERkSEAQFCQgBZhIZFBRGLi81R2QZERIZFBRGLi81R2QZEQAAAAMBgADAAqsCwAA8AGMAfQAAJSMqASciJicXLgEvAS4BNTEmND0BNDYzMTMyFjMeARceARcVHgEXFBYdARQGFQ4BBzUOAQ8BDgEjMQYiIzcxPAE9ATwBNTwBNRUjKgEjKgEjMyMVHAEXOQEWMjsBOgEzMjYzIyciJjUxNTQ2MzEyFhUUBiMxIgYVMRUUBiMxAj1PCBAHCRAIAQ0SBgEDBQEZEpIIEAYIEAkMEwYFAwEBAQEEBAYTCwEHEQkGEAgYAQQKBQEDAgFnAQQLCk0BAwIFCgUBqhIZZEcRGRkRJDIZEcABBQQBBxIMAQcQCQcQCJISGQEBAwUGEwsBCRAIBhAITwgQBwkQCAENEgYBAwUBVgQLCk0BAwIFCgUBZgoLBAEBfxkSVUdkGRIRGTIkVRIZAAAAAwGAAMACqwLAABkAUwB5AAABMhYVMRUUBiMxIiY1NDYzMTI2NTE1NDYzMSczOgEXMhYXHgEXFR4BFxQWHQEUBiMxIyImIy4BJzMuAS8BLgE1MSY0PQE8ATc0Njc+AT8BPgEzNjIHMQYUHQEcARUUFhU1MToBOwE1PAE1MSImIyoBIzMjKgEjIgYjMwKAEhlkRxIZGRIjMhkSkk8IEAYIEAkMEwYFAwEBGRKSCBAHCRAIAQ0SBgEDBQEBBAQHEgwBCBEHBxAQAQEECwpmBAoFAgMCAU0BAwIFCgUBAesZElVHZBkSERkyJFUSGdUBBAQHEgwBCBEHBxAIkhIZAQEEBAYTCwEHEQkGEAhPCBAHBxEIDRIGAQQEAVYECwpNAQMCBQoFAWYKCwQBAQAAAwEAAGsDKwMVABEASAB/AAABMhYVMREUBiMiJjUxETQ2MzEXBw4BBw4BBw4BFRQWFyceARceAR8BHgEXHgE3PgE3NT4BNz4BPQE0JicuAScuAScxJgYHDgEHFz4BMx4BFzEeARcWFB0BHAEHDgEHDgEHMSImJy4BLwEuAScuAScuATU0NjcVPgE3PgE/AT4BNwErERkZERIZGRL0bBgnDw8aCAUGBgYBCBoPDycYbBgoEREjFBwuEAsKAQIBAQIBCgsQLhwUIxERKBh1DgsCCRAFAQQBAgIBBAEFEAkCCw4OJBpoGiMMDAgBAQICAQEIDAwjGmgaJA4DFRkR/aoRGRkRAlYRGXw/DhgKCxoRDBoODhsMAREaCwoYDj8OFwcICgIDGxUBDyQTEi4cfhwuEhMkDxYcAgIKCAcXDiEGAwEKBwELDw8qHnoeKg8PCwEHCgEDBgYVDz0PFQkICQIECAUFCQQBAgkICRUPPQ8VBgADANUAawMAAxUAEQBIAH8AAAEyFhUxERQGIyImNTERNDYzMQcXHgEXHgEXHgEVFAYHNw4BBw4BDwEOAQcOAScuASc1LgEnLgE9ATQ2Nz4BNz4BNzE2FhceARcHLgEjDgEHMQ4BBwYUHQEcARceARceARcxMjY3PgE/AT4BNz4BNz4BNTQmJxUuAScuAS8BLgEnAtUSGRkSERkZEfRsGCcPDxoIBQYGBgEIGg8PJxhsGCgRESMUHC4QCwoBAgEBAgEKCxAuHBQjEREoGHUOCwIJEAUBBAECAgEEAQUQCQILDg4kGmgaIwwMCAEBAgIBAQgMDCMaaBokDgMVGRH9qhEZGRECVhEZfD8OGAoLGhEMGg4OGwwBERoLChgOPw4XBwgKAgMbFQEPJBMSLhx+HC4SEyQPFhwCAgoIBxcOIQYDAQoHAQsPDyoeeh4qDw8LAQcKAQMGBhUPPQ8VCQgJAgQIBQUJBAECCQgJFQ89DxUGAAgAVQCrA6sC1QAQACEALwA9AE4AYABuAHwAAAE0NjMxITIWFRQGIzEhIiY1ITQ2MzEzMhYVFAYjMSMiJjU3IgYVFBYzMTI2NTQmIwc0NjMyFhUxFAYjIiY1ATQ2MzEzMhYVFAYjMSMiJjUhNDYzMSEyFhUUBiMxISImNTElIgYVFBYzMTI2NTQmIwc0NjMyFhUxFAYjIiY1AisZEQErEhkZEv7VERn+KhkSVRIZGRJVEhnrGyUlGxslJRuVVz4+V1c+PlcCgBkRKxIZGRIrERn9KhkSASsRGRkR/tUSGQJrGyUlGxslJRuVVz4+V1c+PlcBQBIZGRISGRkSEhkZEhIZGRJAJRsbJSUbGyVAPldXPj5XVz4BABIZGRISGRkSEhkZEhIZGRJAJRsbJSUbGyVAPldXPj5XVz4AAAAMAFUAKwOrA1UAEAAhAC8APQBOAGAAbgB8AI4AnwCtALwAACU0NjMxITIWFRQGIzEhIiY1ITQ2MzEzMhYVFAYjMSMiJjU3IgYVFBYzMTI2NTQmIwc0NjMyFhUxFAYjIiY1ATQ2MzEzMhYVFAYjMSMiJjUhNDYzMSEyFhUUBiMxISImNTElIgYVFBYzMTI2NTQmIwc0NjMyFhUxFAYjIiY1AzQ2MzEhMhYVFAYjMSEiJjUxITQ2MzEzMhYVFAYjMSMiJjUlIgYVFBYzMTI2NTQmIwc0NjMyFhUxFAYjIiY1MQIrGREBKxIZGRL+1REZ/ioZElUSGRkSVRIZ6xslJRsbJSUblVc+PldXPj5XAoAZESsSGRkSKxEZ/SoZEgErERkZEf7VEhkCaxslJRsbJSUblVc+PldXPj5XKxkSAVUSGRkS/qsSGf5VGRIrERkZESsSGQFrGyUlGxslJRuVVz4+V1c+PlfAEhkZEhIZGRISGRkSEhkZEkAlGxslJRsbJUA+V1c+PldXPgEAEhkZEhIZGRISGRkSEhkZEkAlGxslJRsbJUA+V1c+PldXPgEAEhkZEhIZGRISGRkSEhkZEkAlGxslJRsbJUA+V1c+PldXPgAAAAAJAFUAQAOrA0AAEAAhADIAQwBUAGUAdgCIAJoAACU0NjMxITIWFRQGIzEhIiY1ITQ2MzEzMhYVFAYjMSMiJjUXIiY1MTU0NjMyFhUxFRQGIwE0NjMxMzIWFRQGIzEjIiY1ITQ2MzEhMhYVFAYjMSEiJjUFIiY1MTU0NjMyFhUxFRQGIwM0NjMxITIWFRQGIzEhIiY1ITQ2MzEhMhYVFAYjMSEiJjUxBSImNTE1NDYzMhYVMRUUBiMxAYAZEgHVEhkZEv4rEhn+1RkSgBIZGRKAEhmrEhkZEhIZGRICKxkRKxIZGRIrERn9KhkSAisRGRkR/dUSGQJWEhkZEhEZGRGAGREBKxIZGRL+1REZ/ioZEgErERkZEf7VEhkBVhIZGRIRGRkRwBIZGRISGRkSEhkZEhIZGRKAGRKqEhkZEqoSGQGAEhkZEhIZGRISGRkSEhkZEoAZEqoSGRkSqhIZAYASGRkSEhkZEhIZGRISGRkSgBkSqhIZGRKqEhkAAAQAgABrA6oCwAARACMASgBcAAA3NDYzMSEyFhUUBiMxISImNTE1NDYzMSEyFhUUBiMxISImNTElMhYVMRU3PgEzMhYVFAYPAQ4BIyImLwEuATU0NjMyFh8BNTQ2MzElNDYzMSEyFhUUBiMxISImNTGAGRIBABEZGRH/ABIZGRIBgBEZGRH+gBIZAoASGTcGDwgSGQYGgAYPCQkPBoAGBhkSCA8GNxkS/YAZEgIAERkZEf4AEhnrERkZERIZGRLVEhkZEhIZGRJVGRHvNwYGGREJDwaABgYGBoAGDwkRGQYGN+8RGYASGRkSERkZEQAAAAQAgADAA6oDFQARACMANQBbAAA3FBYzMSEyNjU0JiMxISIGFTE1NDYzMSEyFhUUBiMxISImNTE1NDYzMSEyFhUUBiMxISImNTElPgEzMhYfAR4BFRQGIyImLwEVFAYjIiY1MTUHDgEjIiY1NDY/AYAZEgIAERkZEf4AEhkZEgGAERkZEf6AEhkZEgEAERkZEf8AEhkCYgYPCQkPBoAGBhkSCA8GNxkSEhk3Bg8KERkHBoDrEhkZEhEZGRHVEhkZEhIZGRLVEhkZEhEZGRF0BgYGBoAGDwkRGQYGN+8RGRkR7zcHBxkSCRAGgAAAAwBVABUDqwNrACMAbACxAAABHgEVFAYHMQMOASMiJicxJy4BNTQ2MzIWFzEXNz4BMzIWFzEBITIWFx4BFx4BFzMeARceARURFAYHDgEHDgEPAQ4BBw4BIyEiJicuAScuAS8BLgEnLgE1PAE1FRE0Njc+ATc+ATc1PgE3PgEzByIGIw4BBzEUBhUGFBURHAEXFBYVHgEXMTIWMxYyMyE6ATcyNjM+ATcxNDY1NjQ1ETwBJzQmNS4BJzEiJiMmIiMhKgEHAscHBwUF5AYQCgkRBnIEBRkRCRAGUsQGEAoIDgb+QAHyER0MDRkMEhwJAQYFAQEBAQEBBQYKHBEBDBkNDB0R/g4RHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkTAe4TGQkJBwIGCgMDAQEDAwoGAgcJCRkT/hITGQkCYAYRCQgPBf8ABwgIB4AFDggSGQgGXNwHCAYFAQsBAQEFBgocEgwZDQwdEf4OER0MDRkMEhwJAQYFAQEBAQEBBQYKHBEBDBkNChgMAwYEAQHyER0MDRkMEhwJAQYFAQEBVwMDCgYCBwkJGRP+EhMZCQkHAgYKAwMBAQMDCgYCBwkJGRMB7hMZCQkHAgYKAwMBAQAAAAAFAFUAFQOrA2sALAA9AFIAmwDgAAABDgEjMSImNTQ2MzE4ATEyNjU0JiMiBgcxDgEjIiY1NDY3MT4BMzIWFRQGByMnMhYVMRUUBiMiJjUxNTQ2Mwc0NjMxMzIWFTEVFAYjMSMiJjUxNQMhMhYXHgEXHgEXMx4BFx4BFREUBgcOAQcOAQ8BDgEHDgEjISImJy4BJy4BLwEuAScuATU8ATUVETQ2Nz4BNz4BNzU+ATc+ATMHIgYjDgEHMRQGFQYUFREcARcUFhUeARcxMhYzFjIzIToBNzI2Mz4BNzE0NjU2NDURPAEnNCY1LgEnMSImIyYiIyEqAQcCWRMtGRIZGRIjMjIjHC0IBBcOERkBARFYOUdkLSQBWRIZGRISGRkSLRkSBBIZGRIEEhnMAfIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEQEMGQ0MHRH+DhEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0RMwkHAgYKAwMBAQMDCgYCBwkJGRMB7hMZCQkHAgYKAwMBAQMDCgYCBwkJGRP+EhMZCQGEDA0ZERIZMiMkMiEaDREZEgMHAzRCZEcuTBc8GRIqEhkZEioSGdURGRkRBREZGREFAoABAQEFBgocEgwZDQwdEf4OER0MDRkMEhwJAQYFAQEBAQEBBQYKHBEBDBkNChgMAwYEAQHyER0MDRkMEhwJAQYFAQEBVwMDCgYCBwkJGRP+EhMZCQkHAgYKAwMBAQMDCgYCBwkJGRMB7hMZCQkHAgYKAwMBAQAABABVABUDqwNrABQAJQBuALMAAAE0NjMxMzIWFTEVFAYjMSMiJjUxNRMyFhUxFRQGIyImNTE1NDYzJyEyFhceARceARczHgEXHgEVERQGBw4BBw4BDwEOAQcOASMhIiYnLgEnLgEvAS4BJy4BNTwBNRURNDY3PgE3PgE3NT4BNz4BMwciBiMOAQcxFAYVBhQVERwBFxQWFR4BFzEyFjMWMjMhOgE3MjYzPgE3MTQ2NTY0NRE8ASc0JjUuAScxIiYjJiIjISoBBwHTGRIEEhkZEgQSGS0SGRkSEhkZEvkB8hEdDA0ZDBIcCQEGBQEBAQEBAQUGChwRAQwZDQwdEf4OER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHREzCQcCBgoDAwEBAwMKBgIHCQkZEwHuExkJCQcCBgoDAwEBAwMKBgIHCQkZE/4SExkJAS0RGRkRBBIZGRIEAVUZEqoSGRkSqhIZ6QEBAQUGChwSDBkNDB0R/g4RHQwNGQwSHAkBBgUBAQEBAQEFBgocEQEMGQ0KGAwDBgQBAfIRHQwNGQwSHAkBBgUBAQFXAwMKBgIHCQkZE/4SExkJCQcCBgoDAwEBAwMKBgIHCQkZEwHuExkJCQcCBgoDAwEBAAACAFUAFQOrA2sASACNAAABITIWFx4BFx4BFzMeARceARURFAYHDgEHDgEPAQ4BBw4BIyEiJicuAScuAS8BLgEnLgE1PAE1FRE0Njc+ATc+ATc1PgE3PgEzByIGIw4BBzEUBhUGFBURHAEXFBYVHgEXMTIWMxYyMyE6ATcyNjM+ATcxNDY1NjQ1ETwBJzQmNS4BJzEiJiMmIiMhKgEHAQcB8hEdDA0ZDBIcCQEGBQEBAQEBAQUGChwRAQwZDQwdEf4OER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHREzCQcCBgoDAwEBAwMKBgIHCQkZEwHuExkJCQcCBgoDAwEBAwMKBgIHCQkZE/4SExkJA2sBAQEFBgocEgwZDQwdEf4OER0MDRkMEhwJAQYFAQEBAQEBBQYKHBEBDBkNChgMAwYEAQHyER0MDRkMEhwJAQYFAQEBVwMDCgYCBwkJGRP+EhMZCQkHAgYKAwMBAQMDCgYCBwkJGRMB7hMZCQkHAgYKAwMBAQAAAAIARwALA7kDUwAZAEEAAAE2Mh8CHgEPARcWBi8BBwYmPwEnJjY/AhcHDgEHMQcXHgEVFAYHNQc3PgEzMhYXIxcnJjQ1NDY3MTcnLgEnNScBxhFSEWf1KBketDAIQyPX1yNDCDC0Hhkp9Gc6WQcaEdKbCQwBASm5Bw8JCRAHAbkpAQsJnNMRGgdZA1MlJeAdBU4bp/IoMBR4eBQwKPKnG04FHeBOwA8UAhmQCRgOAwcDAdBnBAUFBGfQAwYDDhgJkBkCFA4BwAAABABVABUDqwNrAB4AOwCEALMAAAEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEBNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNSUzMhYzHgEXHgEXFR4BFxQWHQEUBhUOAQc1DgEHIw4BBzEiBisBIiYjLgEnMy4BJzUuAScxNCY9ATQ2NT4BNz4BNzM+ATcyNjMHFRwBHQEcARUcARU1MzoBOwE6ATsBNTwBPQE8AT0BIyoBIyoBIzMjKgEjKgEjMwIARz4+XRsaGhtdPj5HRz4+XRsaGhtdPj5H/lUiIXROTlhYTk50ISIiIXROTlhYTk50ISIBbnoIEAYIEAkMEwYFAwEBAQEEBAYTCwEHEQkGEAh6CBAGCREIAQwTBgQEAQEBAQMFBhMLAQkQCAYQCBgBAwwJeAkMAwEBBAoFAQMCAXgBAwIFCgUBAxUaG10+PkdHPj5dGxoaG10+PkdHPj5dGxr+q1hOTnQhIiIhdE5OWFhOTnQhIiIhdE5OWKsBAQMFBhMLAQkQCAYQCHoIEAYJEQgBDBMGBAQBAQEBBAQGEwsBBxEJBhAIeggQBggQCQwTBgUDAQFWAQMMCXgBAwIFCgUBAQMMCXgJDAMBAAAAAAMAVQAVA6sDawAeADsAVAAAASIHDgEHBhUUFx4BFxYzMTI3PgE3NjU0Jy4BJyYjMQE0Nz4BNzYzMhceARcWFRQHDgEHBiMiJy4BJyY1Ez4BMzIWFwEeARUUBiMiJicBLgE1NDY3MQIARz4+XRsaGhtdPj5HRz4+XRsaGhtdPj5H/lUiIXROTlhYTk50ISIiIXROTlhYTk50ISKCBg8JCRAFAhYFBxkSCBAG/esGBgYGAxUaG10+PkdHPj5dGxoaG10+PkdHPj5dGxr+q1hOTnQhIiIhdE5OWFhOTnQhIiIhdE5OWAEpBgYGBv3qBRAIEhkHBQIWBRAJCQ8GAAIAqwBrA1UDFQBIAI0AAAEhOgEXHgEXHgEXFR4BFxYUFREcAQcOAQcOAQcjDgEHBiIjISoBJy4BJy4BJzUuAScmNDU8ATUVETwBNz4BNz4BNzM+ATc2MjMHDgEHDgEHMQ4BBwYUFREcARceARceARcxHgEXFjIzIToBNz4BNz4BNzE+ATc2NDURPAEnLgEnLgEnMS4BJyYiIyEqAQcBXAFIER0MDBkMExwJBwUBAQEBBQcJHBIBDBkMDB0R/rgRHQwMGQwTHAkHBQEBAQEFBwkcEgEMGQwMHREzCAgCBgkDAQIBAQEBAgEDCQYCCAgJGRMBRBMZCQgIAgYJAwECAQEBAQIBAwkGAggICRkT/rwTGQkDFQEBBQcJHBIBDBkMDB0R/rgRHQwMGQwTHAkHBQEBAQEFBwkcEgEMGQwLGAwDBgMBAUgRHQwMGQwTHAkHBQEBVgECAQMJBgIICAkZE/68ExkJCAgCBgkDAQIBAQEBAgEDCQYCCAgJGRMBRBMZCQgIAgYJAwECAQEBAAMAgABAA4ADQABbAG0AtAAAATQ2MzEwMjEyFhcnHgEXHgEXHgEHDgEHDgEHDgEjKgEjMy4BJzMuAScuATU0NjMyFhcVHgEXHgEXFjY3PgE3PgE3MDQ1NCYnFS4BJzUuAS8BLgEjMCI5ASImNTEhNDYzMSEyFhUUBiMxISImNTEBPgEzOgEzMR4BFyMeARceARUUBiMiJic1LgEnLgEnIyYiIyIGBzMOAQcOAQcUFhUWFBUUBiMiJic1LgE1PAE1MT4BNz4BNwHVGRIBIkEdAg0ZCw0YCRIRAQEWExQzHhk5HwQIBAEjQBwCHC4QAwMZEgwTBgkcFBMtGBgvFRUhDAsMAQoJBg8IBxAJARMuGAESGf6rGRICqhIZGRL9VhIZAQ8ZOR8ECAQiQBwCHC4QAwMZEgwTBgkcFBMsGAECBgMWKRMBFSEMCwwBAQEZEhAXAwEBARYTFDMeAcASGQ8OAQYPCQsYDho5Hx44GRglDAsLAhIPDysaBQsGERkLCQEPGwoLDAECCAkIGQ4PHxACARAeDQEJDwYBBQoEAQkKGRISGRkSEhkZEgFqCwsCEg8PKxoFCwYRGQsJAQ8bCgsMAQEJBwgZDg8fEAQJBQIDAhEZFA8BBg4IAQQCHjgZGCUMAAMAVQBAA6sDQABIAI0AsgAAASE6ARceARceAR8BHgEXHgEdARQGBw4BBw4BByMOAQcGIiMhKgEnLgEnLgEvAS4BJy4BNTwBNTE1NDY3PgE3PgE3MT4BNzYyMwcOAQcOAQcxFAYVBhQdARwBFxQWFR4BFzEeARcyFjMhMjYzPgE3PgE3NTQ2NTY0PQE8ASc0JjUuAScxLgEnJiIjISoBBzc0Nz4BNzYzMhceARcWFTEUBiMiJjUxNCYjIgYVMRQGIyImNTEBBwHyER0MDRkMEhwJAQYFAQEBAQEBBQYKHBEBDBkNDB0R/g4RHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkTAe4TGQkJBwIGCgMDAQEDAwoGAgcJCRkT/hITGQlXEBE6JycsLCcnOhEQGRESGUs1NUsZEhEZApUBAQUHCRwSAQwZDAwdEfIRHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0KGA0DBQPyER0MDBkMExwJBwUBAVYBAgEDCQYCCAgJGRPvEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS7xMZCQgIAgYJAwECAQEBLCwnJzkREREROScnLBIZGRI1S0s1EhkZEgAAAAoAK//rA9UDlQAOACwAPQBOAGcAgACRAKIAvADVAAABIgYVFBYzMTI2NTQmIzEFNDc+ATc2MzIXHgEXFhUxFAcOAQcGIyInLgEnJjUBMhYVMRUUBiMiJjUxNTQ2MxEyFhUxFRQGIyImNTE1NDYzAT4BMzIWHwEeARUUBiMiJi8BLgE1NDY3MQE+ATMyFh8BHgEVFAYjIiYvAS4BNTQ2NzElNDYzMTMyFhUUBiMxIyImNSE0NjMxMzIWFRQGIzEjIiY1Ex4BFRQGBzEHDgEjIiY1NDY/AT4BMzIWFzEBHgEVFAYPAQ4BIyImNTQ2PwE+ATMyFhcxAgBHZGRHR2RkR/8AFBRGLi81NS8uRhQUFBRGLi81NS8uRhQUAQASGRkSEhkZEhIZGRISGRkS/rcGDwkJEAU9BgcZEgkQBT0GBgYGAh8GEAgJEAY8BQcZEggQBT0GBgYG/VUZEVYRGRkRVhEZAwAZEVYRGRkRVhEZJAYGBgY8BhAJEhkHBj0FEAkJDwb94QYGBgY9BRAIEhkHBTwGEAkJDwYCa2RHR2RkR0dkqzUvLkYUFBQURi4vNTUvLkYUFBQURi4vNQHVGRFWERkZEVYRGf0AGRFWERkZEVYRGQJ0BgYGBjwGEAkSGQcGPQUQCQkPBv3hBgYGBj0FEAgSGQcFPAYQCQgQBtYSGRkSEhkZEhIZGRISGRkSAUkGDwkJEAU9BgcZEgkQBT0GBgYG/eEGEAgJEAY8BQcZEggQBT0GBgYGAAAFAFUAFAOrA3cADQApAEEAVQB+AAABAw4BFRQWMzI2NzUTJyc+ATMyFhcjFx4BFRQGBzEDDgEjIiY1NDY3FRMBMhYVMRUUBiMxISImNTQ2MzEhNTQ2MzEFNDYzOQEyFhU5ARQGIzkBIiY1MQE+ATMyFhcxFx4BFRQGBzEFDgEjIiY1NDY3MSUnBw4BIyImNTQ2NzE3AUOVAQI+LCU5CZXOTQYjFgUIBQH1FRsBAZoRZkNPcQQDmgKKEhknG/2sERkZEQJAGRL9axkREhkZEhEZAfUHDgcUHwhrAwMUEf3kBAoEEhkNCwILW98ECQURGQ0L8QMd/dQGDggsPiwiAQIsNyoVGwEBQgUjFwQJBP3BP1FxTw4aDAECQP44GRL9GycZEhIZ6RIZrhIZGRISGRkSAa4DAxQR5gYOCBMgCPwCAhkSDRQG88FoAQMZEg0VBXAAAAAABAArAJUD1QLrACAAQgBRAGAAAAEiBw4BBwYVFBceARcWMzEhMjc+ATc2NTQnLgEnJiMxIQU0Nz4BNzYzMSEyFx4BFxYVFAcOAQcGIzEhIicuAScmNTElIgYVFBYzMTI2NTQmIzERIiY1NDYzMTIWFRQGIzEBVSwnJzkREREROScnLAFWLCcnORERERE5Jycs/qr+1hcYUTY2PgFWPjY2URgXFxhRNjY+/qo+NjZRGBcBKiMyMiMkMjIkRmRkRkdkZEcClRAROicnLCwnJzoREBAROicnLCwnJzoRENU+NjdRFxgYF1E3Nj4+NjdRFxgYF1E3Nj5VMiMjMjIjIzL/AGRHR2RkR0dkAAAAAAQAKwCVA9UC6wAgAEIAUQBfAAABIgcOAQcGFRQXHgEXFjMxITI3PgE3NjU0Jy4BJyYjMSEFNDc+ATc2MzEhMhceARcWFRQHDgEHBiMxISInLgEnJjUxJSIGFRQWMzEyNjU0JiMxESImNTQ2MzEyFhUUBiMBVSwnJzkREREROScnLAFWLCcnORERERE5Jycs/qr+1hcYUTY2PgFWPjY2URgXFxhRNjY+/qo+NjZRGBcCgCQyMiQjMjIjR2RkR0ZkZEYClRAROicnLCwnJzoREBAROicnLCwnJzoRENU+NjdRFxgYF1E3Nj4+NjdRFxgYF1E3Nj5VMiMjMjIjIzL/AGRHR2RkR0dkAAYAVQBAA6sDQAB6AIsAnACtAL8A0AAAASE6ARceARceARcVHgEXFhQdARQGIyImNTE1PAEnLgEnLgEnMS4BJyImIyEiBiMOAQcOAQcVFAYVBhQVERwBFxQWFR4BFzEeARcyFjsBMhYVFAYjMSMqAScuAScuAS8BLgEnLgE1PAE1MRE0Njc+ATc+ATcxPgE3NjIzATQ2MzEhMhYVFAYjMSEiJjUnFAYjMSEiJjU0NjMxITIWFQUiJjUxETQ2MzIWFTERFAYjATIWFTERFAYjIiY1MRE0NjMxARQGIzEhIiY1NDYzMSEyFhUBBwGdER0MDBkMExwJBwUBARkREhkBAQIBAwkGAggICRkT/mcTGQkJBwIGCgMDAQEDAwoGAgcJCRkTzBIZGRLOER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHREBThkSAQASGRkS/wASGVUZEv6rEhkZEgFVEhkBABIZGRISGRkS/tUSGRkSERkZEQGAGRH9VRIZGRICqxEZA0ABAQYGCR0RAQwZDQwdEU4SGRkSTRIZCQkIAQYKAwECAQEBAQIBAwoFAQEICQkZEv5mEhkJCQgBBgoDAQIBARkREhkBAQYGCR0RAQwZDQoYDAMGAwGcER0MDRkMEh0JBgYBAf3VEhkZEhEZGRErEhkZEhIZGRLVGREBABIZGRL/ABEZAtUZEv1WEhkZEgKqEhn/ABIZGRISGRkSAAAFAFUAQAOrA0AAegCLAJwArgC/AAABIToBFx4BFx4BFxUeARcWFB0BFAYjIiY1MTU8AScuAScuAScxLgEnIiYjISIGIw4BBw4BBxUUBhUGFBURHAEXFBYVHgEXMR4BFzIWOwEyFhUUBiMxIyoBJy4BJy4BLwEuAScuATU8ATUxETQ2Nz4BNz4BNzE+ATc2MjMBNDYzMSEyFhUUBiMxISImNScUBiMxISImNTQ2MzEhMhYVAzIWFTERFAYjIiY1MRE0NjMxARQGIzEhIiY1NDYzMSEyFhUBBwGdER0MDBkMExwJBwUBARkREhkBAQIBAwkGAggICRkT/mcTGQkJBwIGCgMDAQEDAwoGAgcJCRkTzBIZGRLOER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHREBThkSAQASGRkS/wASGVUZEv6rEhkZEgFVEhkrEhkZEhEZGREBgBkR/VUSGRkSAqsRGQNAAQEGBgkdEQEMGQ0MHRFOEhkZEk0SGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEZERIZAQEGBgkdEQEMGQ0KGAwDBgMBnBEdDA0ZDBIdCQYGAQH91RIZGRIRGRkRKxIZGRISGRkSAgAZEv1WEhkZEgKqEhn/ABIZGRISGRkSAAUAgABAA4ADQABIAI0AngCvAMAAAAEhOgEXHgEXHgEXFR4BFxYUFREcAQcOAQcOAQcjDgEHBiIjISoBJy4BJy4BJzUuASc0JjU8ATUxETwBNz4BNz4BNzM+ATc2MjMHDgEHDgEHFQ4BBxQGFREUFhUeARceARczHgEXMhYzITI2Mz4BNz4BNzU+ATc0NjURNCY1LgEnLgEnIy4BJyImIyEiBiMlMhYVMREUBiMiJjUxETQ2MwEUBiMxISImNTQ2MzEhMhYVERQGIzEhIiY1NDYzMSEyFhUBMgGcER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0R/mMQHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREzCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCQEBEhkZEhIZGRIBgBkS/VYSGRkSAqoSGRkS/VYSGRkSAqoSGQNAAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQoXDAQGAwGcER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRIBmhIZCQkIAQYKAwECAQEBVhkS/VYSGRkSAqoSGf4AEhkZEhIZGRIBABIZGRISGRkSAAAAAAMAVQAVA6sDawBIAI0AogAAASEyFhceARceARczHgEXHgEVERQGBw4BBw4BDwEOAQcOASMhIiYnLgEnLgEvAS4BJy4BNTwBNRURNDY3PgE3PgE3NT4BNz4BMwciBiMOAQcxFAYVBhQVERwBFxQWFR4BFzEyFjMWMjMhOgE3MjYzPgE3MTQ2NTY0NRE8ASc0JjUuAScxIiYjJiIjISoBBwE0NjM5ATIWFTkBFAYjOQEiJjU5AQEHAfIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEQEMGQ0MHRH+DhEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0RMwkHAgYKAwMBAQMDCgYCBwkJGRMB7hMZCQkHAgYKAwMBAQMDCgYCBwkJGRP+EhMZCQEBGRISGRkSEhkDawEBAQUGChwSDBkNDB0R/g4RHQwNGQwSHAkBBgUBAQEBAQEFBgocEQEMGQ0KGAwDBgQBAfIRHQwNGQwSHAkBBgUBAQFXAwMKBgIHCQkZE/4SExkJCQcCBgoDAwEBAwMKBgIHCQkZEwHuExkJCQcCBgoDAwEB/awSGRkSEhkZEgAAAAADAIAAFQOAA2sASACNAKIAAAEhMhYXHgEXHgEXMR4BFxYUFREcAQcOAQcOAQ8BDgEHDgEjISImJy4BJy4BJzUuASc0JjU8ATUVETwBNz4BNz4BPwE+ATc+ATMHIgYjDgEHMQ4BBxQGFREUFhUeARceARczMhYzFjIzIToBNzI2Mz4BNzE+ATc0NjURNCY1LgEnLgEnIyImIyYiIyEqAQcXNDYzOQEyFhU5ARQGIzkBIiY1OQEBMgGcER0MDRkMEh0JBgYBAQEBBgYJHREBDBkNDB0R/mMQHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHREzCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCdYZEhIZGRISGQNrAQEBBQYKHBIMGQ0MHRH+DhEdDA0ZDBIcCQEGBQEBAQEBAQUGChwRAQwZDQoYDAMGBAEB8hEdDA0ZDBIcCQEGBQEBAVcDAwoGAgcJCRkT/hITGQkJBwIGCgMDAQEDAwoGAgcJCRkTAe4TGQkJBwIGCgMDAQFUEhkZEhIZGRIAAwCRAC4DkgMvABQAZAC6AAABPgEzMhYVFAYHMQ4BIyImNTQ2NzEHHgEfAR4BFx4BFx4BMzI2NzE+ATc+AT8BPgE3PgE3PgE1NCYnFS4BJy4BLwEuAScuAScxKgEPAQ4BBw4BBw4BBzEOAQcOAQ8BBhQVHgEXMQcuAScuAScxJjY3NTc+ATc+ATc+ATcxPgE3PgE/AT4BFx4BFzUeAR8CHgEXHgEXHgEVFAYHNQ4BBw4BDwEOAQcOAQcOASMiJiczLgEnLgEvASImIzUBRAwfEiQyDgwMHhIjMg0LWgIIDtwNEgcHBwIDBgQDBwMCBwYHEg2pDRIGBQQBAQEBAQEEBQYSDdwOCQMDBwQDDRObEBUHBwcBBggDAQIBAQMBDgIBAwEnChIHBQgCAgECDgEDAgIGBggZEAsVCwoZDqAPGg0LFgkLEwoD3gwUCAgOBAMDAwMEDggIFAysDBQKCRYNCRQKCxQKAQ0VCgkVDN0BAQECfAwOMiMSIAwLDTIkER8L0gMJDtwNEgYFBAEBAQEBAQQFBhINqQ0SBwYHAgMHAwQHAwECBwcHEg3cDggCAQMBAg4CAgEBAgEDCAYBBwcIFQ+bEw0DBAcDUwoTCwoUDA0aDwScDhkKCxULDxkJBgYCAgICDgIBAgIIBgEHEgoD3QwVCQoVDQkUCwoVCQENFgoJFAysDBQICA4EAwMDAwQOCAgUDN4CAQAEAFUAawOrAxUASACNAJ8AwwAAASE6ARceARceAR8BHgEXHgEVERQGBw4BBw4BByMOAQcGIiMhKgEnLgEnLgEvAS4BJy4BNTwBNRURNDY3PgE3PgE3MT4BNzYyMwcOAQcOAQcxFAYVBhQVERwBFxQWFR4BFzEeARcWMjMhOgE3PgE3PgE3MTQ2NTY0NRE8ASc0JjUuAScxLgEnJiIjISoBBwE0NjMxMzIWFRQGIzEjIiY1MSc+ATMyFhcxFx4BFRQGBzEHDgEjIiY1NDY3MTcnLgE1NDY3MQEHAfIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEQEMGQ0MHRH+DhEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0RMwkHAgYKAwMBAQMDCgYCBwkJGRMB7hMZCQkHAgYKAwMBAQMDCgYCBwkJGRP+EhMZCQEBGRLVEhkZEtUSGcsGEQoHDgaABwgIB4AGDggSGQkHWVkHCAUFAxUBAQUHCRwSAQwZDAwdEf64ER0MDBkMExwJBwUBAQEBBQcJHBIBDBkMCxgMAwYDAQFIER0MDBkMExwJBwUBAVYBAgEDCQYCCAgJGRP+vBMZCQgIAgYJAwECAQEBAQIBAwkGAggICRkTAUQTGQkICAIGCQMBAgEBAf6BEhkZEhIZGRLxBwgFBWsFEQoKEQZrBQUZEQoSBkpKBREKCA4GAAAEAIAAlQOAAusAEAAhADMARAAAJTQmIzEhIgYVFBYzMSEyNjU3NCYjMSEiBhUUFjMxITI2NSc0JiMxISIGFRQWMzEhMjY1MTc0JiMxISIGFRQWMzEhMjY1AwAZEv5WEhkZEgGqEhmAGRL9VhIZGRICqhIZgBkS/lYSGRkSAaoSGYAZEv1WEhkZEgKqEhnAEhkZEhIZGRKrERkZERIZGRKqEhkZEhEZGRGrEhkZEhIZGRIAAAAEAIAAlQOAAusAEAAhADMARAAAJTQmIzEhIgYVFBYzMSEyNjU1NCYjMSEiBhUUFjMxITI2NTU0JiMxISIGFRQWMzEhMjY1MTU0JiMxISIGFRQWMzEhMjY1A4AZEv1WEhkZEgKqEhkZEv1WEhkZEgKqEhkZEv1WEhkZEgKqEhkZEv1WEhkZEgKqEhnAEhkZEhIZGRKrERkZERIZGRKqEhkZEhEZGRGrEhkZEhIZGRIAAAQAgACVA4AC6wARACMANQBHAAA3NDYzMSEyFhUUBiMxISImNTE1NDYzMSEyFhUUBiMxISImNTE1NDYzMSEyFhUUBiMxISImNTE1NDYzMSEyFhUUBiMxISImNTGAGRIBqhIZGRL+VhIZGRICqhIZGRL9VhIZGRIBqhIZGRL+VhIZGRICqhIZGRL9VhIZwBIZGRISGRkSqxEZGRESGRkSqhIZGRIRGRkRqxIZGRISGRkSAAAAAAQAgACVA4AC6wARACIANABFAAAlNCYjMSEiBhUUFjMxITI2NTE1NCYjMSEiBhUUFjMxITI2NTU0JiMxISIGFRQWMzEhMjY1MTU0JiMxISIGFRQWMzEhMjY1A4AZEv5WEhkZEgGqEhkZEv1WEhkZEgKqEhkZEv5WEhkZEgGqEhkZEv1WEhkZEgKqEhnAEhkZEhIZGRKrERkZERIZGRKqEhkZEhEZGRGrEhkZEhIZGRIAAwDVAGsDKwMVABAAIgA9AAAlNDYzMTMyFhUUBiMxIyImNRMyFhUxERQGIyImNTERNDYzMQU0NjMxITIWFTEVFAYjIiY1MSEUBiMiJjUxNQGAGRKqEhkZEqoSGYASGRkSEhkZEv7VGRICABIZGRISGf5WGRISGZUSGRkSERkZEQKAGRH9qhEZGRECVhEZKhEZGRErEhkZEhIZGRIrAAAAAAUAVQCVA6sC6wBRAKIAvwDcAO0AABMhMhYzHgEXHgEXMR4BFxQWHQEjPAE1LgEnLgEnMS4BJyoBIyoBIzMhKgEjDgEHDgEHMQ4BBxwBFRQGIyImNTE1NDY1PgE3PgE3MT4BNzEyNjMDMhYVMRwBFR4BFx4BFzEeARc6ATMhOgEzPgE3PgE3MT4BNzwBNTMVFAYVDgEHDgEHMQ4BBzEiBiMhIiYjLgEnMy4BJzEuAScxNCY9ATQ2MzElIgYVFBYzMTIWFRQGIzEiJjU0NjMxMhYVFAYjMQUyNjU0JiMxIiY1NDYzMTIWFRQGIzEiJjU0NjMxATIWFTERFAYjIiY1MRE0NjP/AgIOGQoKFQsXJAoEBAEBVgEBAQMMCAEHBwgRCQMFAwH+AA8VCAcHAQgMAwEBARkSEhkBAQQECiQXChULChkOfxIZAQEBAwwIAQcHCBUPAgAPFQgHBwEIDAMBAQFWAQEEBAokFwoVCwoZDv3+DhkKCxYKARckCgQEAQEZEgMAIzIyIxIZGRJHZGRHEhkZEv0AIzIyIxIZGRJHZGRHEhkZEgHVEhkZEhEZGREC6wEBBAQKJBcLFQoKGQ4BDxUIBwcBCAwDAQEBAQEBAwwIAQcHCBUPEhkZEgEOGQoKFQsXJAoEBAEB/oAZEg8VCAcHAQgMAwEBAQEBAQMMCAEHBwgVDwEOGQoKFQsXJAoEBAEBAQEEBAokFwoVCwoZDgESGaoyIyMyGRISGWRHR2QZEhIZqjIjIzIZEhIZZEdHZBkSEhkBgBkS/gASGRkSAgASGQAABgCAABUDqgOVAB4APABNAF4AdwCIAAABIgcOAQcGFRQXHgEXFjMxMjc+ATc2NTQnLgEnJiMxATQ3PgE3NjMyFx4BFxYVMRQHDgEHBiMiJy4BJyY1JTIWFTERFAYjIiY1MRE0NjMXFAYjMSEiJjU0NjMxITIWFRM+ATMyFh8BHgEVFAYjIiYvAS4BNTQ2NzElNDYzMTMyFhUUBiMxIyImNQIAPjY3URcYGBdRNzY+PjY3URcYGBdRNzY+/oAeHmlGRVBQRUZpHh4eHmlGRVBQRUZpHh4BgBIZGRISGRkSqxkS/wASGRkSAQASGWIFEAkJDwZVBgYZEggPBlYFBwcF/nQZEqoSGRkSqhIZAsAXGFE2Nz4+NjZRGBcXGFE2Nj4+NzZRGBf+1VBGRmgeHh4eaEZGUE9GRmgeHx8eaEZGT6sZEv8AERkZEQEAEhmrERkZERIZGRIBngYHBwZVBg8IEhkGBlUGDwkJEAU4ERkZERIZGRIABQCAABUDqgOVAB4APABtAIYAlwAAASIHDgEHBhUUFx4BFxYzMTI3PgE3NjU0Jy4BJyYjMQE0Nz4BNzYzMhceARcWFTEUBw4BBwYjIicuAScmNSUeARUUBg8BFx4BFRQGIyImLwEHDgEjIiY1NDY/AScuATU0NjMyFh8BNz4BMzIWFzETPgEzMhYfAR4BFRQGIyImLwEuATU0NjcxJTQ2MzEzMhYVFAYjMSMiJjUCAD42N1EXGBgXUTc2Pj42N1EXGBgXUTc2Pv6AHh5pRkVQUEVGaR4eHh5pRkVQUEVGaR4eAfMGBwcGNzcGBhkRCQ8GNzcGDwkRGQYGNzcHBxkSCRAGNzcGDwkJEAWaBRAJCQ8GVQYGGRIIDwZWBQcHBf50GRKqEhkZEqoSGQLAFxhRNjc+PjY2URgXFxhRNjY+Pjc2URgX/tVQRkZoHh4eHmhGRlBPRkZoHh8fHmhGRk90Bg8JCRAFODcGDwgSGQYGNzcGBhkSCA8GNzgFEAkSGQcGNzcGBgYGASoGBwcGVQYPCBIZBgZVBg8JCRAFOBEZGRESGRkSAAAAAAUAgAAVA6oDlQAeADwATQBmAHcAAAEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEBNDc+ATc2MzIXHgEXFhUxFAcOAQcGIyInLgEnJjUhFAYjMSEiJjU0NjMxITIWFRM+ATMyFh8BHgEVFAYjIiYvAS4BNTQ2NzElNDYzMTMyFhUUBiMxIyImNQIAPjY3URcYGBdRNzY+PjY3URcYGBdRNzY+/oAeHmlGRVBQRUZpHh4eHmlGRVBQRUZpHh4CKxkS/wASGRkSAQASGWIFEAkJDwZVBgYZEggPBlYFBwcF/nQZEqoSGRkSqhIZAsAXGFE2Nz4+NjZRGBcXGFE2Nj4+NzZRGBf+1VBGRmgeHh4eaEZGUE9GRmgeHx8eaEZGTxEZGRESGRkSAZ4GBwcGVQYPCBIZBgZVBg8JCRAFOBEZGRESGRkSAAAABQCAABUDqgOVAB4APABOAGcAeAAAASIHDgEHBhUUFx4BFxYzMTI3PgE3NjU0Jy4BJyYjMQE0Nz4BNzYzMhceARcWFTEUBw4BBwYjIicuAScmNSUyFhUxFRQGIyImNTE1NDYzMSU+ATMyFh8BHgEVFAYjIiYvAS4BNTQ2NzElNDYzMTMyFhUUBiMxIyImNQIAPjY3URcYGBdRNzY+PjY3URcYGBdRNzY+/oAeHmlGRVBQRUZpHh4eHmlGRVBQRUZpHh4BgBIZGRISGRkSAQ0FEAkJDwZVBgYZEggPBlYFBwcF/nQZEqoSGRkSqhIZAsAXGFE2Nz4+NjZRGBcXGFE2Nj4+NzZRGBf+1VBGRmgeHh4eaEZGUE9GRmgeHx8eaEZGT9YZEqsRGRkRqxIZyAYHBwZVBg8IEhkGBlUGDwkJEAU4ERkZERIZGRIAAAAFAIAAFQOAA2sAMABVAGcAlQC4AAATNDYzMSEyFhUxERQGBw4BBw4BBxUOAQcOASsBIiYnLgEnLgEnIy4BJy4BNTwBNRURFxEcARcUFhUeARcxMhYzFjI7AToBNzI2Mz4BNzE0NjU2NDURISc0NjMxITIWFRQGIzEhIiY1MSUzMhYzHgEXHgEXMx4BFRYUHQEUBiMxISImNTE1PAE3NDY3PgE3Mz4BNzMyNjMHMzU0JjUuAScxLgEnKgEjKgEjMyMqASMOAQcOAQcxFAYdAdUZEgIAEhkBAQEFBgocEgwZDQwdEfIRHQwNGQwSHAkBBgUBAQFWAQMDCgYCBwkJGRPuExkJCQcCBgoDAwH+VqsZEgKqEhkZEv1WEhkBVFgOGAoLFQoYJAkBBAQBGRH+qhEZAQQECiQXAQkVCwEKGA5T/gIECwgCBggHEQkDBQMBVg8VBwgGAggLBAICwBIZGRL+BxEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNChgMAwYEAQH5K/40ExkJCQcCBgoDAwEBAwMKBgIHCQkZEwHMKxIZGRISGRkSqwEBBAQKJBcLFQoKGQ4BEhkZEgEOGQoKFQsXJAoEBAEBgAEHBwEIDAMBAQEBAQEDDAgBBwcBAAAHAIAAFQOAA2sAEQAjAFQAeQCLALkA3AAAATIWFTERFAYjIiY1MRE0NjMxIzIWFTERFAYjIiY1MRE0NjMxJzQ2MzEhMhYVMREUBgcOAQcOAQcVDgEHDgErASImJy4BJy4BJyMuAScuATU8ATUVERcRHAEXFBYVHgEXMTIWMxYyOwE6ATcyNjM+ATcxNDY1NjQ1ESEnNDYzMSEyFhUUBiMxISImNTElMzIWMx4BFx4BFzMeARUWFB0BFAYjMSEiJjUxNTwBNzQ2Nz4BNzM+ATczMjYzBzM1NCY1LgEnMS4BJyoBIyoBIzMjKgEjDgEHDgEHMRQGHQECVRIZGRIRGRkRqhEZGRESGRkS1hkSAgASGQEBAQUGChwSDBkNDB0R8hEdDA0ZDBIcCQEGBQEBAVYBAwMKBgIHCQkZE+4TGQkJBwIGCgMDAf5WqxkSAqoSGRkS/VYSGQFUWA4YCgsVChgkCQEEBAEZEf6qERkBBAQKJBcBCRULAQoYDlP+AgQLCAIGCAcRCQMFAwFWDxUHCAYCCAsEAgJAGRL+1hIZGRIBKhIZGRL+1hIZGRIBKhIZgBIZGRL+BxEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNChgMAwYEAQH5K/40ExkJCQcCBgoDAwEBAwMKBgIHCQkZEwHMKxIZGRISGRkSqwEBBAQKJBcLFQoKGQ4BEhkZEgEOGQoKFQsXJAoEBAEBgAEHBwEIDAMBAQEBAQEDDAgBBwcBAAACAIAAwAOAAsAAVABrAAATPgEzMhYXMRceARceATMyNjcxPgE3MT4BNzE+ATMyFhcxHgEXMRceARUUBiMiJicxJy4BJzEuASMiBgcxDgEHMQ4BIyImJzMuAScxLwEuATU0NjcxBTIWFTERFAYjMSEiJjU0NjMxMzU0NjONBRAJCQ8GqwMDAQUPCAgPBQIEAgIFAxEsGBksEQIGAvoFBxkSCQ8G+gEEAQYPCAgPBQIEAhEyHBksEQEDBQIBqwUHBwYCyBIZGRL/ABEZGRHWGRECtAUHBwatBAIBBQYGBQIEAgIFAhARERACBQP9BhAIEhkHBv0CAwIFBgYFAgQCExcREAIFAgGtBhAICRAGnxkR/wASGRkSERnWERkAAAIAgADAA4ACwABXAG4AADceATMyNjcxNz4BNz4BMzIWFzEeARcxHgEXHgEzMjY3MT4BNzE3PgE1NCYjIgYHMQcOAQcxDgEjIiYnMS4BJzEuAScjLgEjIgYHMQ4BBzEPAQ4BFRQWFzElMjY1MRE0JiMxISIGFRQWMzEzFRQWM40FEAkJDwarAwMBBQ8ICA8FAgQCAwUCESwYGSwRAgYC+gUHGRIJDwb6AQQBBg8ICA8FAgQCAgUCARErGRkrEQMFAgGrBQcHBgLIEhkZEv8AERkZEdYZEcwFBwcGrQQCAQUGBgUCBAIDBAIQEREQAgUD/QYQCBIZBwb9AgMCBQYGBQIEAgIFAhARERACBQIBrQYQCAkQBp8ZEQEAEhkZEhEZ1hEZAAADAFkAQAOnA0AANgBtAI4AAAEuASMiBgczDgEHDgEHAw4BBw4BFR4BFxUyFhceATMhMjY3PgEzPgE3NTQmJy4BJwMuAScuAScnPgEzMhYXIx4BFx4BFxMeARceAQcOAQcVDgEHDgEjISImJy4BJy4BJzUmNjc+ATcTPgE3PgE3Ex4BFRQGDwEOASMiJi8BLgE1NDYzMhYfATc+ATMyFhcxAhEECAUFCQQBAgkJCBUPzw8UBwYCAQkHAgsPDykeAZ4eKQ8PCwIHCQECBgcUD88PFQgJCQJFCxsODhsMARIaCgsXDtEOFwcICgIDHBUQJBISLhz+XhwuEhIkEBUcAwIKCAcXDtEOFwsKGhLSBgcHBqsFEAkJDwZVBgcZEQoPBjeNBg8JCQ8GAucCAgICAQcNDCQZ/pkaJA0ODAEKDwUBBAIBAQEBAgQGDwkBAQwODSQaAWcZJAwNBwFOBQYGBQgbDw4oGP6WGCgRECQTHC8PAQsJAgEBAQECCQsQLxsBEyQQESgYAWoYKA4PGwj+fgUQCQkPBqoGBwcGVQYPChEZBwY3jAYHBwYABABZAEADpwNAADYAbQCCAJQAAAEuASMiBgczDgEHDgEHAw4BBw4BFR4BFxUyFhceATMhMjY3PgEzPgE3NTQmJy4BJwMuAScuAScnPgEzMhYXIx4BFx4BFxMeARceAQcOAQcVDgEHDgEjISImJy4BJy4BJzUmNjc+ATcTPgE3PgE3EzQ2MzEzMhYVMRUUBiMxIyImNTE1EzIWFTEVFAYjIiY1MTU0NjMxAhEECAUFCQQBAgkJCBUPzw8UBwYCAQkHAgsPDykeAZ4eKQ8PCwIHCQECBgcUD88PFQgJCQJFCxsODhsMARIaCgsXDtEOFwcICgIDHBUQJBISLhz+XhwuEhIkEBUcAwIKCAcXDtEOFwsKGhIHGRIEEhkZEgQSGS0SGRkSEhkZEgLnAgICAgEHDQwkGf6ZGiQNDgwBCg8FAQQCAQEBAQIEBg8JAQEMDg0kGgFnGSQMDQcBTgUGBgUIGw8OKBj+lhgoERAkExwvDwELCQIBAQEBAgkLEC8bARMkEBEoGAFqGCgODxsI/eASGRkSBBIZGRIEAVYZEqsRGRkRqxIZAAAAAAIAWQBAA6cDQAA2AG0AAAEuASMiBgczDgEHDgEHAw4BBw4BFR4BFxUyFhceATMhMjY3PgEzPgE3NTQmJy4BJwMuAScuAScnPgEzMhYXIx4BFx4BFxMeARceAQcOAQcVDgEHDgEjISImJy4BJy4BJzUmNjc+ATcTPgE3PgE3AhEECAUFCQQBAgkJCBUPzw8UBwYCAQkHAgsPDykeAZ4eKQ8PCwIHCQECBgcUD88PFQgJCQJFCxsODhsMARIaCgsXDtEOFwcICgIDHBUQJBISLhz+XhwuEhIkEBUcAwIKCAcXDtEOFwsKGhIC5wICAgIBBw0MJBn+mRokDQ4MAQoPBQEEAgEBAQECBAYPCQEBDA4NJBoBZxkkDA0HAU4FBgYFCBsPDigY/pYYKBEQJBMcLw8BCwkCAQEBAQIJCxAvGwETJBARKBgBahgoDg8bCAAAAAIA1QBrAysDFQAQADoAADc0NjMxITIWFRQGIzEhIiY1EzIWFTERFBYzMjY1MRE0NjMyFhUxERQHDgEHBiMiJy4BJyY1MRE0NjMx1RkSAgASGRkS/gASGYASGUs1NUsZEhEZEBE6JycsLCcnOhEQGRGVEhkZEhEZGRECgBkR/wA1S0s1AQARGRkR/wAtJic6ERERETonJi0BABEZAAIAqwBAA4ADawAXAF4AABMiBhUxFRQWMzEzMjY1NCYjMSM1NCYjMRc+ATMyFx4BFxYVFAcOAQcGIyInLgEnJi8BLgE1NDYzMhYfAR4BMzI3PgE3NjU0Jy4BJyYjIgYHFQ4BIyImNTQ2NxU+AT8B1REZGRHWERkZEasZErMbPSBQRUZpHh4eHmlGRVAyLy9SIyIaAQMEGRILEwUBKIROPjY3URcYGBdRNzY+S38pBhILEhkEBCRhOgIDaxkS1RIZGRIRGasSGT4JCh4eaUZFUFBFRmkeHgwNLSAgJwIFDAYSGQsIAT1LGBdRNzY+PjY3URcYRDkBCAoZEgcMBgEySRMBAAAAAgErAGsC1gMWABwAPQAAAT4BMzIWHwEeARUUBiMiJi8BBw4BIyImNTQ2PwEDPgEzMhYfATc+ATMyFhUUBg8BDgEjIiYvAS4BNTQ2NzEB4gYPCQkPBqsFBxkSCBAGjI0FEAgSGQcFq6sGDwkJEAWNjAYQCRIZBwarBg8JCQ8GqwYGBgYBXgYHBwarBRAIEhkHBY2NBQcZEggQBqoBqwYGBgaNjQYHGRIJEAWrBgcHBqsFEAkJDwYAAAIBKwBrAtUDFQAgAD0AAAE+ATMyFh8BNz4BMzIWFRQGDwEOASMiJi8BLgE1NDY3MRM+ATMyFh8BHgEVFAYjIiYvAQcOASMiJjU0Nj8BATcGDwkJEAWNjAYQCBIZBwWrBg8JCQ8GqwYGBgarBg8JCQ8GqwUHGRIIEAaMjQUQCBIZBwWrAV4GBwcGjIwGBhkSCA8GqwYGBgarBg8JCQ8GAasGBgYGqwYPCBIZBgaMjAYGGRIIDwarAAADAKsAFQNVA2sALAA6AFkAADc0Nz4BNzYzMhceARcWFTEUBiMiJjUxNCcuAScmIyIHDgEHBhUxFAYjIiY1MQEiBhUUFjMxMjY1NCYjBzQ3PgE3NjMyFx4BFxYVMRQHDgEHBiMiJy4BJyY1MasaG10+PkdHPj5dGxoZERIZFBRGLi81NS8uRhQUGRIRGQFVNUtLNTVLSzXVEBE6JycsLCcnOhEQEBE6JycsLCcnOhEQQEc+Pl0bGhobXT4+RxIZGRI1Ly5GFBQUFEYuLzUSGRkSAtVLNTVLSzU1S4AtJic6ERERETonJi0sJyc5ERERETknJywAAwCAABUDgANrACYANQBTAAA3PgEzMhYXHgEVFAYjIiY1MTQmJy4BIyIGBw4BFRQGIyImNTE0NjcBIgYVFBYzMTI2NTQmIzEFNDc+ATc2MzIXHgEXFhUxFAcOAQcGIyInLgEnJjX4NIhMTIg0NEQZEhEZJykpcEJCcCkpJxkREhlENAEIR2RkR0dkZEf/ABQURi4vNTUvLkYUFBQURi4vNTUvLkYUFPshJCQhIGA7EhkZEh08GhkfHxkaPB0SGRkSO2AgAhpkRkdkZEdGZKo1Li9FFRQUFUUvLjU1Ly9FFBQUFEUvLzUAAAMA1QBrAysDQAAmADQAUwAAAT4BMzIWFx4BFRQGIyImNTE0JicuASMiBgcOARUUBiMiJjUxNDY3EyIGFRQWMzEyNjU0JiMHNDc+ATc2MzIXHgEXFhUxFAcOAQcGIyInLgEnJjUxATMpajo6aikoNhkSEhkbHRxRMDBRHB0bGRISGTYozTVLSzU1S0s11RAROicnLCwnJzoREBAROicnLCwnJzoREAExHB4eHBpQMhEZGREWLBMUFxcUEywWERkZETJQGgG6SzU1S0s1NUuALCcnORERERE5JycsLSYnOhERERE6JyYtAAAEAFUAawPVA0AAJgBLAFkAdwAAEz4BMzIWFx4BFRQGIyImNTE0JicuASMiBgcOARUUBiMiJjUxNDY3ATIWFTEVMzIWFRQGIzEjFRQGIyImNTE1IyImNTQ2MzEzNTQ2MyUiBhUUFjMxMjY1NCYjBzQ3PgE3NjMyFx4BFxYVMRQHDgEHBiMiJy4BJyY1sylqOjpqKSg2GRISGRsdHFEwMFEcHRsZEhIZNigCeBEZVhEZGRFWGRESGVUSGRkSVRkS/lU1S0s1NUtLNdUQETonJywsJyc6ERAQETonJywsJyc6ERABMRweHhwaUDIRGRkRFiwTFBcXFBMsFhEZGREyUBoBDxkSVRkSERlWERkZEVYZERIZVRIZq0s1NUtLNTVLgCwnJzkREREROScnLC0mJzoREREROicmLQAHAFUAlQOrAusADQAcAGUAqgDRAOIA9AAAASIGFRQWMzEyNjU0JiMHNDYzMhYVMRQGIyImNTETITIWFx4BFx4BFzMeARceAR0BFAYHDgEHDgEPAQ4BBw4BIyEiJicuAScuAScjLgEnLgE1PAE1MTU0Njc+ATc+ATc1PgE3PgEzByIGIw4BBzEUBhUGFB0BHAEXFBYVHgEXMTIWMxYyMyE6ATcyNjM+ATcxNDY1NjQ9ATwBJzQmNS4BJzEiJiMmIiMhKgEHEz4BMzIWFx4BFRQGIyImNTE0JicuASMiBgcOARUUBiMiJjUxNDY3JRQGIzEjIiY1NDYzMTMyFhU1FAYjMSMiJjU0NjMxMzIWFTEBgBIZGRISGRkSgEs1NUtLNTVLBwHyER0MDRkMEhwJAQYFAQEBAQEBBQYKHBEBDBkNDB0R/g4RHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkTAe4TGQkJBwIGCgMDAQEDAwoGAgcJCRkT/hITGQk6FzsgIDsXFyIZEhIZBwsMIhUVIgwLBxkSEhkiFwIdGRKrERkZEasSGRkSgBIZGRKAEhkCFRkREhkZEhEZKjVLSzU1S0s1AQABAQEFBgocEgwZDQwdEfIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQsYDAMGAvIRHQwNGQwSHAkBBgUBAQFXAwMKBgIHCQkZE+4TGQkJBwIGCgMDAQEDAwoGAgcJCRkT7hMZCQkHAgYKAwMBAf6MDxERDxAwIBIZGRIEDQgHCwsHCA0EEhkZEiAwEEsSGRkSERkZEYASGRkSERkZEQAAAAAEAFUAawOrA0AAJgBHAFUAcwAAEz4BMzIWFx4BFRQGIyImNTE0JicuASMiBgcOARUUBiMiJjUxNDY3AR4BFRQGDwEOASMiJi8BLgE1NDYzMhYfATc+ATMyFhcxJSIGFRQWMzEyNjU0JiMHNDc+ATc2MzIXHgEXFhUxFAcOAQcGIyInLgEnJjWzKWo6OmopKDYZEhIZGx0cUTAwURwdGxkSEhk2KALrBgcHBqsFEAkJDwZVBgYZEggPBjeNBg8JCQ8G/eI1S0s1NUtLNdUQETonJywsJyc6ERAQETonJywsJyc6ERABMRweHhwaUDIRGRkRFiwTFBcXFBMsFhEZGREyUBoBAgUQCQkPBqoGBwcGVQYPCBIZBgY3jAYHBwa4SzU1S0s1NUuALCcnORERERE5JycsLSYnOhERERE6JyYtAAUAVQAVA6sDawAeADsAaAB2AIUAAAEiBw4BBwYVFBceARcWMzEyNz4BNzY1NCcuAScmIzEBNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNRM+ATM4ATkBOAExMhYXMR4BFRQGIyImJzEuASM4ATkBIgYHDgEjIiY1NDY3MRMiBhUUFjMxMjY1NCYjBzQ2MzIWFTEUBiMiJjUxAgBHPj5dGxoaG10+PkdHPj5dGxoaG10+Pkf+VSIhdE5OWFhOTnQhIiIhdE5OWFhOTnQhIq0vg0xMgy8FBhkRChAGI2M5OWMjBhAKERkGBf4jMjIjIzIyI6tkR0dkZEdHZAMVGhtdPj5HRz4+XRsaGhtdPj5HRz4+XRsa/qtYTk50ISIiIXROTlhYTk50ISIiIXROTlj+5DQ9PTQGDwgSGQgHJy4uJwcIGRIIDwYBnDIjJDIyJCMyVUZkZEZHZGRHAAQAVQBrA6sDQAAmAFcAZQCDAAATPgEzMhYXHgEVFAYjIiY1MTQmJy4BIyIGBw4BFRQGIyImNTE0NjcBHgEVFAYPARceARUUBiMiJi8BBw4BIyImNTQ2PwEnLgE1NDYzMhYfATc+ATMyFhcxJSIGFRQWMzEyNjU0JiMHNDc+ATc2MzIXHgEXFhUxFAcOAQcGIyInLgEnJjWzKWo6OmopKDYZEhIZGx0cUTAwURwdGxkSEhk2KALrBgcHBjc3BgYZEggPBjc4BRAIEhkHBTc3BQcZEggQBjc3Bg8JCQ8G/eI1S0s1NUtLNdUQETonJywsJyc6ERAQETonJywsJyc6ERABMRweHhwaUDIRGRkRFiwTFBcXFBMsFhEZGREyUBoBAgUQCQkPBjc3Bg8JERkGBjc3BgYZEQkPBjc3Bg8JERkGBjc4BQcHBbdLNTVLSzU1S4AsJyc5ERERETknJywtJic6ERERETonJi0AAAAEAFUAawOrA0AAJgA3AEUAYwAAEz4BMzIWFx4BFRQGIyImNTE0JicuASMiBgcOARUUBiMiJjUxNDY3JRQGIzEhIiY1NDYzMSEyFhUBIgYVFBYzMTI2NTQmIwc0Nz4BNzYzMhceARcWFTEUBw4BBwYjIicuAScmNbMpajo6aikoNhkSEhkbHRxRMDBRHB0bGRISGTYoAvgZEv8AEhkZEgEAEhn91TVLSzU1S0s11RAROicnLCwnJzoREBAROicnLCwnJzoREAExHB4eHBpQMhEZGREWLBMUFxcUEywWERkZETJQGmQRGRkREhkZEgFWSzU1S0s1NUuALCcnORERERE5JycsLSYnOhERERE6JyYtAAUAVQAVA6sDawANABwAZQCqAM8AAAEiBhUUFjMxMjY1NCYjBzQ2MzIWFTEUBiMiJjUxAyEyFhceARceARczHgEXHgEVERQGBw4BBw4BDwEOAQcOASMhIiYnLgEnLgEvAS4BJy4BNTwBNRURNDY3PgE3PgE3NT4BNz4BMwciBiMOAQcxFAYVBhQVERwBFxQWFR4BFzEyFjMWMjMhOgE3MjYzPgE3MTQ2NTY0NRE8ASc0JjUuAScxIiYjJiIjISoBBxM0Nz4BNzYzMhceARcWFTEUBiMiJjUxNCYjIgYVMRQGIyImNTECACMyMiMjMjIjq2RHR2RkR0dkTgHyER0MDRkMEhwJAQYFAQEBAQEBBQYKHBEBDBkNDB0R/g4RHQwNGQwSHAkBBgUBAQEBAQEFBgocEgwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkTAe4TGQkJBwIGCgMDAQEDAwoGAgcJCRkT/hITGQksFBRGLi81NS8uRhQUGRIRGWRHR2QZERIZAmsyJCMyMiMkMlZHZGRHRmRkRgFWAQEBBQYKHBIMGQ0MHRH+DhEdDA0ZDBIcCQEGBQEBAQEBAQUGChwRAQwZDQoYDAMGBAEB8hEdDA0ZDBIcCQEGBQEBAVcDAwoGAgcJCRkT/hITGQkJBwIGCgMDAQEDAwoGAgcJCRkTAe4TGQkJBwIGCgMDAQH9LDUvLkYUFBQURi4vNRIZGRJHZGRHEhkZEgAAAAUAVQBrA64DawAmADQAUgB5AKAAABM+ATMyFhceARUUBiMiJjUxNCYnLgEjIgYHDgEVFAYjIiY1MTQ2NxMiBhUUFjMxMjY1NCYjBzQ3PgE3NjMyFx4BFxYVMRQHDgEHBiMiJy4BJyY1JT4BMzIWFzEeARUUBgcxDgEjIiY1NDY3MT4BNTQmJzEuATU0NjcxNz4BMzIWFzEeARUUBgcxDgEjIiY1NDY3FT4BNTQmJzEuATU0NjcxsylqOjpqKSg2GRISGRsdHFEwMFEcHRsZEhIZNijNNUtLNTVLSzXVEBE6JycsLCcnOhEQEBE6JycsLCcnOhEQAgUGDwkJDwYdIiIdBhAJEhkIBhEUFBEGBwcGXQUQCQkPBi82Ni8GDwkRGQYGIygoJAUHBwUBMRweHhwaUDIRGRkRFiwTFBcXFBMsFhEZGREyUBoBuks1NUtLNTVLgCwnJzkREREROScnLC0mJzoREREROicmLZYGBwcGHE4sLU0dBggZEgkQBhEvGxovEQYPCQkQBV0GBwcGL31HSH0vBQcZEggQBgEkXjY1XyMGDwkJDwYAAAAABwBVAEADqwMVACYASABqAHgAhwCwANkAACU+ATMyFhceARUUBiMiJjUxNCYnLgEjIgYHDgEVFAYjIiY1MTQ2NyU+ATMyFhcxHgEXHgEVFAYjIiY1MTQmJy4BJy4BNTQ2NzEhLgEjIgYHMQ4BBw4BFRQWMzI2NTE0Njc+ATc+ATU0JicxNyIGFRQWMzEyNjU0JiMHNDYzMhYVMRQGIyImNTE3PgEzMhYVFAYPAQ4BIyImNTQ2NzM+ATU0JiMiBgcxDgEjIiY1NDY3MSMuASMiBhUUFh8BHgEzMjY1NCYnIy4BNTQ2MzIWFzEeATMyNjU0JicxAVMjWTExWSMiMRkSERkSGBdDJydDFxgSGRESGTEiAYQDFw8DBQMgOBYVHRkSEhkJDA0lGQ4SAQH+UgMXDwMFAyA4FhUdGRISGQkMDSUZDhIBAdcjMjIjIzIyI6tkR0dkZEdHZOQWOiFGZB4ZAQUPCBIZCAYBDQ8yIxEdCwYPCBIZCAdyFjohRmQeGQEFDwgSGQgGAQ0PMiMRHQsGDwgSGQgH6hUWFhUVQCoSGRkSCxwPDhERDg8cCxIZGRIqQBWBDhIBAQgcFBM0HxIZGRIIFAsLEwcDFw8DBQMOEgEBCBwUEzQfEhkZEggUCwsTBwMXDwMFA9UyIyQyMiQjMlVGZGRGR2RkR/8UF2RHJkEXAQUGGRIKEAYMIRMjMgwKBQYZEgkRBhQXZEcmQRcBBQYZEgoQBgwhEyMyDAoFBhkSCREGAAAAAAUAVQBAA6sDFQAfAEYAbAB6AJgAAAE+ATM6ARcxFhceARcWFRQGIyImNTE0JicuATU8ATcVBT4BMzIWFx4BFRQGIyImNTE0JicuASMiBgcOARUUBiMiJjUxNDY3ATQ2MzEyFx4BFxYVFAcOAQcGIzEiJjU0NjMxMjY1NCYjMSImNTEHIgYVFBYzMTI2NTQmIwc0Nz4BNzYzMhceARcWFTEUBw4BBwYjIicuAScmNQKsAxcPAwUCKCUlOBERGRISGURFDxIB/gcpajo6aikoNhkSEhkbHRxRMDBRHB0bGRISGTYoAaIZEiwnJzoREBAROicnLBIZGRI1S0s1EhnVNUtLNTVLSzXVEBE6JycsLCcnOhEQEBE6JycsLCcnOhEQARUPEgEJEhMzISEnEhkZEiFGEAQXDwIFAwEOGx4eGxtQMRIZGRIVLRMTGBgTEy0VEhkZEjFQGwHkERkQETonJywsJyc6ERAZERIZSzU1SxkSK0s1NUtLNTVLgCwnJzoREBAROicnLCwnJzoREBAROicnLAAABAArAGAD1QMjAFsAoQDQAPcAAAEyNjMyFhcxHgEXHgEVERQGBw4BBw4BIyImIzEuAScuAS8BLgEnOQIqASMqASMxIyImJy4BJzUuATU8ATU8ATUxNDY3PgE3Mz4BOwE6ATM5AT4BPwE+ATc+ATcBFBYXHgEXMR4BOwEyFhceARceAR8CHgEfATwBPQE2NDURPAEnPAE1FQ4BIxUOAQ8BDgEHDgEHDgErASIGBw4BBzEOARUFPgE1NCYnMS4BNTQ2MzIWFzEWFx4BFxYVFAcOAQcGByMOASMiJjU0NjcxPgE/ASc+ATU0JicjLgE1NDYzMhYXMR4BFRQGBzEOASMiJjU0NjcxPgE3NQHIAwcDEyELDQcBAQEBAQEHDQshEwMHAxEbCAoWDUkCBAICBQIBAQFCFCMOHSsKBQEBBQoqHQEOIxRCBQUCAgMDSQ0WCggbEf64AQEDDwkEEhpABxAJBw4GBwsFAUgOFAcDAQEBAQEHFA5JBQsHBg4HCREGQBoSBAkPAwEBAuEPEEI4BggZEggPBiMbHCcKCgoKJhsbIgEFDwgSGQcGHCwQAZ0ICSQfAQYHGRIIDwYsMzMrBRAIEhkHBw8ZCQMcAQ8NDiAMDiMV/n4VIw4MIA4NDwEDFQgKGxFaAwQCAgUKKhwBDyIUAQMCAgMBFCIPHSoKBQIBBARaEBwKCBUD/qQbEQQKDgMBAQECAgcEBgwGAlgSGAgCAQEBAQofFwF+Fx8KAgIBAQEBAQcYEloGDAYEBwICAQEBAw4KBBEblyFNKVORNQYQCRIZBgYgJyZXMDAzMjAvVyYnIAUGGREJEAYaQCMDQxMqFy5RHQYQCRIZBgYpcEFAcCkFBxkSCRAGDyMUAQAAAAADACsAYwMrAx0AWwCeAMQAAAEyNjMyFhcxHgEXHgEVERQGBw4BBw4BIyImIzEuAScuAS8BLgEnOQIqASMqASMxIyImJy4BJzUuATU8ATU8ATUxNDY3PgE3Mz4BOwE6ATM5AT4BPwE+ATc+ATcBFBYXHgEXMR4BOwEyFhceARceAR8CHgEfATU2NDURPAEnPAE1FQ4BIxUOAQ8BDgEHDgEHDgErASIGBw4BBzEOARUFPgE1NCYnMS4BNTQ2MzIWFzEeARUUBgcxDgEjIiY1NDY3MT4BNwHIAwcDEyELDQcBAQEBAQEHDQshEwMHAxEbCAoWDUkCBAICBAMBAQFDEyMPHCsKBQEBBQoqHQEOIxRCBQUCAgMDSQ0WCggbEf64AQEDDwkEEhpABxAJBw4GBwsFAUgOFAcDAQEBAQEHFA5JBQsHBg4HCRAHQBoSBAkPAwEBAkgGBx0ZBggZEgkPBSYsKyUGDwkRGQcGDRQHAxwBDw0OIAwOIxX+fhUjDgwgDg0PAQMVCAobEVoDBAICBQoqHAEPIhQBAwICAwEUIg8dKgoFAgEEBFoQHAoIFQP+pBsRBAoOAwEBAQICBwQGDAYCWBIYCAIECh8XAX4XHwoCAgEBAQEBBxgSWgYMBgQHAgIBAQEDDgoEERtDDyISJUAYBhAJEhkGBiNhNzdgIwUHGRIJEAYMHRAAAwArAGMD1QMdAFsAoQCyAAABMjYzMhYXMR4BFx4BFREUBgcOAQcOASMiJiMxLgEnLgEvAS4BJzkCKgEjKgEjMSMiJicuASc1LgE1PAE1PAE1MTQ2Nz4BNzM+ATsBOgEzOQE+AT8BPgE3PgE3ARQWFx4BFzEeATsBMhYXHgEXHgEfAh4BHwE8AT0BNjQ1ETwBJzwBNRUOASMVDgEPAQ4BBw4BBw4BKwEiBgcOAQcxDgEVITQ2MzEhMhYVFAYjMSEiJjUByAMHAxMhCw0HAQEBAQEBBw0LIRMDBwMRGwgKFg1JAgQCAgUCAQEBQhQjDh0rCgUBAQUKKh0BDiMUQgUFAgIDA0kNFgoIGxH+uAEBAw8JBBIaQAcQCQcOBgcLBQFIDhQHAwEBAQEBBxQOSQULBwYOBwkRBkAaEgQJDwMBAQIAGRIBABEZGRH/ABIZAxwBDw0OIAwOIxX+fhUjDgwgDg0PAQMVCAobEVoDBAICBQoqHAEPIhQBAwICAwEUIg8dKgoFAgEEBFoQHAoIFQP+pBsRBAoOAwEBAQICBwQGDAYCWBIYCAIBAQEBCh8XAX4XHwoCAgEBAQEBBxgSWgYMBgQHAgIBAQEDDgoEERsSGRkSEhkZEgAAAAMA1QBjA38DHQAzAK4AxwAAAT4BMzIWFxUeARccAR0BFAYjIiY1MTU8ATU8AScVDgEPAg4BIyImNTQ2NzE3PgE3PgE3BzMyFhUUBiMxIyIGBw4BBzEOARUUFhceARcxHgE7ATIWFx4BFx4BHwIeAR8BNDY9ATY0PQE0NjMyFhUxFRwBBw4BBw4BIyImIzEuAScuAS8BLgEnOQIqASMqATkBIyImJy4BJzUuATU8ATU8ATUxNDY3PgE3Mz4BMyc+ATMyFhcBHgEVFAYjIiYnAS4BNTQ2NzECXwgQCRgoCwYDARkREhkBBw4IARoGEgoRGQUEHAkPBgYQC+05ERkZETMbEQQKDgMBAQEBAw4KBBEbPwcRCQcOBgcLBAJHDxQHAgEBGRIRGQEBCAwMIBMDBwMSGgkJFg5IAgQCAwUCAQFDFCIPHSoKBQICBQoqHAEPIhSQBg8JCQ8GAlUGBhkRCQ8G/asGBwcGAxYDBBkTAQoXCAkYDpgSGRkSlgIEAwoUCgIIEQkCIQcJGRIIDQYiCxIHBhAEsxkSEhkBAQMOCgQRGxsRBAoOAwEBAQICBwQFDQYBWRIYBwMBAQEBCh8XPxIZGRJBFSMODCAODQ8BAxUIChwQWgMEAgIFCiocAQ8iFAEDAgIDARQiDx0qCgUCpgYGBgb9qgUQCBIZBwUCVgUQCQkPBgAAAAAEACsAYwPOAx0AWwCeALcA0QAAATI2MzIWFzEeARceARURFAYHDgEHDgEjIiYjMS4BJy4BLwEuASc5AioBIyoBIzEjIiYnLgEnNS4BNTwBNTwBNTE0Njc+ATczPgE7AToBMzkBPgE/AT4BNz4BNwEUFhceARcxHgE7ATIWFx4BFx4BHwIeAR8BNTY0NRE8ASc8ATUVDgEjFQ4BDwEOAQcOAQcOASsBIgYHDgEHMQ4BFSU+ATMyFh8BHgEVFAYjIiYvAS4BNTQ2NzERLgE1NDY3MTc+ATMyFhUUBg8BDgEjIiYnMQHIAwcDEyELDQcBAQEBAQEHDQshEwMHAxEbCAoWDUkCBAICBAMBAQFDEyMPHCsKBQEBBQoqHQEOIxRCBQUCAgMDSQ0WCggbEf64AQEDDwkEEhpABxAJBw4GBwsFAUgOFAcDAQEBAQEHFA5JBQsHBg4HCRAHQBoSBAkPAwEBAhQGDwkJDwbxBgcZEgkPBvEGBwcGBgcHBvEGEAgSGQcF8gYPCQkPBgMcAQ8NDiAMDiMV/n4VIw4MIA4NDwEDFQgKGxFaAwQCAgUKKhwBDyIUAQMCAgMBFCIPHSoKBQIBBARaEBwKCBUD/qQbEQQKDgMBAQECAgcEBgwGAlgSGAgCBAofFwF+Fx8KAgIBAQEBAQcYEloGDAYEBwICAQEBAw4KBBEblwYGBgbxBhAJERkGBvEGEAkJDwb+0gYPCQkQBvEGBhkRCRAG8QYGBgYAAAQAKwBjA9UDHQBbAKEAsgDDAAABMjYzMhYXMR4BFx4BFREUBgcOAQcOASMiJiMxLgEnLgEvAS4BJzkCKgEjKgEjMSMiJicuASc1LgE1PAE1PAE1MTQ2Nz4BNzM+ATsBOgEzOQE+AT8BPgE3PgE3ARQWFx4BFzEeATsBMhYXHgEXHgEfAh4BHwE8AT0BNjQ1ETwBJzwBNRUOASMVDgEPAQ4BBw4BBw4BKwEiBgcOAQcxDgEVITQ2MzEhMhYVFAYjMSEiJjUXIiY1MRE0NjMyFhUxERQGIwHIAwcDEyELDQcBAQEBAQEHDQshEwMHAxEbCAoWDUkCBAICBQIBAQFCFCMOHSsKBQEBBQoqHQEOIxRCBQUCAgMDSQ0WCggbEf64AQEDDwkEEhpABxAJBw4GBwsFAUgOFAcDAQEBAQEHFA5JBQsHBg4HCREGQBoSBAkPAwEBAgAZEgEAERkZEf8AEhmrEhkZEhEZGREDHAEPDQ4gDA4jFf5+FSMODCAODQ8BAxUIChsRWgMEAgIFCiocAQ8iFAEDAgIDARQiDx0qCgUCAQQEWhAcCggVA/6kGxEECg4DAQEBAgIHBAYMBgJYEhgIAgEBAQEKHxcBfhcfCgICAQEBAQEHGBJaBgwGBAcCAgEBAQMOCgQRGxIZGRISGRkSqxkSAQASGRkS/wASGQAAAgHTAJECLQLrABQAJgAAJTQ2MzEzMhYVMRUUBiMxIyImNTE1EzIWFTERFAYjIiY1MRE0NjMxAdMZEgQSGRkSBBIZLRIZGRISGRkSwBIZGRIEEhkZEgQCKxkS/qsSGRkSAVUSGQAAAAAEAKsAFQNVA5UACQAsAGAAiQAAATEuASMiBgcXNwcOAQ8BBgcOAQcGFRQWFx4BMzI2Nz4BNTQnLgEnJicuAS8BJxc3MxUeARcjHgEXHgEfARYXHgEXFhUUBgcOASMiJicuATU0Nz4BNzY3PgE/AT4BPwE1MxMyFhUxOAExFAYHMQ4BDwEOASMiJjU0NjcxPgE3MT4BNTgBOQE0NjMxAhkFDQcHDQUZGRkgORoCGxkZJwsMJyUkXjIyXiQlJwwLJxkZGxs6HwEZGRkBBAcDAQcSCx01GAEdHRwtDg4zMDB+RER+MDAzDg4tHB0dIEcmAgIGAwIBxBEZJCASLBgCAwgEERkPDREbDBQYGRIDjQQEBAQiIlkbOR8CICYlUy0tLzZjJiYoKCYmYzYvLS1TJSYgIDoaAVkiIgEDBQIFDwoaNh0BIyoqYTY2OkaCMjI3NzIygkY6NjZhKiojJkYfAQIFAgEB/iMZEjJWIRMcCQEBAhkSDhYEBhMLFjggEhkAAAADAFUAFQOrA2sAWwC4ANkAAAEuASMiBgczBw4BBzEHDgEHMQcOAQc1Bw4BFRQWFzUXHgEfAR4BFzEXHgEXIxceATMyNjcxNz4BNzM3PgE3MTc+ATcVNz4BNTQmJxUnLgEnMScuAScxJy4BJzMnJz4BMzIWFzEXHgEXMRceARcVFx4BFzEXHgEVFAYHMQcOAQcxBw4BByMHDgEHMQcOASMiJicxJy4BJzEnLgEnNScuAScxJy4BNTQ2NzE3PgE3MTc+ATczNz4BNzE3Ex4BFRQGDwEOASMiJi8BLgE1NDYzMhYfATc+ATMyFhcxAhkFDQcHDQYBNQ4kFEUOFQEFAg8NLAQFBQQsDQ8CBQEVDkUUJA8BNQUNBwcNBjQOJBQBRA4VAQUCDw0sBAUFBCwNDwIFARUORRQkDwE0axAqFxcqEDQEDAZFLUEEBQEFBCwOEBAOLAQFAQUEQS0BRAYMBDQQKhcXKhA0BAwGRS1BBAUBBQQsDhAQDiwEBQEFBEEtAUQGDAQ07wYHBwarBRAJCQ8GVQYHGREKDwY3jQYPCQkPBgMMBAUFBCwNDwIFARUORRQkDwE0Bg0HBw0GATUPJBNFDhUBBQIPDSwEBQUELA0PAgUBFQ5FFCQPATQGDQcHDQYBNQ4kFEUOFQEFAg8NLEEOEBAOLAQFAQUEQS0BRAYMBDQQKhcXKhA0BAwGRS1BBAUBBQQsDhAQDiwEBQEFBEEtAUQGDAQ0ECoXFyoQNAQMBkUtQQQFAQUELP7mBRAJCQ8GqgYHBwZVBg8KERkHBjeMBgcHBgAAAAAFAFUAFQOrA2sALAA9AFIArgELAAABDgEjMSImNTQ2MzE4ATEyNjU0JiMiBgcxDgEjIiY1NDY3MT4BMzIWFRQGByMnMhYVMRUUBiMiJjUxNTQ2Mwc0NjMxMzIWFTEVFAYjMSMiJjUxNRMuASMiBgczBw4BBzEHDgEHMQcOAQc1Bw4BFRQWFzUXHgEfAR4BFzEXHgEXIxceATMyNjcxNz4BNzM3PgE3MTc+ATcVNz4BNTQmJxUnLgEnMScuAScxJy4BJzMnJz4BMzIWFzEXHgEXMRceARcVFx4BFzEXHgEVFAYHMQcOAQcxBw4BByMHDgEHMQcOASMiJicxJy4BJzEnLgEnNScuAScxJy4BNTQ2NzE3PgE3MTc+ATczNz4BNzE3AlkTLRkSGRkSIzIyIxwtCAQXDhEZAQERWDlHZC0kAVkSGRkSEhkZEi0ZEgQSGRkSBBIZRgUNBwcNBgE1DiQURQ4VAQUCDw0sBAUFBCwNDwIFARUORRQkDwE1BQ0HBw0GNA4kFAFEDhUBBQIPDSwEBQUELA0PAgUBFQ5FFCQPATRrECoXFyoQNAQMBkUtQQQFAQUELA4QEA4sBAUBBQRBLQFEBgwENBAqFxcqEDQEDAZFLUEEBQEFBCwOEBAOLAQFAQUEQS0BRAYMBDQBhAwNGRESGTIjJDIhGg0RGRIDBwM0QmRHLkwXPBkSKhIZGRIqEhnVERkZEQURGRkRBQIhBAUFBCwNDwIFARUORRQkDwE0Bg0HBw0GATUPJBNFDhUBBQIPDSwEBQUELA0PAgUBFQ5FFCQPATQGDQcHDQYBNQ4kFEUOFQEFAg8NLEEOEBAOLAQFAQUEQS0BRAYMBDQQKhcXKhA0BAwGRS1BBAUBBQQsDhAQDiwEBQEFBEEtAUQGDAQ0ECoXFyoQNAQMBkUtQQQFAQUELAAEAFUAFQOrA2sAWwC4AM0A3gAAAS4BIyIGBzMHDgEHMQcOAQcxBw4BBzUHDgEVFBYXNRceAR8BHgEXMRceARcjFx4BMzI2NzE3PgE3Mzc+ATcxNz4BNxU3PgE1NCYnFScuAScxJy4BJzEnLgEnMycnPgEzMhYXMRceARcxFx4BFxUXHgEXMRceARUUBgcxBw4BBzEHDgEHIwcOAQcxBw4BIyImJzEnLgEnMScuASc1Jy4BJzEnLgE1NDY3MTc+ATcxNz4BNzM3PgE3MTcTNDYzMTMyFhUxFRQGIzEjIiY1MTUTMhYVMRUUBiMiJjUxNTQ2MwIZBQ0HBw0GATUOJBRFDhUBBQIPDSwEBQUELA0PAgUBFQ5FFCQPATUFDQcHDQY0DiQUAUQOFQEFAg8NLAQFBQQsDQ8CBQEVDkUUJA8BNGsQKhcXKhA0BAwGRS1BBAUBBQQsDhAQDiwEBQEFBEEtAUQGDAQ0ECoXFyoQNAQMBkUtQQQFAQUELA4QEA4sBAUBBQRBLQFEBgwENCQZEgQSGRkSBBIZLRIZGRISGRkSAwwEBQUELA0PAgUBFQ5FFCQPATQGDQcHDQYBNQ8kE0UOFQEFAg8NLAQFBQQsDQ8CBQEVDkUUJA8BNAYNBwcNBgE1DiQURQ4VAQUCDw0sQQ4QEA4sBAUBBQRBLQFEBgwENBAqFxcqEDQEDAZFLUEEBQEFBCwOEBAOLAQFAQUEQS0BRAYMBDQQKhcXKhA0BAwGRS1BBAUBBQQs/eARGRkRBBIZGRIEAVUZEqoSGRkSqhIZAAAAAAIAVQAVA6sDawBbALgAAAEuASMiBgczBw4BBzEHDgEHMQcOAQc1Bw4BFRQWFzUXHgEfAR4BFzEXHgEXIxceATMyNjcxNz4BNzM3PgE3MTc+ATcVNz4BNTQmJxUnLgEnMScuAScxJy4BJzMnJz4BMzIWFzEXHgEXMRceARcVFx4BFzEXHgEVFAYHMQcOAQcxBw4BByMHDgEHMQcOASMiJicxJy4BJzEnLgEnNScuAScxJy4BNTQ2NzE3PgE3MTc+ATczNz4BNzE3AhkFDQcHDQYBNQ4kFEUOFQEFAg8NLAQFBQQsDQ8CBQEVDkUUJA8BNQUNBwcNBjQOJBQBRA4VAQUCDw0sBAUFBCwNDwIFARUORRQkDwE0axAqFxcqEDQEDAZFLUEEBQEFBCwOEBAOLAQFAQUEQS0BRAYMBDQQKhcXKhA0BAwGRS1BBAUBBQQsDhAQDiwEBQEFBEEtAUQGDAQ0AwwEBQUELA0PAgUBFQ5FFCQPATQGDQcHDQYBNQ8kE0UOFQEFAg8NLAQFBQQsDQ8CBQEVDkUUJA8BNAYNBwcNBgE1DiQURQ4VAQUCDw0sQQ4QEA4sBAUBBQRBLQFEBgwENBAqFxcqEDQEDAZFLUEEBQEFBCwOEBAOLAQFAQUEQS0BRAYMBDQQKhcXKhA0BAwGRS1BBAUBBQQsAAAEAF8AawOfAxUAJgBNAIAAjwAAAS4BIyIGBzEOASMiJjU0NjcxPgEzMhYXMR4BFRQGIyImJzEuAS8BNy4BIyIGBxUOASMiJjU0NjcxPgEzMhYXMR4BFRQGIyImJzEuAS8BNy4BIyIHDgEHBgcxDgEjIiY1NDY3MTY3PgE3NjMyFx4BFxYXMR4BFRQGIyImJzEuAS8BATQ2MzIWFTEUBiMiJjUxAkMPIhIlQBgGEAkSGQYGI2E3N2AjBQcZEgkQBgwcEAEzGjwgQXApBhAKERkGBTWRU1KQNQUGGREJEAYVMRsCQyleMjMwMFcmJyAGEAkSGQYFJi4uZzg5PDs5OGYtLiYGBhkSCRAGIE4rA/7yMiMjMjIjIzIBXQYIHhkGBxkRCQ8GJSwrJQYPCBIZBwYNFAYBoAwMMysBBgcZEQkPBjhCQTcGDwgSGQcGFiIMAZ0SFAoLJhwcIgcHGRIIDwYpICEuDAwMDC0gICgGDwkSGQgGIjcTAf4mIzIyIyMyMiMAAAAAAgE5AGsCxgHAACYANQAAAS4BIyIGBzEOASMiJjU0NjcxPgEzMhYXMR4BFRQGIyImJzEuAS8BBzQ2MzIWFTEUBiMiJjUxAkMPIhIlQBgGEAkSGQYGI2E3N2AjBQcZEgkQBgwcEAGYMiMjMjIjIzIBXQYIHhkGBxkRCQ8GJSwrJQYPCBIZBwYNFAYBnSMyMiMjMjIjAAMA3ABrAyICawAmAE0AXAAAAS4BIyIGBzEOASMiJjU0NjcxPgEzMhYXMR4BFRQGIyImJzEuAS8BNy4BIyIGBxUOASMiJjU0NjcxPgEzMhYXMR4BFRQGIyImJzEuAS8BAzQ2MzIWFTEUBiMiJjUxAkMPIhIlQBgGEAkSGQYGI2E3N2AjBQcZEgkQBgwcEAEzGjwgQXApBhAKERkGBTWRU1KQNQUGGREJEAYVMRsCyzIjIzIyIyMyAV0GCB4ZBgcZEQkPBiUsKyUGDwgSGQcGDRQGAaAMDDMrAQYHGREJDwY4QkE3Bg8IEhkHBhYiDAH+wyMyMiMjMjIjAAAAAAEBqwBrAlUBFQAOAAAlNDYzMhYVMRQGIyImNTEBqzIjIzIyIyMywCMyMiMjMjIjAAcAXwBrA6EDQAAgAEsAbgCPALAAvwDYAAABDgEVFBYXMR4BFxUeATMyNjU0JicxLgEvAS4BIyIGBxUnNjIzMhceARcWFzEeATMyNjU0JicxJicuAScmIyoBBzMiBhUUFjM6ATMxEy4BIyIGBzEOASMiJjU0NjcxPgEzMhYXIx4BFRQGIyImIzEnHgEVFAYHIw4BBxUOASMiJjU0NjcxPgE3Mz4BMzIWFxUnHgEVFAYHIw4BBzEOASMiJjU0NjcxPgE/AT4BMzIWFzETNDYzMhYVMRQGIyImNTEBPgEzMhYXAR4BFRQGIyImJwEuATU0NjcxAlcBAg8MIDUWBhEJEhkHBR1EJwIECAQOFQVzBg8HMzAwVyYnIAYQCRIZBgUmLi5nODk8CREIAREYGRIBAQFGCRYLJUAYBhAJEhkGBiNhNxEhEAIOEhkSAwUDZwEBEQwBJkEaBhAJEhkGBSJTLwMDBgQOFgSPAgMMCgEjPBoGEAkSGQYFH0cnAwQLBQwUBncyIyMyMiMjMv7zBg8JCRAFAlwGBxkSCRAF/aQGBgYGAjcDCAQOFQUNJRcBBggZEggQBh4vEAECAQ8LAYgBCgsmHBwiBwcZEggPBikgIS4MDAEZERIZ/qYDAx4ZBgcZEQkPBiUsBAQEFw4SGQHYAwYDDxYEDCobAQYHGRIIDwYjNRABAREMAYUECgYMFAYTLhwHBxkSCA8GITcVAgIDDQr9/iMyMiMjMjIjAnMGBwcG/aUGEAkRGQcGAlsGDwkJEAUAAAAGAF8AawOAAxUAJgBHAHAAfwCYALEAAAEuASMiBgcxDgEjIiY1NDY3MT4BMzIWFzEeARUUBiMiJicxLgEvASc4ATEUBiMxIgYHFQ4BIyImNTQ2NzE+ATcxOAExMhYVMTU4ATEUBiMxIgcOAQcGBzEOASMiJjU0NjcxNjc+ATc2MzE4ATEyFhUxAzQ2MzIWFTEUBiMiJjUxAR4BFRQGDwEOASMiJjU0Nj8BPgEzMhYXMRUOASMiJi8BLgE1NDYzMhYfAR4BFRQGBzECQw8iEiVAGAYQCRIZBgYjYTc3YCMFBxkSCRAGDBwQARoZEkBwKAYQChEZBgU1j1MSGRkSMjAwVicmIAYQChEZBgUmLi1nODg8Ehl+MiMjMjIjIzIByAYHBwaqBhAJEhkHBqsGDwkJEAUFEAkJDwaqBgYZEQkPBqsFBwcFAV0GCB4ZBgcZEQkPBiUsKyUGDwgSGQcGDRQGAeMSGTMrAQYHGREJDwY4QQEZEqsSGQsKJxscIgcHGRIIDwYpICEtDQwZEf3VIzIyIyMyMiMCSQYPCQkQBasGBxkRCg8GqwYGBgbnBgcHBqsFEAgSGQcFqwYPCQkPBgAABABVAEADqwNAABAAWQCeAL8AAAEUBiMxISImNTQ2MzEhMhYVAyEqAScuAScuAS8BLgEnLgE1PAE1MRE0Njc+ATc+ATcxPgE3NjIzIToBFx4BFx4BHwEeARceARURFAYHDgEHDgEHIw4BBwYiIzc+ATc+ATc1NDY1NjQ1ETwBJzQmNS4BJzEuASciJiMhIgYjDgEHDgEHFRQGFQYUFREcARcUFhUeARcxHgEXMhYzITI2MwMeARUUBg8BDgEjIiYvAS4BNTQ2MzIWHwE3PgEzMhYXMQOrGRL9ABIZGRIDABIZsv4OER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHREB8hEdDA0ZDBIcCQEGBQEBAQEBAQUGChwRAQwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkT/hITGQkJBwIGCgMDAQEDAwoGAgcJCRkTAe4TGQmOBgcHBqsFEAkJDwZVBgcZEQoPBjeNBg8JCQ8GAsASGRkSEhkZEv2AAQEGBgkdEQEMGQ0KGA0CBgMBnRAdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEf5kER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEBAXMGDwkJEAWrBgcHBlUGEAkSGQcGOI0GBgYGAAAABABVAEADqwNAABAAWQCeAM8AAAEUBiMxISImNTQ2MzEhMhYVAyEqAScuAScuAS8BLgEnLgE1PAE1MRE0Njc+ATc+ATcxPgE3NjIzIToBFx4BFx4BHwEeARceARURFAYHDgEHDgEHIw4BBwYiIzc+ATc+ATc1NDY1NjQ1ETwBJzQmNS4BJzEuASciJiMhIgYjDgEHDgEHFRQGFQYUFREcARcUFhUeARcxHgEXMhYzITI2MwMeARUUBg8BFx4BFRQGIyImLwEHDgEjIiY1NDY/AScuATU0NjMyFh8BNz4BMzIWFzEDqxkS/QASGRkSAwASGbL+DhEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0RAfIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEQEMGQ0MHREzCQcCBgoDAwEBAwMKBgIHCQkZE/4SExkJCQcCBgoDAwEBAwMKBgIHCQkZEwHuExkJuQYHBwY3NwYGGREJDwY3NwYPCREZBgY3NwcHGRIJEAY3NwYPCQkQBQLAEhkZEhIZGRL9gAEBBgYJHREBDBkNChgNAgYDAZ0QHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQFWAQIBAwoFAQEICQkZEgGaEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAQFzBg8JCRAFODcGDwgSGQYGNzcGBhkSCA8GNzgFEAkSGQcGNzcGBgYGAAUAVQBAA6sDQAAQAFkAngC/AOAAAAEUBiMxISImNTQ2MzEhMhYVAyEqAScuAScuAS8BLgEnLgE1PAE1MRE0Njc+ATc+ATcxPgE3NjIzIToBFx4BFx4BHwEeARceARURFAYHDgEHDgEHIw4BBwYiIzc+ATc+ATc1NDY1NjQ1ETwBJzQmNS4BJzEuASciJiMhIgYjDgEHDgEHFRQGFQYUFREcARcUFhUeARcxHgEXMhYzITI2MwM+ATMyFh8BHgEVFAYPAQ4BIyImNTQ2PwEnLgE1NDY3MQcOASMiJi8BLgE1NDY/AT4BMzIWFRQGDwEXHgEVFAYHMQOrGRL9ABIZGRIDABIZsv4OER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHREB8hEdDA0ZDBIcCQEGBQEBAQEBAQUGChwRAQwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkT/hITGQkJBwIGCgMDAQEDAwoGAgcJCRkTAe4TGQn1Bg8JCRAFVgYGBgZWBRAIEhkHBTc3BgYGBm4GDwkJEAVWBgYGBlYFEAkSGQcGNzcGBgYGAsASGRkSEhkZEv2AAQEGBgkdEQEMGQ0KGA0CBgMBnRAdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEf5kER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEBAXMGBgYGVgUQCQkPBlUGBhkSCA8GNzgFEAkJDwbnBgcHBlUGDwkJEAVWBgcZEgkQBTg3Bg8JCQ8GAAAEAFUAQAOrA0AAEAAhAGoArwAAARQGIzEhIiY1NDYzMSEyFhUlMhYVMREUBiMiJjUxETQ2MwEhKgEnLgEnLgEvAS4BJy4BNTwBNTERNDY3PgE3PgE3MT4BNzYyMyE6ARceARceAR8BHgEXHgEVERQGBw4BBw4BByMOAQcGIiM3PgE3PgE3NTQ2NTY0NRE8ASc0JjUuAScxLgEnIiYjISIGIw4BBw4BBxUUBhUGFBURHAEXFBYVHgEXMR4BFzIWMyEyNjMDqxkS/QASGRkSAwASGf3VEhkZEhIZGRIBef4OER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHREB8hEdDA0ZDBIcCQEGBQEBAQEBAQUGChwRAQwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkT/hITGQkJBwIGCgMDAQEDAwoGAgcJCRkTAe4TGQkCwBIZGRISGRkSKxkS/asSGRkSAlUSGf1VAQEGBgkdEQEMGQ0KGA0CBgMBnRAdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEf5kER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEBAAAFAFUAQAOrA0AAEABZAJ4ArwDQAAABFAYjMSEiJjU0NjMxITIWFQMhKgEnLgEnLgEvAS4BJy4BNTwBNTERNDY3PgE3PgE3MT4BNzYyMyE6ARceARceAR8BHgEXHgEVERQGBw4BBw4BByMOAQcGIiM3PgE3PgE3NTQ2NTY0NRE8ASc0JjUuAScxLgEnIiYjISIGIw4BBw4BBxUUBhUGFBURHAEXFBYVHgEXMR4BFzIWMyEyNjMlNDYzMTMyFhUUBiMxIyImNSc+ATMyFh8BHgEVFAYPAQ4BIyImNTQ2PwEnLgE1NDY3MQOAGRL9VhIZGRICqhIZh/4OER0MDRkMEhwJAQYFAQEBAQEBBQYKHBIMGQ0MHREB8hEdDA0ZDBIcCQEGBQEBAQEBAQUGChwRAQwZDQwdETMJBwIGCgMDAQEDAwoGAgcJCRkT/hITGQkJBwIGCgMDAQEDAwoGAgcJCRkTAe4TGQn+1BkSgBEZGRGAEhnJBg8JCRAFVgYGBgZWBRAIEhkHBTc3BgYGBgLAEhkZEhIZGRL9gAEBBgYJHREBDBkNChgNAgYDAZ0QHQwNGQwSHQkGBgEBAQEGBgkdEQEMGQ0MHRH+ZBEdDA0ZDBIdCQYGAQFWAQIBAwoFAQEICQkZEgGaEhkJCQgBBgoDAQIBAQEBAgEDCgUBAQgJCRkS/mYSGQkJCAEGCgMBAgEBAX8SGRkSERkZEckGBwcGVQYPCQkQBVYFBxkSCBAGNzcGDwkJDwYAAAAAAwBVAEADqwNAABAAWQCeAAABFAYjMSEiJjU0NjMxITIWFQMhKgEnLgEnLgEvAS4BJy4BNTwBNTERNDY3PgE3PgE3MT4BNzYyMyE6ARceARceAR8BHgEXHgEVERQGBw4BBw4BByMOAQcGIiM3PgE3PgE3NTQ2NTY0NRE8ASc0JjUuAScxLgEnIiYjISIGIw4BBw4BBxUUBhUGFBURHAEXFBYVHgEXMR4BFzIWMyEyNjMDqxkS/QASGRkSAwASGbL+DhEdDA0ZDBIcCQEGBQEBAQEBAQUGChwSDBkNDB0RAfIRHQwNGQwSHAkBBgUBAQEBAQEFBgocEQEMGQ0MHREzCQcCBgoDAwEBAwMKBgIHCQkZE/4SExkJCQcCBgoDAwEBAwMKBgIHCQkZEwHuExkJAsASGRkSEhkZEv2AAQEGBgkdEQEMGQ0KGA0CBgMBnRAdDA0ZDBIdCQYGAQEBAQYGCR0RAQwZDQwdEf5kER0MDRkMEh0JBgYBAVYBAgEDCgUBAQgJCRkSAZoSGQkJCAEGCgMBAgEBAQECAQMKBQEBCAkJGRL+ZhIZCQkIAQYKAwECAQEBAAEAAAABAAArFbuDXw889QALBAAAAAAA4DgpYQAAAADgOClhAAD/6wQAA8AAAAAIAAIAAQAAAAAAAQAAA8D/wAAABAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAb4EAAAAAAAAAAAAAAACAAAABAAAqwQAAIAEAABVBAAAgAQAANUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAxgQAAQAEAAErBAABAAQAANUEAADGBAABAAQAASsEAAErBAAAqwQAAFUEAACrBAAAqwQAAQAEAACZBAAAVQQAAKsEAAEABAAA1QQAAQAEAABqBAAAQQQAAFUEAABVBAAA1QQAAQAEAABVBAAAVQQAAFUEAABVBAAAxgQAAQAEAAErBAABAQQAANYEAADFBAABAQQAASsEAAErBAAAmQQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAE4EAACABAABKwQAAFUEAACrBAAA1QQAACsEAAArBAAAKwQAACsEAAChBAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAAErBAABVQQAAYAEAAGrBAABKwQAAVYEAACABAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAAAtBAAAVQQAAIAEAADVBAAAgAQAAIAEAACABAABKwQAAKsEAAEABAABgAQAASsEAAEABAABgAQAAVUEAAErBAAAqwQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAA1QQAASoEAACABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAACABAAAnwQAAIAEAACrBAAAgAQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAA1QQAANUEAAEABAAAVQQAAFUEAACABAAAVQQAAKsEAACrBAAAgAQAANUEAACrBAABKwQAASsEAADVBAABKwQAANUEAACABAAAgAQAAIAEAACABAAAgAQAAKsEAACrBAAA1QQAAKsEAACrBAAAqwQAAKsEAACrBAAAqwQAAKsEAACABAAAqwQAAKsEAACrBAAAVQQAAIAEAACABAAAVQQAAIAEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAACrBAAAZwQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAQAEAABVBAAAVQQAAG0EAAEzBAAARgQAAIAEAACABAAAKwQAAIAEAACABAAAgAQAAIAEAABVBAAAVQQAAFUEAAA0BAABKwQAACsEAACABAAAKwQAAFUEAABVBAAAqwQAAdUEAAHVBAAB1QQAAdUEAACABAAAVQQAAFUEAAErBAAAlAQAAFUEAACABAAAgAQAAH8EAABVBAAAqwQAAKsEAACABAAAgAQAAIAEAABVBAAAVQQAAFUEAABVBAAANAQAAKsEAABVBAAAqQQAAKsEAACrBAAAqwQAAKsEAACrBAAAVQQAAKsEAAEABAABAAQAAIAEAACABAAAVQQAAKsEAAErBAAAqwQAAasEAADVBAAAVQQAAVUEAABVBAAAVQQAAG8EAACABAAAgAQAAIAEAACABAAAVQQAAFUEAABVBAAAVQQAAFUEAABIBAAAKwQAAJcEAAEABAAAVQQAAFUEAACABAAAVQQAADAEAABVBAAAqwQAAFUEAABVBAAAgAQAAIAEAACABAAAVQQAAIAEAABVBAAA1QQAAFUEAACABAAAcAQAAFUEAABVBAAAVQQAAGQEAAArBAAAVQQAAIAEAACABAAAgAQAAIAEAABVBAAAZwQAAFUEAABVBAAARgQAAKsEAABVBAABgAQAAYAEAAEABAAA1QQAAFUEAABVBAAAVQQAAIAEAACABAAAVQQAAFUEAABVBAAAVQQAAEcEAABVBAAAVQQAAKsEAACABAAAVQQAACsEAABVBAAAKwQAACsEAABVBAAAVQQAAIAEAABVBAAAgAQAAJEEAABVBAAAgAQAAIAEAACABAAAgAQAANUEAABVBAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAABZBAAAWQQAAFkEAADVBAAAqwQAASsEAAErBAAAqwQAAIAEAADV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)\n format(\'woff\');font-weight:normal;font-style:normal;font-display:block}i.coolicons{font-family:\'coolicons\' !important;speak:never;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ci-add_column:before{content:"\\e900"}.ci-add_minus_square:before{content:"\\e901"}.ci-add_plus_circle:before{content:"\\e902"}.ci-add_plus_square:before{content:"\\e903"}.ci-add_plus:before{content:"\\e904"}.ci-add_row:before{content:"\\e905"}.ci-add_to_queue:before{content:"\\e906"}.ci-airplay:before{content:"\\e907"}.ci-alarm:before{content:"\\e908"}.ci-archive:before{content:"\\e909"}.ci-arrow_circle_down_left:before{content:"\\e90a"}.ci-arrow_circle_down_right:before{content:"\\e90b"}.ci-arrow_circle_down:before{content:"\\e90c"}.ci-arrow_circle_left:before{content:"\\e90d"}.ci-arrow_circle_right:before{content:"\\e90e"}.ci-arrow_circle_up_left:before{content:"\\e90f"}.ci-arrow_circle_up_right:before{content:"\\e910"}.ci-arrow_circle_up:before{content:"\\e911"}.ci-arrow_down_left_lg:before{content:"\\e912"}.ci-arrow_down_left_md:before{content:"\\e913"}.ci-arrow_down_left_sm:before{content:"\\e914"}.ci-arrow_down_lg:before{content:"\\e915"}.ci-arrow_down_md:before{content:"\\e916"}.ci-arrow_down_right_lg:before{content:"\\e917"}.ci-arrow_down_right_md:before{content:"\\e918"}.ci-arrow_down_right_sm:before{content:"\\e919"}.ci-arrow_down_sm:before{content:"\\e91a"}.ci-arrow_down_up:before{content:"\\e91b"}.ci-arrow_left_lg:before{content:"\\e91c"}.ci-arrow_left_md:before{content:"\\e91d"}.ci-arrow_left_right:before{content:"\\e91e"}.ci-arrow_left_sm:before{content:"\\e91f"}.ci-arrow_reload_02:before{content:"\\e920"}.ci-arrow_right_lg:before{content:"\\e921"}.ci-arrow_right_md:before{content:"\\e922"}.ci-arrow_right_sm:before{content:"\\e923"}.ci-arrow_sub_down_left:before{content:"\\e924"}.ci-arrow_sub_down_right:before{content:"\\e925"}.ci-arrow_sub_left_down:before{content:"\\e926"}.ci-arrow_sub_left_up:before{content:"\\e927"}.ci-arrow_sub_right_down:before{content:"\\e928"}.ci-arrow_sub_right_up:before{content:"\\e929"}.ci-arrow_sub_up_left:before{content:"\\e92a"}.ci-arrow_sub_up_right:before{content:"\\e92b"}.ci-arrow_undo_down_left:before{content:"\\e92c"}.ci-arrow_undo_down_right:before{content:"\\e92d"}.ci-arrow_undo_up_left:before{content:"\\e92e"}.ci-arrow_undo_up_right:before{content:"\\e92f"}.ci-arrow_up_left_lg:before{content:"\\e930"}.ci-arrow_up_left_md:before{content:"\\e931"}.ci-arrow_up_left_sm:before{content:"\\e932"}.ci-arrow_up_lg:before{content:"\\e933"}.ci-arrow_up_md:before{content:"\\e934"}.ci-arrow_up_right_lg:before{content:"\\e935"}.ci-arrow_up_right_md:before{content:"\\e936"}.ci-arrow_up_right_sm:before{content:"\\e937"}.ci-arrow_up_sm:before{content:"\\e938"}.ci-arrows_reload_01:before{content:"\\e939"}.ci-bar_bottom:before{content:"\\e93a"}.ci-bar_left:before{content:"\\e93b"}.ci-bar_right:before{content:"\\e93c"}.ci-bar_top:before{content:"\\e93d"}.ci-bell_add:before{content:"\\e93e"}.ci-bell_close:before{content:"\\e93f"}.ci-bell_notification:before{content:"\\e940"}.ci-bell_off:before{content:"\\e941"}.ci-bell_remove:before{content:"\\e942"}.ci-bell_ring:before{content:"\\e943"}.ci-bell:before{content:"\\e944"}.ci-bold:before{content:"\\e945"}.ci-book_open:before{content:"\\e946"}.ci-book:before{content:"\\e947"}.ci-bookmark:before{content:"\\e948"}.ci-building_01:before{content:"\\e949"}.ci-building_02:before{content:"\\e94a"}.ci-building_03:before{content:"\\e94b"}.ci-building_04:before{content:"\\e94c"}.ci-bulb:before{content:"\\e94d"}.ci-calendar_add:before{content:"\\e94e"}.ci-calendar_check:before{content:"\\e94f"}.ci-calendar_close:before{content:"\\e950"}.ci-calendar_days:before{content:"\\e951"}.ci-calendar_event:before{content:"\\e952"}.ci-calendar_remove:before{content:"\\e953"}.ci-calendar_week:before{content:"\\e954"}.ci-calendar:before{content:"\\e955"}.ci-camera:before{content:"\\e956"}.ci-car_auto:before{content:"\\e957"}.ci-caret_circle_down:before{content:"\\e958"}.ci-caret_circle_left:before{content:"\\e959"}.ci-caret_circle_right:before{content:"\\e95a"}.ci-caret_circle_up:before{content:"\\e95b"}.ci-caret_down_md:before{content:"\\e95c"}.ci-caret_down_sm:before{content:"\\e95d"}.ci-caret_left_sm:before{content:"\\e95e"}.ci-caret_right_sm:before{content:"\\e95f"}.ci-caret_up_md:before{content:"\\e960"}.ci-caret_up_sm:before{content:"\\e961"}.ci-chart_bar_horizontal_01:before{content:"\\e962"}.ci-chart_bar_vertical_01:before{content:"\\e963"}.ci-chart_line:before{content:"\\e964"}.ci-chart_pie:before{content:"\\e965"}.ci-chat_add:before{content:"\\e966"}.ci-chat_check:before{content:"\\e967"}.ci-chat_circle_add:before{content:"\\e968"}.ci-chat_circle_check:before{content:"\\e969"}.ci-chat_circle_close:before{content:"\\e96a"}.ci-chat_circle_dots:before{content:"\\e96b"}.ci-chat_circle_remove:before{content:"\\e96c"}.ci-chat_circle:before{content:"\\e96d"}.ci-chat_close:before{content:"\\e96e"}.ci-chat_conversation_circle:before{content:"\\e96f"}.ci-chat_conversation:before{content:"\\e970"}.ci-chat_dots:before{content:"\\e971"}.ci-chat_remove:before{content:"\\e972"}.ci-chat:before{content:"\\e973"}.ci-check_all_big:before{content:"\\e974"}.ci-check_all:before{content:"\\e975"}.ci-check_big:before{content:"\\e976"}.ci-check:before{content:"\\e977"}.ci-checkbox_check:before{content:"\\e978"}.ci-checkbox_fill:before{content:"\\e979"}.ci-checkbox_unchecked:before{content:"\\e97a"}.ci-chevron_down_duo:before{content:"\\e97b"}.ci-chevron_down:before{content:"\\e97c"}.ci-chevron_left_duo:before{content:"\\e97d"}.ci-chevron_left_md:before{content:"\\e97e"}.ci-chevron_left:before{content:"\\e97f"}.ci-chevron_right_duo:before{content:"\\e980"}.ci-chevron_right_md:before{content:"\\e981"}.ci-chevron_right:before{content:"\\e982"}.ci-chevron_up_duo:before{content:"\\e983"}.ci-chevron_up:before{content:"\\e984"}.ci-chromecast:before{content:"\\e985"}.ci-circle_check:before{content:"\\e986"}.ci-circle_help:before{content:"\\e987"}.ci-circle_warning:before{content:"\\e988"}.ci-circle:before{content:"\\e989"}.ci-clock:before{content:"\\e98a"}.ci-close_circle:before{content:"\\e98b"}.ci-close_lg:before{content:"\\e98c"}.ci-close_md:before{content:"\\e98d"}.ci-close_sm:before{content:"\\e98e"}.ci-close_square:before{content:"\\e98f"}.ci-cloud_add:before{content:"\\e990"}.ci-cloud_check:before{content:"\\e991"}.ci-cloud_close:before{content:"\\e992"}.ci-cloud_download:before{content:"\\e993"}.ci-cloud_off:before{content:"\\e994"}.ci-cloud_remove:before{content:"\\e995"}.ci-cloud_upload:before{content:"\\e996"}.ci-cloud:before{content:"\\e997"}.ci-code:before{content:"\\e998"}.ci-coffe_to_go:before{content:"\\e999"}.ci-coffee:before{content:"\\e99a"}.ci-columns:before{content:"\\e99b"}.ci-combine_cells:before{content:"\\e99c"}.ci-command:before{content:"\\e99d"}.ci-compass:before{content:"\\e99e"}.ci-cookie:before{content:"\\e99f"}.ci-copy:before{content:"\\e9a0"}.ci-credit_card_01:before{content:"\\e9a1"}.ci-credit_card_02:before{content:"\\e9a2"}.ci-crop:before{content:"\\e9a3"}.ci-cupcake:before{content:"\\e9a4"}.ci-cylinder:before{content:"\\e9a5"}.ci-data:before{content:"\\e9a6"}.ci-delete_column:before{content:"\\e9a7"}.ci-delete_row:before{content:"\\e9a8"}.ci-desktop_tower:before{content:"\\e9a9"}.ci-desktop:before{content:"\\e9aa"}.ci-devices:before{content:"\\e9ab"}.ci-double_quotes_l:before{content:"\\e9ac"}.ci-double_quotes_r:before{content:"\\e9ad"}.ci-download_package:before{content:"\\e9ae"}.ci-download:before{content:"\\e9af"}.ci-drag_horizontal:before{content:"\\e9b0"}.ci-drag_vertical:before{content:"\\e9b1"}.ci-dummy_circle_small:before{content:"\\e9b2"}.ci-dummy_circle:before{content:"\\e9b3"}.ci-dummy_square_small:before{content:"\\e9b4"}.ci-dummy_square:before{content:"\\e9b5"}.ci-edit_pencil_01:before{content:"\\e9b6"}.ci-edit_pencil_02:before{content:"\\e9b7"}.ci-edit_pencil_line_01:before{content:"\\e9b8"}.ci-edit_pencil_line_02:before{content:"\\e9b9"}.ci-exit:before{content:"\\e9ba"}.ci-expand:before{content:"\\e9bb"}.ci-external_link:before{content:"\\e9bc"}.ci-figma:before{content:"\\e9bd"}.ci-file_add:before{content:"\\e9be"}.ci-file_blank:before{content:"\\e9bf"}.ci-file_check:before{content:"\\e9c0"}.ci-file_close:before{content:"\\e9c1"}.ci-file_code:before{content:"\\e9c2"}.ci-file_document:before{content:"\\e9c3"}.ci-file_download:before{content:"\\e9c4"}.ci-file_edit:before{content:"\\e9c5"}.ci-file_remove:before{content:"\\e9c6"}.ci-file_search:before{content:"\\e9c7"}.ci-file_upload:before{content:"\\e9c8"}.ci-files:before{content:"\\e9c9"}.ci-filter_off:before{content:"\\e9ca"}.ci-filter:before{content:"\\e9cb"}.ci-first_aid:before{content:"\\e9cc"}.ci-flag:before{content:"\\e9cd"}.ci-folder_add:before{content:"\\e9ce"}.ci-folder_check:before{content:"\\e9cf"}.ci-folder_close:before{content:"\\e9d0"}.ci-folder_code:before{content:"\\e9d1"}.ci-folder_document:before{content:"\\e9d2"}.ci-folder_download:before{content:"\\e9d3"}.ci-folder_edit:before{content:"\\e9d4"}.ci-folder_open:before{content:"\\e9d5"}.ci-folder_remove:before{content:"\\e9d6"}.ci-folder_search:before{content:"\\e9d7"}.ci-folder_upload:before{content:"\\e9d8"}.ci-folder:before{content:"\\e9d9"}.ci-folders:before{content:"\\e9da"}.ci-font:before{content:"\\e9db"}.ci-forward:before{content:"\\e9dc"}.ci-gift:before{content:"\\e9dd"}.ci-globe:before{content:"\\e9de"}.ci-hamburger_lg:before{content:"\\e9df"}.ci-hamburger_md:before{content:"\\e9e0"}.ci-handbag:before{content:"\\e9e1"}.ci-heading_h1:before{content:"\\e9e2"}.ci-heading_h2:before{content:"\\e9e3"}.ci-heading_h3:before{content:"\\e9e4"}.ci-heading_h4:before{content:"\\e9e5"}.ci-heading_h5:before{content:"\\e9e6"}.ci-heading_h6:before{content:"\\e9e7"}.ci-heading:before{content:"\\e9e8"}.ci-headphones:before{content:"\\e9e9"}.ci-heart_01:before{content:"\\e9ea"}.ci-heart_02:before{content:"\\e9eb"}.ci-help:before{content:"\\e9ec"}.ci-hide:before{content:"\\e9ed"}.ci-house_01:before{content:"\\e9ee"}.ci-house_02:before{content:"\\e9ef"}.ci-house_03:before{content:"\\e9f0"}.ci-house_add:before{content:"\\e9f1"}.ci-house_check:before{content:"\\e9f2"}.ci-house_close:before{content:"\\e9f3"}.ci-house_remove:before{content:"\\e9f4"}.ci-image_01:before{content:"\\e9f5"}.ci-image_02:before{content:"\\e9f6"}.ci-info:before{content:"\\e9f7"}.ci-instance:before{content:"\\e9f8"}.ci-italic:before{content:"\\e9f9"}.ci-keyboard:before{content:"\\e9fa"}.ci-label:before{content:"\\e9fb"}.ci-laptop:before{content:"\\e9fc"}.ci-layer:before{content:"\\e9fd"}.ci-layers:before{content:"\\e9fe"}.ci-leaf:before{content:"\\e9ff"}.ci-line_l:before{content:"\\ea00"}.ci-line_m:before{content:"\\ea01"}.ci-line_s:before{content:"\\ea02"}.ci-line_xl:before{content:"\\ea03"}.ci-link_break:before{content:"\\ea04"}.ci-link_horizontal_off:before{content:"\\ea05"}.ci-link_horizontal:before{content:"\\ea06"}.ci-link_vertical:before{content:"\\ea07"}.ci-link:before{content:"\\ea08"}.ci-list_add:before{content:"\\ea09"}.ci-list_check:before{content:"\\ea0a"}.ci-list_checklist:before{content:"\\ea0b"}.ci-list_ordered:before{content:"\\ea0c"}.ci-list_remove:before{content:"\\ea0d"}.ci-list_unordered:before{content:"\\ea0e"}.ci-loading:before{content:"\\ea0f"}.ci-lock_open:before{content:"\\ea10"}.ci-lock:before{content:"\\ea11"}.ci-log_out:before{content:"\\ea12"}.ci-magnifying_glass_minus:before{content:"\\ea13"}.ci-magnifying_glass_plus:before{content:"\\ea14"}.ci-mail_open:before{content:"\\ea15"}.ci-mail:before{content:"\\ea16"}.ci-main_component:before{content:"\\ea17"}.ci-map_pin:before{content:"\\ea18"}.ci-map:before{content:"\\ea19"}.ci-mention:before{content:"\\ea1a"}.ci-menu_alt_01:before{content:"\\ea1b"}.ci-menu_alt_02:before{content:"\\ea1c"}.ci-menu_alt_03:before{content:"\\ea1d"}.ci-menu_alt_04:before{content:"\\ea1e"}.ci-menu_alt_05:before{content:"\\ea1f"}.ci-menu_duo_lg:before{content:"\\ea20"}.ci-menu_duo_md:before{content:"\\ea21"}.ci-mobile_button:before{content:"\\ea22"}.ci-mobile:before{content:"\\ea23"}.ci-monitor_play:before{content:"\\ea24"}.ci-monitor:before{content:"\\ea25"}.ci-moon:before{content:"\\ea26"}.ci-more_grid_big:before{content:"\\ea27"}.ci-more_grid_small:before{content:"\\ea28"}.ci-more_horizontal:before{content:"\\ea29"}.ci-more_vertical:before{content:"\\ea2a"}.ci-mouse:before{content:"\\ea2b"}.ci-move_horizontal:before{content:"\\ea2c"}.ci-move_vertical:before{content:"\\ea2d"}.ci-move:before{content:"\\ea2e"}.ci-moving_desk:before{content:"\\ea2f"}.ci-navigation:before{content:"\\ea30"}.ci-note_edit:before{content:"\\ea31"}.ci-note_search:before{content:"\\ea32"}.ci-note:before{content:"\\ea33"}.ci-notebook:before{content:"\\ea34"}.ci-octagon_check:before{content:"\\ea35"}.ci-octagon_help:before{content:"\\ea36"}.ci-octagon_warning:before{content:"\\ea37"}.ci-octagon:before{content:"\\ea38"}.ci-option:before{content:"\\ea39"}.ci-paper_plane:before{content:"\\ea3a"}.ci-paperclip_attechment_horizontal:before{content:"\\ea3b"}.ci-paperclip_attechment_tilt:before{content:"\\ea3c"}.ci-paragraph:before{content:"\\ea3d"}.ci-path:before{content:"\\ea3e"}.ci-pause_circle:before{content:"\\ea3f"}.ci-pause:before{content:"\\ea40"}.ci-phone:before{content:"\\ea41"}.ci-planet:before{content:"\\ea42"}.ci-play_circle:before{content:"\\ea43"}.ci-play:before{content:"\\ea44"}.ci-printer:before{content:"\\ea45"}.ci-puzzle:before{content:"\\ea46"}.ci-qr_code:before{content:"\\ea47"}.ci-radio_fill:before{content:"\\ea48"}.ci-radio_unchecked:before{content:"\\ea49"}.ci-rainbow:before{content:"\\ea4a"}.ci-redo:before{content:"\\ea4b"}.ci-remove_minus_circle:before{content:"\\ea4c"}.ci-remove_minus:before{content:"\\ea4d"}.ci-rewind:before{content:"\\ea4e"}.ci-rows:before{content:"\\ea4f"}.ci-ruler:before{content:"\\ea50"}.ci-save:before{content:"\\ea51"}.ci-search_magnifying_glass:before{content:"\\ea52"}.ci-select_multiple:before{content:"\\ea53"}.ci-settings_future:before{content:"\\ea54"}.ci-settings:before{content:"\\ea55"}.ci-share_android:before{content:"\\ea56"}.ci-share_ios_export:before{content:"\\ea57"}.ci-shield_check:before{content:"\\ea58"}.ci-shield_warning:before{content:"\\ea59"}.ci-shield:before{content:"\\ea5a"}.ci-shopping_bag_01:before{content:"\\ea5b"}.ci-shopping_bag_02:before{content:"\\ea5c"}.ci-shopping_cart_01:before{content:"\\ea5d"}.ci-shopping_cart_02:before{content:"\\ea5e"}.ci-show:before{content:"\\ea5f"}.ci-shrink:before{content:"\\ea60"}.ci-shuffle:before{content:"\\ea61"}.ci-single_quotes_l:before{content:"\\ea62"}.ci-single_quotes_r:before{content:"\\ea63"}.ci-skip_back:before{content:"\\ea64"}.ci-skip_forward:before{content:"\\ea65"}.ci-slider_01:before{content:"\\ea66"}.ci-slider_02:before{content:"\\ea67"}.ci-slider_03:before{content:"\\ea68"}.ci-sort_ascending:before{content:"\\ea69"}.ci-sort_descending:before{content:"\\ea6a"}.ci-square_check:before{content:"\\ea6b"}.ci-square_help:before{content:"\\ea6c"}.ci-square_warning:before{content:"\\ea6d"}.ci-square:before{content:"\\ea6e"}.ci-star:before{content:"\\ea6f"}.ci-stop_circle:before{content:"\\ea70"}.ci-stop_sign:before{content:"\\ea71"}.ci-stop:before{content:"\\ea72"}.ci-strikethrough:before{content:"\\ea73"}.ci-suitcase:before{content:"\\ea74"}.ci-sun:before{content:"\\ea75"}.ci-swatches_palette:before{content:"\\ea76"}.ci-swicht_left:before{content:"\\ea77"}.ci-swicht_right:before{content:"\\ea78"}.ci-table_add:before{content:"\\ea79"}.ci-table_remove:before{content:"\\ea7a"}.ci-table:before{content:"\\ea7b"}.ci-tablet_button:before{content:"\\ea7c"}.ci-tablet:before{content:"\\ea7d"}.ci-tag:before{content:"\\ea7e"}.ci-terminal:before{content:"\\ea7f"}.ci-text_align_center:before{content:"\\ea80"}.ci-text_align_justify:before{content:"\\ea81"}.ci-text_align_left:before{content:"\\ea82"}.ci-text_align_right:before{content:"\\ea83"}.ci-text:before{content:"\\ea84"}.ci-ticket_voucher:before{content:"\\ea85"}.ci-timer_add:before{content:"\\ea86"}.ci-timer_close:before{content:"\\ea87"}.ci-timer_remove:before{content:"\\ea88"}.ci-timer:before{content:"\\ea89"}.ci-trash_empty:before{content:"\\ea8a"}.ci-trash_full:before{content:"\\ea8b"}.ci-trending_down:before{content:"\\ea8c"}.ci-trending_up:before{content:"\\ea8d"}.ci-triangle_check:before{content:"\\ea8e"}.ci-triangle_warning:before{content:"\\ea8f"}.ci-triangle:before{content:"\\ea90"}.ci-underline:before{content:"\\ea91"}.ci-undo:before{content:"\\ea92"}.ci-unfold_less:before{content:"\\ea93"}.ci-unfold_more:before{content:"\\ea94"}.ci-user_01:before{content:"\\ea95"}.ci-user_02:before{content:"\\ea96"}.ci-user_03:before{content:"\\ea97"}.ci-user_add:before{content:"\\ea98"}.ci-user_card_id:before{content:"\\ea99"}.ci-user_check:before{content:"\\ea9a"}.ci-user_circle:before{content:"\\ea9b"}.ci-user_close:before{content:"\\ea9c"}.ci-user_remove:before{content:"\\ea9d"}.ci-user_square:before{content:"\\ea9e"}.ci-user_voice:before{content:"\\ea9f"}.ci-users_group:before{content:"\\eaa0"}.ci-users:before{content:"\\eaa1"}.ci-volume_max:before{content:"\\eaa2"}.ci-volume_min:before{content:"\\eaa3"}.ci-volume_minus:before{content:"\\eaa4"}.ci-volume_off_02:before{content:"\\eaa5"}.ci-volume_off:before{content:"\\eaa6"}.ci-volume_plus:before{content:"\\eaa7"}.ci-warning:before{content:"\\eaa8"}.ci-water_drop:before{content:"\\eaa9"}.ci-wavy_check:before{content:"\\eaaa"}.ci-wavy_help:before{content:"\\eaab"}.ci-wavy_warning:before{content:"\\eaac"}.ci-wavy:before{content:"\\eaad"}.ci-wifi_high:before{content:"\\eaae"}.ci-wifi_low:before{content:"\\eaaf"}.ci-wifi_medium:before{content:"\\eab0"}.ci-wifi_none:before{content:"\\eab1"}.ci-wifi_off:before{content:"\\eab2"}.ci-wifi_problem:before{content:"\\eab3"}.ci-window_check:before{content:"\\eab4"}.ci-window_close:before{content:"\\eab5"}.ci-window_code_block:before{content:"\\eab6"}.ci-window_sidebar:before{content:"\\eab7"}.ci-window_terminal:before{content:"\\eab8"}.ci-window:before{content:"\\eab9"}zen-editor-menu-item .menu-item{background-color:transparent;border:none;border-radius:0.4em;color:#525252;height:1.75em;margin-right:0.25em;padding:0.25em;min-width:1.75em;cursor:pointer}zen-editor-menu-item .menu-item i{font-size:1.25em}zen-editor-menu-item .menu-item.flip-h{transform:scaleX(-1)}zen-editor-menu-item .menu-item.flip-v{transform:scaleY(-1)}zen-editor-menu-item .menu-item.is-disabled{opacity:0.5;cursor:unset}zen-editor-menu-item .menu-item.is-disabled:hover{background-color:transparent;color:#525252}zen-editor-menu-item .menu-item:hover,zen-editor-menu-item .menu-item.is-active{background-color:#525252;color:#fff}zen-editor-menu-item .menu-item.has-submenu+.menu-item>i.ci-caret_down_sm{margin:0 -0.25em}zen-editor-menu-item .menu-item.has-submenu{margin-right:0}zen-editor-menu-item .menu-item.has-submenu:hover{border-radius:0.4em 0 0 0.4em}zen-editor-menu-item .menu-item.has-submenu+.menu-item{border-radius:0 0.4em 0.4em 0;margin-left:0;padding:0.25em 0;min-width:0.75em}zen-editor-menu-item .menu-item i.color-crimson{color:crimson}zen-editor-menu-item .menu-item i.color-deeppink{color:deeppink}zen-editor-menu-item .menu-item i.color-darkorange{color:darkorange}zen-editor-menu-item .menu-item i.color-darkviolet{color:darkviolet}zen-editor-menu-item .menu-item i.color-forestgreen{color:forestgreen}zen-editor-menu-item .menu-item i.color-royalblue{color:royalblue}zen-editor-menu-item .menu-item i.color-saddlebrown{color:saddlebrown}zen-editor-menu-item .menu-item i.color-dimgray{color:dimgray}zen-editor-menu-item .menu-item:has(.color):hover,zen-editor-menu-item .menu-item:has(.color).is-active{background-color:transparent;box-shadow:inset 0 0 0 1px #525252}zen-editor-menu-item:hover .menu-item.has-submenu{border-radius:0.4em 0 0 0.4em}zen-editor-menu-item:last-of-type .menu-item{margin-right:0}';const wR=["Crimson","DeepPink","DarkOrange","DarkViolet","ForestGreen","RoyalBlue","SaddleBrown","DimGray"];const RR=[1,2,3,4],IR=class{constructor(A){e(this,A),this.editor=void 0,this.menubarMode=void 0,this.extraMenubarItems="",this.forceUpdateCounter=void 0,this.states=void 0,this.toggleMonaco=void 0,this.toggleFullscreen=void 0,this.styles=void 0}componentDidLoad(){Boolean(this.styles)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles])}getMonacoToggler(){return[[{icon:"ci-edit_pencil_line_01",title:A.getString("menu.source"),action:()=>{var A;return null===(A=this.toggleMonaco)||void 0===A?void 0:A.call(this)},isActive:()=>{var A;return null===(A=this.states)||void 0===A?void 0:A.isMonaco},isHidden:()=>{var A;return null===(A=this.states)||void 0===A?void 0:A.isCollaborative},menuModeLevel:gR.full}]]}getMenuItems(e){return[[{icon:"ci-text_align_left",title:A.getString("menu.align.left"),action:()=>e.chain().focus().setTextAlign("left").run(),isActive:()=>e.isActive({textAlign:"left"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:gR.full},{icon:"ci-text_align_center",title:A.getString("menu.align.center"),action:()=>e.chain().focus().setTextAlign("center").run(),isActive:()=>e.isActive({textAlign:"center"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:gR.full},{icon:"ci-text_align_right",title:A.getString("menu.align.right"),action:()=>e.chain().focus().setTextAlign("right").run(),isActive:()=>e.isActive({textAlign:"right"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:gR.full},{icon:"ci-text_align_justify",title:A.getString("menu.align.justify"),action:()=>e.chain().focus().setTextAlign("justify").run(),isActive:()=>e.isActive({textAlign:"justify"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:gR.full}],[{icon:"ci-text",title:A.getString("menu.font.family"),menuItems:Object.keys(WM).map((t=>({label:A.getString(`menu.font.family.${t.toLowerCase().replace(/[^\w]/g,"")}`),action:()=>e.chain().focus().setFontFamily(WM[t]).run(),isActive:()=>e.isActive("textStyle",{fontFamily:WM[t]})}))),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:gR.full},{icon:"ci-font",title:A.getString("menu.font.size"),menuItems:vM.map((t=>({label:A.format("menu.font.size.format.px",t.toString()),action:()=>e.chain().focus().setFontSize(t).run(),isActive:()=>e.isActive({fontSize:t})}))),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-swatches_palette",title:A.getString("menu.font.color"),menuItems:[...wR.map((t=>({icon:`ci-text color color-${t.toLowerCase()}`,title:A.getString(`menu.font.color.${t.toLowerCase()}`),action:()=>e.chain().focus().setColor(t).run(),isActive:()=>e.isActive("textStyle",{color:t})}))),{icon:"ci-close_md",title:A.getString("menu.font.color.none"),action:()=>e.chain().focus().unsetColor().run()}],isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-bold",title:A.getString("menu.font.weight.bold"),action:()=>e.chain().focus().toggleBold().run(),isActive:()=>e.isActive("bold"),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-italic",title:A.getString("menu.font.italic"),action:()=>e.chain().focus().toggleItalic().run(),isActive:()=>e.isActive("italic"),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-underline",title:A.getString("menu.font.decoration.underline"),action:()=>{e.isActive("strike")?e.chain().focus().toggleStrike().run():e.chain().focus().toggleUnderline().run()},isActive:()=>e.isActive("underline")||e.isActive("strike"),menuItems:[{icon:"ci-underline",title:A.getString("menu.font.decoration.underline"),action:()=>e.chain().focus().toggleUnderline().run(),isActive:()=>e.isActive("underline")},{icon:"ci-strikethrough",title:A.getString("menu.font.decoration.strike"),action:()=>e.chain().focus().toggleStrike().run(),isActive:()=>e.isActive("strike")}],isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-bulb",title:A.getString("menu.font.highlight"),action:()=>e.chain().focus().toggleHighlight().run(),isActive:()=>e.isActive("highlight"),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:gR.full},{icon:"ci-link",title:A.getString("menu.link"),action:()=>{const A=e.isActive("link")?e.getAttributes("link").href:"",t=prompt("Enter URL",A);null!==t&&(t?e.chain().focus().setLink({href:t}).run():e.chain().focus().unsetLink().run())},isActive:()=>e.isActive("link"),menuItems:[{icon:"ci-bar_top",title:A.getString("menu.iframe"),action:()=>{const A=prompt("Enter URL");A&&e.chain().focus().setIframe({src:A}).run()}},{icon:"ci-link",title:A.getString("menu.link"),action:()=>{const A=e.isActive("link")?e.getAttributes("link").href:"",t=prompt("Enter URL",A);null!==t&&(t?e.chain().focus().setLink({href:t}).run():e.chain().focus().unsetLink().run())}},{icon:"ci-link_break",title:A.getString("menu.link.remove"),action:()=>e.chain().focus().unsetLink().run(),isDisabled:()=>!e.isActive("link")}],isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-menu_duo_md",title:A.getString("menu.line.spacing"),menuItems:_M.map((t=>({label:A.format("menu.line.spacing.format",t.toString()),action:()=>e.chain().focus().setLineHeight(t).run(),isActive:()=>e.isActive({lineHeight:t})}))),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:gR.full}],[{icon:"ci-heading",title:A.getString("menu.heading"),isActive:()=>e.isActive("heading"),menuItems:RR.map((t=>({icon:`ci-heading_h${t}`,title:A.getString(`menu.heading.${t}`),action:()=>e.chain().focus().toggleHeading({level:t}).unsetFontSize().run(),isActive:()=>e.isActive("heading",{level:t})})))},{icon:"ci-paragraph",title:A.getString("menu.paragraph"),action:()=>e.chain().focus().setParagraph().run(),isActive:()=>e.isActive("paragraph")},{icon:"ci-code",title:A.getString("menu.code"),action:()=>{e.isActive("code")?e.chain().focus().toggleCode().run():e.chain().focus().toggleCodeBlock().run()},isActive:()=>e.isActive("code")||e.isActive("codeBlock"),menuItems:[{icon:"ci-window_code_block",title:A.getString("menu.code.block"),action:()=>e.chain().focus().toggleCodeBlock().run(),isActive:()=>e.isActive("codeBlock")},{icon:"ci-code",title:A.getString("menu.code"),action:()=>e.chain().focus().toggleCode().run(),isActive:()=>e.isActive("code")}]}],[{icon:"ci-list_unordered",title:A.getString("menu.list.bullet"),action:()=>{e.isActive("bulletList")?e.chain().focus().toggleBulletList().run():e.isActive("orderedList")?e.chain().focus().toggleOrderedList().run():e.isActive("taskList")?e.chain().focus().toggleTaskList().run():e.chain().focus().toggleBulletList().run()},menuItems:[{icon:"ci-list_unordered",title:A.getString("menu.list.bullet"),action:()=>e.chain().focus().toggleBulletList().run(),isActive:()=>e.isActive("bulletList")},{icon:"ci-list_ordered",title:A.getString("menu.list.ordered"),action:()=>e.chain().focus().toggleOrderedList().run(),isActive:()=>e.isActive("orderedList")},{icon:"ci-list_checklist",title:A.getString("menu.list.task"),action:()=>e.chain().focus().toggleTaskList().run(),isActive:()=>e.isActive("taskList"),menuModeLevel:gR.full}],isActive:()=>e.isActive("bulletList")||e.isActive("orderedList")||e.isActive("taskList")},{icon:"ci-image_02",title:A.getString("menu.image"),action:()=>{const A=document.createElement("input");A.setAttribute("type","file"),A.setAttribute("accept","image/jpeg,image/gif,image/png,image/jpg"),A.onchange=A=>{const{files:t}=A.target;Boolean(t.length)&&e.chain().focus().uploadImage(t.item(0)).run()},A.click()}}],[{icon:"ci-double_quotes_l",title:A.getString("menu.quote"),action:()=>e.chain().focus().toggleBlockquote().run(),isActive:()=>e.isActive("blockquote"),menuModeLevel:gR.full},{icon:"ci-remove_minus",title:A.getString("menu.hr"),action:()=>e.chain().focus().setHorizontalRule().run(),menuModeLevel:gR.full}],[{icon:"ci-table",title:A.getString("menu.table"),menuItems:[{icon:"ci-table",title:A.getString("menu.table"),action:()=>e.chain().focus().insertTable({rows:4,cols:3,withHeaderRow:!1}).run(),isDisabled:()=>e.isActive("table")},{icon:"ci-combine_cells",title:A.getString("menu.table.cell.merge"),action:()=>e.chain().focus().mergeOrSplit().run(),isActive:()=>e.can().splitCell(),isDisabled:()=>!e.can().mergeOrSplit()},{icon:"ci-add_row",flip:"v",title:A.getString("menu.table.row.insert.before"),action:()=>e.chain().focus().addRowBefore().run(),isDisabled:()=>!e.can().addRowBefore()},{icon:"ci-add_row",title:A.getString("menu.table.row.insert.after"),action:()=>e.chain().focus().addRowAfter().run(),isDisabled:()=>!e.can().addRowAfter()},{icon:"ci-add_column",flip:"h",title:A.getString("menu.table.column.insert.before"),action:()=>e.chain().focus().addColumnBefore().run(),isDisabled:()=>!e.can().addColumnBefore()},{icon:"ci-add_column",title:A.getString("menu.table.column.insert.after"),action:()=>e.chain().focus().addColumnAfter().run(),isDisabled:()=>!e.can().addColumnAfter()},{icon:"ci-delete_row",title:A.getString("menu.table.row.remove"),action:()=>e.chain().focus().deleteRow().run(),isDisabled:()=>!e.can().deleteRow()},{icon:"ci-delete_column",title:A.getString("menu.table.column.remove"),action:()=>e.chain().focus().deleteColumn().run(),isDisabled:()=>!e.can().deleteColumn()},{icon:"ci-table_remove",title:A.getString("menu.table.remove"),action:()=>e.chain().focus().deleteTable().run(),isDisabled:()=>!e.can().deleteTable()}]}],[{icon:"ci-close_circle",title:A.getString("menu.format.clear"),action:()=>e.chain().focus().clearNodes().unsetAllMarks().run(),menuModeLevel:gR.full}],[{icon:"ci-undo",title:A.getString("menu.undo"),action:()=>e.chain().focus().undo().run(),isDisabled:()=>!e.can().undo(),menuModeLevel:gR.full},{icon:"ci-redo",title:A.getString("menu.redo"),action:()=>e.chain().focus().redo().run(),isDisabled:()=>!e.can().redo(),menuModeLevel:gR.full}],[{icon:"ci-bar_top",title:A.getString("menu.fullscreen"),action:()=>{var A;return null===(A=this.toggleFullscreen)||void 0===A?void 0:A.call(this)},isActive:()=>{var A;return null===(A=this.states)||void 0===A?void 0:A.isFullscreen},isHidden:()=>!Boolean(this.toggleFullscreen)}],...this.getMonacoToggler()]}render(){const{editor:A,states:e}=this,{isMonaco:n}=e,i=(n?this.getMonacoToggler():this.getMenuItems(A)).map((A=>{const e=A.map((A=>{const{isHidden:e,menuModeLevel:n}=A,i=function(A,e){var t={};for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&e.indexOf(n)<0&&(t[n]=A[n]);if(null!=A&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(A);ithis.menubarMode?null:t("zen-editor-menu-item",{itemProps:Object.assign({},i),menubarMode:this.menubarMode})}));return Boolean(e.filter((A=>Boolean(A))).length)?t("div",{class:"menu-item-group"},e):null}));return t("div",{class:"menubar"},i,this.extraMenubarItems&&t("div",{className:"menu-item-group extra-menubar-items",innerHTML:this.extraMenubarItems}))}get element(){return i(this)}};IR.style='.menubar{align-items:center;border-bottom:1px solid #a6a39e;display:flex;flex:0 0 auto;flex-wrap:wrap;padding:0.25em}.menu-item-group{margin-right:0.5em}.menu-item-group:not(:last-child):not(:has(+.extra-menubar-items))::after{content:"";display:inline-block;background-color:rgba(0, 0, 0, 0.1);height:1.25em;margin:0 -0.1em -0.1em 0.4em;width:1px}.menu-item-group:empty{display:none}';export{X as zen_editor_bubble_menu,q as zen_editor_content,hR as zen_editor_core,MR as zen_editor_menu_item,IR as zen_editor_menubar} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-6ff48369.entry.js b/www/js/zui3/zen-editor/p-6ff48369.entry.js new file mode 100644 index 0000000000..68ec01da30 --- /dev/null +++ b/www/js/zui3/zen-editor/p-6ff48369.entry.js @@ -0,0 +1 @@ +import{L as A}from"./p-01de9657.js";export{M as monaco_editor,Z as zen_editor}from"./p-01de9657.js";import{r as e,h as t,F as n,g as i,c as B}from"./p-7900c24a.js";import{P as E,a as s,E as o,i as r,b as c,p as g,t as a,M as Q,m as l,c as h,d as w,N as R,w as I,e as u,g as d,f as G,T as C,D as k,h as D,j as F,n as Y,k as f,l as U,o as N,q as S,r as m,s as y,S as b,u as H,v as T,x as z,F as x,y as p,z as J,A as j,B as P,C as V,G as v,H as L,I as O,J as _}from"./p-017438c7.js";class K{constructor({editor:A,element:e,view:t,tippyOptions:n={},updateDelay:i=250,shouldShow:B}){this.preventHide=!1,this.shouldShow=({view:A,state:e,from:t,to:n})=>{const{doc:i,selection:B}=e,{empty:E}=B,s=!i.textBetween(t,n).length&&r(e.selection),o=this.element.contains(document.activeElement);return!(!A.hasFocus()&&!o||E||s||!this.editor.isEditable)},this.mousedownHandler=()=>{this.preventHide=!0},this.dragstartHandler=()=>{this.hide()},this.focusHandler=()=>{setTimeout((()=>this.update(this.editor.view)))},this.blurHandler=({event:A})=>{var e;this.preventHide?this.preventHide=!1:(null==A?void 0:A.relatedTarget)&&(null===(e=this.element.parentNode)||void 0===e?void 0:e.contains(A.relatedTarget))||this.hide()},this.tippyBlurHandler=A=>{this.blurHandler({event:A})},this.handleDebouncedUpdate=(A,e)=>{const t=!(null==e?void 0:e.selection.eq(A.state.selection)),n=!(null==e?void 0:e.doc.eq(A.state.doc));(t||n)&&(this.updateDebounceTimer&&clearTimeout(this.updateDebounceTimer),this.updateDebounceTimer=window.setTimeout((()=>{this.updateHandler(A,t,n,e)}),this.updateDelay))},this.updateHandler=(A,e,t,n)=>{var i,B,E;const{state:s,composing:o}=A,{selection:r}=s;if(o||!e&&!t)return;this.createTooltip();const{ranges:a}=r,Q=Math.min(...a.map((A=>A.$from.pos))),l=Math.max(...a.map((A=>A.$to.pos)));(null===(i=this.shouldShow)||void 0===i?void 0:i.call(this,{editor:this.editor,view:A,state:s,oldState:n,from:Q,to:l}))?(null===(B=this.tippy)||void 0===B||B.setProps({getReferenceClientRect:(null===(E=this.tippyOptions)||void 0===E?void 0:E.getReferenceClientRect)||(()=>{if(c(s.selection)){let e=A.nodeDOM(Q);const t=e.dataset.nodeViewWrapper?e:e.querySelector("[data-node-view-wrapper]");if(t&&(e=t.firstChild),e)return e.getBoundingClientRect()}return g(A,Q,l)})}),this.show()):this.hide()},this.editor=A,this.element=e,this.view=t,this.updateDelay=i,B&&(this.shouldShow=B),this.element.addEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.view.dom.addEventListener("dragstart",this.dragstartHandler),this.editor.on("focus",this.focusHandler),this.editor.on("blur",this.blurHandler),this.tippyOptions=n,this.element.remove(),this.element.style.visibility="visible"}createTooltip(){const{element:A}=this.editor.options;!this.tippy&&A.parentElement&&(this.tippy=a(A,{duration:0,getReferenceClientRect:null,content:this.element,interactive:!0,trigger:"manual",placement:"top",hideOnClick:"toggle",...this.tippyOptions}),this.tippy.popper.firstChild&&this.tippy.popper.firstChild.addEventListener("blur",this.tippyBlurHandler))}update(A,e){const{state:t}=A;if(this.updateDelay>0&&t.selection.$from.pos!==t.selection.$to.pos)return void this.handleDebouncedUpdate(A,e);const n=!(null==e?void 0:e.selection.eq(A.state.selection)),i=!(null==e?void 0:e.doc.eq(A.state.doc));this.updateHandler(A,n,i,e)}show(){var A;null===(A=this.tippy)||void 0===A||A.show()}hide(){var A;null===(A=this.tippy)||void 0===A||A.hide()}destroy(){var A,e;(null===(A=this.tippy)||void 0===A?void 0:A.popper.firstChild)&&this.tippy.popper.firstChild.removeEventListener("blur",this.tippyBlurHandler),null===(e=this.tippy)||void 0===e||e.destroy(),this.element.removeEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.view.dom.removeEventListener("dragstart",this.dragstartHandler),this.editor.off("focus",this.focusHandler),this.editor.off("blur",this.blurHandler)}}const W=A=>new E({key:"string"==typeof A.pluginKey?new s(A.pluginKey):A.pluginKey,view:e=>new K({view:e,...A})}),X=o.create({name:"bubbleMenu",addOptions:()=>({element:null,tippyOptions:{},pluginKey:"bubbleMenu",updateDelay:void 0,shouldShow:null}),addProseMirrorPlugins(){return this.options.element?[W({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,tippyOptions:this.options.tippyOptions,updateDelay:this.options.updateDelay,shouldShow:this.options.shouldShow})]:[]}});const q=class{constructor(A){e(this,A),this.menuProps=void 0,this.editor=void 0,this.disabled=!1,this.element=void 0}componentDidLoad(){if(!Boolean(this.element)||this.editor.isDestroyed)return;const{pluginKey:A="bubbleMenu",tippyOptions:e={},shouldShow:t=(this.disabled?()=>!1:({view:A,state:e,from:t,to:n})=>{var i;if(null===(i=A.input)||void 0===i?void 0:i.mouseDown)return!1;const{doc:B,selection:E}=e,s=!Boolean(B.textBetween(t,n).length)&&r(E);return!(!A.hasFocus()||E.empty||s)})}=this.menuProps,n=W({pluginKey:A,editor:this.editor,element:this.element,tippyOptions:e,shouldShow:t});this.editor.registerPlugin(n)}render(){const{editor:A}=this;return t("div",{key:"98decf3820ca86378227b0e7a7dc9ada0705ecd4",ref:A=>this.element=A,class:"bubble-menu",style:{visibility:"hidden"}},[{icon:"ci-bold",title:"Bold",action:()=>A.chain().focus().toggleBold().run(),isActive:()=>A.isActive("bold")},{icon:"ci-italic",title:"Italic",action:()=>A.chain().focus().toggleItalic().run(),isActive:()=>A.isActive("italic")},{icon:"ci-strikethrough",title:"Strike",action:()=>A.chain().focus().toggleStrike().run(),isActive:()=>A.isActive("strike")},{icon:"ci-code",title:"Code",action:()=>A.chain().focus().toggleCode().run(),isActive:()=>A.isActive("code")},{icon:"ci-bulb",title:"Highlight",action:()=>A.chain().focus().toggleHighlight().run(),isActive:()=>A.isActive("highlight")}].map(((A,e)=>{const n=A,{isHidden:i,type:B}=n,E=function(A,e){var t={};for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&e.indexOf(n)<0&&(t[n]=A[n]);if(null!=A&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(A);ithis.editorContentRef=A},A)))}get element(){return i(this)}};$.style='.ProseMirror>*+*{margin-top:0.75em}.ProseMirror ul,.ProseMirror ol{padding:0 1em}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3,.ProseMirror h4,.ProseMirror h5,.ProseMirror h6{line-height:1.1}.ProseMirror code{background-color:rgba(97, 97, 97, 0.1);color:#616161}.ProseMirror pre{background:#0d0d0d;border-radius:0.5em;color:#fff;font-family:"JetBrainsMono", monospace;padding:0.75em 1em}.ProseMirror pre code{background:none;color:inherit;font-size:0.8em;padding:0}.ProseMirror pre .hljs-comment,.ProseMirror pre .hljs-quote{color:#616161}.ProseMirror pre .hljs-variable,.ProseMirror pre .hljs-template-variable,.ProseMirror pre .hljs-attribute,.ProseMirror pre .hljs-tag,.ProseMirror pre .hljs-name,.ProseMirror pre .hljs-regexp,.ProseMirror pre .hljs-link,.ProseMirror pre .hljs-selector-id,.ProseMirror pre .hljs-selector-class{color:#f98181}.ProseMirror pre .hljs-number,.ProseMirror pre .hljs-meta,.ProseMirror pre .hljs-built_in,.ProseMirror pre .hljs-builtin-name,.ProseMirror pre .hljs-literal,.ProseMirror pre .hljs-type,.ProseMirror pre .hljs-params{color:#fbbc88}.ProseMirror pre .hljs-string,.ProseMirror pre .hljs-symbol,.ProseMirror pre .hljs-bullet{color:#b9f18d}.ProseMirror pre .hljs-title,.ProseMirror pre .hljs-section{color:#faf594}.ProseMirror pre .hljs-keyword,.ProseMirror pre .hljs-selector-tag{color:#70cff8}.ProseMirror pre .hljs-emphasis{font-style:italic}.ProseMirror pre .hljs-strong{font-weight:700}.ProseMirror mark{background-color:#faf594}.ProseMirror img{height:auto;max-width:100%}.ProseMirror blockquote{border-left:2px solid rgba(13, 13, 13, 0.1);padding-left:1em}.ProseMirror hr{border:none;border-top:2px solid rgba(13, 13, 13, 0.1);margin:2em 0}.ProseMirror ul[data-type=taskList]{list-style:none;padding:0}.ProseMirror ul[data-type=taskList] li{align-items:center;display:flex}.ProseMirror ul[data-type=taskList] li>label{flex:0 0 auto;margin-right:0.5em;user-select:none}.ProseMirror ul[data-type=taskList] li>div{flex:1 1 auto}.ProseMirror ul[data-type=taskList] li>div>p{margin:0.1em 0}.ProseMirror table{border-collapse:collapse;table-layout:fixed;margin:8px 0;overflow:hidden}.ProseMirror table td,.ProseMirror table th{min-width:1em;border:1px solid #616161;padding:3px 5px;vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror table td>*,.ProseMirror table th>*{margin-bottom:0}.ProseMirror table th{font-weight:bold;text-align:left;background-color:#f1f3f5}.ProseMirror table .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:rgba(200, 200, 255, 0.4);pointer-events:none}.ProseMirror table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:3px;background-color:#ace;pointer-events:none}.ProseMirror p.is-editor-empty:first-child::before{color:#adb5bd;content:attr(data-placeholder);float:left;height:0;pointer-events:none}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror:focus{outline:none}';const AA=o.create({name:"characterCount",addOptions:()=>({limit:null,mode:"textSize"}),addStorage:()=>({characters:()=>0,words:()=>0}),onBeforeCreate(){this.storage.characters=A=>{const e=(null==A?void 0:A.node)||this.editor.state.doc;return"textSize"===((null==A?void 0:A.mode)||this.options.mode)?e.textBetween(0,e.content.size,void 0," ").length:e.nodeSize},this.storage.words=A=>{const e=(null==A?void 0:A.node)||this.editor.state.doc;return e.textBetween(0,e.content.size," "," ").split(" ").filter((A=>""!==A)).length}},addProseMirrorPlugins(){return[new E({key:new s("characterCount"),filterTransaction:(A,e)=>{const t=this.options.limit;if(!A.docChanged||0===t||null==t)return!0;const n=this.storage.characters({node:e.doc}),i=this.storage.characters({node:A.doc});if(i<=t)return!0;if(n>t&&i>t&&i<=n)return!0;if(n>t&&i>t&&i>n)return!1;if(!A.getMeta("paste"))return!1;const B=A.selection.$head.pos;return A.deleteRange(B-(i-t),B),!(this.storage.characters({node:A.doc})>t)}})]}}),eA=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/,tA=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g,nA=Q.create({name:"highlight",addOptions:()=>({multicolor:!1,HTMLAttributes:{}}),addAttributes(){return this.options.multicolor?{color:{default:null,parseHTML:A=>A.getAttribute("data-color")||A.style.backgroundColor,renderHTML:A=>A.color?{"data-color":A.color,style:`background-color: ${A.color}; color: inherit`}:{}}}:{}},parseHTML:()=>[{tag:"mark"}],renderHTML({HTMLAttributes:A}){return["mark",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setHighlight:A=>({commands:e})=>e.setMark(this.name,A),toggleHighlight:A=>({commands:e})=>e.toggleMark(this.name,A),unsetHighlight:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-h":()=>this.editor.commands.toggleHighlight()}},addInputRules(){return[h({find:eA,type:this.type})]},addPasteRules(){return[w({find:tA,type:this.type})]}}),iA=/^\s*(\[([( |x])?\])\s$/,BA=R.create({name:"taskItem",addOptions:()=>({nested:!1,HTMLAttributes:{},taskListTypeName:"taskList"}),content(){return this.options.nested?"paragraph block*":"paragraph+"},defining:!0,addAttributes:()=>({checked:{default:!1,keepOnSplit:!1,parseHTML:A=>"true"===A.getAttribute("data-checked"),renderHTML:A=>({"data-checked":A.checked})}}),parseHTML(){return[{tag:`li[data-type="${this.name}"]`,priority:51}]},renderHTML({node:A,HTMLAttributes:e}){return["li",l(this.options.HTMLAttributes,e,{"data-type":this.name}),["label",["input",{type:"checkbox",checked:A.attrs.checked?"checked":null}],["span"]],["div",0]]},addKeyboardShortcuts(){const A={Enter:()=>this.editor.commands.splitListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)};return this.options.nested?{...A,Tab:()=>this.editor.commands.sinkListItem(this.name)}:A},addNodeView(){return({node:A,HTMLAttributes:e,getPos:t,editor:n})=>{const i=document.createElement("li"),B=document.createElement("label"),E=document.createElement("span"),s=document.createElement("input"),o=document.createElement("div");return B.contentEditable="false",s.type="checkbox",s.addEventListener("change",(e=>{if(!n.isEditable&&!this.options.onReadOnlyChecked)return void(s.checked=!s.checked);const{checked:i}=e.target;n.isEditable&&"function"==typeof t&&n.chain().focus(void 0,{scrollIntoView:!1}).command((({tr:A})=>{const e=t(),n=A.doc.nodeAt(e);return A.setNodeMarkup(e,void 0,{...null==n?void 0:n.attrs,checked:i}),!0})).run(),!n.isEditable&&this.options.onReadOnlyChecked&&(this.options.onReadOnlyChecked(A,i)||(s.checked=!s.checked))})),Object.entries(this.options.HTMLAttributes).forEach((([A,e])=>{i.setAttribute(A,e)})),i.dataset.checked=A.attrs.checked,A.attrs.checked&&s.setAttribute("checked","checked"),B.append(s,E),i.append(B,o),Object.entries(e).forEach((([A,e])=>{i.setAttribute(A,e)})),{dom:i,contentDOM:o,update:A=>A.type===this.type&&(i.dataset.checked=A.attrs.checked,A.attrs.checked?s.setAttribute("checked","checked"):s.removeAttribute("checked"),!0)}}},addInputRules(){return[I({find:iA,type:this.type,getAttributes:A=>({checked:"x"===A[A.length-1]})})]}}),EA=R.create({name:"taskList",addOptions:()=>({itemTypeName:"taskItem",HTMLAttributes:{}}),group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:`ul[data-type="${this.name}"]`,priority:51}]},renderHTML({HTMLAttributes:A}){return["ul",l(this.options.HTMLAttributes,A,{"data-type":this.name}),0]},addCommands(){return{toggleTaskList:()=>({commands:A})=>A.toggleList(this.name,this.options.itemTypeName)}},addKeyboardShortcuts(){return{"Mod-Shift-9":()=>this.editor.commands.toggleTaskList()}}}),sA=o.create({name:"typography",addInputRules(){const A=[];var e;return!1!==this.options.emDash&&A.push(u({find:/--$/,replace:null!=(e=this.options.emDash)?e:"—"})),!1!==this.options.ellipsis&&A.push((A=>u({find:/\.\.\.$/,replace:null!=A?A:"…"}))(this.options.ellipsis)),!1!==this.options.openDoubleQuote&&A.push((A=>u({find:/(?:^|[\s{[(<'"\u2018\u201C])(")$/,replace:null!=A?A:"“"}))(this.options.openDoubleQuote)),!1!==this.options.closeDoubleQuote&&A.push((A=>u({find:/"$/,replace:null!=A?A:"”"}))(this.options.closeDoubleQuote)),!1!==this.options.openSingleQuote&&A.push((A=>u({find:/(?:^|[\s{[(<'"\u2018\u201C])(')$/,replace:null!=A?A:"‘"}))(this.options.openSingleQuote)),!1!==this.options.closeSingleQuote&&A.push((A=>u({find:/'$/,replace:null!=A?A:"’"}))(this.options.closeSingleQuote)),!1!==this.options.leftArrow&&A.push((A=>u({find:/<-$/,replace:null!=A?A:"←"}))(this.options.leftArrow)),!1!==this.options.rightArrow&&A.push((A=>u({find:/->$/,replace:null!=A?A:"→"}))(this.options.rightArrow)),!1!==this.options.copyright&&A.push((A=>u({find:/\(c\)$/,replace:null!=A?A:"©"}))(this.options.copyright)),!1!==this.options.trademark&&A.push((A=>u({find:/\(tm\)$/,replace:null!=A?A:"™"}))(this.options.trademark)),!1!==this.options.servicemark&&A.push((A=>u({find:/\(sm\)$/,replace:null!=A?A:"℠"}))(this.options.servicemark)),!1!==this.options.registeredTrademark&&A.push((A=>u({find:/\(r\)$/,replace:null!=A?A:"®"}))(this.options.registeredTrademark)),!1!==this.options.oneHalf&&A.push((A=>u({find:/(?:^|\s)(1\/2)\s$/,replace:null!=A?A:"½"}))(this.options.oneHalf)),!1!==this.options.plusMinus&&A.push((A=>u({find:/\+\/-$/,replace:null!=A?A:"±"}))(this.options.plusMinus)),!1!==this.options.notEqual&&A.push((A=>u({find:/!=$/,replace:null!=A?A:"≠"}))(this.options.notEqual)),!1!==this.options.laquo&&A.push((A=>u({find:/<<$/,replace:null!=A?A:"«"}))(this.options.laquo)),!1!==this.options.raquo&&A.push((A=>u({find:/>>$/,replace:null!=A?A:"»"}))(this.options.raquo)),!1!==this.options.multiplication&&A.push((A=>u({find:/\d+\s?([*x])\s?\d+$/,replace:null!=A?A:"×"}))(this.options.multiplication)),!1!==this.options.superscriptTwo&&A.push((A=>u({find:/\^2$/,replace:null!=A?A:"²"}))(this.options.superscriptTwo)),!1!==this.options.superscriptThree&&A.push((A=>u({find:/\^3$/,replace:null!=A?A:"³"}))(this.options.superscriptThree)),!1!==this.options.oneQuarter&&A.push((A=>u({find:/(?:^|\s)(1\/4)\s$/,replace:null!=A?A:"¼"}))(this.options.oneQuarter)),!1!==this.options.threeQuarters&&A.push((A=>u({find:/(?:^|\s)(3\/4)\s$/,replace:null!=A?A:"¾"}))(this.options.threeQuarters)),A}}),oA=Q.create({name:"textStyle",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"span",getAttrs:A=>!!A.hasAttribute("style")&&{}}],renderHTML({HTMLAttributes:A}){return["span",l(this.options.HTMLAttributes,A),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:A,commands:e})=>{const t=d(A,this.type);return!!Object.entries(t).some((([,A])=>!!A))||e.unsetMark(this.name)}}}}),rA=/^```([a-z]+)?[\s\n]$/,cA=/^~~~([a-z]+)?[\s\n]$/,gA=R.create({name:"codeBlock",addOptions:()=>({languageClassPrefix:"language-",exitOnTripleEnter:!0,exitOnArrowDown:!0,HTMLAttributes:{}}),content:"text*",marks:"",group:"block",code:!0,defining:!0,addAttributes(){return{language:{default:null,parseHTML:A=>{var e;const{languageClassPrefix:t}=this.options;return[...(null===(e=A.firstElementChild)||void 0===e?void 0:e.classList)||[]].filter((A=>A.startsWith(t))).map((A=>A.replace(t,"")))[0]||null},rendered:!1}}},parseHTML:()=>[{tag:"pre",preserveWhitespace:"full"}],renderHTML({node:A,HTMLAttributes:e}){return["pre",l(this.options.HTMLAttributes,e),["code",{class:A.attrs.language?this.options.languageClassPrefix+A.attrs.language:null},0]]},addCommands(){return{setCodeBlock:A=>({commands:e})=>e.setNode(this.name,A),toggleCodeBlock:A=>({commands:e})=>e.toggleNode(this.name,"paragraph",A)}},addKeyboardShortcuts(){return{"Mod-Alt-c":()=>this.editor.commands.toggleCodeBlock(),Backspace:()=>{const{empty:A,$anchor:e}=this.editor.state.selection;return!(!A||e.parent.type.name!==this.name)&&!(1!==e.pos&&e.parent.textContent.length)&&this.editor.commands.clearNodes()},Enter:({editor:A})=>{if(!this.options.exitOnTripleEnter)return!1;const{state:e}=A,{selection:t}=e,{$from:n,empty:i}=t;if(!i||n.parent.type!==this.type)return!1;const B=n.parentOffset===n.parent.nodeSize-2,E=n.parent.textContent.endsWith("\n\n");return!(!B||!E)&&A.chain().command((({tr:A})=>(A.delete(n.pos-2,n.pos),!0))).exitCode().run()},ArrowDown:({editor:A})=>{if(!this.options.exitOnArrowDown)return!1;const{state:e}=A,{selection:t,doc:n}=e,{$from:i,empty:B}=t;if(!B||i.parent.type!==this.type)return!1;if(i.parentOffset!==i.parent.nodeSize-2)return!1;const E=i.after();return void 0!==E&&(!n.nodeAt(E)&&A.commands.exitCode())}}},addInputRules(){return[G({find:rA,type:this.type,getAttributes:A=>({language:A[1]})}),G({find:cA,type:this.type,getAttributes:A=>({language:A[1]})})]},addProseMirrorPlugins(){return[new E({key:new s("codeBlockVSCodeHandler"),props:{handlePaste:(A,e)=>{if(!e.clipboardData)return!1;if(this.editor.isActive(this.type.name))return!1;const t=e.clipboardData.getData("text/plain"),n=e.clipboardData.getData("vscode-editor-data"),i=n?JSON.parse(n):void 0,B=null==i?void 0:i.mode;if(!t||!B)return!1;const{tr:E}=A.state;return A.state.selection.from===A.state.doc.nodeSize-(1+2*A.state.selection.$to.depth)?E.insert(A.state.selection.from-1,this.type.create({language:B})):E.replaceSelectionWith(this.type.create({language:B})),E.setSelection(C.near(E.doc.resolve(Math.max(0,E.selection.from-2)))),E.insertText(t.replace(/\r\n?/g,"\n")),E.setMeta("paste",!0),A.dispatch(E),!0}}})]}});var aA={exports:{}};function QA(A){return A instanceof Map?A.clear=A.delete=A.set=function(){throw new Error("map is read-only")}:A instanceof Set&&(A.add=A.clear=A.delete=function(){throw new Error("set is read-only")}),Object.freeze(A),Object.getOwnPropertyNames(A).forEach((function(e){var t=A[e];"object"!=typeof t||Object.isFrozen(t)||QA(t)})),A}aA.exports=QA,aA.exports.default=QA;class lA{constructor(A){void 0===A.data&&(A.data={}),this.data=A.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function hA(A){return A.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function MA(A,...e){const t=Object.create(null);for(const e in A)t[e]=A[e];return e.forEach((function(A){for(const e in A)t[e]=A[e]})),t}const wA=A=>!!A.scope||A.sublanguage&&A.language;class RA{constructor(A,e){this.buffer="",this.classPrefix=e.classPrefix,A.walk(this)}addText(A){this.buffer+=hA(A)}openNode(A){if(!wA(A))return;let e="";e=A.sublanguage?`language-${A.language}`:((A,{prefix:e})=>{if(A.includes(".")){const t=A.split(".");return[`${e}${t.shift()}`,...t.map(((A,e)=>`${A}${"_".repeat(e+1)}`))].join(" ")}return`${e}${A}`})(A.scope,{prefix:this.classPrefix}),this.span(e)}closeNode(A){wA(A)&&(this.buffer+="")}value(){return this.buffer}span(A){this.buffer+=``}}const IA=(A={})=>{const e={children:[]};return Object.assign(e,A),e};class uA{constructor(){this.rootNode=IA(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(A){this.top.children.push(A)}openNode(A){const e=IA({scope:A});this.add(e),this.stack.push(e)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(A){return this.constructor._walk(A,this.rootNode)}static _walk(A,e){return"string"==typeof e?A.addText(e):e.children&&(A.openNode(e),e.children.forEach((e=>this._walk(A,e))),A.closeNode(e)),A}static _collapse(A){"string"!=typeof A&&A.children&&(A.children.every((A=>"string"==typeof A))?A.children=[A.children.join("")]:A.children.forEach((A=>{uA._collapse(A)})))}}class dA extends uA{constructor(A){super(),this.options=A}addKeyword(A,e){""!==A&&(this.openNode(e),this.addText(A),this.closeNode())}addText(A){""!==A&&this.add(A)}addSublanguage(A,e){const t=A.root;t.sublanguage=!0,t.language=e,this.add(t)}toHTML(){return new RA(this,this.options).value()}finalize(){return!0}}function GA(A){return A?"string"==typeof A?A:A.source:null}function CA(A){return FA("(?=",A,")")}function kA(A){return FA("(?:",A,")*")}function DA(A){return FA("(?:",A,")?")}function FA(...A){return A.map((A=>GA(A))).join("")}function YA(...A){const e=function(A){const e=A[A.length-1];return"object"==typeof e&&e.constructor===Object?(A.splice(A.length-1,1),e):{}}(A);return"("+(e.capture?"":"?:")+A.map((A=>GA(A))).join("|")+")"}function fA(A){return new RegExp(A.toString()+"|").exec("").length-1}const UA=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function NA(A,{joinWith:e}){let t=0;return A.map((A=>{t+=1;const e=t;let n=GA(A),i="";for(;n.length>0;){const A=UA.exec(n);if(!A){i+=n;break}i+=n.substring(0,A.index),n=n.substring(A.index+A[0].length),"\\"===A[0][0]&&A[1]?i+="\\"+String(Number(A[1])+e):(i+=A[0],"("===A[0]&&t++)}return i})).map((A=>`(${A})`)).join(e)}const SA="[a-zA-Z]\\w*",mA="[a-zA-Z_]\\w*",yA="\\b\\d+(\\.\\d+)?",bA="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",HA="\\b(0b[01]+)",TA={begin:"\\\\[\\s\\S]",relevance:0},zA={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[TA]},xA={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[TA]},pA=function(A,e,t={}){const n=MA({scope:"comment",begin:A,end:e,contains:[]},t);n.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const i=YA("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return n.contains.push({begin:FA(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),n},JA=pA("//","$"),jA=pA("/\\*","\\*/"),ZA=pA("#","$");var PA=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:SA,UNDERSCORE_IDENT_RE:mA,NUMBER_RE:yA,C_NUMBER_RE:bA,BINARY_NUMBER_RE:HA,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(A={})=>{const e=/^#![ ]*\//;return A.binary&&(A.begin=FA(e,/.*\b/,A.binary,/\b.*/)),MA({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(A,e)=>{0!==A.index&&e.ignoreMatch()}},A)},BACKSLASH_ESCAPE:TA,APOS_STRING_MODE:zA,QUOTE_STRING_MODE:xA,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT:pA,C_LINE_COMMENT_MODE:JA,C_BLOCK_COMMENT_MODE:jA,HASH_COMMENT_MODE:ZA,NUMBER_MODE:{scope:"number",begin:yA,relevance:0},C_NUMBER_MODE:{scope:"number",begin:bA,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:HA,relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[TA,{begin:/\[/,end:/\]/,relevance:0,contains:[TA]}]}]},TITLE_MODE:{scope:"title",begin:SA,relevance:0},UNDERSCORE_TITLE_MODE:{scope:"title",begin:mA,relevance:0},METHOD_GUARD:{begin:"\\.\\s*"+mA,relevance:0},END_SAME_AS_BEGIN:function(A){return Object.assign(A,{"on:begin":(A,e)=>{e.data._beginMatch=A[1]},"on:end":(A,e)=>{e.data._beginMatch!==A[1]&&e.ignoreMatch()}})}});function VA(A,e){"."===A.input[A.index-1]&&e.ignoreMatch()}function vA(A){void 0!==A.className&&(A.scope=A.className,delete A.className)}function LA(A,e){e&&A.beginKeywords&&(A.begin="\\b("+A.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",A.__beforeBegin=VA,A.keywords=A.keywords||A.beginKeywords,delete A.beginKeywords,void 0===A.relevance&&(A.relevance=0))}function OA(A){Array.isArray(A.illegal)&&(A.illegal=YA(...A.illegal))}function _A(A){if(A.match){if(A.begin||A.end)throw new Error("begin & end are not supported with match");A.begin=A.match,delete A.match}}function KA(A){void 0===A.relevance&&(A.relevance=1)}const WA=A=>{if(!A.beforeMatch)return;if(A.starts)throw new Error("beforeMatch cannot be used with starts");const e=Object.assign({},A);Object.keys(A).forEach((e=>{delete A[e]})),A.keywords=e.keywords,A.begin=FA(e.beforeMatch,CA(e.begin)),A.starts={relevance:0,contains:[Object.assign(e,{endsParent:!0})]},A.relevance=0,delete e.beforeMatch},XA=["of","and","for","in","not","or","if","then","parent","list","value"],qA="keyword";function $A(A,e,t=qA){const n=Object.create(null);return"string"==typeof A?i(t,A.split(" ")):Array.isArray(A)?i(t,A):Object.keys(A).forEach((function(t){Object.assign(n,$A(A[t],e,t))})),n;function i(A,t){e&&(t=t.map((A=>A.toLowerCase()))),t.forEach((function(e){const t=e.split("|");n[t[0]]=[A,Ae(t[0],t[1])]}))}}function Ae(A,e){return e?Number(e):function(A){return XA.includes(A.toLowerCase())}(A)?0:1}const ee={},te=A=>{console.error(A)},ne=(A,...e)=>{console.log(`WARN: ${A}`,...e)},ie=(A,e)=>{ee[`${A}/${e}`]||(console.log(`Deprecated as of ${A}. ${e}`),ee[`${A}/${e}`]=!0)},Be=new Error;function Ee(A,e,{key:t}){let n=0;const i=A[t],B={},E={};for(let A=1;A<=e.length;A++)E[A+n]=i[A],B[A+n]=!0,n+=fA(e[A-1]);A[t]=E,A[t]._emit=B,A[t]._multi=!0}function se(A){!function(A){A.scope&&"object"==typeof A.scope&&null!==A.scope&&(A.beginScope=A.scope,delete A.scope)}(A),"string"==typeof A.beginScope&&(A.beginScope={_wrap:A.beginScope}),"string"==typeof A.endScope&&(A.endScope={_wrap:A.endScope}),function(A){if(Array.isArray(A.begin)){if(A.skip||A.excludeBegin||A.returnBegin)throw te("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Be;if("object"!=typeof A.beginScope||null===A.beginScope)throw te("beginScope must be object"),Be;Ee(A,A.begin,{key:"beginScope"}),A.begin=NA(A.begin,{joinWith:""})}}(A),function(A){if(Array.isArray(A.end)){if(A.skip||A.excludeEnd||A.returnEnd)throw te("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Be;if("object"!=typeof A.endScope||null===A.endScope)throw te("endScope must be object"),Be;Ee(A,A.end,{key:"endScope"}),A.end=NA(A.end,{joinWith:""})}}(A)}function oe(A){function e(e,t){return new RegExp(GA(e),"m"+(A.case_insensitive?"i":"")+(A.unicodeRegex?"u":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(A,e){e.position=this.position++,this.matchIndexes[this.matchAt]=e,this.regexes.push([e,A]),this.matchAt+=fA(A)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const A=this.regexes.map((A=>A[1]));this.matcherRe=e(NA(A,{joinWith:"|"}),!0),this.lastIndex=0}exec(A){this.matcherRe.lastIndex=this.lastIndex;const e=this.matcherRe.exec(A);if(!e)return null;const t=e.findIndex(((A,e)=>e>0&&void 0!==A)),n=this.matchIndexes[t];return e.splice(0,t),Object.assign(e,n)}}class n{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(A){if(this.multiRegexes[A])return this.multiRegexes[A];const e=new t;return this.rules.slice(A).forEach((([A,t])=>e.addRule(A,t))),e.compile(),this.multiRegexes[A]=e,e}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(A,e){this.rules.push([A,e]),"begin"===e.type&&this.count++}exec(A){const e=this.getMatcher(this.regexIndex);e.lastIndex=this.lastIndex;let t=e.exec(A);if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{const e=this.getMatcher(0);e.lastIndex=this.lastIndex+1,t=e.exec(A)}return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&this.considerAll()),t}}if(A.compilerExtensions||(A.compilerExtensions=[]),A.contains&&A.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return A.classNameAliases=MA(A.classNameAliases||{}),function t(i,B){const E=i;if(i.isCompiled)return E;[vA,_A,se,WA].forEach((A=>A(i,B))),A.compilerExtensions.forEach((A=>A(i,B))),i.__beforeBegin=null,[LA,OA,KA].forEach((A=>A(i,B))),i.isCompiled=!0;let s=null;return"object"==typeof i.keywords&&i.keywords.$pattern&&(i.keywords=Object.assign({},i.keywords),s=i.keywords.$pattern,delete i.keywords.$pattern),s=s||/\w+/,i.keywords&&(i.keywords=$A(i.keywords,A.case_insensitive)),E.keywordPatternRe=e(s,!0),B&&(i.begin||(i.begin=/\B|\b/),E.beginRe=e(E.begin),i.end||i.endsWithParent||(i.end=/\B|\b/),i.end&&(E.endRe=e(E.end)),E.terminatorEnd=GA(E.end)||"",i.endsWithParent&&B.terminatorEnd&&(E.terminatorEnd+=(i.end?"|":"")+B.terminatorEnd)),i.illegal&&(E.illegalRe=e(i.illegal)),i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map((function(A){return function(A){return A.variants&&!A.cachedVariants&&(A.cachedVariants=A.variants.map((function(e){return MA(A,{variants:null},e)}))),A.cachedVariants?A.cachedVariants:re(A)?MA(A,{starts:A.starts?MA(A.starts):null}):Object.isFrozen(A)?MA(A):A}("self"===A?i:A)}))),i.contains.forEach((function(A){t(A,E)})),i.starts&&t(i.starts,B),E.matcher=function(A){const e=new n;return A.contains.forEach((A=>e.addRule(A.begin,{rule:A,type:"begin"}))),A.terminatorEnd&&e.addRule(A.terminatorEnd,{type:"end"}),A.illegal&&e.addRule(A.illegal,{type:"illegal"}),e}(E),E}(A)}function re(A){return!!A&&(A.endsWithParent||re(A.starts))}class ce extends Error{constructor(A,e){super(A),this.name="HTMLInjectionError",this.html=e}}const ge=hA,ae=MA,Qe=Symbol("nomatch");var le=function(A){const e=Object.create(null),t=Object.create(null),n=[];let i=!0;const B="Could not find the language '{}', did you forget to load/include a language module?",E={disableAutodetect:!0,name:"Plain text",contains:[]};let s={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:dA};function o(A){return s.noHighlightRe.test(A)}function r(A,e,t){let n="",i="";"object"==typeof e?(n=A,t=e.ignoreIllegals,i=e.language):(ie("10.7.0","highlight(lang, code, ...args) has been deprecated."),ie("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),i=A,n=e),void 0===t&&(t=!0);const B={code:n,language:i};R("before:highlight",B);const E=B.result?B.result:c(B.language,B.code,t);return E.code=B.code,R("after:highlight",E),E}function c(A,t,n,E){const o=Object.create(null);function r(){if(!k.keywords)return void F.addText(Y);let A=0;k.keywordPatternRe.lastIndex=0;let e=k.keywordPatternRe.exec(Y),t="";for(;e;){t+=Y.substring(A,e.index);const n=d.case_insensitive?e[0].toLowerCase():e[0],i=k.keywords[n];if(i){const[A,B]=i;F.addText(t),t="",o[n]=(o[n]||0)+1,o[n]<=7&&(f+=B),A.startsWith("_")?t+=e[0]:F.addKeyword(e[0],d.classNameAliases[A]||A)}else t+=e[0];A=k.keywordPatternRe.lastIndex,e=k.keywordPatternRe.exec(Y)}t+=Y.substring(A),F.addText(t)}function a(){null!=k.subLanguage?function(){if(""===Y)return;let A=null;if("string"==typeof k.subLanguage){if(!e[k.subLanguage])return void F.addText(Y);A=c(k.subLanguage,Y,!0,D[k.subLanguage]),D[k.subLanguage]=A._top}else A=g(Y,k.subLanguage.length?k.subLanguage:null);k.relevance>0&&(f+=A.relevance),F.addSublanguage(A._emitter,A.language)}():r(),Y=""}function Q(A,e){let t=1;const n=e.length-1;for(;t<=n;){if(!A._emit[t]){t++;continue}const n=d.classNameAliases[A[t]]||A[t],i=e[t];n?F.addKeyword(i,n):(Y=i,r(),Y=""),t++}}function l(A,e){return A.scope&&"string"==typeof A.scope&&F.openNode(d.classNameAliases[A.scope]||A.scope),A.beginScope&&(A.beginScope._wrap?(F.addKeyword(Y,d.classNameAliases[A.beginScope._wrap]||A.beginScope._wrap),Y=""):A.beginScope._multi&&(Q(A.beginScope,e),Y="")),k=Object.create(A,{parent:{value:k}}),k}function M(A,e,t){let n=function(A,e){const t=A&&A.exec(e);return t&&0===t.index}(A.endRe,t);if(n){if(A["on:end"]){const t=new lA(A);A["on:end"](e,t),t.isMatchIgnored&&(n=!1)}if(n){for(;A.endsParent&&A.parent;)A=A.parent;return A}}if(A.endsWithParent)return M(A.parent,e,t)}function w(A){return 0===k.matcher.regexIndex?(Y+=A[0],1):(S=!0,0)}function R(A){const e=A[0],n=t.substring(A.index),i=M(k,A,n);if(!i)return Qe;const B=k;k.endScope&&k.endScope._wrap?(a(),F.addKeyword(e,k.endScope._wrap)):k.endScope&&k.endScope._multi?(a(),Q(k.endScope,A)):B.skip?Y+=e:(B.returnEnd||B.excludeEnd||(Y+=e),a(),B.excludeEnd&&(Y=e));do{k.scope&&F.closeNode(),k.skip||k.subLanguage||(f+=k.relevance),k=k.parent}while(k!==i.parent);return i.starts&&l(i.starts,A),B.returnEnd?0:e.length}let I={};function u(e,B){const E=B&&B[0];if(Y+=e,null==E)return a(),0;if("begin"===I.type&&"end"===B.type&&I.index===B.index&&""===E){if(Y+=t.slice(B.index,B.index+1),!i){const e=new Error(`0 width match regex (${A})`);throw e.languageName=A,e.badRule=I.rule,e}return 1}if(I=B,"begin"===B.type)return function(A){const e=A[0],t=A.rule,n=new lA(t),i=[t.__beforeBegin,t["on:begin"]];for(const t of i)if(t&&(t(A,n),n.isMatchIgnored))return w(e);return t.skip?Y+=e:(t.excludeBegin&&(Y+=e),a(),t.returnBegin||t.excludeBegin||(Y=e)),l(t,A),t.returnBegin?0:e.length}(B);if("illegal"===B.type&&!n){const A=new Error('Illegal lexeme "'+E+'" for mode "'+(k.scope||"")+'"');throw A.mode=k,A}if("end"===B.type){const A=R(B);if(A!==Qe)return A}if("illegal"===B.type&&""===E)return 1;if(N>1e5&&N>3*B.index)throw new Error("potential infinite loop, way more iterations than matches");return Y+=E,E.length}const d=h(A);if(!d)throw te(B.replace("{}",A)),new Error('Unknown language: "'+A+'"');const G=oe(d);let C="",k=E||G;const D={},F=new s.__emitter(s);!function(){const A=[];for(let e=k;e!==d;e=e.parent)e.scope&&A.unshift(e.scope);A.forEach((A=>F.openNode(A)))}();let Y="",f=0,U=0,N=0,S=!1;try{for(k.matcher.considerAll();;){N++,S?S=!1:k.matcher.considerAll(),k.matcher.lastIndex=U;const A=k.matcher.exec(t);if(!A)break;const e=u(t.substring(U,A.index),A);U=A.index+e}return u(t.substring(U)),F.closeAllNodes(),F.finalize(),C=F.toHTML(),{language:A,value:C,relevance:f,illegal:!1,_emitter:F,_top:k}}catch(e){if(e.message&&e.message.includes("Illegal"))return{language:A,value:ge(t),illegal:!0,relevance:0,_illegalBy:{message:e.message,index:U,context:t.slice(U-100,U+100),mode:e.mode,resultSoFar:C},_emitter:F};if(i)return{language:A,value:ge(t),illegal:!1,relevance:0,errorRaised:e,_emitter:F,_top:k};throw e}}function g(A,t){t=t||s.languages||Object.keys(e);const n=function(A){const e={value:ge(A),illegal:!1,relevance:0,_top:E,_emitter:new s.__emitter(s)};return e._emitter.addText(A),e}(A),i=t.filter(h).filter(w).map((e=>c(e,A,!1)));i.unshift(n);const B=i.sort(((A,e)=>{if(A.relevance!==e.relevance)return e.relevance-A.relevance;if(A.language&&e.language){if(h(A.language).supersetOf===e.language)return 1;if(h(e.language).supersetOf===A.language)return-1}return 0})),[o,r]=B,g=o;return g.secondBest=r,g}function a(A){let e=null;const n=function(A){let e=A.className+" ";e+=A.parentNode?A.parentNode.className:"";const t=s.languageDetectRe.exec(e);if(t){const e=h(t[1]);return e||(ne(B.replace("{}",t[1])),ne("Falling back to no-highlight mode for this block.",A)),e?t[1]:"no-highlight"}return e.split(/\s+/).find((A=>o(A)||h(A)))}(A);if(o(n))return;if(R("before:highlightElement",{el:A,language:n}),A.children.length>0&&(s.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(A)),s.throwUnescapedHTML))throw new ce("One of your code blocks includes unescaped HTML.",A.innerHTML);e=A;const i=e.textContent,E=n?r(i,{language:n,ignoreIllegals:!0}):g(i);A.innerHTML=E.value,function(A,e,n){const i=e&&t[e]||n;A.classList.add("hljs"),A.classList.add(`language-${i}`)}(A,n,E.language),A.result={language:E.language,re:E.relevance,relevance:E.relevance},E.secondBest&&(A.secondBest={language:E.secondBest.language,relevance:E.secondBest.relevance}),R("after:highlightElement",{el:A,result:E,text:i})}let Q=!1;function l(){"loading"!==document.readyState?document.querySelectorAll(s.cssSelector).forEach(a):Q=!0}function h(A){return A=(A||"").toLowerCase(),e[A]||e[t[A]]}function M(A,{languageName:e}){"string"==typeof A&&(A=[A]),A.forEach((A=>{t[A.toLowerCase()]=e}))}function w(A){const e=h(A);return e&&!e.disableAutodetect}function R(A,e){const t=A;n.forEach((function(A){A[t]&&A[t](e)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){Q&&l()}),!1),Object.assign(A,{highlight:r,highlightAuto:g,highlightAll:l,highlightElement:a,highlightBlock:function(A){return ie("10.7.0","highlightBlock will be removed entirely in v12.0"),ie("10.7.0","Please use highlightElement now."),a(A)},configure:function(A){s=ae(s,A)},initHighlighting:()=>{l(),ie("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){l(),ie("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(t,n){let B=null;try{B=n(A)}catch(A){if(te("Language definition for '{}' could not be registered.".replace("{}",t)),!i)throw A;te(A),B=E}B.name||(B.name=t),e[t]=B,B.rawDefinition=n.bind(null,A),B.aliases&&M(B.aliases,{languageName:t})},unregisterLanguage:function(A){delete e[A];for(const e of Object.keys(t))t[e]===A&&delete t[e]},listLanguages:function(){return Object.keys(e)},getLanguage:h,registerAliases:M,autoDetection:w,inherit:ae,addPlugin:function(A){!function(A){A["before:highlightBlock"]&&!A["before:highlightElement"]&&(A["before:highlightElement"]=e=>{A["before:highlightBlock"](Object.assign({block:e.el},e))}),A["after:highlightBlock"]&&!A["after:highlightElement"]&&(A["after:highlightElement"]=e=>{A["after:highlightBlock"](Object.assign({block:e.el},e))})}(A),n.push(A)}}),A.debugMode=function(){i=!1},A.safeMode=function(){i=!0},A.versionString="11.6.0",A.regex={concat:FA,lookahead:CA,either:YA,optional:DA,anyNumberOfTimes:kA};for(const A in PA)"object"==typeof PA[A]&&aA.exports(PA[A]);return Object.assign(A,PA),A}({}),he=le;le.HighlightJS=le,le.default=le;var Me=he;function we(A,e=[]){return A.map((A=>{const t=[...e,...A.properties?A.properties.className:[]];return A.children?we(A.children,t):{text:A.value,classes:t}})).flat()}function Re(A){return A.value||A.children||[]}function Ie({doc:A,name:e,lowlight:t,defaultLanguage:n}){const i=[];return D(A,(A=>A.type.name===e)).forEach((A=>{let e=A.pos+1;const B=A.node.attrs.language||n,E=t.listLanguages();we(B&&(E.includes(B)||Boolean(Me.getLanguage(B)))?Re(t.highlight(B,A.node.textContent)):Re(t.highlightAuto(A.node.textContent))).forEach((A=>{const t=e+A.text.length;if(A.classes.length){const n=F.inline(e,t,{class:A.classes.join(" ")});i.push(n)}e=t}))})),k.create(A,i)}function ue({name:A,lowlight:e,defaultLanguage:t}){if(!["highlight","highlightAuto","listLanguages"].every((A=>"function"==typeof e[A])))throw Error("You should provide an instance of lowlight to use the code-block-lowlight extension");const n=new E({key:new s("lowlight"),state:{init:(n,{doc:i})=>Ie({doc:i,name:A,lowlight:e,defaultLanguage:t}),apply:(n,i,B,E)=>{const s=B.selection.$head.parent.type.name,o=E.selection.$head.parent.type.name,r=D(B.doc,(e=>e.type.name===A)),c=D(E.doc,(e=>e.type.name===A));return n.docChanged&&([s,o].includes(A)||c.length!==r.length||n.steps.some((A=>void 0!==A.from&&void 0!==A.to&&r.some((e=>e.pos>=A.from&&e.pos+e.node.nodeSize<=A.to)))))?Ie({doc:n.doc,name:A,lowlight:e,defaultLanguage:t}):i.map(n.mapping,n.doc)}},props:{decorations:A=>n.getState(A)}});return n}const de=gA.extend({addOptions(){var A;return{...null===(A=this.parent)||void 0===A?void 0:A.call(this),lowlight:{},defaultLanguage:null}},addProseMirrorPlugins(){var A;return[...(null===(A=this.parent)||void 0===A?void 0:A.call(this))||[],ue({name:this.name,lowlight:this.options.lowlight,defaultLanguage:this.options.defaultLanguage})]}});const Ge=function(A){const e={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},t=function(A){const e=A.regex,t=A.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",B="(?!struct)("+n+"|"+e.optional(i)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",E={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[A.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},A.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},r={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},A.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},t,A.C_BLOCK_COMMENT_MODE]},c={className:"title",begin:e.optional(i)+A.IDENT_RE,relevance:0},g=e.optional(i)+A.IDENT_RE+"\\s*\\(",a={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},Q={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,A.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},l=[Q,r,E,t,A.C_BLOCK_COMMENT_MODE,o,s],h={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:a,contains:l.concat([{begin:/\(/,end:/\)/,keywords:a,contains:l.concat(["self"]),relevance:0}]),relevance:0};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:a,illegal:".]/,contains:[{begin:n,keywords:a,relevance:0},{begin:g,returnBegin:!0,contains:[c],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[s,o]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:[t,A.C_BLOCK_COMMENT_MODE,s,o,E,{begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:["self",t,A.C_BLOCK_COMMENT_MODE,s,o,E]}]},E,t,A.C_BLOCK_COMMENT_MODE,r]},Q,l,[r,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)",end:">",keywords:a,contains:["self",E]},{begin:A.IDENT_RE+"::",keywords:a},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}(A),n=t.keywords;return n.type=[...n.type,...e.type],n.literal=[...n.literal,...e.literal],n.built_in=[...n.built_in,...e.built_in],n._hints=e._hints,t.name="Arduino",t.aliases=["ino"],t.supersetOf="cpp",t};const Ce=function(A){const e=A.regex,t=A.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",B="("+n+"|"+e.optional(i)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",E={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[A.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},A.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},r={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},A.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},t,A.C_BLOCK_COMMENT_MODE]},c={className:"title",begin:e.optional(i)+A.IDENT_RE,relevance:0},g=e.optional(i)+A.IDENT_RE+"\\s*\\(",a={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},Q=[r,E,t,A.C_BLOCK_COMMENT_MODE,o,s],l={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:a,contains:Q.concat([{begin:/\(/,end:/\)/,keywords:a,contains:Q.concat(["self"]),relevance:0}]),relevance:0},h={begin:"("+B+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:a,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:a,relevance:0},{begin:g,returnBegin:!0,contains:[A.inherit(c,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:[t,A.C_BLOCK_COMMENT_MODE,s,o,E,{begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:["self",t,A.C_BLOCK_COMMENT_MODE,s,o,E]}]},E,t,A.C_BLOCK_COMMENT_MODE,r]};return{name:"C",aliases:["h"],keywords:a,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},A.TITLE_MODE]}]),exports:{preprocessor:r,strings:s,keywords:a}}};const ke=function(A){const e=A.regex,t=A.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",B="(?!struct)("+n+"|"+e.optional(i)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",E={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[A.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},A.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},r={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},A.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},t,A.C_BLOCK_COMMENT_MODE]},c={className:"title",begin:e.optional(i)+A.IDENT_RE,relevance:0},g=e.optional(i)+A.IDENT_RE+"\\s*\\(",a={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},Q={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,A.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},l=[Q,r,E,t,A.C_BLOCK_COMMENT_MODE,o,s],h={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:a,contains:l.concat([{begin:/\(/,end:/\)/,keywords:a,contains:l.concat(["self"]),relevance:0}]),relevance:0};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:a,illegal:".]/,contains:[{begin:n,keywords:a,relevance:0},{begin:g,returnBegin:!0,contains:[c],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[s,o]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:[t,A.C_BLOCK_COMMENT_MODE,s,o,E,{begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:["self",t,A.C_BLOCK_COMMENT_MODE,s,o,E]}]},E,t,A.C_BLOCK_COMMENT_MODE,r]},Q,l,[r,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)",end:">",keywords:a,contains:["self",E]},{begin:A.IDENT_RE+"::",keywords:a},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}};const De=function(A){const e={keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]),built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],literal:["default","false","null","true"]},t=A.inherit(A.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),n={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},i={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},B=A.inherit(i,{illegal:/\n/}),E={className:"subst",begin:/\{/,end:/\}/,keywords:e},s=A.inherit(E,{illegal:/\n/}),o={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},A.BACKSLASH_ESCAPE,s]},r={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},E]},c=A.inherit(r,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]});E.contains=[r,o,i,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,n,A.C_BLOCK_COMMENT_MODE],s.contains=[c,o,B,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,n,A.inherit(A.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const g={variants:[r,o,i,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},a={begin:"<",end:">",contains:[{beginKeywords:"in out"},t]},Q=A.IDENT_RE+"(<"+A.IDENT_RE+"(\\s*,\\s*"+A.IDENT_RE+")*>)?(\\[\\])?",l={begin:"@"+A.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:e,illegal:/::/,contains:[A.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},g,n,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},t,a,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[t,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[t,a,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+Q+"\\s+)+"+A.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:e,contains:[{beginKeywords:["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"].join(" "),relevance:0},{begin:A.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[A.TITLE_MODE,a],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:e,relevance:0,contains:[g,n,A.C_BLOCK_COMMENT_MODE]},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},l]}},Fe=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Ye=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],fe=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],Ue=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],Ne=["align-content","align-items","align-self","all","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-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-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","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-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","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","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","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();const Se=function(A){const e={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:e,illegal:"ze(A,e,t-1)))}const xe=function(A){const e=A.regex,t="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",n=t+ze("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),i={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},B={className:"meta",begin:"@"+t,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},E={className:"params",begin:/\(/,end:/\)/,keywords:i,relevance:0,contains:[A.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/,contains:[A.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[A.BACKSLASH_ESCAPE]},A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",3:"title.class"},contains:[E,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+n+"\\s+)",A.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:i,relevance:0,contains:[B,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,Te,A.C_BLOCK_COMMENT_MODE]},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},Te,B]}},pe="[A-Za-z$_][0-9A-Za-z$_]*",Je=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],je=["true","false","null","undefined","NaN","Infinity"],Ze=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Pe=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Ve=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ve=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Le=[].concat(Ve,Ze,Pe);const Oe=function(A){const e=A.regex,t=pe,n={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(A,e)=>{const t=A[0].length+A.index,n=A.input[t];if("<"===n||","===n)return void e.ignoreMatch();let i;">"===n&&(((A,{after:e})=>{const t="",Y={match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(F)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[R]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{PARAMS_CONTAINS:w,CLASS_REFERENCE:u},illegal:/#(?![$_A-z])/,contains:[A.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,c,g,a,Q,l,{match:/\$\d+/},o,u,{className:"attr",begin:t+e.lookahead(":"),relevance:0},Y,{begin:"("+A.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[l,A.REGEXP_MODE,{className:"function",begin:F,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:A.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:w}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:n.begin,"on:begin":n.isTrulyOpeningTag,end:n.end}],subLanguage:"xml",contains:[{begin:n.begin,end:n.end,skip:!0,contains:["self"]}]}]},d,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+A.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[R,A.inherit(A.TITLE_MODE,{begin:t,className:"title.function"})]},{match:/\.\.\./,relevance:0},k,{match:"\\$"+t,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[R]},G,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},I,D,{match:/\$[(.]/}]}};const _e=function(A){const e=["true","false","null"],t={scope:"literal",beginKeywords:e.join(" ")};return{name:"JSON",keywords:{literal:e},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},A.QUOTE_STRING_MODE,t,A.C_NUMBER_MODE,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE],illegal:"\\S"}};var Ke="[0-9](_*[0-9])*",We=`\\.(${Ke})`,Xe="[0-9a-fA-F](_*[0-9a-fA-F])*",qe={className:"number",variants:[{begin:`(\\b(${Ke})((${We})|\\.)?|(${We}))[eE][+-]?(${Ke})[fFdD]?\\b`},{begin:`\\b(${Ke})((${We})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${We})[fFdD]?\\b`},{begin:`\\b(${Ke})[fFdD]\\b`},{begin:`\\b0[xX]((${Xe})\\.?|(${Xe})?\\.(${Xe}))[pP][+-]?(${Ke})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Xe})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};const $e=function(A){const e={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},t={className:"symbol",begin:A.UNDERSCORE_IDENT_RE+"@"},n={className:"subst",begin:/\$\{/,end:/\}/,contains:[A.C_NUMBER_MODE]},i={className:"variable",begin:"\\$"+A.UNDERSCORE_IDENT_RE},B={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,n]},{begin:"'",end:"'",illegal:/\n/,contains:[A.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[A.BACKSLASH_ESCAPE,i,n]}]};n.contains.push(B);const E={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+A.UNDERSCORE_IDENT_RE+")?"},s={className:"meta",begin:"@"+A.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[A.inherit(B,{className:"string"}),"self"]}]},o=qe,r=A.COMMENT("/\\*","\\*/",{contains:[A.C_BLOCK_COMMENT_MODE]}),c={variants:[{className:"type",begin:A.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},g=c;return g.variants[1].contains=[c],c.variants[1].contains=[g],{name:"Kotlin",aliases:["kt","kts"],keywords:e,contains:[A.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),A.C_LINE_COMMENT_MODE,r,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},t,E,s,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:e,relevance:5,contains:[{begin:A.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[A.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:e,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[c,A.C_LINE_COMMENT_MODE,r],relevance:0},A.C_LINE_COMMENT_MODE,r,E,s,B,A.C_NUMBER_MODE]},r]},{begin:[/class|interface|trait/,/\s+/,A.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},A.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},E,s]},B,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},o]}},At=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],et=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],tt=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],nt=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],it=["align-content","align-items","align-self","all","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-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-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","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-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","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","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","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),Bt=tt.concat(nt);const Et=function(A){const e=(A=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:A.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:A.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}))(A),t=Bt,n="[\\w-]+",i="("+n+"|@\\{"+n+"\\})",B=[],E=[],s=function(A){return{className:"string",begin:"~?"+A+".*?"+A}},o=function(A,e,t){return{className:A,begin:e,relevance:t}},r={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:et.join(" ")},c={begin:"\\(",end:"\\)",contains:E,keywords:r,relevance:0};E.push(A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,s("'"),s('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},e.HEXCOLOR,c,o("variable","@@?"+n,10),o("variable","@\\{"+n+"\\}"),o("built_in","~?`[^`]*?`"),{className:"attribute",begin:n+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},e.IMPORTANT,{beginKeywords:"and not"},e.FUNCTION_DISPATCH);const g=E.concat({begin:/\{/,end:/\}/,contains:B}),a={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(E)},Q={begin:i+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+it.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:E}}]},l={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:r,returnEnd:!0,contains:E,relevance:0}},h={className:"variable",variants:[{begin:"@"+n+"\\s*:",relevance:15},{begin:"@"+n}],starts:{end:"[;}]",returnEnd:!0,contains:g}},M={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:i,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,a,o("keyword","all\\b"),o("variable","@\\{"+n+"\\}"),{begin:"\\b("+At.join("|")+")\\b",className:"selector-tag"},e.CSS_NUMBER_MODE,o("selector-tag",i,0),o("selector-id","#"+i),o("selector-class","\\."+i,0),o("selector-tag","&",0),e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+tt.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+nt.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:g},{begin:"!important"},e.FUNCTION_DISPATCH]},w={begin:n+":(:)?"+`(${t.join("|")})`,returnBegin:!0,contains:[M]};return B.push(A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,l,h,w,Q,M,a,e.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:B}};const st=function(A){const e={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},t={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:A.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},n={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},i={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},B=A.inherit(n,{contains:[]}),E=A.inherit(i,{contains:[]});n.contains.push(E),i.contains.push(B);let s=[e,t];return[n,i,B,E].forEach((A=>{A.contains=A.contains.concat(s)})),s=s.concat(n,i),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:s},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:s}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},n,i,{className:"quote",begin:"^>\\s+",contains:s,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}};const ot=function(A){const e=A.regex,t=/(?![A-Za-z0-9])(?![$])/,n=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),i=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),B={scope:"variable",match:"\\$+"+n},E={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},s=A.inherit(A.APOS_STRING_MODE,{illegal:null}),o="[ \t\n]",r={scope:"string",variants:[A.inherit(A.QUOTE_STRING_MODE,{illegal:null,contains:A.QUOTE_STRING_MODE.contains.concat(E)}),s,{begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:A.QUOTE_STRING_MODE.contains.concat(E),"on:begin":(A,e)=>{e.data._beginMatch=A[1]||A[2]},"on:end":(A,e)=>{e.data._beginMatch!==A[1]&&e.ignoreMatch()}},A.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},c={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},g=["false","null","true"],a=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],Q=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],l={keyword:a,literal:(A=>{const e=[];return A.forEach((A=>{e.push(A),A.toLowerCase()===A?e.push(A.toUpperCase()):e.push(A.toLowerCase())})),e})(g),built_in:Q},h=A=>A.map((A=>A.replace(/\|\d+$/,""))),M={variants:[{match:[/new/,e.concat(o,"+"),e.concat("(?!",h(Q).join("\\b|"),"\\b)"),i],scope:{1:"keyword",4:"title.class"}}]},w=e.concat(n,"\\b(?!\\()"),R={variants:[{match:[e.concat(/::/,e.lookahead(/(?!class\b)/)),w],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[i,e.concat(/::/,e.lookahead(/(?!class\b)/)),w],scope:{1:"title.class",3:"variable.constant"}},{match:[i,e.concat("::",e.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},I={scope:"attr",match:e.concat(n,e.lookahead(":"),e.lookahead(/(?!::)/))},u={relevance:0,begin:/\(/,end:/\)/,keywords:l,contains:[I,B,R,A.C_BLOCK_COMMENT_MODE,r,c,M]},d={relevance:0,match:[/\b/,e.concat("(?!fn\\b|function\\b|",h(a).join("\\b|"),"|",h(Q).join("\\b|"),"\\b)"),n,e.concat(o,"*"),e.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[u]};u.contains.push(d);const G=[I,R,A.C_BLOCK_COMMENT_MODE,r,c,M];return{case_insensitive:!1,keywords:l,contains:[{begin:e.concat(/#\[\s*/,i),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:g,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:g,keyword:["new","array"]},contains:["self",...G]},...G,{scope:"meta",match:i}]},A.HASH_COMMENT_MODE,A.COMMENT("//","$"),A.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:A.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},B,d,R,{match:[/const/,/\s/,n],scope:{1:"keyword",3:"variable.constant"}},M,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},A.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:l,contains:["self",B,R,A.C_BLOCK_COMMENT_MODE,r,c]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},A.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[A.inherit(A.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},A.UNDERSCORE_TITLE_MODE]},r,c]}};const rt=function(A){const e=A.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,n=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:n,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},B={className:"meta",begin:/^(>>>|\.\.\.) /},E={className:"subst",begin:/\{/,end:/\}/,keywords:i,illegal:/#/},s={begin:/\{\{/,relevance:0},o={className:"string",contains:[A.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[A.BACKSLASH_ESCAPE,B],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[A.BACKSLASH_ESCAPE,B],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[A.BACKSLASH_ESCAPE,B,s,E]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[A.BACKSLASH_ESCAPE,B,s,E]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[A.BACKSLASH_ESCAPE,s,E]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[A.BACKSLASH_ESCAPE,s,E]},A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},r="[0-9](_?[0-9])*",c=`(\\b(${r}))?\\.(${r})|\\b(${r})\\.`,g=`\\b|${n.join("|")}`,a={className:"number",relevance:0,variants:[{begin:`(\\b(${r})|(${c}))[eE][+-]?(${r})[jJ]?(?=${g})`},{begin:`(${c})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${r})[jJ](?=${g})`}]},Q={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},l={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",B,a,o,A.HASH_COMMENT_MODE]}]};return E.contains=[o,a,B],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i,illegal:/(<\/|\?)|=>/,contains:[B,a,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},o,Q,A.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[l]},{variants:[{match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[a,l,o]}]}};const ct=function(A){const e=A.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,n=e.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,B=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:t,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[A.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),A.HASH_COMMENT_MODE,{scope:"string",contains:[A.BACKSLASH_ESCAPE],variants:[A.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),A.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),A.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),A.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),A.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),A.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[i,n]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,n]},{scope:{1:"punctuation",2:"number"},match:[B,n]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,n]}]},{scope:{3:"operator"},match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:B},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}};const gt=function(A){const e=A.regex,t={className:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!let\b)/,A.IDENT_RE,e.lookahead(/\s*\(/))},n="([ui](8|16|32|64|128|size)|f(32|64))?",i=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],B=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:A.IDENT_RE+"!?",type:B,keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","unsafe","unsized","use","virtual","where","while","yield"],literal:["true","false","Some","None","Ok","Err"],built_in:i},illegal:""},t]}},at=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Qt=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],lt=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],ht=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],Mt=["align-content","align-items","align-self","all","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-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-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","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-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","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","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","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();const wt=function(A){const e=(A=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:A.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:A.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}))(A),t=ht,n=lt,i="@[a-z-]+",B={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,e.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+at.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+n.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+t.join("|")+")"},B,{begin:/\(/,end:/\)/,contains:[e.CSS_NUMBER_MODE]},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Mt.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[e.BLOCK_COMMENT,B,e.HEXCOLOR,e.CSS_NUMBER_MODE,A.QUOTE_STRING_MODE,A.APOS_STRING_MODE,e.IMPORTANT,e.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Qt.join(" ")},contains:[{begin:i,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},B,A.QUOTE_STRING_MODE,A.APOS_STRING_MODE,e.HEXCOLOR,e.CSS_NUMBER_MODE]},e.FUNCTION_DISPATCH]}};const Rt=function(A){const e=A.regex,t=A.COMMENT("--","$"),n=["true","false","unknown"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],B=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],E=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],s=B,o=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((A=>!B.includes(A))),r={begin:e.concat(/\b/,e.either(...s),/\s*\(/),relevance:0,keywords:{built_in:s}};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(A,{exceptions:e,when:t}={}){const n=t;return e=e||[],A.map((A=>A.match(/\|\d+$/)||e.includes(A)?A:n(A)?`${A}|0`:A))}(o,{when:A=>A.length<3}),literal:n,type:i,built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{begin:e.either(...E),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:o.concat(E),literal:n,type:i}},{className:"type",begin:e.either("double precision","large object","with timezone","without timezone")},r,{className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},{className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/,contains:[{begin:/""/}]},A.C_NUMBER_MODE,A.C_BLOCK_COMMENT_MODE,t,{className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}};function It(A){return A?"string"==typeof A?A:A.source:null}function ut(A){return dt("(?=",A,")")}function dt(...A){return A.map((A=>It(A))).join("")}function Gt(...A){const e=function(A){const e=A[A.length-1];return"object"==typeof e&&e.constructor===Object?(A.splice(A.length-1,1),e):{}}(A);return"("+(e.capture?"":"?:")+A.map((A=>It(A))).join("|")+")"}const Ct=A=>dt(/\b/,A,/\w$/.test(A)?/\b/:/\B/),kt=["Protocol","Type"].map(Ct),Dt=["init","self"].map(Ct),Ft=["Any","Self"],Yt=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","distributed","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],ft=["false","nil","true"],Ut=["assignment","associativity","higherThan","left","lowerThan","none","right"],Nt=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],St=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],mt=Gt(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),yt=Gt(mt,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),bt=dt(mt,yt,"*"),Ht=Gt(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),Tt=Gt(Ht,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),zt=dt(Ht,Tt,"*"),xt=dt(/[A-Z]/,Tt,"*"),pt=["autoclosure",dt(/convention\(/,Gt("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",dt(/objc\(/,zt,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],Jt=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];const jt=function(A){const e={match:/\s+/,relevance:0},t=A.COMMENT("/\\*","\\*/",{contains:["self"]}),n=[A.C_LINE_COMMENT_MODE,t],i={match:[/\./,Gt(...kt,...Dt)],className:{2:"keyword"}},B={match:dt(/\./,Gt(...Yt)),relevance:0},E=Yt.filter((A=>"string"==typeof A)).concat(["_|0"]),s={variants:[{className:"keyword",match:Gt(...Yt.filter((A=>"string"!=typeof A)).concat(Ft).map(Ct),...Dt)}]},o={$pattern:Gt(/\b\w+/,/#\w+/),keyword:E.concat(Nt),literal:ft},r=[i,B,s],c=[{match:dt(/\./,Gt(...St)),relevance:0},{className:"built_in",match:dt(/\b/,Gt(...St),/(?=\()/)}],g={match:/->/,relevance:0},a=[g,{className:"operator",relevance:0,variants:[{match:bt},{match:`\\.(\\.|${yt})+`}]}],Q="([0-9]_*)+",l="([0-9a-fA-F]_*)+",h={className:"number",relevance:0,variants:[{match:`\\b(${Q})(\\.(${Q}))?([eE][+-]?(${Q}))?\\b`},{match:`\\b0x(${l})(\\.(${l}))?([pP][+-]?(${Q}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},M=(A="")=>({className:"subst",variants:[{match:dt(/\\/,A,/[0\\tnr"']/)},{match:dt(/\\/,A,/u\{[0-9a-fA-F]{1,8}\}/)}]}),w=(A="")=>({className:"subst",match:dt(/\\/,A,/[\t ]*(?:[\r\n]|\r\n)/)}),R=(A="")=>({className:"subst",label:"interpol",begin:dt(/\\/,A,/\(/),end:/\)/}),I=(A="")=>({begin:dt(A,/"""/),end:dt(/"""/,A),contains:[M(A),w(A),R(A)]}),u=(A="")=>({begin:dt(A,/"/),end:dt(/"/,A),contains:[M(A),R(A)]}),d={className:"string",variants:[I(),I("#"),I("##"),I("###"),u(),u("#"),u("##"),u("###")]},G={match:dt(/`/,zt,/`/)},C=[G,{className:"variable",match:/\$\d+/},{className:"variable",match:`\\$${Tt}+`}],k=[{match:/(@|#(un)?)available/,className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Jt,contains:[...a,h,d]}]}},{className:"keyword",match:dt(/@/,Gt(...pt))},{className:"meta",match:dt(/@/,zt)}],D={match:ut(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:dt(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Tt,"+")},{className:"type",match:xt,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:dt(/\s+&\s+/,ut(xt)),relevance:0}]},F={begin://,keywords:o,contains:[...n,...r,...k,g,D]};D.contains.push(F);const Y={begin:/\(/,end:/\)/,relevance:0,keywords:o,contains:["self",{match:dt(zt,/\s*:/),keywords:"_|0",relevance:0},...n,...r,...c,...a,h,d,...C,...k,D]},f={begin://,contains:[...n,D]},U={begin:/\(/,end:/\)/,keywords:o,contains:[{begin:Gt(ut(dt(zt,/\s*:/)),ut(dt(zt,/\s+/,zt,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:zt}]},...n,...r,...a,h,d,...k,D,Y],endsParent:!0,illegal:/["']/},N={match:[/func/,/\s+/,Gt(G.match,zt,bt)],className:{1:"keyword",3:"title.function"},contains:[f,U,e],illegal:[/\[/,/%/]},S={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[f,U,e],illegal:/\[|%/},m={match:[/operator/,/\s+/,bt],className:{1:"keyword",3:"title"}},y={begin:[/precedencegroup/,/\s+/,xt],className:{1:"keyword",3:"title"},contains:[D],keywords:[...Ut,...ft],end:/}/};for(const A of d.variants){const e=A.contains.find((A=>"interpol"===A.label));e.keywords=o;const t=[...r,...c,...a,h,d,...C];e.contains=[...t,{begin:/\(/,end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:o,contains:[...n,N,S,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:o,contains:[A.inherit(A.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...r]},m,y,{beginKeywords:"import",end:/$/,contains:[...n],relevance:0},...r,...c,...a,h,d,...C,...k,D,Y]}},Zt="[A-Za-z$_][0-9A-Za-z$_]*",Pt=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],Vt=["true","false","null","undefined","NaN","Infinity"],vt=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Lt=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Ot=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],_t=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Kt=[].concat(Ot,vt,Lt);function Wt(A){const e=A.regex,t=Zt,n={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(A,e)=>{const t=A[0].length+A.index,n=A.input[t];if("<"===n||","===n)return void e.ignoreMatch();let i;">"===n&&(((A,{after:e})=>{const t="",Y={match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(F)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[R]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{PARAMS_CONTAINS:w,CLASS_REFERENCE:u},illegal:/#(?![$_A-z])/,contains:[A.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,c,g,a,Q,l,{match:/\$\d+/},o,u,{className:"attr",begin:t+e.lookahead(":"),relevance:0},Y,{begin:"("+A.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[l,A.REGEXP_MODE,{className:"function",begin:F,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:A.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:w}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:n.begin,"on:begin":n.isTrulyOpeningTag,end:n.end}],subLanguage:"xml",contains:[{begin:n.begin,end:n.end,skip:!0,contains:["self"]}]}]},d,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+A.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[R,A.inherit(A.TITLE_MODE,{begin:t,className:"title.function"})]},{match:/\.\.\./,relevance:0},k,{match:"\\$"+t,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[R]},G,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},I,D,{match:/\$[(.]/}]}}const Xt=function(A){const e=Wt(A),t=Zt,n=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],i={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[e.exports.CLASS_REFERENCE]},B={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:n},contains:[e.exports.CLASS_REFERENCE]},E={$pattern:Zt,keyword:Pt.concat(["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"]),literal:Vt,built_in:Kt.concat(n),"variable.language":_t},s={className:"meta",begin:"@"+t},o=(A,e,t)=>{const n=A.contains.findIndex((A=>A.label===e));if(-1===n)throw new Error("can not find mode to replace");A.contains.splice(n,1,t)};return Object.assign(e.keywords,E),e.exports.PARAMS_CONTAINS.push(s),e.contains=e.contains.concat([s,i,B]),o(e,"shebang",A.SHEBANG()),o(e,"use_strict",{className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/}),e.contains.find((A=>"func.def"===A.label)).relevance=0,Object.assign(e,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),e};const qt=function(A){const e=A.regex,t=/\d{1,2}\/\d{1,2}\/\d{4}/,n=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,B=/\d{1,2}(:\d{1,2}){1,2}/,E={className:"literal",variants:[{begin:e.concat(/# */,e.either(n,t),/ *#/)},{begin:e.concat(/# */,B,/ *#/)},{begin:e.concat(/# */,i,/ *#/)},{begin:e.concat(/# */,e.either(n,t),/ +/,e.either(i,B),/ *#/)}]},s=A.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),o=A.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},E,{className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{className:"label",begin:/^\w+:/},s,o,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[o]}]}};const $t=function(A){const e="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",n={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[A.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=A.inherit(n,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),B={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},E=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type",begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t},{className:"meta",begin:"&"+A.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+A.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},A.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:A.C_NUMBER_RE+"\\b",relevance:0},{begin:/\{/,end:/\}/,contains:[B],illegal:"\\n",relevance:0},{begin:"\\[",end:"\\]",contains:[B],illegal:"\\n",relevance:0},n],s=[...E];return s.pop(),s.push(i),B.contains=s,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:E}};function An(A){return A instanceof Map?A.clear=A.delete=A.set=function(){throw new Error("map is read-only")}:A instanceof Set&&(A.add=A.clear=A.delete=function(){throw new Error("set is read-only")}),Object.freeze(A),Object.getOwnPropertyNames(A).forEach((e=>{const t=A[e],n=typeof t;"object"!==n&&"function"!==n||Object.isFrozen(t)||An(t)})),A}class en{constructor(A){void 0===A.data&&(A.data={}),this.data=A.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function tn(A){return A.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function nn(A,...e){const t=Object.create(null);for(const e in A)t[e]=A[e];return e.forEach((function(A){for(const e in A)t[e]=A[e]})),t}const Bn=A=>!!A.scope;class En{constructor(A,e){this.buffer="",this.classPrefix=e.classPrefix,A.walk(this)}addText(A){this.buffer+=tn(A)}openNode(A){if(!Bn(A))return;const e=((A,{prefix:e})=>{if(A.startsWith("language:"))return A.replace("language:","language-");if(A.includes(".")){const t=A.split(".");return[`${e}${t.shift()}`,...t.map(((A,e)=>`${A}${"_".repeat(e+1)}`))].join(" ")}return`${e}${A}`})(A.scope,{prefix:this.classPrefix});this.span(e)}closeNode(A){Bn(A)&&(this.buffer+="")}value(){return this.buffer}span(A){this.buffer+=``}}const sn=(A={})=>{const e={children:[]};return Object.assign(e,A),e};class on{constructor(){this.rootNode=sn(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(A){this.top.children.push(A)}openNode(A){const e=sn({scope:A});this.add(e),this.stack.push(e)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(A){return this.constructor._walk(A,this.rootNode)}static _walk(A,e){return"string"==typeof e?A.addText(e):e.children&&(A.openNode(e),e.children.forEach((e=>this._walk(A,e))),A.closeNode(e)),A}static _collapse(A){"string"!=typeof A&&A.children&&(A.children.every((A=>"string"==typeof A))?A.children=[A.children.join("")]:A.children.forEach((A=>{on._collapse(A)})))}}class rn extends on{constructor(A){super(),this.options=A}addText(A){""!==A&&this.add(A)}startScope(A){this.openNode(A)}endScope(){this.closeNode()}__addSublanguage(A,e){const t=A.root;e&&(t.scope=`language:${e}`),this.add(t)}toHTML(){return new En(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function cn(A){return A?"string"==typeof A?A:A.source:null}function gn(A){return ln("(?=",A,")")}function an(A){return ln("(?:",A,")*")}function Qn(A){return ln("(?:",A,")?")}function ln(...A){return A.map((A=>cn(A))).join("")}function hn(...A){const e=function(A){const e=A[A.length-1];return"object"==typeof e&&e.constructor===Object?(A.splice(A.length-1,1),e):{}}(A);return"("+(e.capture?"":"?:")+A.map((A=>cn(A))).join("|")+")"}function Mn(A){return new RegExp(A.toString()+"|").exec("").length-1}const wn=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Rn(A,{joinWith:e}){let t=0;return A.map((A=>{t+=1;const e=t;let n=cn(A),i="";for(;n.length>0;){const A=wn.exec(n);if(!A){i+=n;break}i+=n.substring(0,A.index),n=n.substring(A.index+A[0].length),"\\"===A[0][0]&&A[1]?i+="\\"+String(Number(A[1])+e):(i+=A[0],"("===A[0]&&t++)}return i})).map((A=>`(${A})`)).join(e)}const In="[a-zA-Z]\\w*",un="[a-zA-Z_]\\w*",dn="\\b\\d+(\\.\\d+)?",Gn="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Cn="\\b(0b[01]+)",kn={begin:"\\\\[\\s\\S]",relevance:0},Dn={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[kn]},Fn={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[kn]},Yn=function(A,e,t={}){const n=nn({scope:"comment",begin:A,end:e,contains:[]},t);n.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const i=hn("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return n.contains.push({begin:ln(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),n},fn=Yn("//","$"),Un=Yn("/\\*","\\*/"),Nn=Yn("#","$");var Sn=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:In,UNDERSCORE_IDENT_RE:un,NUMBER_RE:dn,C_NUMBER_RE:Gn,BINARY_NUMBER_RE:Cn,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(A={})=>{const e=/^#![ ]*\//;return A.binary&&(A.begin=ln(e,/.*\b/,A.binary,/\b.*/)),nn({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(A,e)=>{0!==A.index&&e.ignoreMatch()}},A)},BACKSLASH_ESCAPE:kn,APOS_STRING_MODE:Dn,QUOTE_STRING_MODE:Fn,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT:Yn,C_LINE_COMMENT_MODE:fn,C_BLOCK_COMMENT_MODE:Un,HASH_COMMENT_MODE:Nn,NUMBER_MODE:{scope:"number",begin:dn,relevance:0},C_NUMBER_MODE:{scope:"number",begin:Gn,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:Cn,relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[kn,{begin:/\[/,end:/\]/,relevance:0,contains:[kn]}]}]},TITLE_MODE:{scope:"title",begin:In,relevance:0},UNDERSCORE_TITLE_MODE:{scope:"title",begin:un,relevance:0},METHOD_GUARD:{begin:"\\.\\s*"+un,relevance:0},END_SAME_AS_BEGIN:function(A){return Object.assign(A,{"on:begin":(A,e)=>{e.data._beginMatch=A[1]},"on:end":(A,e)=>{e.data._beginMatch!==A[1]&&e.ignoreMatch()}})}});function mn(A,e){"."===A.input[A.index-1]&&e.ignoreMatch()}function yn(A){void 0!==A.className&&(A.scope=A.className,delete A.className)}function bn(A,e){e&&A.beginKeywords&&(A.begin="\\b("+A.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",A.__beforeBegin=mn,A.keywords=A.keywords||A.beginKeywords,delete A.beginKeywords,void 0===A.relevance&&(A.relevance=0))}function Hn(A){Array.isArray(A.illegal)&&(A.illegal=hn(...A.illegal))}function Tn(A){if(A.match){if(A.begin||A.end)throw new Error("begin & end are not supported with match");A.begin=A.match,delete A.match}}function zn(A){void 0===A.relevance&&(A.relevance=1)}const xn=A=>{if(!A.beforeMatch)return;if(A.starts)throw new Error("beforeMatch cannot be used with starts");const e=Object.assign({},A);Object.keys(A).forEach((e=>{delete A[e]})),A.keywords=e.keywords,A.begin=ln(e.beforeMatch,gn(e.begin)),A.starts={relevance:0,contains:[Object.assign(e,{endsParent:!0})]},A.relevance=0,delete e.beforeMatch},pn=["of","and","for","in","not","or","if","then","parent","list","value"],Jn="keyword";function jn(A,e,t=Jn){const n=Object.create(null);return"string"==typeof A?i(t,A.split(" ")):Array.isArray(A)?i(t,A):Object.keys(A).forEach((function(t){Object.assign(n,jn(A[t],e,t))})),n;function i(A,t){e&&(t=t.map((A=>A.toLowerCase()))),t.forEach((function(e){const t=e.split("|");n[t[0]]=[A,Zn(t[0],t[1])]}))}}function Zn(A,e){return e?Number(e):function(A){return pn.includes(A.toLowerCase())}(A)?0:1}const Pn={},Vn=A=>{console.error(A)},vn=(A,...e)=>{console.log(`WARN: ${A}`,...e)},Ln=(A,e)=>{Pn[`${A}/${e}`]||(console.log(`Deprecated as of ${A}. ${e}`),Pn[`${A}/${e}`]=!0)},On=new Error;function _n(A,e,{key:t}){let n=0;const i=A[t],B={},E={};for(let A=1;A<=e.length;A++)E[A+n]=i[A],B[A+n]=!0,n+=Mn(e[A-1]);A[t]=E,A[t]._emit=B,A[t]._multi=!0}function Kn(A){!function(A){A.scope&&"object"==typeof A.scope&&null!==A.scope&&(A.beginScope=A.scope,delete A.scope)}(A),"string"==typeof A.beginScope&&(A.beginScope={_wrap:A.beginScope}),"string"==typeof A.endScope&&(A.endScope={_wrap:A.endScope}),function(A){if(Array.isArray(A.begin)){if(A.skip||A.excludeBegin||A.returnBegin)throw Vn("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),On;if("object"!=typeof A.beginScope||null===A.beginScope)throw Vn("beginScope must be object"),On;_n(A,A.begin,{key:"beginScope"}),A.begin=Rn(A.begin,{joinWith:""})}}(A),function(A){if(Array.isArray(A.end)){if(A.skip||A.excludeEnd||A.returnEnd)throw Vn("skip, excludeEnd, returnEnd not compatible with endScope: {}"),On;if("object"!=typeof A.endScope||null===A.endScope)throw Vn("endScope must be object"),On;_n(A,A.end,{key:"endScope"}),A.end=Rn(A.end,{joinWith:""})}}(A)}function Wn(A){function e(e,t){return new RegExp(cn(e),"m"+(A.case_insensitive?"i":"")+(A.unicodeRegex?"u":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(A,e){e.position=this.position++,this.matchIndexes[this.matchAt]=e,this.regexes.push([e,A]),this.matchAt+=Mn(A)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const A=this.regexes.map((A=>A[1]));this.matcherRe=e(Rn(A,{joinWith:"|"}),!0),this.lastIndex=0}exec(A){this.matcherRe.lastIndex=this.lastIndex;const e=this.matcherRe.exec(A);if(!e)return null;const t=e.findIndex(((A,e)=>e>0&&void 0!==A)),n=this.matchIndexes[t];return e.splice(0,t),Object.assign(e,n)}}class n{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(A){if(this.multiRegexes[A])return this.multiRegexes[A];const e=new t;return this.rules.slice(A).forEach((([A,t])=>e.addRule(A,t))),e.compile(),this.multiRegexes[A]=e,e}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(A,e){this.rules.push([A,e]),"begin"===e.type&&this.count++}exec(A){const e=this.getMatcher(this.regexIndex);e.lastIndex=this.lastIndex;let t=e.exec(A);if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{const e=this.getMatcher(0);e.lastIndex=this.lastIndex+1,t=e.exec(A)}return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&this.considerAll()),t}}if(A.compilerExtensions||(A.compilerExtensions=[]),A.contains&&A.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return A.classNameAliases=nn(A.classNameAliases||{}),function t(i,B){const E=i;if(i.isCompiled)return E;[yn,Tn,Kn,xn].forEach((A=>A(i,B))),A.compilerExtensions.forEach((A=>A(i,B))),i.__beforeBegin=null,[bn,Hn,zn].forEach((A=>A(i,B))),i.isCompiled=!0;let s=null;return"object"==typeof i.keywords&&i.keywords.$pattern&&(i.keywords=Object.assign({},i.keywords),s=i.keywords.$pattern,delete i.keywords.$pattern),s=s||/\w+/,i.keywords&&(i.keywords=jn(i.keywords,A.case_insensitive)),E.keywordPatternRe=e(s,!0),B&&(i.begin||(i.begin=/\B|\b/),E.beginRe=e(E.begin),i.end||i.endsWithParent||(i.end=/\B|\b/),i.end&&(E.endRe=e(E.end)),E.terminatorEnd=cn(E.end)||"",i.endsWithParent&&B.terminatorEnd&&(E.terminatorEnd+=(i.end?"|":"")+B.terminatorEnd)),i.illegal&&(E.illegalRe=e(i.illegal)),i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map((function(A){return function(A){return A.variants&&!A.cachedVariants&&(A.cachedVariants=A.variants.map((function(e){return nn(A,{variants:null},e)}))),A.cachedVariants?A.cachedVariants:Xn(A)?nn(A,{starts:A.starts?nn(A.starts):null}):Object.isFrozen(A)?nn(A):A}("self"===A?i:A)}))),i.contains.forEach((function(A){t(A,E)})),i.starts&&t(i.starts,B),E.matcher=function(A){const e=new n;return A.contains.forEach((A=>e.addRule(A.begin,{rule:A,type:"begin"}))),A.terminatorEnd&&e.addRule(A.terminatorEnd,{type:"end"}),A.illegal&&e.addRule(A.illegal,{type:"illegal"}),e}(E),E}(A)}function Xn(A){return!!A&&(A.endsWithParent||Xn(A.starts))}class qn extends Error{constructor(A,e){super(A),this.name="HTMLInjectionError",this.html=e}}const $n=tn,Ai=nn,ei=Symbol("nomatch"),ti=function(A){const e=Object.create(null),t=Object.create(null),n=[];let i=!0;const B="Could not find the language '{}', did you forget to load/include a language module?",E={disableAutodetect:!0,name:"Plain text",contains:[]};let s={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:rn};function o(A){return s.noHighlightRe.test(A)}function r(A,e,t){let n="",i="";"object"==typeof e?(n=A,t=e.ignoreIllegals,i=e.language):(Ln("10.7.0","highlight(lang, code, ...args) has been deprecated."),Ln("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),i=A,n=e),void 0===t&&(t=!0);const B={code:n,language:i};R("before:highlight",B);const E=B.result?B.result:c(B.language,B.code,t);return E.code=B.code,R("after:highlight",E),E}function c(A,t,n,E){const o=Object.create(null);function r(){if(!D.keywords)return void Y.addText(f);let A=0;D.keywordPatternRe.lastIndex=0;let e=D.keywordPatternRe.exec(f),t="";for(;e;){t+=f.substring(A,e.index);const n=G.case_insensitive?e[0].toLowerCase():e[0],i=D.keywords[n];if(i){const[A,B]=i;Y.addText(t),t="",o[n]=(o[n]||0)+1,o[n]<=7&&(U+=B),A.startsWith("_")?t+=e[0]:Q(e[0],G.classNameAliases[A]||A)}else t+=e[0];A=D.keywordPatternRe.lastIndex,e=D.keywordPatternRe.exec(f)}t+=f.substring(A),Y.addText(t)}function a(){null!=D.subLanguage?function(){if(""===f)return;let A=null;if("string"==typeof D.subLanguage){if(!e[D.subLanguage])return void Y.addText(f);A=c(D.subLanguage,f,!0,F[D.subLanguage]),F[D.subLanguage]=A._top}else A=g(f,D.subLanguage.length?D.subLanguage:null);D.relevance>0&&(U+=A.relevance),Y.__addSublanguage(A._emitter,A.language)}():r(),f=""}function Q(A,e){""!==A&&(Y.startScope(e),Y.addText(A),Y.endScope())}function l(A,e){let t=1;const n=e.length-1;for(;t<=n;){if(!A._emit[t]){t++;continue}const n=G.classNameAliases[A[t]]||A[t],i=e[t];n?Q(i,n):(f=i,r(),f=""),t++}}function M(A,e){return A.scope&&"string"==typeof A.scope&&Y.openNode(G.classNameAliases[A.scope]||A.scope),A.beginScope&&(A.beginScope._wrap?(Q(f,G.classNameAliases[A.beginScope._wrap]||A.beginScope._wrap),f=""):A.beginScope._multi&&(l(A.beginScope,e),f="")),D=Object.create(A,{parent:{value:D}}),D}function w(A,e,t){let n=function(A,e){const t=A&&A.exec(e);return t&&0===t.index}(A.endRe,t);if(n){if(A["on:end"]){const t=new en(A);A["on:end"](e,t),t.isMatchIgnored&&(n=!1)}if(n){for(;A.endsParent&&A.parent;)A=A.parent;return A}}if(A.endsWithParent)return w(A.parent,e,t)}function R(A){return 0===D.matcher.regexIndex?(f+=A[0],1):(m=!0,0)}function I(A){const e=A[0],n=t.substring(A.index),i=w(D,A,n);if(!i)return ei;const B=D;D.endScope&&D.endScope._wrap?(a(),Q(e,D.endScope._wrap)):D.endScope&&D.endScope._multi?(a(),l(D.endScope,A)):B.skip?f+=e:(B.returnEnd||B.excludeEnd||(f+=e),a(),B.excludeEnd&&(f=e));do{D.scope&&Y.closeNode(),D.skip||D.subLanguage||(U+=D.relevance),D=D.parent}while(D!==i.parent);return i.starts&&M(i.starts,A),B.returnEnd?0:e.length}let u={};function d(e,B){const E=B&&B[0];if(f+=e,null==E)return a(),0;if("begin"===u.type&&"end"===B.type&&u.index===B.index&&""===E){if(f+=t.slice(B.index,B.index+1),!i){const e=new Error(`0 width match regex (${A})`);throw e.languageName=A,e.badRule=u.rule,e}return 1}if(u=B,"begin"===B.type)return function(A){const e=A[0],t=A.rule,n=new en(t),i=[t.__beforeBegin,t["on:begin"]];for(const t of i)if(t&&(t(A,n),n.isMatchIgnored))return R(e);return t.skip?f+=e:(t.excludeBegin&&(f+=e),a(),t.returnBegin||t.excludeBegin||(f=e)),M(t,A),t.returnBegin?0:e.length}(B);if("illegal"===B.type&&!n){const A=new Error('Illegal lexeme "'+E+'" for mode "'+(D.scope||"")+'"');throw A.mode=D,A}if("end"===B.type){const A=I(B);if(A!==ei)return A}if("illegal"===B.type&&""===E)return 1;if(S>1e5&&S>3*B.index)throw new Error("potential infinite loop, way more iterations than matches");return f+=E,E.length}const G=h(A);if(!G)throw Vn(B.replace("{}",A)),new Error('Unknown language: "'+A+'"');const C=Wn(G);let k="",D=E||C;const F={},Y=new s.__emitter(s);!function(){const A=[];for(let e=D;e!==G;e=e.parent)e.scope&&A.unshift(e.scope);A.forEach((A=>Y.openNode(A)))}();let f="",U=0,N=0,S=0,m=!1;try{if(G.__emitTokens)G.__emitTokens(t,Y);else{for(D.matcher.considerAll();;){S++,m?m=!1:D.matcher.considerAll(),D.matcher.lastIndex=N;const A=D.matcher.exec(t);if(!A)break;const e=d(t.substring(N,A.index),A);N=A.index+e}d(t.substring(N))}return Y.finalize(),k=Y.toHTML(),{language:A,value:k,relevance:U,illegal:!1,_emitter:Y,_top:D}}catch(e){if(e.message&&e.message.includes("Illegal"))return{language:A,value:$n(t),illegal:!0,relevance:0,_illegalBy:{message:e.message,index:N,context:t.slice(N-100,N+100),mode:e.mode,resultSoFar:k},_emitter:Y};if(i)return{language:A,value:$n(t),illegal:!1,relevance:0,errorRaised:e,_emitter:Y,_top:D};throw e}}function g(A,t){t=t||s.languages||Object.keys(e);const n=function(A){const e={value:$n(A),illegal:!1,relevance:0,_top:E,_emitter:new s.__emitter(s)};return e._emitter.addText(A),e}(A),i=t.filter(h).filter(w).map((e=>c(e,A,!1)));i.unshift(n);const B=i.sort(((A,e)=>{if(A.relevance!==e.relevance)return e.relevance-A.relevance;if(A.language&&e.language){if(h(A.language).supersetOf===e.language)return 1;if(h(e.language).supersetOf===A.language)return-1}return 0})),[o,r]=B,g=o;return g.secondBest=r,g}function a(A){let e=null;const n=function(A){let e=A.className+" ";e+=A.parentNode?A.parentNode.className:"";const t=s.languageDetectRe.exec(e);if(t){const e=h(t[1]);return e||(vn(B.replace("{}",t[1])),vn("Falling back to no-highlight mode for this block.",A)),e?t[1]:"no-highlight"}return e.split(/\s+/).find((A=>o(A)||h(A)))}(A);if(o(n))return;if(R("before:highlightElement",{el:A,language:n}),A.children.length>0&&(s.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(A)),s.throwUnescapedHTML))throw new qn("One of your code blocks includes unescaped HTML.",A.innerHTML);e=A;const i=e.textContent,E=n?r(i,{language:n,ignoreIllegals:!0}):g(i);A.innerHTML=E.value,function(A,e,n){const i=e&&t[e]||n;A.classList.add("hljs"),A.classList.add(`language-${i}`)}(A,n,E.language),A.result={language:E.language,re:E.relevance,relevance:E.relevance},E.secondBest&&(A.secondBest={language:E.secondBest.language,relevance:E.secondBest.relevance}),R("after:highlightElement",{el:A,result:E,text:i})}let Q=!1;function l(){"loading"!==document.readyState?document.querySelectorAll(s.cssSelector).forEach(a):Q=!0}function h(A){return A=(A||"").toLowerCase(),e[A]||e[t[A]]}function M(A,{languageName:e}){"string"==typeof A&&(A=[A]),A.forEach((A=>{t[A.toLowerCase()]=e}))}function w(A){const e=h(A);return e&&!e.disableAutodetect}function R(A,e){const t=A;n.forEach((function(A){A[t]&&A[t](e)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){Q&&l()}),!1),Object.assign(A,{highlight:r,highlightAuto:g,highlightAll:l,highlightElement:a,highlightBlock:function(A){return Ln("10.7.0","highlightBlock will be removed entirely in v12.0"),Ln("10.7.0","Please use highlightElement now."),a(A)},configure:function(A){s=Ai(s,A)},initHighlighting:()=>{l(),Ln("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){l(),Ln("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(t,n){let B=null;try{B=n(A)}catch(A){if(Vn("Language definition for '{}' could not be registered.".replace("{}",t)),!i)throw A;Vn(A),B=E}B.name||(B.name=t),e[t]=B,B.rawDefinition=n.bind(null,A),B.aliases&&M(B.aliases,{languageName:t})},unregisterLanguage:function(A){delete e[A];for(const e of Object.keys(t))t[e]===A&&delete t[e]},listLanguages:function(){return Object.keys(e)},getLanguage:h,registerAliases:M,autoDetection:w,inherit:Ai,addPlugin:function(A){!function(A){A["before:highlightBlock"]&&!A["before:highlightElement"]&&(A["before:highlightElement"]=e=>{A["before:highlightBlock"](Object.assign({block:e.el},e))}),A["after:highlightBlock"]&&!A["after:highlightElement"]&&(A["after:highlightElement"]=e=>{A["after:highlightBlock"](Object.assign({block:e.el},e))})}(A),n.push(A)},removePlugin:function(A){const e=n.indexOf(A);-1!==e&&n.splice(e,1)}}),A.debugMode=function(){i=!1},A.safeMode=function(){i=!0},A.versionString="11.8.0",A.regex={concat:ln,lookahead:gn,either:hn,optional:Qn,anyNumberOfTimes:an};for(const A in Sn)"object"==typeof Sn[A]&&An(Sn[A]);return Object.assign(A,Sn),A},ni=ti({});ni.newInstance=()=>ti({});var ii=ni;ni.HighlightJS=ni,ni.default=ni;const Bi=ii;var Ei,si={exports:{}};Ei=si,function(){var A;function e(A){for(var e,t,n,i,B=1,E=[].slice.call(arguments),s=0,o=A.length,r="",c=!1,g=!1,a=function(){return E[B++]},Q=function(){for(var t="";/\d/.test(A[s]);)t+=A[s++],e=A[s];return t.length>0?parseInt(t):null};se?A+"_".repeat(e):this.options.classPrefix+A))},children:[]};this.stack[this.stack.length-1].children.push(e),this.stack.push(e)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const li={highlight:ai,highlightAuto:function(A,e={}){const t=e.subset||Bi.listLanguages();let n=-1,i={type:"root",data:{language:null,relevance:0},children:[]};if("string"!=typeof A)throw ri("Expected `string` for value, got `%s`",A);for(;++ni.data.relevance&&(i=E)}return i},registerLanguage:function(A,e){Bi.registerLanguage(A,e)},registered:function(A){return Boolean(Bi.getLanguage(A))},listLanguages:function(){return Bi.listLanguages()},registerAlias:function(A,e){if("string"==typeof A)Bi.registerAliases(e,{languageName:A});else{let e;for(e in A)gi.call(A,e)&&Bi.registerAliases(A[e],{languageName:e})}}};li.registerLanguage("arduino",Ge),li.registerLanguage("bash",(function(A){const e={},t={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[e]}]};Object.assign(e,{className:"variable",variants:[{begin:A.regex.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},t]});const n={className:"subst",begin:/\$\(/,end:/\)/,contains:[A.BACKSLASH_ESCAPE]},i={begin:/<<-?\s*(?=\w+)/,starts:{contains:[A.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},B={className:"string",begin:/"/,end:/"/,contains:[A.BACKSLASH_ESCAPE,e,n]};n.contains.push(B);const E={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},A.NUMBER_MODE,e]},s=A.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),o={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[A.inherit(A.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"],literal:["true","false"],built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]},contains:[s,A.SHEBANG(),o,E,A.HASH_COMMENT_MODE,i,{match:/(\/[a-z._-]+)+/},B,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},e]}})),li.registerLanguage("c",Ce),li.registerLanguage("cpp",ke),li.registerLanguage("csharp",De),li.registerLanguage("css",(function(A){const e=A.regex,t=(A=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:A.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:A.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}))(A),n=[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[t.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+fe.join("|")+")"},{begin:":(:)?("+Ue.join("|")+")"}]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Ne.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...n,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...n,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Ye.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...n,t.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Fe.join("|")+")\\b"}]}})),li.registerLanguage("diff",(function(A){const e=A.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:e.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:e.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}})),li.registerLanguage("go",Se),li.registerLanguage("graphql",(function(A){const e=A.regex;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[A.HASH_COMMENT_MODE,A.QUOTE_STRING_MODE,A.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:e.concat(/[_A-Za-z][_0-9A-Za-z]*/,e.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}})),li.registerLanguage("ini",me),li.registerLanguage("java",xe),li.registerLanguage("javascript",Oe),li.registerLanguage("json",_e),li.registerLanguage("kotlin",$e),li.registerLanguage("less",Et),li.registerLanguage("lua",(function(A){const e="\\[=*\\[",t="\\]=*\\]",n={begin:e,end:t,contains:["self"]},i=[A.COMMENT("--(?!"+e+")","$"),A.COMMENT("--"+e,t,{contains:[n],relevance:10})];return{name:"Lua",keywords:{$pattern:A.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[A.inherit(A.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:i}].concat(i)},A.C_NUMBER_MODE,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,{className:"string",begin:e,end:t,contains:[n],relevance:5}])}})),li.registerLanguage("makefile",(function(A){const e={className:"variable",variants:[{begin:"\\$\\("+A.UNDERSCORE_IDENT_RE+"\\)",contains:[A.BACKSLASH_ESCAPE]},{begin:/\$[@%/,end:/$/,illegal:"\\n"},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t,contains:[A.UNDERSCORE_TITLE_MODE]},{begin:"\\."+A.UNDERSCORE_IDENT_RE,relevance:0}]}})),li.registerLanguage("perl",(function(A){const e=A.regex,t=/[dualxmsipngr]{0,12}/,n={$pattern:/[\w.]+/,keyword:["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"].join(" ")},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},B={begin:/->\{/,end:/\}/},E={variants:[{begin:/\$\d/},{begin:e.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@][^\s\w{]/,relevance:0}]},s=[A.BACKSLASH_ESCAPE,i,E],o=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],r=(A,n,i="\\1")=>{const B="\\1"===i?i:e.concat(i,n);return e.concat(e.concat("(?:",A,")"),n,/(?:\\.|[^\\\/])*?/,B,/(?:\\.|[^\\\/])*?/,i,t)},c=(A,n,i)=>e.concat(e.concat("(?:",A,")"),n,/(?:\\.|[^\\\/])*?/,i,t),g=[E,A.HASH_COMMENT_MODE,A.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),B,{className:"string",contains:s,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[A.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[A.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+A.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[A.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:r("s|tr|y",e.either(...o,{capture:!0}))},{begin:r("s|tr|y","\\(","\\)")},{begin:r("s|tr|y","\\[","\\]")},{begin:r("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:c("(?:m|qr)?",/\//,/\//)},{begin:c("m|qr",e.either(...o,{capture:!0}),/\1/)},{begin:c("m|qr",/\(/,/\)/)},{begin:c("m|qr",/\[/,/\]/)},{begin:c("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[A.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return i.contains=g,B.contains=g,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:g}})),li.registerLanguage("php",ot),li.registerLanguage("php-template",(function(A){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},A.inherit(A.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),A.inherit(A.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}})),li.registerLanguage("plaintext",(function(){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}})),li.registerLanguage("python",rt),li.registerLanguage("python-repl",(function(){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}})),li.registerLanguage("r",ct),li.registerLanguage("ruby",(function(A){const e=A.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",n=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=e.concat(n,/(::\w+)*/),B={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},E={className:"doctag",begin:"@[A-Za-z]+"},s={begin:"#<",end:">"},o=[A.COMMENT("#","$",{contains:[E]}),A.COMMENT("^=begin","^=end",{contains:[E],relevance:10}),A.COMMENT("^__END__",A.MATCH_NOTHING_RE)],r={className:"subst",begin:/#\{/,end:/\}/,keywords:B},c={className:"string",contains:[A.BACKSLASH_ESCAPE,r],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[A.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[A.BACKSLASH_ESCAPE,r]})]}]},g="[0-9](_?[0-9])*",a={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:B}]},Q=[c,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:B},{match:[/(include|extend)\s+/,i],scope:{2:"title.class"},keywords:B},{relevance:0,match:[i,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:n,scope:"title.class"},{match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[a]},{begin:A.IDENT_RE+"::"},{className:"symbol",begin:A.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[c,{begin:t}],relevance:0},{className:"number",relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:B},{begin:"("+A.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[A.BACKSLASH_ESCAPE,r],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(s,o),relevance:0}].concat(s,o);r.contains=Q,a.contains=Q;const l=[{begin:/^\s*=>/,starts:{end:"$",contains:Q}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:B,contains:Q}}];return o.unshift(s),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:B,illegal:/\/\*/,contains:[A.SHEBANG({binary:"ruby"})].concat(l).concat(o).concat(Q)}})),li.registerLanguage("rust",gt),li.registerLanguage("scss",wt),li.registerLanguage("shell",(function(){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}})),li.registerLanguage("sql",Rt),li.registerLanguage("swift",jt),li.registerLanguage("typescript",Xt),li.registerLanguage("vbnet",qt),li.registerLanguage("wasm",(function(A){const e=A.COMMENT(/\(;/,/;\)/);return e.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"]},contains:[A.COMMENT(/;;/,/$/),e,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},A.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},{className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/},{className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/}]}})),li.registerLanguage("xml",(function(A){const e=A.regex,t=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),n={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},B=A.inherit(i,{begin:/\(/,end:/\)/}),E=A.inherit(A.APOS_STRING_MODE,{className:"string"}),s=A.inherit(A.QUOTE_STRING_MODE,{className:"string"}),o={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[i,s,E,B,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[i,B,s,E]}]}]},A.COMMENT(//,{relevance:10}),{begin://,relevance:10},n,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[s]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[o],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[o],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:o}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}})),li.registerLanguage("yaml",$t);const hi=Object.freeze({__proto__:null,lowlight:li}),Mi=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,wi=R.create({name:"image",addOptions:()=>({inline:!1,allowBase64:!1,HTMLAttributes:{}}),inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes:()=>({src:{default:null},alt:{default:null},title:{default:null}}),parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:A}){return["img",l(this.options.HTMLAttributes,A)]},addCommands(){return{setImage:A=>({commands:e})=>e.insertContent({type:this.name,attrs:A})}},addInputRules(){return[Y({find:Mi,type:this.type,getAttributes:A=>{const[,,e,t,n]=A;return{src:t,alt:e,title:n}}})]}}),Ri="aaa1rp3barth4b0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0faromeo7ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4vianca6w0s2x0a2z0ure5ba0by2idu3namex3narepublic11d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re2s2c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y0eats7k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0cast4mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking0channel11l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dabur3d1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t0isalat7u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0at2delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d0network8tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntdoor4ier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0ardian6cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5gtv3iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0eles2s3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1nder2le4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster5ia3d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4de2k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0cys3drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7serati6ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic3tual5v1w1x1y1z2na0b1goya4me2tura4vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rthwesternmutual14on4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9dnavy5lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3ssagens7y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cher3ks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0a1b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp2w2ell3ia1ksha5oes2p0ping5uji3w0time7i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ffany5ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0channel7ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lkswagen7vo3te1ing3o2yage5u0elos6wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4finity6ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",Ii="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5تصالات6رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",ui=(A,e)=>{for(const t in e)A[t]=e[t];return A},di="numeric",Gi="ascii",Ci="alpha",ki="asciinumeric",Di="alphanumeric",Fi="domain",Yi="emoji",fi="scheme",Ui="slashscheme",Ni="whitespace";function Si(A,e){return A in e||(e[A]=[]),e[A]}function mi(A,e,t){e[di]&&(e[ki]=!0,e[Di]=!0),e[Gi]&&(e[ki]=!0,e[Ci]=!0),e[ki]&&(e[Di]=!0),e[Ci]&&(e[Di]=!0),e[Di]&&(e[Fi]=!0),e[Yi]&&(e[Fi]=!0);for(const n in e){const e=Si(n,t);e.indexOf(A)<0&&e.push(A)}}function yi(A){void 0===A&&(A=null),this.j={},this.jr=[],this.jd=null,this.t=A}yi.groups={},yi.prototype={accepts(){return!!this.t},go(A){const e=this,t=e.j[A];if(t)return t;for(let t=0;t=0&&(t[n]=!0);return t}(E.t,n),t);mi(B,A,n)}else t&&mi(B,t,n);E.t=B}return i.j[A]=E,E}};const bi=(A,e,t,n,i)=>A.ta(e,t,n,i),Hi=(A,e,t,n,i)=>A.tr(e,t,n,i),Ti=(A,e,t,n,i)=>A.ts(e,t,n,i),zi=(A,e,t,n,i)=>A.tt(e,t,n,i),xi="WORD",pi="UWORD",Ji="LOCALHOST",ji="TLD",Zi="UTLD",Pi="SCHEME",Vi="SLASH_SCHEME",vi="NUM",Li="WS",Oi="NL",_i="OPENBRACE",Ki="OPENBRACKET",Wi="OPENANGLEBRACKET",Xi="OPENPAREN",qi="CLOSEBRACE",$i="CLOSEBRACKET",AB="CLOSEANGLEBRACKET",eB="CLOSEPAREN",tB="AMPERSAND",nB="APOSTROPHE",iB="ASTERISK",BB="AT",EB="BACKSLASH",sB="BACKTICK",oB="CARET",rB="COLON",cB="COMMA",gB="DOLLAR",aB="DOT",QB="EQUALS",lB="EXCLAMATION",hB="HYPHEN",MB="PERCENT",wB="PIPE",RB="PLUS",IB="POUND",uB="QUERY",dB="QUOTE",GB="SEMI",CB="SLASH",kB="TILDE",DB="UNDERSCORE",FB="EMOJI",YB="SYM";var fB=Object.freeze({__proto__:null,WORD:xi,UWORD:pi,LOCALHOST:Ji,TLD:ji,UTLD:Zi,SCHEME:Pi,SLASH_SCHEME:Vi,NUM:vi,WS:Li,NL:Oi,OPENBRACE:_i,OPENBRACKET:Ki,OPENANGLEBRACKET:Wi,OPENPAREN:Xi,CLOSEBRACE:qi,CLOSEBRACKET:$i,CLOSEANGLEBRACKET:AB,CLOSEPAREN:eB,AMPERSAND:tB,APOSTROPHE:nB,ASTERISK:iB,AT:BB,BACKSLASH:EB,BACKTICK:sB,CARET:oB,COLON:rB,COMMA:cB,DOLLAR:gB,DOT:aB,EQUALS:QB,EXCLAMATION:lB,HYPHEN:hB,PERCENT:MB,PIPE:wB,PLUS:RB,POUND:IB,QUERY:uB,QUOTE:dB,SEMI:GB,SLASH:CB,TILDE:kB,UNDERSCORE:DB,EMOJI:FB,SYM:YB});const UB=/[a-z]/,NB=/\p{L}/u,SB=/\p{Emoji}/u,mB=/\d/,yB=/\s/,bB="\n",HB="️",TB="‍";let zB=null,xB=null;function pB(A,e,t,n,i){let B;const E=e.length;for(let t=0;t=0;)i++;if(i>0){e.push(t.join(""));for(let e=parseInt(A.substring(n,n+i),10);e>0;e--)t.pop();n+=i}else t.push(A[n]),n++}return e}const jB={defaultProtocol:"http",events:null,format:PB,formatHref:PB,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function ZB(A,e){void 0===e&&(e=null);let t=ui({},jB);A&&(t=ui(t,A instanceof ZB?A.o:A));const n=t.ignoreTags,i=[];for(let A=0;AA,check(A){return this.get("validate",A.toString(),A)},get(A,e,t){const n=null!=e;let i=this.o[A];return i?("object"==typeof i?(i=t.t in i?i[t.t]:jB[A],"function"==typeof i&&n&&(i=i(e,t))):"function"==typeof i&&n&&(i=i(e,t.t,t)),i):i},getObj(A,e,t){let n=this.o[A];return"function"==typeof n&&null!=e&&(n=n(e,t.t,t)),n},render(A){const e=A.render(this);return(this.get("render",null,A)||this.defaultRender)(e,A.t,A)}},VB.prototype={isLink:!1,toString(){return this.v},toHref(A){return this.toString()},toFormattedString(A){const e=this.toString(),t=A.get("truncate",e,this),n=A.get("format",e,this);return t&&n.length>t?n.substring(0,t)+"…":n},toFormattedHref(A){return A.get("formatHref",this.toHref(A.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(A){return void 0===A&&(A=jB.defaultProtocol),{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(A),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(A){return{type:this.t,value:this.toFormattedString(A),isLink:this.isLink,href:this.toFormattedHref(A),start:this.startIndex(),end:this.endIndex()}},validate(A){return A.get("validate",this.toString(),this)},render(A){const e=this,t=this.toHref(A.get("defaultProtocol")),n=A.get("formatHref",t,this),i=A.get("tagName",t,e),B=this.toFormattedString(A),E={},s=A.get("className",t,e),o=A.get("target",t,e),r=A.get("rel",t,e),c=A.getObj("attributes",t,e),g=A.getObj("events",t,e);return E.href=n,s&&(E.class=s),o&&(E.target=o),r&&(E.rel=r),c&&ui(E,c),{tagName:i,attributes:E,content:B,eventListeners:g}}};const LB=vB("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),OB=vB("text"),_B=vB("nl"),KB=vB("url",{isLink:!0,toHref(A){return void 0===A&&(A=jB.defaultProtocol),this.hasProtocol()?this.v:`${A}://${this.v}`},hasProtocol(){const A=this.tk;return A.length>=2&&A[0].t!==Ji&&A[1].t===rB}}),WB=A=>new yi(A);function XB(A,e,t){return new A(e.slice(t[0].s,t[t.length-1].e),t)}const qB="undefined"!=typeof console&&console&&console.warn||(()=>{}),$B={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function AE(A,e){if(void 0===e&&(e=!1),$B.initialized&&qB(`linkifyjs: already initialized - will not register custom scheme "${A}" until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(A))throw new Error('linkifyjs: incorrect scheme format.\n 1. Must only contain digits, lowercase ASCII letters or "-"\n 2. Cannot start or end with "-"\n 3. "-" cannot repeat');$B.customSchemes.push([A,e])}function eE(A){return $B.initialized||function(){$B.scanner=function(A){void 0===A&&(A=[]);const e={};yi.groups=e;const t=new yi;null==zB&&(zB=JB(Ri)),null==xB&&(xB=JB(Ii)),zi(t,"'",nB),zi(t,"{",_i),zi(t,"[",Ki),zi(t,"<",Wi),zi(t,"(",Xi),zi(t,"}",qi),zi(t,"]",$i),zi(t,">",AB),zi(t,")",eB),zi(t,"&",tB),zi(t,"*",iB),zi(t,"@",BB),zi(t,"`",sB),zi(t,"^",oB),zi(t,":",rB),zi(t,",",cB),zi(t,"$",gB),zi(t,".",aB),zi(t,"=",QB),zi(t,"!",lB),zi(t,"-",hB),zi(t,"%",MB),zi(t,"|",wB),zi(t,"+",RB),zi(t,"#",IB),zi(t,"?",uB),zi(t,'"',dB),zi(t,"/",CB),zi(t,";",GB),zi(t,"~",kB),zi(t,"_",DB),zi(t,"\\",EB);const n=Hi(t,mB,vi,{[di]:!0});Hi(n,mB,n);const i=Hi(t,UB,xi,{[Gi]:!0});Hi(i,UB,i);const B=Hi(t,NB,pi,{[Ci]:!0});Hi(B,UB),Hi(B,NB,B);const E=Hi(t,yB,Li,{[Ni]:!0});zi(t,bB,Oi,{[Ni]:!0}),zi(E,bB),Hi(E,yB,E);const s=Hi(t,SB,FB,{[Yi]:!0});Hi(s,SB,s),zi(s,HB,s);const o=zi(s,TB);Hi(o,SB,s);const r=[[UB,i]],c=[[UB,null],[NB,B]];for(let A=0;AA[0]>e[0]?1:-1));for(let e=0;e=0?i[Fi]=!0:UB.test(n)?mB.test(n)?i[ki]=!0:i[Gi]=!0:i[di]=!0,Ti(t,n,n,i)}return Ti(t,"localhost",Ji,{ascii:!0}),t.jd=new yi(YB),{start:t,tokens:ui({groups:e},fB)}}($B.customSchemes);for(let A=0;A<$B.tokenQueue.length;A++)$B.tokenQueue[A][1]({scanner:$B.scanner});$B.parser=function(A){let{groups:e}=A;const t=e.domain.concat([tB,iB,BB,EB,sB,oB,gB,QB,hB,vi,MB,wB,RB,IB,CB,YB,kB,DB]),n=[nB,AB,qi,$i,eB,rB,cB,aB,lB,Wi,_i,Ki,Xi,uB,dB,GB],i=[tB,nB,iB,EB,sB,oB,qi,gB,QB,hB,_i,MB,wB,RB,IB,uB,CB,YB,kB,DB],B=WB(),E=zi(B,kB);bi(E,i,E),bi(E,e.domain,E);const s=WB(),o=WB(),r=WB();bi(B,e.domain,s),bi(B,e.scheme,o),bi(B,e.slashscheme,r),bi(s,i,E),bi(s,e.domain,s);const c=zi(s,BB);zi(E,BB,c),zi(o,BB,c),zi(r,BB,c);const g=zi(E,aB);bi(g,i,E),bi(g,e.domain,E);const a=WB();bi(c,e.domain,a),bi(a,e.domain,a);const Q=zi(a,aB);bi(Q,e.domain,a);const l=WB(LB);bi(Q,e.tld,l),bi(Q,e.utld,l),zi(c,Ji,l);const h=zi(a,hB);bi(h,e.domain,a),bi(l,e.domain,a),zi(l,aB,Q),zi(l,hB,h);const M=zi(l,rB);bi(M,e.numeric,LB);const w=zi(s,hB),R=zi(s,aB);bi(w,e.domain,s),bi(R,i,E),bi(R,e.domain,s);const I=WB(KB);bi(R,e.tld,I),bi(R,e.utld,I),bi(I,e.domain,s),bi(I,i,E),zi(I,aB,R),zi(I,hB,w),zi(I,BB,c);const u=zi(I,rB),d=WB(KB);bi(u,e.numeric,d);const G=WB(KB),C=WB();bi(G,t,G),bi(G,n,C),bi(C,t,G),bi(C,n,C),zi(I,CB,G),zi(d,CB,G);const k=zi(o,rB),D=zi(r,rB),F=zi(D,CB),Y=zi(F,CB);bi(o,e.domain,s),zi(o,aB,R),zi(o,hB,w),bi(r,e.domain,s),zi(r,aB,R),zi(r,hB,w),bi(k,e.domain,G),zi(k,CB,G),bi(Y,e.domain,G),bi(Y,t,G),zi(Y,CB,G);const f=zi(G,_i),U=zi(G,Ki),N=zi(G,Wi),S=zi(G,Xi);zi(C,_i,f),zi(C,Ki,U),zi(C,Wi,N),zi(C,Xi,S),zi(f,qi,G),zi(U,$i,G),zi(N,AB,G),zi(S,eB,G),zi(f,qi,G);const m=WB(KB),y=WB(KB),b=WB(KB),H=WB(KB);bi(f,t,m),bi(U,t,y),bi(N,t,b),bi(S,t,H);const T=WB(),z=WB(),x=WB(),p=WB();return bi(f,n),bi(U,n),bi(N,n),bi(S,n),bi(m,t,m),bi(y,t,y),bi(b,t,b),bi(H,t,H),bi(m,n,m),bi(y,n,y),bi(b,n,b),bi(H,n,H),bi(T,t,T),bi(z,t,y),bi(x,t,b),bi(p,t,H),bi(T,n,T),bi(z,n,z),bi(x,n,x),bi(p,n,p),zi(y,$i,G),zi(b,AB,G),zi(H,eB,G),zi(m,qi,G),zi(z,$i,G),zi(x,AB,G),zi(p,eB,G),zi(T,eB,G),zi(B,Ji,I),zi(B,Oi,_B),{start:B,tokens:fB}}($B.scanner.tokens);for(let A=0;A<$B.pluginQueue.length;A++)$B.pluginQueue[A][1]({scanner:$B.scanner,parser:$B.parser});$B.initialized=!0}(),function(A,e,t){let n=t.length,i=0,B=[],E=[];for(;i=0&&a++,i++,c++;if(a<0)i-=c,i0&&(B.push(XB(OB,e,E)),E=[]),i-=a,c-=a;const A=g.t,n=t.slice(i-c,i);B.push(XB(A,e,n))}}return E.length>0&&B.push(XB(OB,e,E)),B}($B.parser.start,A,function(A,e){const t=function(A){const e=[],t=A.length;let n=0;for(;n56319||n+1===t||(i=A.charCodeAt(n+1))<56320||i>57343?A[n]:A.slice(n,n+2);e.push(E),n+=E.length}return e}(e.replace(/[A-Z]/g,(A=>A.toLowerCase()))),n=t.length,i=[];let B=0,E=0;for(;E=0&&(g+=t[E].length,a++),r+=t[E].length,B+=t[E].length,E++;B-=g,E-=a,r-=g,i.push({t:c.t,v:e.slice(B-r,B),s:B-r,e:B})}return i}($B.scanner.start,A))}function tE(A,e,t){if(void 0===e&&(e=null),void 0===t&&(t=null),e&&"object"==typeof e){if(t)throw Error(`linkifyjs: Invalid link type ${e}; must be a string`);t=e,e=null}const n=new ZB(t),i=eE(A),B=[];for(let A=0;A{"string"!=typeof A?AE(A.scheme,A.optionalSlashes):AE(A)}))},onDestroy(){yi.groups={},$B.scanner=null,$B.parser=null,$B.tokenQueue=[],$B.pluginQueue=[],$B.customSchemes=[],$B.initialized=!1},inclusive(){return this.options.autolink},addOptions:()=>({openOnClick:!0,linkOnPaste:!0,autolink:!0,protocols:[],HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},validate:void 0}),addAttributes(){return{href:{default:null},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML:()=>[{tag:'a[href]:not([href *= "javascript:" i])'}],renderHTML({HTMLAttributes:A}){var e;return(null===(e=A.href)||void 0===e?void 0:e.startsWith("javascript:"))?["a",l(this.options.HTMLAttributes,{...A,href:""}),0]:["a",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setLink:A=>({chain:e})=>e().setMark(this.name,A).setMeta("preventAutolink",!0).run(),toggleLink:A=>({chain:e})=>e().toggleMark(this.name,A,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run(),unsetLink:()=>({chain:A})=>A().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addPasteRules(){return[w({find:A=>{const e=[];if(A){const t=tE(A).filter((A=>A.isLink));t.length&&t.forEach((A=>e.push({text:A.value,data:{href:A.href},index:A.start})))}return e},type:this.type,getAttributes:A=>{var e;return{href:null===(e=A.data)||void 0===e?void 0:e.href}}})]},addProseMirrorPlugins(){const A=[];var e;return this.options.autolink&&A.push((e={type:this.type,validate:this.options.validate},new E({key:new s("autolink"),appendTransaction:(A,t,n)=>{const i=A.some((A=>A.docChanged))&&!t.doc.eq(n.doc),B=A.some((A=>A.getMeta("preventAutolink")));if(!i||B)return;const{tr:E}=n,s=f(t.doc,[...A]);return U(s).forEach((({newRange:A})=>{const t=N(n.doc,A,(A=>A.isTextblock));let i,B;if(t.length>1?(i=t[0],B=n.doc.textBetween(i.pos,i.pos+i.node.nodeSize,void 0," ")):t.length&&n.doc.textBetween(A.from,A.to," "," ").endsWith(" ")&&(i=t[0],B=n.doc.textBetween(i.pos,A.to,void 0," ")),i&&B){const A=B.split(" ").filter((A=>""!==A));if(A.length<=0)return!1;const t=A[A.length-1],o=i.pos+B.lastIndexOf(t);if(!t)return!1;const r=eE(t).map((A=>A.toObject()));if(!(1===(s=r).length?s[0].isLink:3===s.length&&s[1].isLink&&["()","[]"].includes(s[0].value+s[2].value)))return!1;r.filter((A=>A.isLink)).map((A=>({...A,from:o+A.start+1,to:o+A.end+1}))).filter((A=>!n.schema.marks.code||!n.doc.rangeHasMark(A.from,A.to,n.schema.marks.code))).filter((A=>!e.validate||e.validate(A.value))).forEach((A=>{S(A.from,A.to,n.doc).some((A=>A.mark.type===e.type))||E.addMark(A.from,A.to,e.type.create({href:A.href}))}))}var s})),E.steps.length?E:void 0}}))),this.options.openOnClick&&A.push(function(A){return new E({key:new s("handleClickLink"),props:{handleClick:(e,t,n)=>{var i,B;if(A.whenNotEditable&&e.editable)return!1;if(0!==n.button)return!1;let E=n.target;const s=[];for(;"DIV"!==E.nodeName;)s.push(E),E=E.parentNode;if(!s.find((A=>"A"===A.nodeName)))return!1;const o=m(e.state,A.type.name),r=n.target,c=null!==(i=null==r?void 0:r.href)&&void 0!==i?i:o.href,g=null!==(B=null==r?void 0:r.target)&&void 0!==B?B:o.target;return!(!r||!c||(window.open(c,g),0))}}})}({type:this.type,whenNotEditable:"whenNotEditable"===this.options.openOnClick})),this.options.linkOnPaste&&A.push(function(A){return new E({key:new s("handlePasteLink"),props:{handlePaste:(e,t,n)=>{const{state:i}=e,{selection:B}=i,{empty:E}=B;if(E)return!1;let s="";n.content.forEach((A=>{s+=A.textContent}));const o=tE(s).find((A=>A.isLink&&A.value===s));return!(!s||!o||(A.editor.commands.setMark(A.type,{href:o.href}),0))}}})}({editor:this.editor,type:this.type})),A}}),iE=Q.create({name:"superscript",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"sup"},{style:"vertical-align",getAttrs:A=>"super"===A&&null}],renderHTML({HTMLAttributes:A}){return["sup",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setSuperscript:()=>({commands:A})=>A.setMark(this.name),toggleSuperscript:()=>({commands:A})=>A.toggleMark(this.name),unsetSuperscript:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-.":()=>this.editor.commands.toggleSuperscript()}}}),BE=Q.create({name:"subscript",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"sub"},{style:"vertical-align",getAttrs:A=>"sub"===A&&null}],renderHTML({HTMLAttributes:A}){return["sub",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setSubscript:()=>({commands:A})=>A.setMark(this.name),toggleSubscript:()=>({commands:A})=>A.toggleMark(this.name),unsetSubscript:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-,":()=>this.editor.commands.toggleSubscript()}}}),EE=o.create({name:"textAlign",addOptions:()=>({types:[],alignments:["left","center","right","justify"],defaultAlignment:"left"}),addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:A=>A.style.textAlign||this.options.defaultAlignment,renderHTML:A=>A.textAlign===this.options.defaultAlignment?{}:{style:`text-align: ${A.textAlign}`}}}}]},addCommands(){return{setTextAlign:A=>({commands:e})=>!!this.options.alignments.includes(A)&&this.options.types.every((t=>e.updateAttributes(t,{textAlign:A}))),unsetTextAlign:()=>({commands:A})=>this.options.types.every((e=>A.resetAttributes(e,"textAlign")))}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),sE=o.create({name:"placeholder",addOptions:()=>({emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",placeholder:"Write something …",showOnlyWhenEditable:!0,considerAnyAsEmpty:!1,showOnlyCurrent:!0,includeChildren:!1}),addProseMirrorPlugins(){return[new E({key:new s("placeholder"),props:{decorations:({doc:A,selection:e})=>{var t;const n=this.editor.isEditable||!this.options.showOnlyWhenEditable,{anchor:i}=e,B=[];if(!n)return null;const{firstChild:E}=A.content,s=!!this.options.considerAnyAsEmpty||E&&E.type.name===(null===(t=A.type.contentMatch.defaultType)||void 0===t?void 0:t.name),o=A.content.childCount<=1&&E&&s&&E.nodeSize<=2&&(!(E&&E.type.isLeaf)||!(E&&E.isAtom));return A.descendants(((A,e)=>{const t=i>=e&&i<=e+A.nodeSize;if((t||!this.options.showOnlyCurrent)&&!A.isLeaf&&!A.childCount){const n=[this.options.emptyNodeClass];o&&n.push(this.options.emptyEditorClass);const i=F.node(e,e+A.nodeSize,{class:n.join(" "),"data-placeholder":"function"==typeof this.options.placeholder?this.options.placeholder({editor:this.editor,node:A,pos:e,hasAnchor:t}):this.options.placeholder});B.push(i)}return this.options.includeChildren})),k.create(A,B)}}})]}}),oE=Q.create({name:"underline",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:A=>!!A.includes("underline")&&{}}],renderHTML({HTMLAttributes:A}){return["u",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setUnderline:()=>({commands:A})=>A.setMark(this.name),toggleUnderline:()=>({commands:A})=>A.toggleMark(this.name),unsetUnderline:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),rE=o.create({name:"color",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:A=>{var e;return null===(e=A.style.color)||void 0===e?void 0:e.replace(/['"]+/g,"")},renderHTML:A=>A.color?{style:`color: ${A.color}`}:{}}}}]},addCommands:()=>({setColor:A=>({chain:e})=>e().setMark("textStyle",{color:A}).run(),unsetColor:()=>({chain:A})=>A().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()})}),cE=o.create({name:"fontFamily",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{fontFamily:{default:null,parseHTML:A=>{var e;return null===(e=A.style.fontFamily)||void 0===e?void 0:e.replace(/['"]+/g,"")},renderHTML:A=>A.fontFamily?{style:`font-family: ${A.fontFamily.split(",").map((A=>CSS.escape(A.trim()))).join(", ")}`}:{}}}}]},addCommands:()=>({setFontFamily:A=>({chain:e})=>e().setMark("textStyle",{fontFamily:A}).run(),unsetFontFamily:()=>({chain:A})=>A().setMark("textStyle",{fontFamily:null}).removeEmptyTextStyle().run()})}),gE=/^\s*>\s$/,aE=R.create({name:"blockquote",addOptions:()=>({HTMLAttributes:{}}),content:"block+",group:"block",defining:!0,parseHTML:()=>[{tag:"blockquote"}],renderHTML({HTMLAttributes:A}){return["blockquote",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setBlockquote:()=>({commands:A})=>A.wrapIn(this.name),toggleBlockquote:()=>({commands:A})=>A.toggleWrap(this.name),unsetBlockquote:()=>({commands:A})=>A.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[I({find:gE,type:this.type})]}}),QE=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,lE=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,hE=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,ME=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,wE=Q.create({name:"bold",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"strong"},{tag:"b",getAttrs:A=>"normal"!==A.style.fontWeight&&null},{style:"font-weight",getAttrs:A=>/^(bold(er)?|[5-9]\d{2,})$/.test(A)&&null}],renderHTML({HTMLAttributes:A}){return["strong",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setBold:()=>({commands:A})=>A.setMark(this.name),toggleBold:()=>({commands:A})=>A.toggleMark(this.name),unsetBold:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[h({find:QE,type:this.type}),h({find:hE,type:this.type})]},addPasteRules(){return[w({find:lE,type:this.type}),w({find:ME,type:this.type})]}}),RE=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:A}){return["li",l(this.options.HTMLAttributes,A),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),IE=Q.create({name:"textStyle",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"span",getAttrs:A=>!!A.hasAttribute("style")&&{}}],renderHTML({HTMLAttributes:A}){return["span",l(this.options.HTMLAttributes,A),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:A,commands:e})=>{const t=d(A,this.type);return!!Object.entries(t).some((([,A])=>!!A))||e.unsetMark(this.name)}}}}),uE=/^\s*([-+*])\s$/,dE=R.create({name:"bulletList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML:()=>[{tag:"ul"}],renderHTML({HTMLAttributes:A}){return["ul",l(this.options.HTMLAttributes,A),0]},addCommands(){return{toggleBulletList:()=>({commands:A,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(RE.name,this.editor.getAttributes(IE.name)).run():A.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let A=I({find:uE,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(A=I({find:uE,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(IE.name),editor:this.editor})),[A]}}),GE=/(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))$/,CE=/(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))/g,kE=Q.create({name:"code",addOptions:()=>({HTMLAttributes:{}}),excludes:"_",code:!0,exitable:!0,parseHTML:()=>[{tag:"code"}],renderHTML({HTMLAttributes:A}){return["code",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setCode:()=>({commands:A})=>A.setMark(this.name),toggleCode:()=>({commands:A})=>A.toggleMark(this.name),unsetCode:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[h({find:GE,type:this.type})]},addPasteRules(){return[w({find:CE,type:this.type})]}}),DE=R.create({name:"doc",topNode:!0,content:"block+"});function FE(A={}){return new E({view:e=>new YE(e,A)})}class YE{constructor(A,e){var t;this.editorView=A,this.cursorPos=null,this.element=null,this.timeout=-1,this.width=null!==(t=e.width)&&void 0!==t?t:1,this.color=!1===e.color?void 0:e.color||"black",this.class=e.class,this.handlers=["dragover","dragend","drop","dragleave"].map((e=>{let t=A=>{this[e](A)};return A.dom.addEventListener(e,t),{name:e,handler:t}}))}destroy(){this.handlers.forEach((({name:A,handler:e})=>this.editorView.dom.removeEventListener(A,e)))}update(A,e){null!=this.cursorPos&&e.doc!=A.state.doc&&(this.cursorPos>A.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(A){A!=this.cursorPos&&(this.cursorPos=A,null==A?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let A,e=this.editorView.state.doc.resolve(this.cursorPos),t=!e.parent.inlineContent;if(t){let t=e.nodeBefore,n=e.nodeAfter;if(t||n){let e=this.editorView.nodeDOM(this.cursorPos-(t?t.nodeSize:0));if(e){let i=e.getBoundingClientRect(),B=t?i.bottom:i.top;t&&n&&(B=(B+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2),A={left:i.left,right:i.right,top:B-this.width/2,bottom:B+this.width/2}}}}if(!A){let e=this.editorView.coordsAtPos(this.cursorPos);A={left:e.left-this.width/2,right:e.left+this.width/2,top:e.top,bottom:e.bottom}}let n,i,B=this.editorView.dom.offsetParent;if(this.element||(this.element=B.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",t),this.element.classList.toggle("prosemirror-dropcursor-inline",!t),!B||B==document.body&&"static"==getComputedStyle(B).position)n=-pageXOffset,i=-pageYOffset;else{let A=B.getBoundingClientRect();n=A.left-B.scrollLeft,i=A.top-B.scrollTop}this.element.style.left=A.left-n+"px",this.element.style.top=A.top-i+"px",this.element.style.width=A.right-A.left+"px",this.element.style.height=A.bottom-A.top+"px"}scheduleRemoval(A){clearTimeout(this.timeout),this.timeout=setTimeout((()=>this.setCursor(null)),A)}dragover(A){if(!this.editorView.editable)return;let e=this.editorView.posAtCoords({left:A.clientX,top:A.clientY}),t=e&&e.inside>=0&&this.editorView.state.doc.nodeAt(e.inside),n=t&&t.type.spec.disableDropCursor,i="function"==typeof n?n(this.editorView,e,A):n;if(e&&!i){let A=e.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let e=y(this.editorView.state.doc,A,this.editorView.dragging.slice);null!=e&&(A=e)}this.setCursor(A),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(A){A.target!=this.editorView.dom&&this.editorView.dom.contains(A.relatedTarget)||this.setCursor(null)}}const fE=o.create({name:"dropCursor",addOptions:()=>({color:"currentColor",width:1,class:void 0}),addProseMirrorPlugins(){return[FE(this.options)]}});class UE extends b{constructor(A){super(A,A)}map(A,e){let t=A.resolve(e.map(this.head));return UE.valid(t)?new UE(t):b.near(t)}content(){return H.empty}eq(A){return A instanceof UE&&A.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(A,e){if("number"!=typeof e.pos)throw new RangeError("Invalid input for GapCursor.fromJSON");return new UE(A.resolve(e.pos))}getBookmark(){return new NE(this.anchor)}static valid(A){let e=A.parent;if(e.isTextblock||!function(A){for(let e=A.depth;e>=0;e--){let t=A.index(e),n=A.node(e);if(0!=t)for(let A=n.child(t-1);;A=A.lastChild){if(0==A.childCount&&!A.inlineContent||A.isAtom||A.type.spec.isolating)return!0;if(A.inlineContent)return!1}else if(n.type.spec.isolating)return!0}return!0}(A)||!function(A){for(let e=A.depth;e>=0;e--){let t=A.indexAfter(e),n=A.node(e);if(t!=n.childCount)for(let A=n.child(t);;A=A.firstChild){if(0==A.childCount&&!A.inlineContent||A.isAtom||A.type.spec.isolating)return!0;if(A.inlineContent)return!1}else if(n.type.spec.isolating)return!0}return!0}(A))return!1;let t=e.type.spec.allowGapCursor;if(null!=t)return t;let n=e.contentMatchAt(A.index()).defaultType;return n&&n.isTextblock}static findGapCursorFrom(A,e,t=!1){A:for(;;){if(!t&&UE.valid(A))return A;let n=A.pos,i=null;for(let t=A.depth;;t--){let B=A.node(t);if(e>0?A.indexAfter(t)0){i=B.child(e>0?A.indexAfter(t):A.index(t)-1);break}if(0==t)return null;n+=e;let E=A.doc.resolve(n);if(UE.valid(E))return E}for(;;){let B=e>0?i.firstChild:i.lastChild;if(!B){if(i.isAtom&&!i.isText&&!T.isSelectable(i)){A=A.doc.resolve(n+i.nodeSize*e),t=!1;continue A}break}i=B,n+=e;let E=A.doc.resolve(n);if(UE.valid(E))return E}return null}}}UE.prototype.visible=!1,UE.findFrom=UE.findGapCursorFrom,b.jsonID("gapcursor",UE);class NE{constructor(A){this.pos=A}map(A){return new NE(A.map(this.pos))}resolve(A){let e=A.resolve(this.pos);return UE.valid(e)?new UE(e):b.near(e)}}const SE=z({ArrowLeft:mE("horiz",-1),ArrowRight:mE("horiz",1),ArrowUp:mE("vert",-1),ArrowDown:mE("vert",1)});function mE(A,e){const t="vert"==A?e>0?"down":"up":e>0?"right":"left";return function(A,n,i){let B=A.selection,E=e>0?B.$to:B.$from,s=B.empty;if(B instanceof C){if(!i.endOfTextblock(t)||0==E.depth)return!1;s=!1,E=A.doc.resolve(e>0?E.after():E.before())}let o=UE.findGapCursorFrom(E,e,s);return!!o&&(n&&n(A.tr.setSelection(new UE(o))),!0)}}function yE(A,e,t){if(!A||!A.editable)return!1;let n=A.state.doc.resolve(e);if(!UE.valid(n))return!1;let i=A.posAtCoords({left:t.clientX,top:t.clientY});return!(i&&i.inside>-1&&T.isSelectable(A.state.doc.nodeAt(i.inside))||(A.dispatch(A.state.tr.setSelection(new UE(n))),0))}function bE(A,e){if("insertCompositionText"!=e.inputType||!(A.state.selection instanceof UE))return!1;let{$from:t}=A.state.selection,n=t.parent.contentMatchAt(t.index()).findWrapping(A.state.schema.nodes.text);if(!n)return!1;let i=x.empty;for(let A=n.length-1;A>=0;A--)i=x.from(n[A].createAndFill(null,i));let B=A.state.tr.replace(t.pos,t.pos,new H(i,0,0));return B.setSelection(C.near(B.doc.resolve(t.pos+1))),A.dispatch(B),!1}function HE(A){if(!(A.selection instanceof UE))return null;let e=document.createElement("div");return e.className="ProseMirror-gapcursor",k.create(A.doc,[F.widget(A.selection.head,e,{key:"gapcursor"})])}const TE=o.create({name:"gapCursor",addProseMirrorPlugins:()=>[new E({props:{decorations:HE,createSelectionBetween:(A,e,t)=>e.pos==t.pos&&UE.valid(t)?new UE(t):null,handleClick:yE,handleKeyDown:SE,handleDOMEvents:{beforeinput:bE}}})],extendNodeSchema(A){var e;return{allowGapCursor:null!==(e=p(J(A,"allowGapCursor",{name:A.name,options:A.options,storage:A.storage})))&&void 0!==e?e:null}}}),zE=R.create({name:"hardBreak",addOptions:()=>({keepMarks:!0,HTMLAttributes:{}}),inline:!0,group:"inline",selectable:!1,parseHTML:()=>[{tag:"br"}],renderHTML({HTMLAttributes:A}){return["br",l(this.options.HTMLAttributes,A)]},renderText:()=>"\n",addCommands(){return{setHardBreak:()=>({commands:A,chain:e,state:t,editor:n})=>A.first([()=>A.exitCode(),()=>A.command((()=>{const{selection:A,storedMarks:i}=t;if(A.$from.parent.type.spec.isolating)return!1;const{keepMarks:B}=this.options,{splittableMarks:E}=n.extensionManager,s=i||A.$to.parentOffset&&A.$from.marks();return e().insertContent({type:this.name}).command((({tr:A,dispatch:e})=>{if(e&&s&&B){const e=s.filter((A=>E.includes(A.type.name)));A.ensureMarks(e)}return!0})).run()}))])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),xE=R.create({name:"heading",addOptions:()=>({levels:[1,2,3,4,5,6],HTMLAttributes:{}}),content:"inline*",group:"block",defining:!0,addAttributes:()=>({level:{default:1,rendered:!1}}),parseHTML(){return this.options.levels.map((A=>({tag:`h${A}`,attrs:{level:A}})))},renderHTML({node:A,HTMLAttributes:e}){return[`h${this.options.levels.includes(A.attrs.level)?A.attrs.level:this.options.levels[0]}`,l(this.options.HTMLAttributes,e),0]},addCommands(){return{setHeading:A=>({commands:e})=>!!this.options.levels.includes(A.level)&&e.setNode(this.name,A),toggleHeading:A=>({commands:e})=>!!this.options.levels.includes(A.level)&&e.toggleNode(this.name,"paragraph",A)}},addKeyboardShortcuts(){return this.options.levels.reduce(((A,e)=>({...A,[`Mod-Alt-${e}`]:()=>this.editor.commands.toggleHeading({level:e})})),{})},addInputRules(){return this.options.levels.map((A=>G({find:new RegExp(`^(#{1,${A}})\\s$`),type:this.type,getAttributes:{level:A}})))}});var pE=200,JE=function(){};JE.prototype.append=function(A){return A.length?(A=JE.from(A),!this.length&&A||A.length=e?JE.empty:this.sliceInner(Math.max(0,A),Math.min(this.length,e))},JE.prototype.get=function(A){if(!(A<0||A>=this.length))return this.getInner(A)},JE.prototype.forEach=function(A,e,t){void 0===e&&(e=0),void 0===t&&(t=this.length),e<=t?this.forEachInner(A,e,t,0):this.forEachInvertedInner(A,e,t,0)},JE.prototype.map=function(A,e,t){void 0===e&&(e=0),void 0===t&&(t=this.length);var n=[];return this.forEach((function(e,t){return n.push(A(e,t))}),e,t),n},JE.from=function(A){return A instanceof JE?A:A&&A.length?new jE(A):JE.empty};var jE=function(A){function e(e){A.call(this),this.values=e}A&&(e.__proto__=A),(e.prototype=Object.create(A&&A.prototype)).constructor=e;var t={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(A,t){return 0==A&&t==this.length?this:new e(this.values.slice(A,t))},e.prototype.getInner=function(A){return this.values[A]},e.prototype.forEachInner=function(A,e,t,n){for(var i=e;i=t;i--)if(!1===A(this.values[i],n+i))return!1},e.prototype.leafAppend=function(A){if(this.length+A.length<=pE)return new e(this.values.concat(A.flatten()))},e.prototype.leafPrepend=function(A){if(this.length+A.length<=pE)return new e(A.flatten().concat(this.values))},t.length.get=function(){return this.values.length},t.depth.get=function(){return 0},Object.defineProperties(e.prototype,t),e}(JE);JE.empty=new jE([]);var ZE=function(A){function e(e,t){A.call(this),this.left=e,this.right=t,this.length=e.length+t.length,this.depth=Math.max(e.depth,t.depth)+1}return A&&(e.__proto__=A),(e.prototype=Object.create(A&&A.prototype)).constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(A){return Ai&&!1===this.right.forEachInner(A,Math.max(e-i,0),Math.min(this.length,t)-i,n+i))&&void 0},e.prototype.forEachInvertedInner=function(A,e,t,n){var i=this.left.length;return!(e>i&&!1===this.right.forEachInvertedInner(A,e-i,Math.max(t,i)-i,n+i))&&!(t=t?this.right.slice(A-t,e-t):this.left.slice(A,t).append(this.right.slice(0,e-t))},e.prototype.leafAppend=function(A){var t=this.right.leafAppend(A);if(t)return new e(this.left,t)},e.prototype.leafPrepend=function(A){var t=this.left.leafPrepend(A);if(t)return new e(t,this.right)},e.prototype.appendInner=function(A){return this.left.depth>=Math.max(this.right.depth,A.depth)+1?new e(this.left,new e(this.right,A)):new e(this,A)},e}(JE);class PE{constructor(A,e){this.items=A,this.eventCount=e}popEvent(A,e){if(0==this.eventCount)return null;let t,n,i=this.items.length;for(;;i--)if(this.items.get(i-1).selection){--i;break}e&&(t=this.remapping(i,this.items.length),n=t.maps.length);let B,E,s=A.tr,o=[],r=[];return this.items.forEach(((A,e)=>{if(!A.step)return t||(t=this.remapping(i,e+1),n=t.maps.length),n--,void r.push(A);if(t){r.push(new VE(A.map));let e,i=A.step.map(t.slice(n));i&&s.maybeStep(i).doc&&(e=s.mapping.maps[s.mapping.maps.length-1],o.push(new VE(e,void 0,void 0,o.length+r.length))),n--,e&&t.appendMap(e,n)}else s.maybeStep(A.step);return A.selection?(B=t?A.selection.map(t.slice(n)):A.selection,E=new PE(this.items.slice(0,i).append(r.reverse().concat(o)),this.eventCount-1),!1):void 0}),this.items.length,0),{remaining:E,transform:s,selection:B}}addTransform(A,e,t,n){let i=[],B=this.eventCount,E=this.items,s=!n&&E.length?E.get(E.length-1):null;for(let t=0;tLE&&(E=function(A,e){let t;return A.forEach(((A,n)=>{if(A.selection&&0==e--)return t=n,!1})),A.slice(t)}(E,o),B-=o),new PE(E.append(i),B)}remapping(A,e){let t=new j;return this.items.forEach(((e,n)=>{t.appendMap(e.map,null!=e.mirrorOffset&&n-e.mirrorOffset>=A?t.maps.length-e.mirrorOffset:void 0)}),A,e),t}addMaps(A){return 0==this.eventCount?this:new PE(this.items.append(A.map((A=>new VE(A)))),this.eventCount)}rebased(A,e){if(!this.eventCount)return this;let t=[],n=Math.max(0,this.items.length-e),i=A.mapping,B=A.steps.length,E=this.eventCount;this.items.forEach((A=>{A.selection&&E--}),n);let s=e;this.items.forEach((e=>{let n=i.getMirror(--s);if(null==n)return;B=Math.min(B,n);let o=i.maps[n];if(e.step){let B=A.steps[n].invert(A.docs[n]),r=e.selection&&e.selection.map(i.slice(s+1,n));r&&E++,t.push(new VE(o,B,r))}else t.push(new VE(o))}),n);let o=[];for(let A=e;A500&&(c=c.compress(this.items.length-t.length)),c}emptyItemCount(){let A=0;return this.items.forEach((e=>{e.step||A++})),A}compress(A=this.items.length){let e=this.remapping(0,A),t=e.maps.length,n=[],i=0;return this.items.forEach(((B,E)=>{if(E>=A)n.push(B),B.selection&&i++;else if(B.step){let A=B.step.map(e.slice(t)),E=A&&A.getMap();if(t--,E&&e.appendMap(E,t),A){let s=B.selection&&B.selection.map(e.slice(t));s&&i++;let o,r=new VE(E.invert(),A,s),c=n.length-1;(o=n.length&&n[c].merge(r))?n[c]=o:n.push(r)}}else B.map&&t--}),this.items.length,0),new PE(JE.from(n.reverse()),i)}}PE.empty=new PE(JE.empty,0);class VE{constructor(A,e,t,n){this.map=A,this.step=e,this.selection=t,this.mirrorOffset=n}merge(A){if(this.step&&A.step&&!A.selection){let e=A.step.merge(this.step);if(e)return new VE(e.getMap().invert(),e,this.selection)}}}class vE{constructor(A,e,t,n,i){this.done=A,this.undone=e,this.prevRanges=t,this.prevTime=n,this.prevComposition=i}}const LE=20;function OE(A){let e=[];return A.forEach(((A,t,n,i)=>e.push(n,i))),e}function _E(A,e){if(!A)return null;let t=[];for(let n=0;nnew vE(PE.empty,PE.empty,null,0,-1),apply:(e,t,n)=>function(A,e,t,n){let i,B=t.getMeta(qE);if(B)return B.historyState;t.getMeta($E)&&(A=new vE(A.done,A.undone,null,0,-1));let E=t.getMeta("appendedTransaction");if(0==t.steps.length)return A;if(E&&E.getMeta(qE))return E.getMeta(qE).redo?new vE(A.done.addTransform(t,void 0,n,XE(e)),A.undone,OE(t.mapping.maps[t.steps.length-1]),A.prevTime,A.prevComposition):new vE(A.done,A.undone.addTransform(t,void 0,n,XE(e)),null,A.prevTime,A.prevComposition);if(!1===t.getMeta("addToHistory")||E&&!1===E.getMeta("addToHistory"))return(i=t.getMeta("rebased"))?new vE(A.done.rebased(t,i),A.undone.rebased(t,i),_E(A.prevRanges,t.mapping),A.prevTime,A.prevComposition):new vE(A.done.addMaps(t.mapping.maps),A.undone.addMaps(t.mapping.maps),_E(A.prevRanges,t.mapping),A.prevTime,A.prevComposition);{let i=t.getMeta("composition"),B=0==A.prevTime||!E&&A.prevComposition!=i&&(A.prevTime<(t.time||0)-n.newGroupDelay||!function(A,e){if(!e)return!1;if(!A.docChanged)return!0;let t=!1;return A.mapping.maps[0].forEach(((A,n)=>{for(let i=0;i=e[i]&&(t=!0)})),t}(t,A.prevRanges)),s=E?_E(A.prevRanges,t.mapping):OE(t.mapping.maps[t.steps.length-1]);return new vE(A.done.addTransform(t,B?e.selection.getBookmark():void 0,n,XE(e)),PE.empty,s,t.time,null==i?A.prevComposition:i)}}(t,n,e,A)},config:A={depth:A.depth||100,newGroupDelay:A.newGroupDelay||500},props:{handleDOMEvents:{beforeinput(A,e){let t=e.inputType,n="historyUndo"==t?ts:"historyRedo"==t?ns:null;return!!n&&(e.preventDefault(),n(A.state,A.dispatch))}}}})}function es(A,e){return(t,n)=>{let i=qE.getState(t);if(!i||0==(A?i.undone:i.done).eventCount)return!1;if(n){let B=function(A,e,t){let n=XE(e),i=qE.get(e).spec.config,B=(t?A.undone:A.done).popEvent(e,n);if(!B)return null;let E=B.selection.resolve(B.transform.doc),s=(t?A.done:A.undone).addTransform(B.transform,e.selection.getBookmark(),i,n),o=new vE(t?s:B.remaining,t?B.remaining:s,null,0,-1);return B.transform.setSelection(E).setMeta(qE,{redo:t,historyState:o})}(i,t,A);B&&n(e?B.scrollIntoView():B)}return!0}}const ts=es(!1,!0),ns=es(!0,!0),is=o.create({name:"history",addOptions:()=>({depth:100,newGroupDelay:500}),addCommands:()=>({undo:()=>({state:A,dispatch:e})=>ts(A,e),redo:()=>({state:A,dispatch:e})=>ns(A,e)}),addProseMirrorPlugins(){return[As(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}),Bs=R.create({name:"horizontalRule",addOptions:()=>({HTMLAttributes:{}}),group:"block",parseHTML:()=>[{tag:"hr"}],renderHTML({HTMLAttributes:A}){return["hr",l(this.options.HTMLAttributes,A)]},addCommands(){return{setHorizontalRule:()=>({chain:A,state:e})=>{const{$to:t}=e.selection,n=A();return 0===t.parentOffset?n.insertContentAt(Math.max(t.pos-2,0),{type:this.name}):n.insertContent({type:this.name}),n.command((({tr:A,dispatch:e})=>{var t;if(e){const{$to:e}=A.selection,n=e.end();if(e.nodeAfter)A.setSelection(e.nodeAfter.isTextblock?C.create(A.doc,e.pos+1):e.nodeAfter.isBlock?T.create(A.doc,e.pos):C.create(A.doc,e.pos));else{const i=null===(t=e.parent.type.contentMatch.defaultType)||void 0===t?void 0:t.create();i&&(A.insert(n,i),A.setSelection(C.create(A.doc,n+1)))}A.scrollIntoView()}return!0})).run()}}},addInputRules(){return[Y({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),Es=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/,ss=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g,os=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/,rs=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g,cs=Q.create({name:"italic",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"em"},{tag:"i",getAttrs:A=>"normal"!==A.style.fontStyle&&null},{style:"font-style=italic"}],renderHTML({HTMLAttributes:A}){return["em",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setItalic:()=>({commands:A})=>A.setMark(this.name),toggleItalic:()=>({commands:A})=>A.toggleMark(this.name),unsetItalic:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[h({find:Es,type:this.type}),h({find:os,type:this.type})]},addPasteRules(){return[w({find:ss,type:this.type}),w({find:rs,type:this.type})]}}),gs=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:A}){return["li",l(this.options.HTMLAttributes,A),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),as=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:A}){return["li",l(this.options.HTMLAttributes,A),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),Qs=Q.create({name:"textStyle",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"span",getAttrs:A=>!!A.hasAttribute("style")&&{}}],renderHTML({HTMLAttributes:A}){return["span",l(this.options.HTMLAttributes,A),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:A,commands:e})=>{const t=d(A,this.type);return!!Object.entries(t).some((([,A])=>!!A))||e.unsetMark(this.name)}}}}),ls=/^(\d+)\.\s$/,hs=R.create({name:"orderedList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},addAttributes:()=>({start:{default:1,parseHTML:A=>A.hasAttribute("start")?parseInt(A.getAttribute("start")||"",10):1}}),parseHTML:()=>[{tag:"ol"}],renderHTML({HTMLAttributes:A}){const{start:e,...t}=A;return 1===e?["ol",l(this.options.HTMLAttributes,t),0]:["ol",l(this.options.HTMLAttributes,A),0]},addCommands(){return{toggleOrderedList:()=>({commands:A,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(as.name,this.editor.getAttributes(Qs.name)).run():A.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let A=I({find:ls,type:this.type,getAttributes:A=>({start:+A[1]}),joinPredicate:(A,e)=>e.childCount+e.attrs.start===+A[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(A=I({find:ls,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:A=>({start:+A[1],...this.editor.getAttributes(Qs.name)}),joinPredicate:(A,e)=>e.childCount+e.attrs.start===+A[1],editor:this.editor})),[A]}}),Ms=R.create({name:"paragraph",priority:1e3,addOptions:()=>({HTMLAttributes:{}}),group:"block",content:"inline*",parseHTML:()=>[{tag:"p"}],renderHTML({HTMLAttributes:A}){return["p",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setParagraph:()=>({commands:A})=>A.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),ws=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,Rs=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,Is=Q.create({name:"strike",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:A=>!!A.includes("line-through")&&{}}],renderHTML({HTMLAttributes:A}){return["s",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setStrike:()=>({commands:A})=>A.setMark(this.name),toggleStrike:()=>({commands:A})=>A.toggleMark(this.name),unsetStrike:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){const A={};return P()?A["Mod-Shift-s"]=()=>this.editor.commands.toggleStrike():A["Ctrl-Shift-s"]=()=>this.editor.commands.toggleStrike(),A},addInputRules(){return[h({find:ws,type:this.type})]},addPasteRules(){return[w({find:Rs,type:this.type})]}}),us=R.create({name:"text",group:"inline"}),ds=o.create({name:"starterKit",addExtensions(){var A,e,t,n,i,B,E,s,o,r,c,g,a,Q,l,h,M,w;const R=[];return!1!==this.options.blockquote&&R.push(aE.configure(null===(A=this.options)||void 0===A?void 0:A.blockquote)),!1!==this.options.bold&&R.push(wE.configure(null===(e=this.options)||void 0===e?void 0:e.bold)),!1!==this.options.bulletList&&R.push(dE.configure(null===(t=this.options)||void 0===t?void 0:t.bulletList)),!1!==this.options.code&&R.push(kE.configure(null===(n=this.options)||void 0===n?void 0:n.code)),!1!==this.options.codeBlock&&R.push(gA.configure(null===(i=this.options)||void 0===i?void 0:i.codeBlock)),!1!==this.options.document&&R.push(DE.configure(null===(B=this.options)||void 0===B?void 0:B.document)),!1!==this.options.dropcursor&&R.push(fE.configure(null===(E=this.options)||void 0===E?void 0:E.dropcursor)),!1!==this.options.gapcursor&&R.push(TE.configure(null===(s=this.options)||void 0===s?void 0:s.gapcursor)),!1!==this.options.hardBreak&&R.push(zE.configure(null===(o=this.options)||void 0===o?void 0:o.hardBreak)),!1!==this.options.heading&&R.push(xE.configure(null===(r=this.options)||void 0===r?void 0:r.heading)),!1!==this.options.history&&R.push(is.configure(null===(c=this.options)||void 0===c?void 0:c.history)),!1!==this.options.horizontalRule&&R.push(Bs.configure(null===(g=this.options)||void 0===g?void 0:g.horizontalRule)),!1!==this.options.italic&&R.push(cs.configure(null===(a=this.options)||void 0===a?void 0:a.italic)),!1!==this.options.listItem&&R.push(gs.configure(null===(Q=this.options)||void 0===Q?void 0:Q.listItem)),!1!==this.options.orderedList&&R.push(hs.configure(null===(l=this.options)||void 0===l?void 0:l.orderedList)),!1!==this.options.paragraph&&R.push(Ms.configure(null===(h=this.options)||void 0===h?void 0:h.paragraph)),!1!==this.options.strike&&R.push(Is.configure(null===(M=this.options)||void 0===M?void 0:M.strike)),!1!==this.options.text&&R.push(us.configure(null===(w=this.options)||void 0===w?void 0:w.text)),R}}),Gs=()=>new Map,Cs=A=>{const e=Gs();return A.forEach(((A,t)=>{e.set(t,A)})),e},ks=(A,e,t)=>{let n=A.get(e);return void 0===n&&A.set(e,n=t()),n},Ds=()=>new Set,Fs=A=>A[A.length-1],Ys=(A,e)=>{for(let t=0;t{this.off(A,t),e(...n)};this.on(A,t)}off(A,e){const t=this._observers.get(A);void 0!==t&&(t.delete(e),0===t.size&&this._observers.delete(A))}emit(A,e){return fs((this._observers.get(A)||Gs()).values()).forEach((A=>A(...e)))}destroy(){this._observers=Gs()}}const Ss=Math.floor,ms=Math.abs,ys=(A,e)=>AA>e?A:e,Hs=A=>0!==A?A<0:1/A<0,Ts=64,zs=128,xs=127,ps=Number.MAX_SAFE_INTEGER,Js=Number.isInteger||(A=>"number"==typeof A&&isFinite(A)&&Ss(A)===A),js=/^\s*/g,Zs=/([A-Z])/g,Ps=(A,e)=>(A=>A.replace(js,""))(A.replace(Zs,(A=>`${e}${(A=>A.toLowerCase())(A)}`))),Vs="undefined"!=typeof TextEncoder?new TextEncoder:null,vs=Vs?A=>Vs.encode(A):A=>{const e=unescape(encodeURIComponent(A)),t=e.length,n=new Uint8Array(t);for(let A=0;Anew Os,Ks=A=>{const e=new Uint8Array((A=>{let e=A.cpos;for(let t=0;t{const t=A.cbuf.length;A.cpos===t&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(2*t),A.cpos=0),A.cbuf[A.cpos++]=e},Xs=Ws,qs=(A,e)=>{for(;e>xs;)Ws(A,zs|xs&e),e=Ss(e/128);Ws(A,xs&e)},$s=(A,e)=>{const t=Hs(e);for(t&&(e=-e),Ws(A,(e>63?zs:0)|(t?Ts:0)|63&e),e=Ss(e/64);e>0;)Ws(A,(e>xs?zs:0)|xs&e),e=Ss(e/128)},Ao=new Uint8Array(3e4),eo=Ao.length/3,to=Vs&&Vs.encodeInto?(A,e)=>{if(e.length{const t=unescape(encodeURIComponent(e)),n=t.length;qs(A,n);for(let e=0;e{const t=A.cbuf.length,n=A.cpos,i=ys(t-n,e.length),B=e.length-i;A.cbuf.set(e.subarray(0,i),n),A.cpos+=i,B>0&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(bs(2*t,B)),A.cbuf.set(e.subarray(i)),A.cpos=B)},io=(A,e)=>{qs(A,e.byteLength),no(A,e)},Bo=(A,e)=>{((A,e)=>{const t=A.cbuf.length;t-A.cpos{switch(typeof e){case"string":Ws(A,119),to(A,e);break;case"number":Js(e)&&ms(e)<=2147483647?(Ws(A,125),$s(A,e)):(Eo.setFloat32(0,t=e),Eo.getFloat32(0)===t?(Ws(A,124),((A,e)=>{Bo(A,4).setFloat32(0,e,!1)})(A,e)):(Ws(A,123),((A,e)=>{Bo(A,8).setFloat64(0,e,!1)})(A,e)));break;case"bigint":Ws(A,122),((A,e)=>{Bo(A,8).setBigInt64(0,e,!1)})(A,e);break;case"object":if(null===e)Ws(A,126);else if(Us(e)){Ws(A,117),qs(A,e.length);for(let t=0;t0&&qs(this,this.count-1),this.count=1,this.w(this,A),this.s=A)}}const ro=A=>{A.count>0&&($s(A.encoder,1===A.count?A.s:-A.s),A.count>1&&qs(A.encoder,A.count-2))};class co{constructor(){this.encoder=new Os,this.s=0,this.count=0}write(A){this.s===A?this.count++:(ro(this),this.count=1,this.s=A)}toUint8Array(){return ro(this),Ks(this.encoder)}}const go=A=>{A.count>0&&($s(A.encoder,2*A.diff+(1===A.count?0:1)),A.count>1&&qs(A.encoder,A.count-2))};class ao{constructor(){this.encoder=new Os,this.s=0,this.count=0,this.diff=0}write(A){this.diff===A-this.s?(this.s=A,this.count++):(go(this),this.count=1,this.diff=A-this.s,this.s=A)}toUint8Array(){return go(this),Ks(this.encoder)}}class Qo{constructor(){this.sarr=[],this.s="",this.lensE=new co}write(A){this.s+=A,this.s.length>19&&(this.sarr.push(this.s),this.s=""),this.lensE.write(A.length)}toUint8Array(){const A=new Os;return this.sarr.push(this.s),this.s="",to(A,this.sarr.join("")),no(A,this.lensE.toUint8Array()),Ks(A)}}const lo=A=>new Error(A),ho=()=>{throw lo("Method unimplemented")},Mo=()=>{throw lo("Unexpected case")},wo=lo("Unexpected end of array"),Ro=lo("Integer out of Range");class Io{constructor(A){this.arr=A,this.pos=0}}const uo=A=>new Io(A),Go=A=>((A,e)=>{const t=new Uint8Array(A.arr.buffer,A.pos+A.arr.byteOffset,e);return A.pos+=e,t})(A,ko(A)),Co=A=>A.arr[A.pos++],ko=A=>{let e=0,t=1;const n=A.arr.length;for(;A.posps)throw Ro}throw wo},Do=A=>{let e=A.arr[A.pos++],t=63&e,n=64;const i=(e&Ts)>0?-1:1;if(!(e&zs))return i*t;const B=A.arr.length;for(;A.posps)throw Ro}throw wo},Fo=Ls?A=>Ls.decode(Go(A)):A=>{let e=ko(A);if(0===e)return"";{let t=String.fromCodePoint(Co(A));if(--e<100)for(;e--;)t+=String.fromCodePoint(Co(A));else for(;e>0;){const n=e<1e4?e:1e4,i=A.arr.subarray(A.pos,A.pos+n);A.pos+=n,t+=String.fromCodePoint.apply(null,i),e-=n}return decodeURIComponent(escape(t))}},Yo=(A,e)=>{const t=new DataView(A.arr.buffer,A.arr.byteOffset+A.pos,e);return A.pos+=e,t},fo=[()=>{},()=>null,Do,A=>Yo(A,4).getFloat32(0,!1),A=>Yo(A,8).getFloat64(0,!1),A=>Yo(A,8).getBigInt64(0,!1),()=>!1,()=>!0,Fo,A=>{const e=ko(A),t={};for(let n=0;n{const e=ko(A),t=[];for(let n=0;nfo[127-Co(A)](A);class No extends Io{constructor(A,e){super(A),this.reader=e,this.s=null,this.count=0}read(){return 0===this.count&&(this.s=this.reader(this),this.count=this.pos!==this.arr.length?ko(this)+1:-1),this.count--,this.s}}class So extends Io{constructor(A){super(A),this.s=0,this.count=0}read(){if(0===this.count){this.s=Do(this);const A=Hs(this.s);this.count=1,A&&(this.s=-this.s,this.count=ko(this)+2)}return this.count--,this.s}}class mo extends Io{constructor(A){super(A),this.s=0,this.count=0,this.diff=0}read(){if(0===this.count){const A=Do(this),e=1&A;this.diff=Ss(A/2),this.count=1,e&&(this.count=ko(this)+2)}return this.s+=this.diff,this.count--,this.s}}class yo{constructor(A){this.decoder=new So(A),this.str=Fo(this.decoder),this.spos=0}read(){const A=this.spos+this.decoder.read(),e=this.str.slice(this.spos,A);return this.spos=A,e}}const bo=crypto.getRandomValues.bind(crypto),Ho=Math.random,To=()=>bo(new Uint32Array(1))[0],zo=[1e7]+-1e3+-4e3+-8e3+-1e11,xo=()=>zo.replace(/[018]/g,(A=>(A^To()&15>>A/4).toString(16))),po=Date.now,Jo=A=>new Promise(A);Promise.all.bind(Promise);let jo=new class{constructor(){this.map=new Map}setItem(A,e){this.map.set(A,e)}getItem(A){return this.map.get(A)}};try{"undefined"!=typeof localStorage&&localStorage&&(jo=localStorage)}catch(A){}const Zo=jo,Po=Object.assign,Vo=Object.keys,vo=A=>Vo(A).length,Lo=(A,e,t=0)=>{try{for(;tA,_o="undefined"!=typeof process&&process.release&&/node|io\.js/.test(process.release.name)&&"[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0),Ko="undefined"!=typeof window&&"undefined"!=typeof document&&!_o;let Wo;"undefined"!=typeof navigator&&/Mac/.test(navigator.platform);const Xo=A=>(()=>{if(void 0===Wo)if(_o){Wo=Gs();const A=process.argv;let e=null;for(let t=0;t{if(0!==A.length){const[e,t]=A.split("=");Wo.set(`--${Ps(e,"-")}`,t),Wo.set(`-${Ps(e,"-")}`,t)}}))):Wo=Gs();return Wo})().has(A),qo=A=>{return void 0===(e=_o?process.env[A.toUpperCase()]:Zo.getItem(A))?null:e;var e};Xo("--"+"production")||qo("production");const $o=_o&&(Ar=process.env.FORCE_COLOR,["true","1","2"].includes(Ar));var Ar;const er=!Xo("no-colors")&&(!_o||process.stdout.isTTY||$o)&&(!_o||Xo("color")||$o||null!==qo("COLORTERM")||(qo("TERM")||"").includes("color"));class tr{constructor(A,e){this.left=A,this.right=e}}const nr=(A,e)=>new tr(A,e),ir="undefined"!=typeof document?document:{};"undefined"!=typeof DOMParser&&new DOMParser;const Br=(Er=clearTimeout,class{constructor(A){this._=A}destroy(){Er(this._)}});var Er;const sr=(A,e)=>new Br(setTimeout(e,A)),or=Symbol,rr=or(),cr=or(),gr=or(),ar=or(),Qr=or(),lr=or(),hr=or(),Mr=or(),wr=or(),Rr={[rr]:nr("font-weight","bold"),[cr]:nr("font-weight","normal"),[gr]:nr("color","blue"),[Qr]:nr("color","green"),[ar]:nr("color","grey"),[lr]:nr("color","red"),[hr]:nr("color","purple"),[Mr]:nr("color","orange"),[wr]:nr("color","black")},Ir=er?A=>{const e=[],t=[],n=Gs();let i=[],B=0;for(;B{const t=[];for(const[n,i]of A)t.push(e(i,n));return t})(n,((A,e)=>`${e}:${A};`)).join("");B>0||A.length>0?(e.push("%c"+i),t.push(A)):e.push(i)}}}for(B>0&&(i=t,i.unshift(e.join("")));B{const e=[];let t=0;for(;t({[Symbol.iterator](){return this},next:A}),Gr=(A,e)=>dr((()=>{const{done:t,value:n}=A.next();return{done:t,value:t?void 0:e(n)}}));class Cr{constructor(A,e){this.clock=A,this.len=e}}class kr{constructor(){this.clients=new Map}}const Dr=(A,e,t)=>e.clients.forEach(((e,n)=>{const i=A.doc.store.clients.get(n);for(let n=0;n{const t=A.clients.get(e.client);return void 0!==t&&null!==((A,e)=>{let t=0,n=A.length-1;for(;t<=n;){const i=Ss((t+n)/2),B=A[i],E=B.clock;if(E<=e){if(e{A.clients.forEach((A=>{let e,t;for(A.sort(((A,e)=>A.clock-e.clock)),e=1,t=1;e=i.clock?n.len=bs(n.len,i.clock+i.len-n.clock):(t{const e=new kr;for(let t=0;t{if(!e.clients.has(i)){const B=n.slice();for(let e=t+1;e{ks(A.clients,e,(()=>[])).push(new Cr(t,n))},Nr=()=>new kr,Sr=A=>{const e=Nr();return A.clients.forEach(((A,t)=>{const n=[];for(let e=0;e0&&e.clients.set(t,n)})),e},mr=(A,e)=>{qs(A.restEncoder,e.clients.size),fs(e.clients.entries()).sort(((A,e)=>e[0]-A[0])).forEach((([e,t])=>{A.resetDsCurVal(),qs(A.restEncoder,e);const n=t.length;qs(A.restEncoder,n);for(let e=0;e{const e=new kr,t=ko(A.restDecoder);for(let n=0;n0){const i=ks(e.clients,t,(()=>[]));for(let e=0;e{const n=new kr,i=ko(A.restDecoder);for(let B=0;B0){const A=new Vr;return qs(A.restEncoder,0),mr(A,n),A.toUint8Array()}return null},Hr=To;class Tr extends Ns{constructor({guid:A=xo(),collectionid:e=null,gc:t=!0,gcFilter:n=(()=>!0),meta:i=null,autoLoad:B=!1,shouldLoad:E=!0}={}){super(),this.gc=t,this.gcFilter=n,this.clientID=Hr(),this.guid=A,this.collectionid=e,this.share=new Map,this.store=new hc,this._transaction=null,this._transactionCleanups=[],this.subdocs=new Set,this._item=null,this.shouldLoad=E,this.autoLoad=B,this.meta=i,this.isLoaded=!1,this.isSynced=!1,this.whenLoaded=Jo((A=>{this.on("load",(()=>{this.isLoaded=!0,A(this)}))}));const s=()=>Jo((A=>{const e=t=>{void 0!==t&&!0!==t||(this.off("sync",e),A())};this.on("sync",e)}));this.on("sync",(A=>{!1===A&&this.isSynced&&(this.whenSynced=s()),this.isSynced=void 0===A||!0===A,this.isSynced&&!this.isLoaded&&this.emit("load",[this])})),this.whenSynced=s()}load(){const A=this._item;null===A||this.shouldLoad||Nc(A.parent.doc,(A=>{A.subdocsLoaded.add(this)}),null,!0),this.shouldLoad=!0}getSubdocs(){return this.subdocs}getSubdocGuids(){return new Set(fs(this.subdocs).map((A=>A.guid)))}transact(A,e=null){return Nc(this,A,e)}get(A,e=Ag){const t=ks(this.share,A,(()=>{const A=new e;return A._integrate(this,null),A})),n=t.constructor;if(e!==Ag&&n!==e){if(n===Ag){const n=new e;n._map=t._map,t._map.forEach((A=>{for(;null!==A;A=A.left)A.parent=n})),n._start=t._start;for(let A=n._start;null!==A;A=A.right)A.parent=n;return n._length=t._length,this.share.set(A,n),n._integrate(this,null),n}throw new Error(`Type with the name ${A} has already been defined with a different constructor`)}return t}getArray(A=""){return this.get(A,Ig)}getText(A=""){return this.get(A,zg)}getMap(A=""){return this.get(A,dg)}getXmlElement(A=""){return this.get(A,Jg)}getXmlFragment(A=""){return this.get(A,pg)}toJSON(){const A={};return this.share.forEach(((e,t)=>{A[t]=e.toJSON()})),A}destroy(){fs(this.subdocs).forEach((A=>A.destroy()));const A=this._item;if(null!==A){this._item=null;const e=A.content;e.doc=new Tr({guid:this.guid,...e.opts,shouldLoad:!1}),e.doc._item=A,Nc(A.parent.doc,(t=>{A.deleted||t.subdocsAdded.add(e.doc),t.subdocsRemoved.add(this)}),null,!0)}this.emit("destroyed",[!0]),this.emit("destroy",[this]),super.destroy()}}class zr{constructor(A){this.restDecoder=A}resetDsCurVal(){}readDsClock(){return ko(this.restDecoder)}readDsLen(){return ko(this.restDecoder)}}class xr extends zr{readLeftID(){return tc(ko(this.restDecoder),ko(this.restDecoder))}readRightID(){return tc(ko(this.restDecoder),ko(this.restDecoder))}readClient(){return ko(this.restDecoder)}readInfo(){return Co(this.restDecoder)}readString(){return Fo(this.restDecoder)}readParentInfo(){return 1===ko(this.restDecoder)}readTypeRef(){return ko(this.restDecoder)}readLen(){return ko(this.restDecoder)}readAny(){return Uo(this.restDecoder)}readBuf(){return(A=>{const e=new Uint8Array(A.byteLength);return e.set(A),e})(Go(this.restDecoder))}readJSON(){return JSON.parse(Fo(this.restDecoder))}readKey(){return Fo(this.restDecoder)}}class pr{constructor(A){this.dsCurrVal=0,this.restDecoder=A}resetDsCurVal(){this.dsCurrVal=0}readDsClock(){return this.dsCurrVal+=ko(this.restDecoder),this.dsCurrVal}readDsLen(){const A=ko(this.restDecoder)+1;return this.dsCurrVal+=A,A}}class Jr extends pr{constructor(A){super(A),this.keys=[],ko(A),this.keyClockDecoder=new mo(Go(A)),this.clientDecoder=new So(Go(A)),this.leftClockDecoder=new mo(Go(A)),this.rightClockDecoder=new mo(Go(A)),this.infoDecoder=new No(Go(A),Co),this.stringDecoder=new yo(Go(A)),this.parentInfoDecoder=new No(Go(A),Co),this.typeRefDecoder=new So(Go(A)),this.lenDecoder=new So(Go(A))}readLeftID(){return new Ac(this.clientDecoder.read(),this.leftClockDecoder.read())}readRightID(){return new Ac(this.clientDecoder.read(),this.rightClockDecoder.read())}readClient(){return this.clientDecoder.read()}readInfo(){return this.infoDecoder.read()}readString(){return this.stringDecoder.read()}readParentInfo(){return 1===this.parentInfoDecoder.read()}readTypeRef(){return this.typeRefDecoder.read()}readLen(){return this.lenDecoder.read()}readAny(){return Uo(this.restDecoder)}readBuf(){return Go(this.restDecoder)}readJSON(){return Uo(this.restDecoder)}readKey(){const A=this.keyClockDecoder.read();if(A{const n=new Map;t.forEach(((A,t)=>{wc(e,t)>A&&n.set(t,A)})),Mc(e).forEach(((A,e)=>{t.has(e)||n.set(e,0)})),qs(A.restEncoder,n.size),fs(n.entries()).sort(((A,e)=>e[0]-A[0])).forEach((([t,n])=>{((A,e,t,n)=>{n=bs(n,e[0].id.clock);const i=Ic(e,n);qs(A.restEncoder,e.length-i),A.writeClient(t),qs(A.restEncoder,n);const B=e[i];B.write(A,n-B.id.clock);for(let t=i+1;t{const i=uo(e);((A,e,t,n=new Jr(A))=>{Nc(e,(A=>{A.local=!1;let e=!1;const t=A.doc,i=t.store,B=((A,e)=>{const t=Gs(),n=ko(A.restDecoder);for(let i=0;i{const n=[];let i=fs(t.keys()).sort(((A,e)=>A-e));if(0===i.length)return null;const B=()=>{if(0===i.length)return null;let A=t.get(i[i.length-1]);for(;A.refs.length===A.i;){if(i.pop(),!(i.length>0))return null;A=t.get(i[i.length-1])}return A};let E=B();if(null===E)return null;const s=new hc,o=new Map,r=(A,e)=>{const t=o.get(A);(null==t||t>e)&&o.set(A,e)};let c=E.refs[E.i++];const g=new Map,a=()=>{for(const A of n){const e=A.id.client,n=t.get(e);n?(n.i--,s.clients.set(e,n.refs.slice(n.i)),t.delete(e),n.i=0,n.refs=[]):s.clients.set(e,[A]),i=i.filter((A=>A!==e))}n.length=0};for(;;){if(c.constructor!==Ra){const i=ks(g,c.id.client,(()=>wc(e,c.id.client)))-c.id.clock;if(i<0)n.push(c),r(c.id.client,c.id.clock-1),a();else{const B=c.getMissing(A,e);if(null!==B){n.push(c);const A=t.get(B)||{refs:[],i:0};if(A.refs.length!==A.i){c=A.refs[A.i++];continue}r(B,wc(e,B)),a()}else(0===i||i0)c=n.pop();else if(null!==E&&E.i0){const A=new Vr;return vr(A,s,new Map),qs(A.restEncoder,0),{missing:o,update:A.toUint8Array()}}return null})(A,i,B),s=i.pendingStructs;if(s){for(const[A,t]of s.missing)if(te)&&s.missing.set(A,e)}s.update=pc([s.update,E.update])}}else i.pendingStructs=E;const o=br(n,A,i);if(i.pendingDs){const e=new Jr(uo(i.pendingDs));ko(e.restDecoder);const t=br(e,A,i);i.pendingDs=o&&t?pc([o,t]):o||t}else i.pendingDs=o;if(e){const e=i.pendingStructs.update;i.pendingStructs=null,Lr(A.doc,e)}}),t,!1)})(i,A,t,new n(i))},Or=A=>(A=>{const e=new Map,t=ko(A.restDecoder);for(let n=0;n(qs(A.restEncoder,e.size),fs(e.entries()).sort(((A,e)=>e[0]-A[0])).forEach((([e,t])=>{qs(A.restEncoder,e),qs(A.restEncoder,t)})),A);class Kr{constructor(){this.l=[]}}const Wr=()=>new Kr,Xr=(A,e)=>A.l.push(e),qr=(A,e)=>{const t=A.l,n=t.length;A.l=t.filter((A=>e!==A)),n===A.l.length&&console.error("[yjs] Tried to remove event handler that doesn't exist.")},$r=(A,e,t)=>Lo(A.l,[e,t]);class Ac{constructor(A,e){this.client=A,this.clock=e}}const ec=(A,e)=>A===e||null!==A&&null!==e&&A.client===e.client&&A.clock===e.clock,tc=(A,e)=>new Ac(A,e),nc=A=>{for(const[e,t]of A.doc.share.entries())if(t===A)return e;throw Mo()},ic=(A,e)=>{for(;null!==e;){if(e.parent===A)return!0;e=e.parent._item}return!1};class Bc{constructor(A,e,t,n=0){this.type=A,this.tname=e,this.item=t,this.assoc=n}}const Ec=A=>new Bc(null==A.type?null:tc(A.type.client,A.type.clock),A.tname||null,null==A.item?null:tc(A.item.client,A.item.clock),null==A.assoc?0:A.assoc);class sc{constructor(A,e,t=0){this.type=A,this.index=e,this.assoc=t}}const oc=(A,e,t)=>{let n=null,i=null;return null===A._item?i=nc(A):n=tc(A._item.id.client,A._item.id.clock),new Bc(n,i,e,t)},rc=(A,e,t=0)=>{let n=A._start;if(t<0){if(0===e)return oc(A,null,t);e--}for(;null!==n;){if(!n.deleted&&n.countable){if(n.length>e)return oc(A,tc(n.id.client,n.id.clock+e),t);e-=n.length}if(null===n.right&&t<0)return oc(A,n.lastId,t);n=n.right}return oc(A,null,t)},cc=(A,e)=>A===e||null!==A&&null!==e&&A.tname===e.tname&&ec(A.item,e.item)&&ec(A.type,e.type)&&A.assoc===e.assoc;class gc{constructor(A,e){this.ds=A,this.sv=e}}const ac=(A,e)=>new gc(A,e);ac(Nr(),new Map);const Qc=(A,e)=>void 0===e?!A.deleted:e.sv.has(A.id.client)&&(e.sv.get(A.id.client)||0)>A.id.clock&&!Fr(e.ds,A.id),lc=(A,e)=>{const t=ks(A.meta,lc,Ds),n=A.doc.store;t.has(e)||(e.sv.forEach(((e,t)=>{e{})),t.add(e))};class hc{constructor(){this.clients=new Map,this.pendingStructs=null,this.pendingDs=null}}const Mc=A=>{const e=new Map;return A.clients.forEach(((A,t)=>{const n=A[A.length-1];e.set(t,n.id.clock+n.length)})),e},wc=(A,e)=>{const t=A.clients.get(e);if(void 0===t)return 0;const n=t[t.length-1];return n.id.clock+n.length},Rc=(A,e)=>{let t=A.clients.get(e.id.client);if(void 0===t)t=[],A.clients.set(e.id.client,t);else{const A=t[t.length-1];if(A.id.clock+A.length!==e.id.clock)throw Mo()}t.push(e)},Ic=(A,e)=>{let t=0,n=A.length-1,i=A[n],B=i.id.clock;if(B===e)return n;let E=Ss(e/(B+i.length-1)*n);for(;t<=n;){if(i=A[E],B=i.id.clock,B<=e){if(e{const t=A.clients.get(e.client);return t[Ic(t,e.clock)]},dc=(A,e,t)=>{const n=Ic(e,t),i=e[n];return i.id.clock{const t=A.doc.store.clients.get(e.client);return t[dc(A,t,e.clock)]},Cc=(A,e,t)=>{const n=e.clients.get(t.client),i=Ic(n,t.clock),B=n[i];return t.clock!==B.id.clock+B.length-1&&B.constructor!==vg&&n.splice(i+1,0,aa(A,B,t.clock-B.id.clock+1)),B},kc=(A,e,t,n,i)=>{if(0===n)return;const B=t+n;let E,s=dc(A,e,t);do{E=e[s++],B!(0===e.deleteSet.clients.size&&!(A=>{for(const[n,i]of A)if(t=i,e.beforeState.get(n)!==t)return!0;var t;return!1})(e.afterState)||(Yr(e.deleteSet),((A,e)=>{vr(A,e.doc.store,e.beforeState)})(A,e),mr(A,e.deleteSet),0)),Yc=(A,e,t)=>{const n=e._item;(null===n||n.id.clock<(A.beforeState.get(n.id.client)||0)&&!n.deleted)&&ks(A.changed,e,Ds).add(t)},fc=(A,e)=>{let t=A[e],n=A[e-1],i=e;for(;i>0&&n.deleted===t.deleted&&n.constructor===t.constructor&&n.mergeWith(t);t=n,n=A[--i-1])t instanceof ha&&null!==t.parentSub&&t.parent._map.get(t.parentSub)===t&&t.parent._map.set(t.parentSub,n);const B=e-i;return B&&A.splice(e+1-B,B),B},Uc=(A,e)=>{if(eA.push((()=>{null!==n._item&&n._item.deleted||n._callObserver(t,e)})))),A.push((()=>{t.changedParentTypes.forEach(((A,e)=>{e._dEH.l.length>0&&(null===e._item||!e._item.deleted)&&((A=A.filter((A=>null===A.target._item||!A.target._item.deleted))).forEach((A=>{A.currentTarget=e,A._path=null})),A.sort(((A,e)=>A.path.length-e.path.length)),$r(e._dEH,A,t))}))})),A.push((()=>n.emit("afterTransaction",[t,n]))),Lo(A,[]),t._needFormattingCleanup&&bg(t)}finally{n.gc&&((A,e,t)=>{for(const[n,i]of A.clients.entries()){const A=e.clients.get(n);for(let n=i.length-1;n>=0;n--){const B=i[n],E=B.clock+B.len;for(let n=Ic(A,B.clock),i=A[n];n{A.clients.forEach(((A,t)=>{const n=e.clients.get(t);for(let e=A.length-1;e>=0;e--){const t=A[e];for(let A=ys(n.length-1,1+Ic(n,t.clock+t.len-1)),e=n[A];A>0&&e.id.clock>=t.clock;e=n[A])A-=1+fc(n,A)}}))})(B,i),t.afterState.forEach(((A,e)=>{const n=t.beforeState.get(e)||0;if(n!==A){const A=i.clients.get(e),t=bs(Ic(A,n),1);for(let e=A.length-1;e>=t;)e-=1+fc(A,e)}}));for(let A=E.length-1;A>=0;A--){const{client:e,clock:t}=E[A].id,n=i.clients.get(e),B=Ic(n,t);B+11||B>0&&fc(n,B)}if(t.local||t.afterState.get(n.clientID)===t.beforeState.get(n.clientID)||(((...A)=>{console.log(...Ir(A)),ur.forEach((e=>e.print(A)))})(Mr,rr,"[yjs] ",cr,lr,"Changed the client-id because another client seems to be using it."),n.clientID=Hr()),n.emit("afterTransactionCleanup",[t,n]),n._observers.has("update")){const A=new Zr;Fc(A,t)&&n.emit("update",[A.toUint8Array(),t.origin,n,t])}if(n._observers.has("updateV2")){const A=new Vr;Fc(A,t)&&n.emit("updateV2",[A.toUint8Array(),t.origin,n,t])}const{subdocsAdded:s,subdocsLoaded:o,subdocsRemoved:r}=t;(s.size>0||r.size>0||o.size>0)&&(s.forEach((A=>{A.clientID=n.clientID,null==A.collectionid&&(A.collectionid=n.collectionid),n.subdocs.add(A)})),r.forEach((A=>n.subdocs.delete(A))),n.emit("subdocs",[{loaded:o,added:s,removed:r},n,t]),r.forEach((A=>A.destroy()))),A.length<=e+1?(n._transactionCleanups=[],n.emit("afterAllTransactions",[n,A])):Uc(A,e+1)}}},Nc=(A,e,t=null,n=!0)=>{const i=A._transactionCleanups;let B=!1,E=null;null===A._transaction&&(B=!0,A._transaction=new Dc(A,t,n),i.push(A._transaction),1===i.length&&A.emit("beforeAllTransactions",[A]),A.emit("beforeTransaction",[A._transaction,A]));try{E=e(A._transaction)}finally{if(B){const e=A._transaction===i[0];A._transaction=null,e&&Uc(i,0)}}return E};class Sc{constructor(A,e){this.insertions=e,this.deletions=A,this.meta=new Map}}const mc=(A,e,t)=>{Dr(A,t.deletions,(A=>{A instanceof ha&&e.scope.some((e=>ic(e,A)))&&ga(A,!1)}))},yc=(A,e,t)=>{let n=null;const i=A.doc,B=A.scope;return Nc(i,(t=>{for(;e.length>0&&null===A.currStackItem;){const n=i.store,E=e.pop(),s=new Set,o=[];let r=!1;Dr(t,E.insertions,(A=>{if(A instanceof ha){if(null!==A.redone){let{item:e,diff:i}=ca(n,A.id);i>0&&(e=Gc(t,tc(e.id.client,e.id.clock+i))),A=e}!A.deleted&&B.some((e=>ic(e,A)))&&o.push(A)}})),Dr(t,E.deletions,(A=>{A instanceof ha&&B.some((e=>ic(e,A)))&&!Fr(E.insertions,A.id)&&s.add(A)})),s.forEach((e=>{r=null!==la(t,e,s,E.insertions,A.ignoreRemoteMapChanges,A)||r}));for(let e=o.length-1;e>=0;e--){const n=o[e];A.deleteFilter(n)&&(n.delete(t),r=!0)}A.currStackItem=r?E:null}t.changed.forEach(((A,e)=>{A.has(null)&&e._searchMarker&&(e._searchMarker.length=0)})),n=t}),A),null!=A.currStackItem&&(A.emit("stack-item-popped",[{stackItem:A.currStackItem,type:t,changedParentTypes:n.changedParentTypes,origin:A},A]),A.currStackItem=null),A.currStackItem};class bc extends Ns{constructor(A,{captureTimeout:e=500,captureTransaction:t=(()=>!0),deleteFilter:n=(()=>!0),trackedOrigins:i=new Set([null]),ignoreRemoteMapChanges:B=!1,doc:E=(Us(A)?A[0].doc:A.doc)}={}){super(),this.scope=[],this.doc=E,this.addToScope(A),this.deleteFilter=n,i.add(this),this.trackedOrigins=i,this.captureTransaction=t,this.undoStack=[],this.redoStack=[],this.undoing=!1,this.redoing=!1,this.currStackItem=null,this.lastChange=0,this.ignoreRemoteMapChanges=B,this.captureTimeout=e,this.afterTransactionHandler=A=>{if(!(this.captureTransaction(A)&&this.scope.some((e=>A.changedParentTypes.has(e)))&&(this.trackedOrigins.has(A.origin)||A.origin&&this.trackedOrigins.has(A.origin.constructor))))return;const e=this.undoing,t=this.redoing,n=e?this.redoStack:this.undoStack;e?this.stopCapturing():t||this.clear(!1,!0);const i=new kr;A.afterState.forEach(((e,t)=>{const n=A.beforeState.get(t)||0,B=e-n;B>0&&Ur(i,t,n,B)}));const B=po();let E=!1;if(this.lastChange>0&&B-this.lastChange0&&!e&&!t){const e=n[n.length-1];e.deletions=fr([e.deletions,A.deleteSet]),e.insertions=fr([e.insertions,i])}else n.push(new Sc(A.deleteSet,i)),E=!0;e||t||(this.lastChange=B),Dr(A,A.deleteSet,(A=>{A instanceof ha&&this.scope.some((e=>ic(e,A)))&&ga(A,!0)}));this.emit(E?"stack-item-added":"stack-item-updated",[{stackItem:n[n.length-1],origin:A.origin,type:e?"redo":"undo",changedParentTypes:A.changedParentTypes},this])},this.doc.on("afterTransaction",this.afterTransactionHandler),this.doc.on("destroy",(()=>{this.destroy()}))}addToScope(A){(A=Us(A)?A:[A]).forEach((A=>{this.scope.every((e=>e!==A))&&(A.doc!==this.doc&&((...A)=>{console.warn(...Ir(A)),A.unshift(Mr),ur.forEach((e=>e.print(A)))})("[yjs#509] Not same Y.Doc"),this.scope.push(A))}))}addTrackedOrigin(A){this.trackedOrigins.add(A)}removeTrackedOrigin(A){this.trackedOrigins.delete(A)}clear(A=!0,e=!0){(A&&this.canUndo()||e&&this.canRedo())&&this.doc.transact((t=>{A&&(this.undoStack.forEach((A=>mc(t,this,A))),this.undoStack=[]),e&&(this.redoStack.forEach((A=>mc(t,this,A))),this.redoStack=[]),this.emit("stack-cleared",[{undoStackCleared:A,redoStackCleared:e}])}))}stopCapturing(){this.lastChange=0}undo(){let A;this.undoing=!0;try{A=yc(this,this.undoStack,"undo")}finally{this.undoing=!1}return A}redo(){let A;this.redoing=!0;try{A=yc(this,this.redoStack,"redo")}finally{this.redoing=!1}return A}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}destroy(){this.trackedOrigins.delete(this),this.doc.off("afterTransaction",this.afterTransactionHandler),super.destroy()}}class Hc{constructor(A,e){this.gen=function*(A){const e=ko(A.restDecoder);for(let t=0;tpc(A,xr,Zr),xc=(A,e)=>{if(A.constructor===vg){const{client:t,clock:n}=A.id;return new vg(tc(t,n+e),A.length-e)}if(A.constructor===Ra){const{client:t,clock:n}=A.id;return new Ra(tc(t,n+e),A.length-e)}{const t=A,{client:n,clock:i}=t.id;return new ha(tc(n,i+e),null,tc(n,i+e-1),null,t.rightOrigin,t.parent,t.parentSub,t.content.splice(e))}},pc=(A,e=Jr,t=Vr)=>{if(1===A.length)return A[0];const n=A.map((A=>new e(uo(A))));let i=n.map((A=>new Hc(A,!0))),B=null;const E=new t,s=new Tc(E);for(;i=i.filter((A=>null!==A.curr)),i.sort(((A,e)=>{if(A.curr.id.client===e.curr.id.client){const t=A.curr.id.clock-e.curr.id.clock;return 0===t?A.curr.constructor===e.curr.constructor?0:A.curr.constructor===Ra?1:-1:t}return e.curr.id.client-A.curr.id.client})),0!==i.length;){const A=i[0],e=A.curr.id.client;if(null!==B){let t=A.curr,n=!1;for(;null!==t&&t.id.clock+t.length<=B.struct.id.clock+B.struct.length&&t.id.client>=B.struct.id.client;)t=A.next(),n=!0;if(null===t||t.id.client!==e||n&&t.id.clock>B.struct.id.clock+B.struct.length)continue;if(e!==B.struct.id.client)Zc(s,B.struct,B.offset),B={struct:t,offset:0},A.next();else if(B.struct.id.clock+B.struct.length0&&(B.struct.constructor===Ra?B.struct.length-=e:t=xc(t,e)),B.struct.mergeWith(t)||(Zc(s,B.struct,B.offset),B={struct:t,offset:0},A.next())}}else B={struct:A.curr,offset:0},A.next();for(let t=A.curr;null!==t&&t.id.client===e&&t.id.clock===B.struct.id.clock+B.struct.length&&t.constructor!==Ra;t=A.next())Zc(s,B.struct,B.offset),B={struct:t,offset:0}}null!==B&&(Zc(s,B.struct,B.offset),B=null),Pc(s);const o=n.map((A=>yr(A))),r=fr(o);return mr(E,r),E.toUint8Array()},Jc=(A,e,t=Jr,n=Vr)=>{const i=Or(e),B=new n,E=new Tc(B),s=new t(uo(A)),o=new Hc(s,!1);for(;o.curr;){const A=o.curr,e=A.id.client,t=i.get(e)||0;if(o.curr.constructor!==Ra)if(A.id.clock+A.length>t)for(Zc(E,A,bs(t-A.id.clock,0)),o.next();o.curr&&o.curr.id.client===e;)Zc(E,o.curr,0),o.next();else for(;o.curr&&o.curr.id.client===e&&o.curr.id.clock+o.curr.length<=t;)o.next();else o.next()}Pc(E);const r=yr(s);return mr(B,r),B.toUint8Array()},jc=A=>{A.written>0&&(A.clientStructs.push({written:A.written,restEncoder:Ks(A.encoder.restEncoder)}),A.encoder.restEncoder=_s(),A.written=0)},Zc=(A,e,t)=>{A.written>0&&A.currClient!==e.id.client&&jc(A),0===A.written&&(A.currClient=e.id.client,A.encoder.writeClient(e.id.client),qs(A.encoder.restEncoder,e.id.clock+t)),e.write(A.encoder,t),A.written++},Pc=A=>{jc(A);const e=A.encoder.restEncoder;qs(e,A.clientStructs.length);for(let t=0;t((A,e,t,n)=>{const i=new Jr(uo(A)),B=new Hc(i,!1),E=new n,s=new Tc(E);for(let A=B.curr;null!==A;A=B.next())Zc(s,e(A),0);Pc(s);const o=yr(i);return mr(E,o),E.toUint8Array()})(A,Oo,0,Zr),vc="You must not compute changes after the event-handler fired.";class Lc{constructor(A,e){this.target=A,this.currentTarget=A,this.transaction=e,this._changes=null,this._keys=null,this._delta=null,this._path=null}get path(){return this._path||(this._path=Oc(this.currentTarget,this.target))}deletes(A){return Fr(this.transaction.deleteSet,A.id)}get keys(){if(null===this._keys){if(0===this.transaction.doc._transactionCleanups.length)throw lo(vc);const A=new Map,e=this.target;this.transaction.changed.get(e).forEach((t=>{if(null!==t){const n=e._map.get(t);let i,B;if(this.adds(n)){let A=n.left;for(;null!==A&&this.adds(A);)A=A.left;if(this.deletes(n)){if(null===A||!this.deletes(A))return;i="delete",B=Fs(A.content.getContent())}else null!==A&&this.deletes(A)?(i="update",B=Fs(A.content.getContent())):(i="add",B=void 0)}else{if(!this.deletes(n))return;i="delete",B=Fs(n.content.getContent())}A.set(t,{action:i,oldValue:B})}})),this._keys=A}return this._keys}get delta(){return this.changes.delta}adds(A){return A.id.clock>=(this.transaction.beforeState.get(A.id.client)||0)}get changes(){let A=this._changes;if(null===A){if(0===this.transaction.doc._transactionCleanups.length)throw lo(vc);const e=this.target,t=Ds(),n=Ds(),i=[];if(A={added:t,deleted:n,delta:i,keys:this.keys},this.transaction.changed.get(e).has(null)){let A=null;const B=()=>{A&&i.push(A)};for(let i=e._start;null!==i;i=i.right)i.deleted?this.deletes(i)&&!this.adds(i)&&(null!==A&&void 0!==A.delete||(B(),A={delete:0}),A.delete+=i.length,n.add(i)):this.adds(i)?(null!==A&&void 0!==A.insert||(B(),A={insert:[]}),A.insert=A.insert.concat(i.content.getContent()),t.add(i)):(null!==A&&void 0!==A.retain||(B(),A={retain:0}),A.retain+=i.length);null!==A&&void 0===A.retain&&B()}this._changes=A}return A}}const Oc=(A,e)=>{const t=[];for(;null!==e._item&&e!==A;){if(null!==e._item.parentSub)t.unshift(e._item.parentSub);else{let A=0,n=e._item.parent._start;for(;n!==e._item&&null!==n;)n.deleted||A++,n=n.right;t.unshift(A)}e=e._item.parent}return t};let _c=0;class Kc{constructor(A,e){A.marker=!0,this.p=A,this.index=e,this.timestamp=_c++}}const Wc=(A,e,t)=>{A.p.marker=!1,A.p=e,e.marker=!0,A.index=t,A.timestamp=_c++},Xc=(A,e)=>{if(null===A._start||0===e||null===A._searchMarker)return null;const t=0===A._searchMarker.length?null:A._searchMarker.reduce(((A,t)=>ms(e-A.index){A.timestamp=_c++})(t));null!==n.right&&ie;)n=n.left,!n.deleted&&n.countable&&(i-=n.length);for(;null!==n.left&&n.left.id.client===n.id.client&&n.left.id.clock+n.left.length===n.id.clock;)n=n.left,!n.deleted&&n.countable&&(i-=n.length);return null!==t&&ms(t.index-i){if(A.length>=80){const n=A.reduce(((A,e)=>A.timestamp{for(let n=A.length-1;n>=0;n--){const i=A[n];if(t>0){let e=i.p;for(e.marker=!1;e&&(e.deleted||!e.countable);)e=e.left,e&&!e.deleted&&e.countable&&(i.index-=e.length);if(null===e||!0===e.marker){A.splice(n,1);continue}i.p=e,e.marker=!0}(e0&&e===i.index)&&(i.index=bs(e,i.index+t))}},$c=(A,e,t)=>{const n=A,i=e.changedParentTypes;for(;ks(i,A,(()=>[])).push(t),null!==A._item;)A=A._item.parent;$r(n._eH,t,e)};class Ag{constructor(){this._item=null,this._map=new Map,this._start=null,this.doc=null,this._length=0,this._eH=Wr(),this._dEH=Wr(),this._searchMarker=null}get parent(){return this._item?this._item.parent:null}_integrate(A,e){this.doc=A,this._item=e}_copy(){throw ho()}clone(){throw ho()}_write(A){}get _first(){let A=this._start;for(;null!==A&&A.deleted;)A=A.right;return A}_callObserver(A,e){!A.local&&this._searchMarker&&(this._searchMarker.length=0)}observe(A){Xr(this._eH,A)}observeDeep(A){Xr(this._dEH,A)}unobserve(A){qr(this._eH,A)}unobserveDeep(A){qr(this._dEH,A)}toJSON(){}}const eg=(A,e,t)=>{e<0&&(e=A._length+e),t<0&&(t=A._length+t);let n=t-e;const i=[];let B=A._start;for(;null!==B&&n>0;){if(B.countable&&!B.deleted){const A=B.content.getContent();if(A.length<=e)e-=A.length;else{for(let t=e;t0;t++)i.push(A[t]),n--;e=0}}B=B.right}return i},tg=A=>{const e=[];let t=A._start;for(;null!==t;){if(t.countable&&!t.deleted){const A=t.content.getContent();for(let t=0;t{const t=[];let n=A._start;for(;null!==n;){if(n.countable&&Qc(n,e)){const A=n.content.getContent();for(let e=0;e{let t=0,n=A._start;for(;null!==n;){if(n.countable&&!n.deleted){const i=n.content.getContent();for(let n=0;n{const t=[];return ig(A,((n,i)=>{t.push(e(n,i,A))})),t},Eg=A=>{let e=A._start,t=null,n=0;return{[Symbol.iterator](){return this},next:()=>{if(null===t){for(;null!==e&&e.deleted;)e=e.right;if(null===e)return{done:!0,value:void 0};t=e.content.getContent(),n=0,e=e.right}const A=t[n++];return t.length<=n&&(t=null),{done:!1,value:A}}}},sg=(A,e)=>{const t=Xc(A,e);let n=A._start;for(null!==t&&(n=t.p,e-=t.index);null!==n;n=n.right)if(!n.deleted&&n.countable){if(e{let i=t;const B=A.doc,E=B.clientID,s=B.store,o=null===t?e._start:t.right;let r=[];const c=()=>{r.length>0&&(i=new ha(tc(E,wc(s,E)),i,i&&i.lastId,o,o&&o.id,e,null,new $g(r)),i.integrate(A,0),r=[])};n.forEach((t=>{if(null===t)r.push(t);else switch(t.constructor){case Number:case Object:case Boolean:case Array:case String:r.push(t);break;default:switch(c(),t.constructor){case Uint8Array:case ArrayBuffer:i=new ha(tc(E,wc(s,E)),i,i&&i.lastId,o,o&&o.id,e,null,new Lg(new Uint8Array(t))),i.integrate(A,0);break;case Tr:i=new ha(tc(E,wc(s,E)),i,i&&i.lastId,o,o&&o.id,e,null,new Kg(t)),i.integrate(A,0);break;default:if(!(t instanceof Ag))throw new Error("Unexpected content type in insert operation");i=new ha(tc(E,wc(s,E)),i,i&&i.lastId,o,o&&o.id,e,null,new ra(t)),i.integrate(A,0)}}})),c()},rg=()=>lo("Length exceeded!"),cg=(A,e,t,n)=>{if(t>e._length)throw rg();if(0===t)return e._searchMarker&&qc(e._searchMarker,t,n.length),og(A,e,null,n);const i=t,B=Xc(e,t);let E=e._start;for(null!==B&&(E=B.p,0==(t-=B.index)&&(E=E.prev,t+=E&&E.countable&&!E.deleted?E.length:0));null!==E;E=E.right)if(!E.deleted&&E.countable){if(t<=E.length){t{if(0===n)return;const i=t,B=n,E=Xc(e,t);let s=e._start;for(null!==E&&(s=E.p,t-=E.index);null!==s&&t>0;s=s.right)!s.deleted&&s.countable&&(t0&&null!==s;)s.deleted||(n0)throw rg();e._searchMarker&&qc(e._searchMarker,i,-B+n)},ag=(A,e,t)=>{const n=e._map.get(t);void 0!==n&&n.delete(A)},Qg=(A,e,t,n)=>{const i=e._map.get(t)||null,B=A.doc,E=B.clientID;let s;if(null==n)s=new $g([n]);else switch(n.constructor){case Number:case Object:case Boolean:case Array:case String:s=new $g([n]);break;case Uint8Array:s=new Lg(n);break;case Tr:s=new Kg(n);break;default:if(!(n instanceof Ag))throw new Error("Unexpected content type");s=new ra(n)}new ha(tc(E,wc(B.store,E)),i,i&&i.lastId,null,null,e,t,s).integrate(A,0)},lg=(A,e)=>{const t=A._map.get(e);return void 0===t||t.deleted?void 0:t.content.getContent()[t.length-1]},hg=A=>{const e={};return A._map.forEach(((A,t)=>{A.deleted||(e[t]=A.content.getContent()[A.length-1])})),e},Mg=(A,e)=>{const t=A._map.get(e);return void 0!==t&&!t.deleted},wg=A=>{return e=A.entries(),t=A=>!A[1].deleted,dr((()=>{let A;do{A=e.next()}while(!A.done&&!t(A.value));return A}));var e,t};class Rg extends Lc{constructor(A,e){super(A,e),this._transaction=e}}class Ig extends Ag{constructor(){super(),this._prelimContent=[],this._searchMarker=[]}static from(A){const e=new Ig;return e.push(A),e}_integrate(A,e){super._integrate(A,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new Ig}clone(){const A=new Ig;return A.insert(0,this.toArray().map((A=>A instanceof Ag?A.clone():A))),A}get length(){return null===this._prelimContent?this._length:this._prelimContent.length}_callObserver(A,e){super._callObserver(A,e),$c(this,A,new Rg(this,A))}insert(A,e){null!==this.doc?Nc(this.doc,(t=>{cg(t,this,A,e)})):this._prelimContent.splice(A,0,...e)}push(A){null!==this.doc?Nc(this.doc,(e=>{((A,e,t)=>{let n=(e._searchMarker||[]).reduce(((A,e)=>e.index>A.index?e:A),{index:0,p:e._start}).p;if(n)for(;n.right;)n=n.right;og(A,e,n,t)})(e,this,A)})):this._prelimContent.push(...A)}unshift(A){this.insert(0,A)}delete(A,e=1){null!==this.doc?Nc(this.doc,(t=>{gg(t,this,A,e)})):this._prelimContent.splice(A,e)}get(A){return sg(this,A)}toArray(){return tg(this)}slice(A=0,e=this.length){return eg(this,A,e)}toJSON(){return this.map((A=>A instanceof Ag?A.toJSON():A))}map(A){return Bg(this,A)}forEach(A){ig(this,A)}[Symbol.iterator](){return Eg(this)}_write(A){A.writeTypeRef(ta)}}class ug extends Lc{constructor(A,e,t){super(A,e),this.keysChanged=t}}class dg extends Ag{constructor(A){super(),this._prelimContent=null,this._prelimContent=void 0===A?new Map:new Map(A)}_integrate(A,e){super._integrate(A,e),this._prelimContent.forEach(((A,e)=>{this.set(e,A)})),this._prelimContent=null}_copy(){return new dg}clone(){const A=new dg;return this.forEach(((e,t)=>{A.set(t,e instanceof Ag?e.clone():e)})),A}_callObserver(A,e){$c(this,A,new ug(this,A,e))}toJSON(){const A={};return this._map.forEach(((e,t)=>{if(!e.deleted){const n=e.content.getContent()[e.length-1];A[t]=n instanceof Ag?n.toJSON():n}})),A}get size(){return[...wg(this._map)].length}keys(){return Gr(wg(this._map),(A=>A[0]))}values(){return Gr(wg(this._map),(A=>A[1].content.getContent()[A[1].length-1]))}entries(){return Gr(wg(this._map),(A=>[A[0],A[1].content.getContent()[A[1].length-1]]))}forEach(A){this._map.forEach(((e,t)=>{e.deleted||A(e.content.getContent()[e.length-1],t,this)}))}[Symbol.iterator](){return this.entries()}delete(A){null!==this.doc?Nc(this.doc,(e=>{ag(e,this,A)})):this._prelimContent.delete(A)}set(A,e){return null!==this.doc?Nc(this.doc,(t=>{Qg(t,this,A,e)})):this._prelimContent.set(A,e),e}get(A){return lg(this,A)}has(A){return Mg(this,A)}clear(){null!==this.doc?Nc(this.doc,(A=>{this.forEach((function(e,t,n){ag(A,n,t)}))})):this._prelimContent.clear()}_write(A){A.writeTypeRef(na)}}const Gg=(A,e)=>A===e||"object"==typeof A&&"object"==typeof e&&A&&e&&((A,e)=>A===e||vo(A)===vo(e)&&((A,e)=>{for(const t in A)if(!e(A[t],t))return!1;return!0})(A,((A,t)=>(void 0!==A||((A,e)=>Object.prototype.hasOwnProperty.call(A,e))(e,t))&&e[t]===A)))(A,e);class Cg{constructor(A,e,t,n){this.left=A,this.right=e,this.index=t,this.currentAttributes=n}forward(){null===this.right&&Mo(),this.right.content.constructor===Xg?this.right.deleted||Yg(this.currentAttributes,this.right.content):this.right.deleted||(this.index+=this.right.length),this.left=this.right,this.right=this.right.right}}const kg=(A,e,t)=>{for(;null!==e.right&&t>0;)e.right.content.constructor===Xg?e.right.deleted||Yg(e.currentAttributes,e.right.content):e.right.deleted||(t{const i=new Map,B=n?Xc(e,t):null;if(B){const e=new Cg(B.p.left,B.p,B.index,i);return kg(A,e,t-B.index)}{const n=new Cg(null,e._start,0,i);return kg(A,n,t)}},Fg=(A,e,t,n)=>{for(;null!==t.right&&(!0===t.right.deleted||t.right.content.constructor===Xg&&Gg(n.get(t.right.content.key),t.right.content.value));)t.right.deleted||n.delete(t.right.content.key),t.forward();const i=A.doc,B=i.clientID;n.forEach(((n,E)=>{const s=t.left,o=t.right,r=new ha(tc(B,wc(i.store,B)),s,s&&s.lastId,o,o&&o.id,e,null,new Xg(E,n));r.integrate(A,0),t.right=r,t.forward()}))},Yg=(A,e)=>{const{key:t,value:n}=e;null===n?A.delete(t):A.set(t,n)},fg=(A,e)=>{for(;null!==A.right&&(A.right.deleted||A.right.content.constructor===Xg&&Gg(e[A.right.content.key]??null,A.right.content.value));)A.forward()},Ug=(A,e,t,n)=>{const i=A.doc,B=i.clientID,E=new Map;for(const s in n){const o=n[s],r=t.currentAttributes.get(s)??null;if(!Gg(r,o)){E.set(s,r);const{left:n,right:c}=t;t.right=new ha(tc(B,wc(i.store,B)),n,n&&n.lastId,c,c&&c.id,e,null,new Xg(s,o)),t.right.integrate(A,0),t.forward()}}return E},Ng=(A,e,t,n,i)=>{t.currentAttributes.forEach(((A,e)=>{void 0===i[e]&&(i[e]=null)}));const B=A.doc,E=B.clientID;fg(t,i);const s=Ug(A,e,t,i),o=n.constructor===String?new Aa(n):n instanceof Ag?new ra(n):new Wg(n);let{left:r,right:c,index:g}=t;e._searchMarker&&qc(e._searchMarker,t.index,o.getLength()),c=new ha(tc(E,wc(B.store,E)),r,r&&r.lastId,c,c&&c.id,e,null,o),c.integrate(A,0),t.right=c,t.index=g,t.forward(),Fg(A,e,t,s)},Sg=(A,e,t,n,i)=>{const B=A.doc,E=B.clientID;fg(t,i);const s=Ug(A,e,t,i);A:for(;null!==t.right&&(n>0||s.size>0&&(t.right.deleted||t.right.content.constructor===Xg));){if(!t.right.deleted)switch(t.right.content.constructor){case Xg:{const{key:e,value:B}=t.right.content,E=i[e];if(void 0!==E){if(Gg(E,B))s.delete(e);else{if(0===n)break A;s.set(e,B)}t.right.delete(A)}else t.currentAttributes.set(e,B);break}default:n0){let i="";for(;n>0;n--)i+="\n";t.right=new ha(tc(E,wc(B.store,E)),t.left,t.left&&t.left.lastId,t.right,t.right&&t.right.id,e,null,new Aa(i)),t.right.integrate(A,0),t.forward()}Fg(A,e,t,s)},mg=(A,e,t,n,i)=>{let B=e;const E=Gs();for(;B&&(!B.countable||B.deleted);){if(!B.deleted&&B.content.constructor===Xg){const A=B.content;E.set(A.key,A)}B=B.right}let s=0,o=!1;for(;e!==B;){if(t===e&&(o=!0),!e.deleted){const t=e.content;switch(t.constructor){case Xg:{const{key:B,value:r}=t,c=n.get(B)??null;E.get(B)===t&&c!==r||(e.delete(A),s++,o||(i.get(B)??null)!==r||c===r||(null===c?i.delete(B):i.set(B,c))),o||e.deleted||Yg(i,t);break}}}e=e.right}return s},yg=A=>{let e=0;return Nc(A.doc,(t=>{let n=A._start,i=A._start,B=Gs();const E=Cs(B);for(;i;)!1===i.deleted&&(i.content.constructor===Xg?Yg(E,i.content):(e+=mg(t,n,i,B,E),B=Cs(E),n=i)),i=i.right})),e},bg=A=>{const e=new Set,t=A.doc;for(const[n,i]of A.afterState.entries()){const B=A.beforeState.get(n)||0;i!==B&&kc(A,t.store.clients.get(n),B,i,(A=>{A.deleted||A.content.constructor!==Xg||A.constructor===vg||e.add(A.parent)}))}Nc(t,(t=>{Dr(A,A.deleteSet,(A=>{A instanceof vg||!A.parent._hasFormatting||e.has(A.parent)||(A.content.constructor===Xg?e.add(A.parent):((A,e)=>{for(;e&&e.right&&(e.right.deleted||!e.right.countable);)e=e.right;const t=new Set;for(;e&&(e.deleted||!e.countable);){if(!e.deleted&&e.content.constructor===Xg){const n=e.content.key;t.has(n)?e.delete(A):t.add(n)}e=e.left}})(t,A))}));for(const A of e)yg(A)}))},Hg=(A,e,t)=>{const n=t,i=Cs(e.currentAttributes),B=e.right;for(;t>0&&null!==e.right;){if(!1===e.right.deleted)switch(e.right.content.constructor){case ra:case Wg:case Aa:t{null===A?this.childListChanged=!0:this.keysChanged.add(A)}))}get changes(){if(null===this._changes){const A={keys:this.keys,delta:this.delta,added:new Set,deleted:new Set};this._changes=A}return this._changes}get delta(){if(null===this._delta){const A=[];Nc(this.target.doc,(e=>{const t=new Map,n=new Map;let i=this.target._start,B=null;const E={};let s="",o=0,r=0;const c=()=>{if(null!==B){let e=null;switch(B){case"delete":r>0&&(e={delete:r}),r=0;break;case"insert":("object"==typeof s||s.length>0)&&(e={insert:s},t.size>0&&(e.attributes={},t.forEach(((A,t)=>{null!==A&&(e.attributes[t]=A)})))),s="";break;case"retain":o>0&&(e={retain:o},(A=>{for(const e in A)return!1;return!0})(E)||(e.attributes=Po({},E))),o=0}e&&A.push(e),B=null}};for(;null!==i;){switch(i.content.constructor){case ra:case Wg:this.adds(i)?this.deletes(i)||(c(),B="insert",s=i.content.getContent()[0],c()):this.deletes(i)?("delete"!==B&&(c(),B="delete"),r+=1):i.deleted||("retain"!==B&&(c(),B="retain"),o+=1);break;case Aa:this.adds(i)?this.deletes(i)||("insert"!==B&&(c(),B="insert"),s+=i.content.str):this.deletes(i)?("delete"!==B&&(c(),B="delete"),r+=i.length):i.deleted||("retain"!==B&&(c(),B="retain"),o+=i.length);break;case Xg:{const{key:A,value:s}=i.content;if(this.adds(i)){if(!this.deletes(i)){const o=t.get(A)??null;Gg(o,s)?null!==s&&i.delete(e):("retain"===B&&c(),Gg(s,n.get(A)??null)?delete E[A]:E[A]=s)}}else if(this.deletes(i)){n.set(A,s);const e=t.get(A)??null;Gg(e,s)||("retain"===B&&c(),E[A]=e)}else if(!i.deleted){n.set(A,s);const t=E[A];void 0!==t&&(Gg(t,s)?null!==t&&i.delete(e):("retain"===B&&c(),null===s?delete E[A]:E[A]=s))}i.deleted||("insert"===B&&c(),Yg(t,i.content));break}}i=i.right}for(c();A.length>0;){const e=A[A.length-1];if(void 0===e.retain||void 0!==e.attributes)break;A.pop()}})),this._delta=A}return this._delta}}class zg extends Ag{constructor(A){super(),this._pending=void 0!==A?[()=>this.insert(0,A)]:[],this._searchMarker=[],this._hasFormatting=!1}get length(){return this._length}_integrate(A,e){super._integrate(A,e);try{this._pending.forEach((A=>A()))}catch(A){console.error(A)}this._pending=null}_copy(){return new zg}clone(){const A=new zg;return A.applyDelta(this.toDelta()),A}_callObserver(A,e){super._callObserver(A,e);const t=new Tg(this,A,e);$c(this,A,t),!A.local&&this._hasFormatting&&(A._needFormattingCleanup=!0)}toString(){let A="",e=this._start;for(;null!==e;)!e.deleted&&e.countable&&e.content.constructor===Aa&&(A+=e.content.str),e=e.right;return A}toJSON(){return this.toString()}applyDelta(A,{sanitize:e=!0}={}){null!==this.doc?Nc(this.doc,(t=>{const n=new Cg(null,this._start,0,new Map);for(let i=0;i0)&&Ng(t,this,n,E,B.attributes||{})}else void 0!==B.retain?Sg(t,this,n,B.retain,B.attributes||{}):void 0!==B.delete&&Hg(t,n,B.delete)}})):this._pending.push((()=>this.applyDelta(A)))}toDelta(A,e,t){const n=[],i=new Map;let B="",E=this._start;function s(){if(B.length>0){const A={};let e=!1;i.forEach(((t,n)=>{e=!0,A[n]=t}));const t={insert:B};e&&(t.attributes=A),n.push(t),B=""}}const o=()=>{for(;null!==E;){if(Qc(E,A)||void 0!==e&&Qc(E,e))switch(E.content.constructor){case Aa:{const n=i.get("ychange");void 0===A||Qc(E,A)?void 0===e||Qc(E,e)?void 0!==n&&(s(),i.delete("ychange")):void 0!==n&&n.user===E.id.client&&"added"===n.type||(s(),i.set("ychange",t?t("added",E.id):{type:"added"})):void 0!==n&&n.user===E.id.client&&"removed"===n.type||(s(),i.set("ychange",t?t("removed",E.id):{type:"removed"})),B+=E.content.str;break}case ra:case Wg:{s();const A={insert:E.content.getContent()[0]};if(i.size>0){const e={};A.attributes=e,i.forEach(((A,t)=>{e[t]=A}))}n.push(A);break}case Xg:Qc(E,A)&&(s(),Yg(i,E.content))}E=E.right}s()};return A||e?Nc(this.doc,(t=>{A&&lc(t,A),e&&lc(t,e),o()}),"cleanup"):o(),n}insert(A,e,t){if(e.length<=0)return;const n=this.doc;null!==n?Nc(n,(n=>{const i=Dg(n,this,A,!t);t||(t={},i.currentAttributes.forEach(((A,e)=>{t[e]=A}))),Ng(n,this,i,e,t)})):this._pending.push((()=>this.insert(A,e,t)))}insertEmbed(A,e,t){const n=this.doc;null!==n?Nc(n,(n=>{const i=Dg(n,this,A,!t);Ng(n,this,i,e,t||{})})):this._pending.push((()=>this.insertEmbed(A,e,t||{})))}delete(A,e){if(0===e)return;const t=this.doc;null!==t?Nc(t,(t=>{Hg(t,Dg(t,this,A,!0),e)})):this._pending.push((()=>this.delete(A,e)))}format(A,e,t){if(0===e)return;const n=this.doc;null!==n?Nc(n,(n=>{const i=Dg(n,this,A,!1);null!==i.right&&Sg(n,this,i,e,t)})):this._pending.push((()=>this.format(A,e,t)))}removeAttribute(A){null!==this.doc?Nc(this.doc,(e=>{ag(e,this,A)})):this._pending.push((()=>this.removeAttribute(A)))}setAttribute(A,e){null!==this.doc?Nc(this.doc,(t=>{Qg(t,this,A,e)})):this._pending.push((()=>this.setAttribute(A,e)))}getAttribute(A){return lg(this,A)}getAttributes(){return hg(this)}_write(A){A.writeTypeRef(ia)}}class xg{constructor(A,e=(()=>!0)){this._filter=e,this._root=A,this._currentNode=A._start,this._firstCall=!0}[Symbol.iterator](){return this}next(){let A=this._currentNode,e=A&&A.content&&A.content.type;if(null!==A&&(!this._firstCall||A.deleted||!this._filter(e)))do{if(e=A.content.type,A.deleted||e.constructor!==Jg&&e.constructor!==pg||null===e._start)for(;null!==A;){if(null!==A.right){A=A.right;break}A=A.parent===this._root?null:A.parent._item}else A=e._start}while(null!==A&&(A.deleted||!this._filter(A.content.type)));return this._firstCall=!1,null===A?{value:void 0,done:!0}:(this._currentNode=A,{value:A.content.type,done:!1})}}class pg extends Ag{constructor(){super(),this._prelimContent=[]}get firstChild(){const A=this._first;return A?A.content.getContent()[0]:null}_integrate(A,e){super._integrate(A,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new pg}clone(){const A=new pg;return A.insert(0,this.toArray().map((A=>A instanceof Ag?A.clone():A))),A}get length(){return null===this._prelimContent?this._length:this._prelimContent.length}createTreeWalker(A){return new xg(this,A)}querySelector(A){A=A.toUpperCase();const e=new xg(this,(e=>e.nodeName&&e.nodeName.toUpperCase()===A)).next();return e.done?null:e.value}querySelectorAll(A){return A=A.toUpperCase(),fs(new xg(this,(e=>e.nodeName&&e.nodeName.toUpperCase()===A)))}_callObserver(A,e){$c(this,A,new jg(this,e,A))}toString(){return Bg(this,(A=>A.toString())).join("")}toJSON(){return this.toString()}toDOM(A=document,e={},t){const n=A.createDocumentFragment();return void 0!==t&&t._createAssociation(n,this),ig(this,(i=>{n.insertBefore(i.toDOM(A,e,t),null)})),n}insert(A,e){null!==this.doc?Nc(this.doc,(t=>{cg(t,this,A,e)})):this._prelimContent.splice(A,0,...e)}insertAfter(A,e){if(null!==this.doc)Nc(this.doc,(t=>{og(t,this,A&&A instanceof Ag?A._item:A,e)}));else{const t=this._prelimContent,n=null===A?0:t.findIndex((e=>e===A))+1;if(0===n&&null!==A)throw lo("Reference item not found");t.splice(n,0,...e)}}delete(A,e=1){null!==this.doc?Nc(this.doc,(t=>{gg(t,this,A,e)})):this._prelimContent.splice(A,e)}toArray(){return tg(this)}push(A){this.insert(this.length,A)}unshift(A){this.insert(0,A)}get(A){return sg(this,A)}slice(A=0,e=this.length){return eg(this,A,e)}forEach(A){ig(this,A)}_write(A){A.writeTypeRef(Ea)}}class Jg extends pg{constructor(A="UNDEFINED"){super(),this.nodeName=A,this._prelimAttrs=new Map}get nextSibling(){const A=this._item?this._item.next:null;return A?A.content.type:null}get prevSibling(){const A=this._item?this._item.prev:null;return A?A.content.type:null}_integrate(A,e){super._integrate(A,e),this._prelimAttrs.forEach(((A,e)=>{this.setAttribute(e,A)})),this._prelimAttrs=null}_copy(){return new Jg(this.nodeName)}clone(){const A=new Jg(this.nodeName);return((A,e)=>{for(const t in A)e(A[t],t)})(this.getAttributes(),((e,t)=>{"string"==typeof e&&A.setAttribute(t,e)})),A.insert(0,this.toArray().map((A=>A instanceof Ag?A.clone():A))),A}toString(){const A=this.getAttributes(),e=[],t=[];for(const e in A)t.push(e);t.sort();const n=t.length;for(let i=0;i0?" "+e.join(" "):""}>${super.toString()}`}removeAttribute(A){null!==this.doc?Nc(this.doc,(e=>{ag(e,this,A)})):this._prelimAttrs.delete(A)}setAttribute(A,e){null!==this.doc?Nc(this.doc,(t=>{Qg(t,this,A,e)})):this._prelimAttrs.set(A,e)}getAttribute(A){return lg(this,A)}hasAttribute(A){return Mg(this,A)}getAttributes(A){return A?((A,e)=>{const t={};return this._map.forEach(((A,n)=>{let i=A;for(;null!==i&&(!e.sv.has(i.id.client)||i.id.clock>=(e.sv.get(i.id.client)||0));)i=i.left;null!==i&&Qc(i,e)&&(t[n]=i.content.getContent()[i.length-1])})),t})(0,A):hg(this)}toDOM(A=document,e={},t){const n=A.createElement(this.nodeName),i=this.getAttributes();for(const A in i){const e=i[A];"string"==typeof e&&n.setAttribute(A,e)}return ig(this,(i=>{n.appendChild(i.toDOM(A,e,t))})),void 0!==t&&t._createAssociation(n,this),n}_write(A){A.writeTypeRef(Ba),A.writeKey(this.nodeName)}}class jg extends Lc{constructor(A,e,t){super(A,t),this.childListChanged=!1,this.attributesChanged=new Set,e.forEach((A=>{null===A?this.childListChanged=!0:this.attributesChanged.add(A)}))}}class Zg extends dg{constructor(A){super(),this.hookName=A}_copy(){return new Zg(this.hookName)}clone(){const A=new Zg(this.hookName);return this.forEach(((e,t)=>{A.set(t,e)})),A}toDOM(A=document,e={},t){const n=e[this.hookName];let i;return i=void 0!==n?n.createDom(this):document.createElement(this.hookName),i.setAttribute("data-yjs-hook",this.hookName),void 0!==t&&t._createAssociation(i,this),i}_write(A){A.writeTypeRef(sa),A.writeKey(this.hookName)}}class Pg extends zg{get nextSibling(){const A=this._item?this._item.next:null;return A?A.content.type:null}get prevSibling(){const A=this._item?this._item.prev:null;return A?A.content.type:null}_copy(){return new Pg}clone(){const A=new Pg;return A.applyDelta(this.toDelta()),A}toDOM(A=document,e,t){const n=A.createTextNode(this.toString());return void 0!==t&&t._createAssociation(n,this),n}toString(){return this.toDelta().map((A=>{const e=[];for(const t in A.attributes){const n=[];for(const e in A.attributes[t])n.push({key:e,value:A.attributes[t][e]});n.sort(((A,e)=>A.keyA.nodeName=0;A--)t+=``;return t})).join("")}toJSON(){return this.toString()}_write(A){A.writeTypeRef(oa)}}class Vg{constructor(A,e){this.id=A,this.length=e}get deleted(){throw ho()}mergeWith(A){return!1}write(A,e,t){throw ho()}integrate(A,e){throw ho()}}class vg extends Vg{get deleted(){return!0}delete(){}mergeWith(A){return this.constructor===A.constructor&&(this.length+=A.length,!0)}integrate(A,e){e>0&&(this.id.clock+=e,this.length-=e),Rc(A.doc.store,this)}write(A,e){A.writeInfo(0),A.writeLen(this.length-e)}getMissing(A,e){return null}}class Lg{constructor(A){this.content=A}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new Lg(this.content)}splice(A){throw ho()}mergeWith(A){return!1}integrate(A,e){}delete(A){}gc(A){}write(A,e){A.writeBuf(this.content)}getRef(){return 3}}class Og{constructor(A){this.len=A}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new Og(this.len)}splice(A){const e=new Og(this.len-A);return this.len=A,e}mergeWith(A){return this.len+=A.len,!0}integrate(A,e){Ur(A.deleteSet,e.id.client,e.id.clock,this.len),e.markDeleted()}delete(A){}gc(A){}write(A,e){A.writeLen(this.len-e)}getRef(){return 1}}const _g=(A,e)=>new Tr({guid:A,...e,shouldLoad:e.shouldLoad||e.autoLoad||!1});class Kg{constructor(A){A._item&&console.error("This document was already integrated as a sub-document. You should create a second instance instead with the same guid."),this.doc=A;const e={};this.opts=e,A.gc||(e.gc=!1),A.autoLoad&&(e.autoLoad=!0),null!==A.meta&&(e.meta=A.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new Kg(_g(this.doc.guid,this.opts))}splice(A){throw ho()}mergeWith(A){return!1}integrate(A,e){this.doc._item=e,A.subdocsAdded.add(this.doc),this.doc.shouldLoad&&A.subdocsLoaded.add(this.doc)}delete(A){A.subdocsAdded.has(this.doc)?A.subdocsAdded.delete(this.doc):A.subdocsRemoved.add(this.doc)}gc(A){}write(A,e){A.writeString(this.doc.guid),A.writeAny(this.opts)}getRef(){return 9}}class Wg{constructor(A){this.embed=A}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new Wg(this.embed)}splice(A){throw ho()}mergeWith(A){return!1}integrate(A,e){}delete(A){}gc(A){}write(A,e){A.writeJSON(this.embed)}getRef(){return 5}}class Xg{constructor(A,e){this.key=A,this.value=e}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new Xg(this.key,this.value)}splice(A){throw ho()}mergeWith(A){return!1}integrate(A,e){const t=e.parent;t._searchMarker=null,t._hasFormatting=!0}delete(A){}gc(A){}write(A,e){A.writeKey(this.key),A.writeJSON(this.value)}getRef(){return 6}}class qg{constructor(A){this.arr=A}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new qg(this.arr)}splice(A){const e=new qg(this.arr.slice(A));return this.arr=this.arr.slice(0,A),e}mergeWith(A){return this.arr=this.arr.concat(A.arr),!0}integrate(A,e){}delete(A){}gc(A){}write(A,e){const t=this.arr.length;A.writeLen(t-e);for(let n=e;n=55296&&t<=56319&&(this.str=this.str.slice(0,A-1)+"�",e.str="�"+e.str.slice(1)),e}mergeWith(A){return this.str+=A.str,!0}integrate(A,e){}delete(A){}gc(A){}write(A,e){A.writeString(0===e?this.str:this.str.slice(e))}getRef(){return 4}}const ea=[()=>new Ig,()=>new dg,()=>new zg,A=>new Jg(A.readKey()),()=>new pg,A=>new Zg(A.readKey()),()=>new Pg],ta=0,na=1,ia=2,Ba=3,Ea=4,sa=5,oa=6;class ra{constructor(A){this.type=A}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new ra(this.type._copy())}splice(A){throw ho()}mergeWith(A){return!1}integrate(A,e){this.type._integrate(A.doc,e)}delete(A){let e=this.type._start;for(;null!==e;)e.deleted?e.id.clock<(A.beforeState.get(e.id.client)||0)&&A._mergeStructs.push(e):e.delete(A),e=e.right;this.type._map.forEach((e=>{e.deleted?e.id.clock<(A.beforeState.get(e.id.client)||0)&&A._mergeStructs.push(e):e.delete(A)})),A.changed.delete(this.type)}gc(A){let e=this.type._start;for(;null!==e;)e.gc(A,!0),e=e.right;this.type._start=null,this.type._map.forEach((e=>{for(;null!==e;)e.gc(A,!0),e=e.left})),this.type._map=new Map}write(A,e){this.type._write(A)}getRef(){return 7}}const ca=(A,e)=>{let t,n=e,i=0;do{i>0&&(n=tc(n.client,n.clock+i)),t=uc(A,n),i=n.clock-t.id.clock,n=t.redone}while(null!==n&&t instanceof ha);return{item:t,diff:i}},ga=(A,e)=>{for(;null!==A&&A.keep!==e;)A.keep=e,A=A.parent._item},aa=(A,e,t)=>{const{client:n,clock:i}=e.id,B=new ha(tc(n,i+t),e,tc(n,i+t-1),e.right,e.rightOrigin,e.parent,e.parentSub,e.content.splice(t));return e.deleted&&B.markDeleted(),e.keep&&(B.keep=!0),null!==e.redone&&(B.redone=tc(e.redone.client,e.redone.clock+t)),e.right=B,null!==B.right&&(B.right.left=B),A._mergeStructs.push(B),null!==B.parentSub&&null===B.right&&B.parent._map.set(B.parentSub,B),e.length=t,B},Qa=(A,e)=>(A=>{for(let t=0;t{const E=A.doc,s=E.store,o=E.clientID,r=e.redone;if(null!==r)return Gc(A,r);let c,g=e.parent._item,a=null;if(null!==g&&!0===g.deleted){if(null===g.redone&&(!t.has(g)||null===la(A,g,t,n,i,B)))return null;for(;null!==g.redone;)g=Gc(A,g.redone)}const Q=null===g?e.parent:g.content.type;if(null===e.parentSub){for(a=e.left,c=e;null!==a;){let e=a;for(;null!==e&&e.parent._item!==g;)e=null===e.redone?null:Gc(A,e.redone);if(null!==e&&e.parent._item===g){a=e;break}a=a.left}for(;null!==c;){let e=c;for(;null!==e&&e.parent._item!==g;)e=null===e.redone?null:Gc(A,e.redone);if(null!==e&&e.parent._item===g){c=e;break}c=c.right}}else if(c=null,e.right&&!i){for(a=e;null!==a&&null!==a.right&&(a.right.redone||Fr(n,a.right.id)||Qa(B.undoStack,a.right.id)||Qa(B.redoStack,a.right.id));)for(a=a.right;a.redone;)a=Gc(A,a.redone);if(a&&null!==a.right)return null}else a=Q._map.get(e.parentSub)||null;const l=wc(s,o),h=tc(o,l),M=new ha(h,a,a&&a.lastId,c,c&&c.id,Q,e.parentSub,e.content.copy());return e.redone=h,ga(M,!0),M.integrate(A,0),M};class ha extends Vg{constructor(A,e,t,n,i,B,E,s){super(A,s.getLength()),this.origin=t,this.left=e,this.right=n,this.rightOrigin=i,this.parent=B,this.parentSub=E,this.redone=null,this.content=s,this.info=this.content.isCountable()?2:0}set marker(A){(8&this.info)>0!==A&&(this.info^=8)}get marker(){return(8&this.info)>0}get keep(){return(1&this.info)>0}set keep(A){this.keep!==A&&(this.info^=1)}get countable(){return(2&this.info)>0}get deleted(){return(4&this.info)>0}set deleted(A){this.deleted!==A&&(this.info^=4)}markDeleted(){this.info|=4}getMissing(A,e){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=wc(e,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=wc(e,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===Ac&&this.id.client!==this.parent.client&&this.parent.clock>=wc(e,this.parent.client))return this.parent.client;if(this.origin&&(this.left=Cc(A,e,this.origin),this.origin=this.left.lastId),this.rightOrigin&&(this.right=Gc(A,this.rightOrigin),this.rightOrigin=this.right.id),this.left&&this.left.constructor===vg||this.right&&this.right.constructor===vg)this.parent=null;else if(this.parent){if(this.parent.constructor===Ac){const A=uc(e,this.parent);this.parent=A.constructor===vg?null:A.content.type}}else this.left&&this.left.constructor===ha&&(this.parent=this.left.parent,this.parentSub=this.left.parentSub),this.right&&this.right.constructor===ha&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);return null}integrate(A,e){if(e>0&&(this.id.clock+=e,this.left=Cc(A,A.doc.store,tc(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(e),this.length-=e),this.parent){if(!this.left&&(!this.right||null!==this.right.left)||this.left&&this.left.right!==this.right){let e,t=this.left;if(null!==t)e=t.right;else if(null!==this.parentSub)for(e=this.parent._map.get(this.parentSub)||null;null!==e&&null!==e.left;)e=e.left;else e=this.parent._start;const n=new Set,i=new Set;for(;null!==e&&e!==this.right;){if(i.add(e),n.add(e),ec(this.origin,e.origin)){if(e.id.client{e.p===A&&(e.p=this,!this.deleted&&this.countable&&(e.index-=this.length))})),A.keep&&(this.keep=!0),this.right=A.right,null!==this.right&&(this.right.left=this),this.length+=A.length,!0}return!1}delete(A){if(!this.deleted){const e=this.parent;this.countable&&null===this.parentSub&&(e._length-=this.length),this.markDeleted(),Ur(A.deleteSet,this.id.client,this.id.clock,this.length),Yc(A,e,this.parentSub),this.content.delete(A)}}gc(A,e){if(!this.deleted)throw Mo();this.content.gc(A),e?((A,e,t)=>{const n=A.clients.get(e.id.client);n[Ic(n,e.id.clock)]=t})(A,this,new vg(this.id,this.length)):this.content=new Og(this.length)}write(A,e){const t=e>0?tc(this.id.client,this.id.clock+e-1):this.origin,n=this.rightOrigin,i=this.parentSub,B=31&this.content.getRef()|(null===t?0:zs)|(null===n?0:Ts)|(null===i?0:32);if(A.writeInfo(B),null!==t&&A.writeLeftID(t),null!==n&&A.writeRightID(n),null===t&&null===n){const e=this.parent;if(void 0!==e._item){const t=e._item;if(null===t){const t=nc(e);A.writeParentInfo(!0),A.writeString(t)}else A.writeParentInfo(!1),A.writeLeftID(t.id)}else e.constructor===String?(A.writeParentInfo(!0),A.writeString(e)):e.constructor===Ac?(A.writeParentInfo(!1),A.writeLeftID(e)):Mo();null!==i&&A.writeString(i)}this.content.write(A,e)}}const Ma=(A,e)=>wa[31&e](A),wa=[()=>{Mo()},A=>new Og(A.readLen()),A=>{const e=A.readLen(),t=[];for(let n=0;nnew Lg(A.readBuf()),A=>new Aa(A.readString()),A=>new Wg(A.readJSON()),A=>new Xg(A.readKey(),A.readJSON()),A=>new ra(ea[A.readTypeRef()](A)),A=>{const e=A.readLen(),t=[];for(let n=0;nnew Kg(_g(A.readString(),A.readAny())),()=>{Mo()}];class Ra extends Vg{get deleted(){return!0}delete(){}mergeWith(A){return this.constructor===A.constructor&&(this.length+=A.length,!0)}integrate(A,e){Mo()}write(A,e){A.writeInfo(10),qs(A.restEncoder,this.length-e)}getMissing(A,e){return null}}const Ia="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},ua="__ $YJS$ __";!0===Ia[ua]&&console.error("Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438"),Ia[ua]=!0;const da=/[\uD800-\uDBFF]/,Ga=/[\uDC00-\uDFFF]/,Ca=new s("y-sync"),ka=new s("y-undo"),Da=new s("yjs-cursor"),Fa=(A,e)=>void 0===e?!A.deleted:e.sv.has(A.id.client)&&e.sv.get(A.id.client)>A.id.clock&&!Fr(e.ds,A.id),Ya=[{light:"#ecd44433",dark:"#ecd444"}],fa=(A,e,t)=>{if(!A.has(t)){if(A.sizet.add(A))),e=e.filter((A=>!t.has(A)))}A.set(t,(n=e)[Ss(Ho()*n.length)])}var n;return A.get(t)},Ua=(A,e)=>({anchor:_a(e.selection.anchor,A.type,A.mapping),head:_a(e.selection.head,A.type,A.mapping)});class Na{constructor(A,e){this.type=A,this.prosemirrorView=e,this.mux=(()=>{let A=!0;return(e,t)=>{if(A){A=!1;try{e()}finally{A=!0}}else void 0!==t&&t()}})(),this.isDestroyed=!1,this.mapping=new Map,this._observeFunction=this._typeChanged.bind(this),this.doc=A.doc,this.beforeTransactionSelection=null,this.beforeAllTransactions=()=>{null===this.beforeTransactionSelection&&(this.beforeTransactionSelection=Ua(this,e.state))},this.afterAllTransactions=()=>{this.beforeTransactionSelection=null},this.doc.on("beforeAllTransactions",this.beforeAllTransactions),this.doc.on("afterAllTransactions",this.afterAllTransactions),A.observeDeep(this._observeFunction),this._domSelectionInView=null}get _tr(){return this.prosemirrorView.state.tr.setMeta("addToHistory",!1)}_isLocalCursorInView(){return!!this.prosemirrorView.hasFocus()&&(Ko&&null===this._domSelectionInView&&(sr(0,(()=>{this._domSelectionInView=null})),this._domSelectionInView=this._isDomSelectionInView()),this._domSelectionInView)}_isDomSelectionInView(){const A=this.prosemirrorView._root.getSelection(),e=this.prosemirrorView._root.createRange();e.setStart(A.anchorNode,A.anchorOffset),e.setEnd(A.focusNode,A.focusOffset),0===e.getClientRects().length&&e.startContainer&&e.collapsed&&e.selectNodeContents(e.startContainer);const t=e.getBoundingClientRect(),n=ir.documentElement;return t.bottom>=0&&t.right>=0&&t.left<=(window.innerWidth||n.clientWidth||0)&&t.top<=(window.innerHeight||n.clientHeight||0)}renderSnapshot(A,e){e||(e=ac(Nr(),new Map)),this.prosemirrorView.dispatch(this._tr.setMeta(Ca,{snapshot:A,prevSnapshot:e}))}unrenderSnapshot(){this.mapping=new Map,this.mux((()=>{const A=this.type.toArray().map((A=>ma(A,this.prosemirrorView.state.schema,this.mapping))).filter((A=>null!==A)),e=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(x.from(A),0,0));e.setMeta(Ca,{snapshot:null,prevSnapshot:null}),this.prosemirrorView.dispatch(e)}))}_forceRerender(){this.mapping=new Map,this.mux((()=>{const A=this.type.toArray().map((A=>ma(A,this.prosemirrorView.state.schema,this.mapping))).filter((A=>null!==A)),e=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(x.from(A),0,0));this.prosemirrorView.dispatch(e.setMeta(Ca,{isChangeOrigin:!0,binding:this}))}))}_renderSnapshot(A,e,t){A||(A=(A=>ac(Sr(A.store),Mc(A.store)))(this.doc)),this.mapping=new Map,this.mux((()=>{this.doc.transact((n=>{const i=t.permanentUserData;i&&i.dss.forEach((A=>{Dr(n,A,(()=>{}))}));const B=(A,e)=>{const n="added"===A?i.getUserByClientId(e.client):i.getUserByDeletedId(e);return{user:n,type:A,color:fa(t.colorMapping,t.colors,n)}},E=ng(this.type,new gc(e.ds,A.sv)).map((t=>!t._item.deleted||Fa(t._item,A)||Fa(t._item,e)?ma(t,this.prosemirrorView.state.schema,new Map,A,e,B):null)).filter((A=>null!==A)),s=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(x.from(E),0,0));this.prosemirrorView.dispatch(s.setMeta(Ca,{isChangeOrigin:!0}))}),Ca)}))}_typeChanged(A,e){const t=Ca.getState(this.prosemirrorView.state);0!==A.length&&null==t.snapshot&&null==t.prevSnapshot?this.mux((()=>{const A=(A,e)=>this.mapping.delete(e);Dr(e,e.deleteSet,(A=>{if(A.constructor===ha){const e=A.content.type;e&&this.mapping.delete(e)}})),e.changed.forEach(A),e.changedParentTypes.forEach(A);const t=this.type.toArray().map((A=>Sa(A,this.prosemirrorView.state.schema,this.mapping))).filter((A=>null!==A));let n=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(x.from(t),0,0));((A,e,t)=>{if(null!==e&&null!==e.anchor&&null!==e.head){const n=Wa(t.doc,t.type,e.anchor,t.mapping),i=Wa(t.doc,t.type,e.head,t.mapping);null!==n&&null!==i&&(A=A.setSelection(C.create(A.doc,n,i)))}})(n,this.beforeTransactionSelection,this),n=n.setMeta(Ca,{isChangeOrigin:!0,isUndoRedoOperation:e.origin instanceof bc}),null!==this.beforeTransactionSelection&&this._isLocalCursorInView()&&n.scrollIntoView(),this.prosemirrorView.dispatch(n)})):this.renderSnapshot(t.snapshot,t.prevSnapshot)}_prosemirrorChanged(A){this.doc.transact((()=>{Va(this.doc,this.type,A,this.mapping),this.beforeTransactionSelection=Ua(this,this.prosemirrorView.state)}),Ca)}destroy(){this.isDestroyed=!0,this.type.unobserveDeep(this._observeFunction),this.doc.off("beforeAllTransactions",this.beforeAllTransactions),this.doc.off("afterAllTransactions",this.afterAllTransactions)}}const Sa=(A,e,t,n,i,B)=>{const E=t.get(A);if(void 0===E){if(A instanceof Jg)return ma(A,e,t,n,i,B);throw ho()}return E},ma=(A,e,t,n,i,B)=>{const E=[],s=A=>{if(A.constructor===Jg){const s=Sa(A,e,t,n,i,B);null!==s&&E.push(s)}else{const s=ya(A,e,t,n,i,B);null!==s&&s.forEach((A=>{null!==A&&E.push(A)}))}};void 0===n||void 0===i?A.toArray().forEach(s):ng(A,new gc(i.ds,n.sv)).forEach(s);try{const s=A.getAttributes(n);void 0!==n&&(Fa(A._item,n)?Fa(A._item,i)||(s.ychange=B?B("added",A._item.id):{type:"added"}):s.ychange=B?B("removed",A._item.id):{type:"removed"});const o=e.node(A.nodeName,s,E);return t.set(A,o),o}catch(e){return A.doc.transact((e=>{A._item.delete(e)}),Ca),t.delete(A),null}},ya=(A,e,t,n,i,B)=>{const E=[],s=A.toDelta(n,i,B);try{for(let A=0;A{A._item.delete(e)}),Ca),null}return E},ba=(A,e)=>A instanceof Array?((A,e)=>{const t=new Pg,n=A.map((A=>({insert:A.text,attributes:Pa(A.marks)})));return t.applyDelta(n),e.set(t,A),t})(A,e):((A,e)=>{const t=new Jg(A.type.name);for(const e in A.attrs){const n=A.attrs[e];null!==n&&"ychange"!==e&&t.setAttribute(e,n)}return t.insert(0,za(A).map((A=>ba(A,e)))),e.set(t,A),t})(A,e),Ha=A=>"object"==typeof A&&null!==A,Ta=(A,e)=>{const t=Object.keys(A).filter((e=>null!==A[e]));let n=t.length===Object.keys(e).filter((A=>null!==e[A])).length;for(let i=0;i{const e=A.content.content,t=[];for(let A=0;A{const t=A.toDelta();return t.length===e.length&&t.every(((A,t)=>A.insert===e[t].text&&Vo(A.attributes||{}).length===e[t].marks.length&&e[t].marks.every((e=>Ta(A.attributes[e.type.name]||{},e.attrs)))))},pa=(A,e)=>{if(A instanceof Jg&&!(e instanceof Array)&&va(A,e)){const t=za(e);return A._length===t.length&&Ta(A.getAttributes(),e.attrs)&&A.toArray().every(((A,e)=>pa(A,t[e])))}return A instanceof Pg&&e instanceof Array&&xa(A,e)},Ja=(A,e)=>A===e||A instanceof Array&&e instanceof Array&&A.length===e.length&&A.every(((A,t)=>e[t]===A)),ja=(A,e,t)=>{const n=A.toArray(),i=za(e),B=i.length,E=n.length,s=ys(E,B);let o=0,r=0,c=!1;for(;o{t.set(A,e);const{nAttrs:n,str:i}=(A=>{let e="",t=A._start;const n={};for(;null!==t;)t.deleted||(t.countable&&t.content instanceof Aa?e+=t.content.str:t.content instanceof Xg&&(n[t.content.key]=null)),t=t.right;return{str:e,nAttrs:n}})(A),B=e.map((A=>({insert:A.text,attributes:Object.assign({},n,Pa(A.marks))}))),{insert:E,remove:s,index:o}=((A,e)=>{let t=0,n=0;for(;t0&&da.test(A[t-1])&&t--;n+t0&&Ga.test(A[A.length-n])&&n--,{index:t,remove:A.length-t-n,insert:e.slice(t,e.length-n)}})(i,B.map((A=>A.insert)).join(""));A.delete(o,s),A.insert(o,E),A.applyDelta(B.map((A=>({retain:A.insert.length,attributes:A.attributes}))))},Pa=A=>{const e={};return A.forEach((A=>{"ychange"!==A.type.name&&(e[A.type.name]=A.attrs)})),e},Va=(A,e,t,n)=>{if(e instanceof Jg&&e.nodeName!==t.type.name)throw new Error("node name mismatch!");if(n.set(e,t),e instanceof Jg){const A=e.getAttributes(),n=t.attrs;for(const t in n)null!==n[t]?A[t]!==n[t]&&"ychange"!==t&&e.setAttribute(t,n[t]):e.removeAttribute(t);for(const t in A)void 0===n[t]&&e.removeAttribute(t)}const i=za(t),B=i.length,E=e.toArray(),s=E.length,o=ys(B,s);let r=0,c=0;for(;r{for(;s-r-c>0&&B-r-c>0;){const t=E[r],o=i[r],g=E[s-c-1],a=i[B-c-1];if(t instanceof Pg&&o instanceof Array)xa(t,o)||Za(t,o,n),r+=1;else{let i=t instanceof Jg&&va(t,o),B=g instanceof Jg&&va(g,a);if(i&&B){const A=ja(t,o,n),e=ja(g,a,n);A.foundMappedChild&&!e.foundMappedChild?B=!1:!A.foundMappedChild&&e.foundMappedChild||A.equalityFactor0&&(e.slice(r,r+t).forEach((A=>n.delete(A))),e.delete(r,t)),r+c!(e instanceof Array)&&A.nodeName===e.type.name;let La=null;const Oa=()=>{const A=La;La=null,A.forEach(((A,e)=>{const t=e.state.tr,n=Ca.getState(e.state);n&&n.binding&&!n.binding.isDestroyed&&(A.forEach(((A,e)=>{t.setMeta(e,A)})),e.dispatch(t))}))},_a=(A,e,t)=>{if(0===A)return rc(e,0);let n=null===e._first?null:e._first.content.type;for(;null!==n&&e!==n;){if(n instanceof Pg){if(n._length>=A)return rc(n,A);if(A-=n._length,null!==n._item&&null!==n._item.next)n=n._item.next.content.type;else{do{n=null===n._item?null:n._item.parent,A--}while(n!==e&&null!==n&&null!==n._item&&null===n._item.next);null!==n&&n!==e&&(n=null===n._item?null:n._item.next.content.type)}}else{const i=(t.get(n)||{nodeSize:0}).nodeSize;if(null!==n._first&&A1)return new Bc(null===n._item?null:n._item.id,null===n._item?nc(n):null,null);if(A-=i,null!==n._item&&null!==n._item.next)n=n._item.next.content.type;else{if(0===A)return n=null===n._item?n:n._item.parent,new Bc(null===n._item?null:n._item.id,null===n._item?nc(n):null,null);do{n=n._item.parent,A--}while(n!==e&&null===n._item.next);n!==e&&(n=n._item.next.content.type)}}}if(null===n)throw Mo();if(0===A&&n.constructor!==Pg&&n!==e)return Ka(n._item.parent,n._item)}return rc(e,e._length)},Ka=(A,e)=>{let t=null,n=null;return null===A._item?n=nc(A):t=tc(A._item.id.client,A._item.id.clock),new Bc(t,n,e.id)},Wa=(A,e,t,n)=>{const i=((A,e,t=!0)=>{const n=e.store,i=A.item,B=A.type,E=A.tname,s=A.assoc;let o=null,r=0;if(null!==i){if(wc(n,i.client)<=i.clock)return null;const A=t?ca(n,i):{item:uc(n,i),diff:0},e=A.item;if(!(e instanceof ha))return null;if(o=e.parent,null===o._item||!o._item.deleted){r=e.deleted||!e.countable?0:A.diff+(s>=0?0:1);let t=e.left;for(;null!==t;)!t.deleted&&t.countable&&(r+=t.length),t=t.left}}else{if(null!==E)o=e.get(E);else{if(null===B)throw Mo();{if(wc(n,B.client)<=B.clock)return null;const{item:A}=t?ca(n,B):{item:uc(n,B)};if(!(A instanceof ha&&A.content instanceof ra))return null;o=A.content.type}}r=s>=0?o._length:0}return((A,e,t=0)=>new sc(A,e,t))(o,r,A.assoc)})(t,A);if(null===i||i.type!==e&&!ic(e,i.type._item))return null;let B=i.type,E=0;if(B.constructor===Pg)E=i.index;else if(null===B._item||!B._item.deleted){let A=B._first,e=0;for(;eA!==e,qa=A=>{const e=document.createElement("span");e.classList.add("ProseMirror-yjs-cursor"),e.setAttribute("style",`border-color: ${A.color}`);const t=document.createElement("div");t.setAttribute("style",`background-color: ${A.color}`),t.insertBefore(document.createTextNode(A.name),null);const n=document.createTextNode("⁠"),i=document.createTextNode("⁠");return e.insertBefore(n,null),e.insertBefore(t,null),e.insertBefore(i,null),e},$a=A=>({style:`background-color: ${A.color}70`,class:"ProseMirror-yjs-selection"}),AQ=/^#[0-9a-fA-F]{6}$/,eQ=(A,e,t,n,i)=>{const B=Ca.getState(A),E=B.doc,s=[];return null!=B.snapshot||null!=B.prevSnapshot||null===B.binding?k.create(A.doc,[]):(e.getStates().forEach(((e,o)=>{if(t(E.clientID,o,e)&&null!=e.cursor){const t=e.user||{};null==t.color?t.color="#ffa500":AQ.test(t.color)||console.warn("A user uses an unsupported color format",t),null==t.name&&(t.name=`User: ${o}`);let r=Wa(E,B.type,Ec(e.cursor.anchor),B.binding.mapping),c=Wa(E,B.type,Ec(e.cursor.head),B.binding.mapping);if(null!==r&&null!==c){const e=bs(A.doc.content.size-1,0);r=ys(r,e),c=ys(c,e),s.push(F.widget(c,(()=>n(t)),{key:o+"",side:10}));const B=ys(r,c),E=bs(r,c);s.push(F.inline(B,E,i(t),{inclusiveEnd:!0,inclusiveStart:!1}))}}})),k.create(A.doc,s))},tQ=(A,{awarenessStateFilter:e=Xa,cursorBuilder:t=qa,selectionBuilder:n=$a,getSelection:i=(A=>A.selection)}={},B="cursor")=>new E({key:Da,state:{init:(i,B)=>eQ(B,A,e,t,n),apply(i,B,E,s){const o=Ca.getState(s),r=i.getMeta(Da);return o&&o.isChangeOrigin||r&&r.awarenessUpdated?eQ(s,A,e,t,n):B.map(i.mapping,i.doc)}},props:{decorations:A=>Da.getState(A)},view:e=>{const t=()=>{e.docView&&((A,e)=>{La||(La=new Map,sr(0,Oa)),ks(La,A,Gs).set(e,{awarenessUpdated:!0})})(e,Da)},n=()=>{const t=Ca.getState(e.state),n=A.getLocalState()||{};if(null!=t.binding)if(e.hasFocus()){const E=i(e.state),s=_a(E.anchor,t.type,t.binding.mapping),o=_a(E.head,t.type,t.binding.mapping);null!=n.cursor&&cc(Ec(n.cursor.anchor),s)&&cc(Ec(n.cursor.head),o)||A.setLocalStateField(B,{anchor:s,head:o})}else null!=n.cursor&&null!==Wa(t.doc,t.type,Ec(n.cursor.anchor),t.binding.mapping)&&A.setLocalStateField(B,null)};return A.on("change",t),e.dom.addEventListener("focusin",n),e.dom.addEventListener("focusout",n),{update:n,destroy:()=>{e.dom.removeEventListener("focusin",n),e.dom.removeEventListener("focusout",n),A.off("change",t),A.setLocalStateField(B,null)}}}}),nQ=new Set(["paragraph"]),iQ=o.create({name:"collaboration",priority:1e3,addOptions:()=>({document:null,field:"default",fragment:null}),onCreate(){this.editor.extensionManager.extensions.find((A=>"history"===A.name))&&console.warn('[tiptap warn]: "@tiptap/extension-collaboration" comes with its own history support and is not compatible with "@tiptap/extension-history".')},addCommands:()=>({undo:()=>({tr:A,state:e,dispatch:t})=>(A.setMeta("preventDispatch",!0),0!==ka.getState(e).undoManager.undoStack.length&&(!t||(A=>{const e=ka.getState(A).undoManager;if(null!=e)return e.undo(),!0})(e))),redo:()=>({tr:A,state:e,dispatch:t})=>(A.setMeta("preventDispatch",!0),0!==ka.getState(e).undoManager.redoStack.length&&(!t||(A=>{const e=ka.getState(A).undoManager;if(null!=e)return e.redo(),!0})(e)))}),addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Mod-y":()=>this.editor.commands.redo(),"Shift-Mod-z":()=>this.editor.commands.redo()}},addProseMirrorPlugins(){const A=this.options.fragment?this.options.fragment:this.options.document.getXmlFragment(this.options.field),e=(({protectedNodes:A=nQ,trackedOrigins:e=[],undoManager:t=null}={})=>new E({key:ka,state:{init:(n,i)=>{const B=Ca.getState(i),E=t||new bc(B.type,{trackedOrigins:new Set([Ca].concat(e)),deleteFilter:e=>((A,e)=>!(A instanceof ha&&A.content instanceof ra&&(A.content.type instanceof zg||A.content.type instanceof Jg&&e.has(A.content.type.nodeName))&&0!==A.content.type._length))(e,A),captureTransaction:A=>!1!==A.meta.get("addToHistory")});return{undoManager:E,prevSel:null,hasUndoOps:E.undoStack.length>0,hasRedoOps:E.redoStack.length>0}},apply:(A,e,t,n)=>{const i=Ca.getState(n).binding,B=e.undoManager,E=B.undoStack.length>0,s=B.redoStack.length>0;return i?{undoManager:B,prevSel:Ua(i,t),hasUndoOps:E,hasRedoOps:s}:E!==e.hasUndoOps||s!==e.hasRedoOps?Object.assign({},e,{hasUndoOps:B.undoStack.length>0,hasRedoOps:B.redoStack.length>0}):e}},view:A=>{const e=Ca.getState(A.state),t=ka.getState(A.state).undoManager;return t.on("stack-item-added",(({stackItem:t})=>{const n=e.binding;n&&t.meta.set(n,ka.getState(A.state).prevSel)})),t.on("stack-item-popped",(({stackItem:A})=>{const t=e.binding;t&&(t.beforeTransactionSelection=A.meta.get(t)||t.beforeTransactionSelection)})),{destroy:()=>{t.destroy()}}}}))(),t=e.spec.view;e.spec.view=A=>{const{undoManager:e}=ka.getState(A.state);e.restore&&(e.restore(),e.restore=()=>{});const n=t?t(A):void 0;return{destroy:()=>{const A=e.trackedOrigins.has(e),t=e._observers;e.restore=()=>{A&&e.trackedOrigins.add(e),e.doc.on("afterTransaction",e.afterTransactionHandler),e._observers=t},(null==n?void 0:n.destroy)&&n.destroy()}}};const n=this.options.ySyncOptions,i=this.options.onFirstRender,B=((A,{colors:e=Ya,colorMapping:t=new Map,permanentUserData:n=null,onFirstRender:i=(()=>{})}={})=>{let B=!1;const s=new E({props:{editable:A=>{const e=Ca.getState(A);return null==e.snapshot&&null==e.prevSnapshot}},key:Ca,state:{init:()=>({type:A,doc:A.doc,binding:null,snapshot:null,prevSnapshot:null,isChangeOrigin:!1,isUndoRedoOperation:!1,addToHistory:!0,colors:e,colorMapping:t,permanentUserData:n}),apply:(A,e)=>{const t=A.getMeta(Ca);if(void 0!==t){e=Object.assign({},e);for(const A in t)e[A]=t[A]}return e.addToHistory=!1!==A.getMeta("addToHistory"),e.isChangeOrigin=void 0!==t&&!!t.isChangeOrigin,e.isUndoRedoOperation=void 0!==t&&!!t.isChangeOrigin&&!!t.isUndoRedoOperation,null!==e.binding&&(void 0===t||null==t.snapshot&&null==t.prevSnapshot||sr(0,(()=>{null==e.binding||e.binding.isDestroyed||(null==t.restore?e.binding._renderSnapshot(t.snapshot,t.prevSnapshot,e):(e.binding._renderSnapshot(t.snapshot,t.snapshot,e),delete e.restore,delete e.snapshot,delete e.prevSnapshot,e.binding.mux((()=>{e.binding._prosemirrorChanged(e.binding.prosemirrorView.state.doc)}))))}))),e}},view:e=>{const t=new Na(A,e);return t._forceRerender(),i(),{update:()=>{const A=s.getState(e.state);if(null==A.snapshot&&null==A.prevSnapshot&&(B||null!==e.state.doc.content.findDiffStart(e.state.doc.type.createAndFill().content))){if(B=!0,!1===A.addToHistory&&!A.isChangeOrigin){const A=ka.getState(e.state),t=A&&A.undoManager;t&&t.stopCapturing()}t.mux((()=>{A.doc.transact((n=>{n.meta.set("addToHistory",A.addToHistory),t._prosemirrorChanged(e.state.doc)}),Ca)}))}},destroy:()=>{t.destroy()}}}});return s})(A,{...n?{...n}:{},...i?{onFirstRender:i}:{}});return[B,e]}}),BQ=A=>Array.from(A.entries()).map((([A,e])=>({clientId:A,...e.user}))),EQ=()=>null,sQ=o.create({name:"collaborationCursor",addOptions:()=>({provider:null,user:{name:null,color:null},render:A=>{const e=document.createElement("span");e.classList.add("collaboration-cursor__caret"),e.setAttribute("style",`border-color: ${A.color}`);const t=document.createElement("div");return t.classList.add("collaboration-cursor__label"),t.setAttribute("style",`background-color: ${A.color}`),t.insertBefore(document.createTextNode(A.name),null),e.insertBefore(t,null),e},selectionRender:$a,onUpdate:EQ}),onCreate(){this.options.onUpdate!==EQ&&console.warn('[tiptap warn]: DEPRECATED: The "onUpdate" option is deprecated. Please use `editor.storage.collaborationCursor.users` instead. Read more: https://tiptap.dev/api/extensions/collaboration-cursor')},addStorage:()=>({users:[]}),addCommands(){return{updateUser:A=>()=>(this.options.user=A,this.options.provider.awareness.setLocalStateField("user",this.options.user),!0),user:A=>({editor:e})=>(console.warn('[tiptap warn]: DEPRECATED: The "user" command is deprecated. Please use "updateUser" instead. Read more: https://tiptap.dev/api/extensions/collaboration-cursor'),e.commands.updateUser(A))}},addProseMirrorPlugins(){return[tQ((()=>(this.options.provider.awareness.setLocalStateField("user",this.options.user),this.storage.users=BQ(this.options.provider.awareness.states),this.options.provider.awareness.on("update",(()=>{this.storage.users=BQ(this.options.provider.awareness.states)})),this.options.provider.awareness))(),{cursorBuilder:this.options.render,selectionBuilder:this.options.selectionRender})]}}),oQ=Math.floor,rQ=127,cQ=Number.MAX_SAFE_INTEGER,gQ="undefined"!=typeof TextEncoder?new TextEncoder:null,aQ=gQ?A=>gQ.encode(A):A=>{const e=unescape(encodeURIComponent(A)),t=e.length,n=new Uint8Array(t);for(let A=0;A{const t=A.cbuf.length;A.cpos===t&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(2*t),A.cpos=0),A.cbuf[A.cpos++]=e},hQ=(A,e)=>{for(;e>rQ;)lQ(A,128|rQ&e),e=oQ(e/128);lQ(A,rQ&e)},MQ=new Uint8Array(3e4),wQ=MQ.length/3,RQ=gQ&&gQ.encodeInto?(A,e)=>{if(e.length{const t=unescape(encodeURIComponent(e)),n=t.length;hQ(A,n);for(let e=0;e{hQ(A,e.byteLength),((A,e)=>{const t=A.cbuf.length,n=A.cpos,i=(B=t-n)<(E=e.length)?B:E;var B,E;const s=e.length-i;A.cbuf.set(e.subarray(0,i),n),A.cpos+=i,s>0&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(((A,e)=>A>e?A:e)(2*t,s)),A.cbuf.set(e.subarray(i)),A.cpos=s)})(A,e)},uQ=A=>new Error(A),dQ=uQ("Unexpected end of array"),GQ=uQ("Integer out of Range"),CQ=A=>A.arr[A.pos++],kQ=A=>{let e=0,t=1;const n=A.arr.length;for(;A.poscQ)throw GQ}throw dQ},DQ=QQ?A=>QQ.decode((A=>((A,e)=>{const t=new Uint8Array(A.arr.buffer,A.pos+A.arr.byteOffset,e);return A.pos+=e,t})(A,kQ(A)))(A)):A=>{let e=kQ(A);if(0===e)return"";{let t=String.fromCodePoint(CQ(A));if(--e<100)for(;e--;)t+=String.fromCodePoint(CQ(A));else for(;e>0;){const n=e<1e4?e:1e4,i=A.arr.subarray(A.pos,A.pos+n);A.pos+=n,t+=String.fromCodePoint.apply(null,i),e-=n}return decodeURIComponent(escape(t))}};var FQ;!function(A){A[A.Token=0]="Token",A[A.PermissionDenied=1]="PermissionDenied",A[A.Authenticated=2]="Authenticated"}(FQ||(FQ={}));const YQ=A=>Array.from(A.entries()).map((([A,e])=>({clientId:A,...e})));var fQ;async function UQ(A){return new Promise((e=>{setTimeout(e,A)}))}function NQ(A,e){let t=e.delay;if(0===t)return 0;if(e.factor&&(t*=Math.pow(e.factor,A.attemptNum-1),0!==e.maxDelay&&(t=Math.min(t,e.maxDelay))),e.jitter){const A=Math.ceil(e.minDelay),n=Math.floor(t);t=Math.floor(Math.random()*(n-A+1))+A}return Math.round(t)}!function(A){A[A.Connecting=0]="Connecting",A[A.Open=1]="Open",A[A.Closing=2]="Closing",A[A.Closed=3]="Closed"}(fQ||(fQ={}));const SQ=()=>new Map,mQ=(A,e,t)=>{let n=A.get(e);return void 0===n&&A.set(e,n=t()),n},yQ=()=>new Set,bQ=Array.from,HQ=String.fromCharCode,TQ=/^\s*/g,zQ=/([A-Z])/g,xQ=(A,e)=>(A=>A.replace(TQ,""))(A.replace(zQ,(A=>`${e}${(A=>A.toLowerCase())(A)}`))),pQ="undefined"!=typeof TextEncoder?new TextEncoder:null,JQ=pQ?A=>pQ.encode(A):A=>{const e=unescape(encodeURIComponent(A)),t=e.length,n=new Uint8Array(t);for(let A=0;AvQ(A).length,OQ=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),_Q=(A,e)=>{if(null==A||null==e)return((A,e)=>A===e)(A,e);if(A.constructor!==e.constructor)return!1;if(A===e)return!0;switch(A.constructor){case ArrayBuffer:A=new Uint8Array(A),e=new Uint8Array(e);case Uint8Array:if(A.byteLength!==e.byteLength)return!1;for(let t=0;t(()=>{if(void 0===XQ)if(KQ){XQ=SQ();const A=process.argv;let e=null;for(let t=0;t{if(0!==A.length){const[e,t]=A.split("=");XQ.set(`--${xQ(e,"-")}`,t),XQ.set(`-${xQ(e,"-")}`,t)}}))):XQ=SQ();return XQ})().has(A),$Q=A=>{return void 0===(e=KQ?process.env[A.toUpperCase()]:VQ.getItem(A))?null:e;var e};(A=>{qQ("--"+A)||$Q(A)})("production");const Al=KQ&&(A=>["true","1","2"].includes(A))(process.env.FORCE_COLOR);!qQ("no-colors")&&(!KQ||process.stdout.isTTY||Al)&&(!KQ||qQ("color")||Al||null!==$Q("COLORTERM")||($Q("TERM")||"").includes("color"));const el=Math.floor,tl=128,nl=127,il=Number.MAX_SAFE_INTEGER;class Bl{constructor(){this.cpos=0,this.cbuf=new Uint8Array(100),this.bufs=[]}}const El=()=>new Bl,sl=A=>{let e=A.cpos;for(let t=0;t{const e=new Uint8Array(sl(A));let t=0;for(let n=0;n{const t=A.cbuf.length;A.cpos===t&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(2*t),A.cpos=0),A.cbuf[A.cpos++]=e},cl=(A,e)=>{for(;e>nl;)rl(A,tl|nl&e),e=el(e/128);rl(A,nl&e)},gl=new Uint8Array(3e4),al=gl.length/3,Ql=pQ&&pQ.encodeInto?(A,e)=>{if(e.length{const t=unescape(encodeURIComponent(e)),n=t.length;cl(A,n);for(let e=0;e{cl(A,e.byteLength),((A,e)=>{const t=A.cbuf.length,n=A.cpos,i=(B=t-n)<(E=e.length)?B:E;var B,E;const s=e.length-i;A.cbuf.set(e.subarray(0,i),n),A.cpos+=i,s>0&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(((A,e)=>A>e?A:e)(2*t,s)),A.cbuf.set(e.subarray(i)),A.cpos=s)})(A,e)},hl=A=>new Error(A),Ml=hl("Unexpected end of array"),wl=hl("Integer out of Range");class Rl{constructor(A){this.arr=A,this.pos=0}}const Il=A=>new Rl(A),ul=A=>((A,e)=>{const t=new Uint8Array(A.arr.buffer,A.pos+A.arr.byteOffset,e);return A.pos+=e,t})(A,Gl(A)),dl=A=>A.arr[A.pos++],Gl=A=>{let e=0,t=1;const n=A.arr.length;for(;A.posil)throw wl}throw Ml},Cl=jQ?A=>jQ.decode(ul(A)):A=>{let e=Gl(A);if(0===e)return"";{let t=String.fromCodePoint(dl(A));if(--e<100)for(;e--;)t+=String.fromCodePoint(dl(A));else for(;e>0;){const n=e<1e4?e:1e4,i=A.arr.subarray(A.pos,A.pos+n);A.pos+=n,t+=String.fromCodePoint.apply(null,i),e-=n}return decodeURIComponent(escape(t))}},kl=WQ?A=>{let e="";for(let t=0;tBuffer.from(A.buffer,A.byteOffset,A.byteLength).toString("base64"),Dl=WQ?A=>{const e=atob(A),t=new Uint8Array(e.length);for(let A=0;A{const e=Buffer.from(A,"base64");return((A,e,t)=>new Uint8Array(A,e,t))(e.buffer,e.byteOffset,e.byteLength)},Fl=new Map,Yl="undefined"==typeof BroadcastChannel?class{constructor(A){this.room=A,this.onmessage=null,this._onChange=e=>e.key===A&&null!==this.onmessage&&this.onmessage({data:Dl(e.newValue||"")}),PQ||addEventListener("storage",this._onChange)}postMessage(A){VQ.setItem(this.room,kl(new Uint8Array(A)))}close(){PQ||removeEventListener("storage",this._onChange)}}:BroadcastChannel,fl=A=>mQ(Fl,A,(()=>{const e=yQ(),t=new Yl(A);return t.onmessage=A=>e.forEach((e=>e(A.data,"broadcastchannel"))),{bc:t,subs:e}})),Ul=Date.now;class Nl{constructor(){this._observers=SQ()}on(A,e){mQ(this._observers,A,yQ).add(e)}once(A,e){const t=(...n)=>{this.off(A,t),e(...n)};this.on(A,t)}off(A,e){const t=this._observers.get(A);void 0!==t&&(t.delete(e),0===t.size&&this._observers.delete(A))}emit(A,e){return bQ((this._observers.get(A)||SQ()).values()).forEach((A=>A(...e)))}destroy(){this._observers=SQ()}}class Sl extends Nl{constructor(A){super(),this.doc=A,this.clientID=A.clientID,this.states=new Map,this.meta=new Map,this._checkInterval=setInterval((()=>{const A=Ul();null!==this.getLocalState()&&15e3<=A-this.meta.get(this.clientID).lastUpdated&&this.setLocalState(this.getLocalState());const e=[];this.meta.forEach(((t,n)=>{n!==this.clientID&&3e4<=A-t.lastUpdated&&this.states.has(n)&&e.push(n)})),e.length>0&&ml(this,e,"timeout")}),el(3e3)),A.on("destroy",(()=>{this.destroy()})),this.setLocalState({})}destroy(){this.emit("destroy",[this]),this.setLocalState(null),super.destroy(),clearInterval(this._checkInterval)}getLocalState(){return this.states.get(this.clientID)||null}setLocalState(A){const e=this.clientID,t=this.meta.get(e),n=void 0===t?0:t.clock+1,i=this.states.get(e);null===A?this.states.delete(e):this.states.set(e,A),this.meta.set(e,{clock:n,lastUpdated:Ul()});const B=[],E=[],s=[],o=[];null===A?o.push(e):null==i?null!=A&&B.push(e):(E.push(e),_Q(i,A)||s.push(e)),(B.length>0||s.length>0||o.length>0)&&this.emit("change",[{added:B,updated:s,removed:o},"local"]),this.emit("update",[{added:B,updated:E,removed:o},"local"])}setLocalStateField(A,e){const t=this.getLocalState();null!==t&&this.setLocalState({...t,[A]:e})}getStates(){return this.states}}const ml=(A,e,t)=>{const n=[];for(let t=0;t0&&(A.emit("change",[{added:[],updated:[],removed:n},t]),A.emit("update",[{added:[],updated:[],removed:n},t]))},yl=(A,e,t=A.states)=>{const n=e.length,i=El();cl(i,n);for(let B=0;BA.apply(this,e))),this}off(A,e){const t=this.callbacks[A];return t&&(e?this.callbacks[A]=t.filter((A=>A!==e)):delete this.callbacks[A]),this}removeAllListeners(){this.callbacks={}}}var Hl,Tl;!function(A){A[A.Sync=0]="Sync",A[A.Awareness=1]="Awareness",A[A.Auth=2]="Auth",A[A.QueryAwareness=3]="QueryAwareness",A[A.Stateless=5]="Stateless",A[A.CLOSE=7]="CLOSE",A[A.SyncStatus=8]="SyncStatus"}(Hl||(Hl={})),function(A){A.Connecting="connecting",A.Connected="connected",A.Disconnected="disconnected"}(Tl||(Tl={}));class zl{constructor(A){this.data=A,this.encoder=El(),this.decoder=Il(new Uint8Array(this.data))}peekVarString(){return(A=>{const e=A.pos,t=Cl(A);return A.pos=e,t})(this.decoder)}readVarUint(){return Gl(this.decoder)}readVarString(){return Cl(this.decoder)}readVarUint8Array(){return ul(this.decoder)}writeVarUint(A){return cl(this.encoder,A)}writeVarString(A){return Ql(this.encoder,A)}writeVarUint8Array(A){return ll(this.encoder,A)}length(){return sl(this.encoder)}}class xl extends bl{constructor(A){super(),this.messageQueue=[],this.configuration={url:"",document:void 0,WebSocketPolyfill:void 0,parameters:{},connect:!0,broadcast:!0,forceSyncInterval:!1,messageReconnectTimeout:3e4,delay:1e3,initialDelay:0,factor:2,maxAttempts:0,minDelay:1e3,maxDelay:3e4,jitter:!0,timeout:0,onOpen:()=>null,onConnect:()=>null,onMessage:()=>null,onOutgoingMessage:()=>null,onStatus:()=>null,onDisconnect:()=>null,onClose:()=>null,onDestroy:()=>null,onAwarenessUpdate:()=>null,onAwarenessChange:()=>null,quiet:!1,providerMap:new Map},this.webSocket=null,this.webSocketHandlers={},this.shouldConnect=!0,this.status=Tl.Disconnected,this.lastMessageReceived=0,this.identifier=0,this.intervals={forceSync:null,connectionChecker:null},this.connectionAttempt=null,this.receivedOnOpenPayload=void 0,this.receivedOnStatusPayload=void 0,this.closeTries=0,this.setConfiguration(A),this.configuration.WebSocketPolyfill=A.WebSocketPolyfill?A.WebSocketPolyfill:WebSocket,this.on("open",this.configuration.onOpen),this.on("open",this.onOpen.bind(this)),this.on("connect",this.configuration.onConnect),this.on("message",this.configuration.onMessage),this.on("outgoingMessage",this.configuration.onOutgoingMessage),this.on("status",this.configuration.onStatus),this.on("status",this.onStatus.bind(this)),this.on("disconnect",this.configuration.onDisconnect),this.on("close",this.configuration.onClose),this.on("destroy",this.configuration.onDestroy),this.on("awarenessUpdate",this.configuration.onAwarenessUpdate),this.on("awarenessChange",this.configuration.onAwarenessChange),this.on("close",this.onClose.bind(this)),this.on("message",this.onMessage.bind(this)),this.intervals.connectionChecker=setInterval(this.checkConnection.bind(this),this.configuration.messageReconnectTimeout/10),void 0!==A.connect&&(this.shouldConnect=A.connect),this.shouldConnect&&this.connect()}async onOpen(A){this.receivedOnOpenPayload=A}async onStatus(A){this.receivedOnStatusPayload=A}attach(A){let e;return this.configuration.providerMap.set(A.configuration.name,A),this.status===Tl.Disconnected&&this.shouldConnect&&(e=this.connect()),this.receivedOnOpenPayload&&A.onOpen(this.receivedOnOpenPayload),this.receivedOnStatusPayload&&A.onStatus(this.receivedOnStatusPayload),e}detach(A){this.configuration.providerMap.delete(A.configuration.name)}setConfiguration(A={}){this.configuration={...this.configuration,...A}}async connect(){if(this.status===Tl.Connected)return;this.cancelWebsocketRetry&&(this.cancelWebsocketRetry(),this.cancelWebsocketRetry=void 0),this.receivedOnOpenPayload=void 0,this.receivedOnStatusPayload=void 0,this.shouldConnect=!0;const{retryPromise:A,cancelFunc:e}=(()=>{let A=!1;const e=async function(A,e){const t=function(A){return A||(A={}),{delay:void 0===A.delay?200:A.delay,initialDelay:void 0===A.initialDelay?0:A.initialDelay,minDelay:void 0===A.minDelay?0:A.minDelay,maxDelay:void 0===A.maxDelay?0:A.maxDelay,factor:void 0===A.factor?0:A.factor,maxAttempts:void 0===A.maxAttempts?3:A.maxAttempts,timeout:void 0===A.timeout?0:A.timeout,jitter:!0===A.jitter,handleError:void 0===A.handleError?null:A.handleError,handleTimeout:void 0===A.handleTimeout?null:A.handleTimeout,beforeAttempt:void 0===A.beforeAttempt?null:A.beforeAttempt,calculateDelay:void 0===A.calculateDelay?null:A.calculateDelay}}(e);for(const A of["delay","initialDelay","minDelay","maxDelay","maxAttempts","timeout"]){const e=t[A];if(!Number.isInteger(e)||e<0)throw new Error(`Value for ${A} must be an integer greater than or equal to 0`)}if(t.factor.constructor!==Number||t.factor<0)throw new Error("Value for factor must be a number greater than or equal to 0");if(t.delay{if(t.handleError&&await t.handleError(A,n,t),n.aborted||0===n.attemptsRemaining)throw A;n.attemptNum++;const B=i(n,t);return B&&await UQ(B),e()};return n.attemptsRemaining>0&&n.attemptsRemaining--,t.timeout?new Promise(((e,i)=>{const E=setTimeout((()=>{if(t.handleTimeout)try{e(t.handleTimeout(n,t))}catch(A){i(A)}else{const A=new Error(`Retry timeout (attemptNum: ${n.attemptNum}, timeout: ${t.timeout})`);A.code="ATTEMPT_TIMEOUT",i(A)}}),t.timeout);A(n,t).then((A=>{clearTimeout(E),e(A)})).catch((A=>{clearTimeout(E),B(A).then(e).catch(i)}))})):A(n,t).catch(B)}()}(this.createWebSocketConnection.bind(this),{delay:this.configuration.delay,initialDelay:this.configuration.initialDelay,factor:this.configuration.factor,maxAttempts:this.configuration.maxAttempts,minDelay:this.configuration.minDelay,maxDelay:this.configuration.maxDelay,jitter:this.configuration.jitter,timeout:this.configuration.timeout,beforeAttempt:e=>{this.shouldConnect&&!A||e.abort()}}).catch((A=>{if(A&&"ATTEMPT_ABORTED"!==A.code)throw A}));return{retryPromise:e,cancelFunc:()=>{A=!0}}})();return this.cancelWebsocketRetry=e,A}attachWebSocketListeners(A,e){const{identifier:t}=A;this.webSocketHandlers[t]={message:A=>this.emit("message",A),close:A=>this.emit("close",{event:A}),open:A=>this.emit("open",A),error:A=>{e(A)}};const n=this.webSocketHandlers[A.identifier];Object.keys(n).forEach((e=>{A.addEventListener(e,n[e])}))}cleanupWebSocket(){if(!this.webSocket)return;const{identifier:A}=this.webSocket,e=this.webSocketHandlers[A];Object.keys(e).forEach((t=>{var n;null===(n=this.webSocket)||void 0===n||n.removeEventListener(t,e[t]),delete this.webSocketHandlers[A]})),this.webSocket.close(),this.webSocket=null}createWebSocketConnection(){return new Promise(((A,e)=>{this.webSocket&&(this.messageQueue=[],this.cleanupWebSocket()),this.lastMessageReceived=0,this.identifier+=1;const t=new this.configuration.WebSocketPolyfill(this.url);t.binaryType="arraybuffer",t.identifier=this.identifier,this.attachWebSocketListeners(t,e),this.webSocket=t,this.status=Tl.Connecting,this.emit("status",{status:Tl.Connecting}),this.connectionAttempt={resolve:A,reject:e}}))}onMessage(A){var e;this.resolveConnectionAttempt(),this.lastMessageReceived=Ul();const t=new zl(A.data).peekVarString();null===(e=this.configuration.providerMap.get(t))||void 0===e||e.onMessage(A)}resolveConnectionAttempt(){this.connectionAttempt&&(this.connectionAttempt.resolve(),this.connectionAttempt=null,this.status=Tl.Connected,this.emit("status",{status:Tl.Connected}),this.emit("connect"),this.messageQueue.forEach((A=>this.send(A))),this.messageQueue=[])}stopConnectionAttempt(){this.connectionAttempt=null}rejectConnectionAttempt(){var A;null===(A=this.connectionAttempt)||void 0===A||A.reject(),this.connectionAttempt=null}checkConnection(){var A;this.status===Tl.Connected&&this.lastMessageReceived&&(this.configuration.messageReconnectTimeout>=Ul()-this.lastMessageReceived||(this.closeTries+=1,this.closeTries>2?(this.onClose({event:{code:4408,reason:"forced"}}),this.closeTries=0):(null===(A=this.webSocket)||void 0===A||A.close(),this.messageQueue=[])))}get serverUrl(){for(;"/"===this.configuration.url[this.configuration.url.length-1];)return this.configuration.url.slice(0,this.configuration.url.length-1);return this.configuration.url}get url(){const A=(()=>((A,e)=>{const t=[];for(const n in A)t.push(e(A[n],n));return t})(this.configuration.parameters,((A,e)=>`${encodeURIComponent(e)}=${encodeURIComponent(A)}`)).join("&"))();return`${this.serverUrl}${0===A.length?"":`?${A}`}`}disconnect(){if(this.shouldConnect=!1,null!==this.webSocket)try{this.webSocket.close(),this.messageQueue=[]}catch{}}send(A){var e;(null===(e=this.webSocket)||void 0===e?void 0:e.readyState)===fQ.Open?this.webSocket.send(A):this.messageQueue.push(A)}onClose({event:A}){this.closeTries=0,this.cleanupWebSocket(),this.status===Tl.Connected&&(this.status=Tl.Disconnected,this.emit("status",{status:Tl.Disconnected}),this.emit("disconnect",{event:A})),4401===A.code&&("Unauthorized"===A.reason?console.warn("[HocuspocusProvider] An authentication token is required, but you didn’t send one. Try adding a `token` to your HocuspocusProvider configuration. Won’t try again."):console.warn(`[HocuspocusProvider] Connection closed with status Unauthorized: ${A.reason}`),this.shouldConnect=!1),4403!==A.code||this.configuration.quiet?(1009===A.code&&(console.warn(`[HocuspocusProvider] Connection closed with status MessageTooBig: ${A.reason}`),this.shouldConnect=!1),this.connectionAttempt?this.rejectConnectionAttempt():this.shouldConnect&&this.connect(),this.shouldConnect||this.status!==Tl.Disconnected&&(this.status=Tl.Disconnected,this.emit("status",{status:Tl.Disconnected}),this.emit("disconnect",{event:A}))):console.warn("[HocuspocusProvider] The provided authentication token isn’t allowed to connect to this server. Will try again.")}destroy(){this.emit("destroy"),this.intervals.forceSync&&clearInterval(this.intervals.forceSync),clearInterval(this.intervals.connectionChecker),this.stopConnectionAttempt(),this.disconnect(),this.removeAllListeners(),this.cleanupWebSocket()}}const pl=(A,e)=>{cl(A,0);const t=(A=>((A,e=new Pr)=>(A instanceof Map?_r(e,A):((A,e)=>{_r(A,Mc(e.store))})(e,A),e.toUint8Array()))(A,new jr))(e);ll(A,t)},Jl=(A,e,t)=>{cl(A,1),ll(A,((A,e)=>((A,e=new Uint8Array([0]),t=new Vr)=>{((A,e,t=new Map)=>{vr(A,e.store,t),mr(A,Sr(e.store))})(t,A,Or(e));const n=[t.toUint8Array()];if(A.store.pendingDs&&n.push(A.store.pendingDs),A.store.pendingStructs&&n.push(Jc(A.store.pendingStructs.update,e)),n.length>1){if(t.constructor===Zr)return zc(n.map(((A,e)=>0===e?A:Vc(A))));if(t.constructor===Vr)return pc(n)}return n[0]})(A,e,new Zr))(e,t))},jl=(A,e,t)=>{try{((A,e,t)=>{Lr(A,e,t,xr)})(e,ul(A),t)}catch(A){console.error("Caught error while handling a Yjs update",A)}},Zl=jl;class Pl{constructor(){this.encoder=El()}get(A){return A.encoder}toUint8Array(){return ol(this.encoder)}}class Vl{constructor(A){this.broadcasted=!1,this.message=A}setBroadcasted(A){return this.broadcasted=A,this}apply(A,e){const{message:t}=this,n=t.readVarUint(),i=t.length();switch(n){case Hl.Sync:this.applySyncMessage(A,e);break;case Hl.Awareness:this.applyAwarenessMessage(A);break;case Hl.Auth:this.applyAuthMessage(A);break;case Hl.QueryAwareness:this.applyQueryAwarenessMessage(A);break;case Hl.Stateless:A.receiveStateless(Cl(t.decoder));break;case Hl.SyncStatus:this.applySyncStatusMessage(A,1===(A=>{let e=A.arr[A.pos++],t=63&e,n=64;const i=(64&e)>0?-1:1;if(!(e&tl))return i*t;const B=A.arr.length;for(;A.posil)throw wl}throw Ml})(t.decoder));break;default:throw new Error(`Can’t apply message of unknown type: ${n}`)}t.length()>i+1&&(this.broadcasted?A.broadcast(Pl,{encoder:t.encoder}):A.send(Pl,{encoder:t.encoder}))}applySyncMessage(A,e){const{message:t}=this;t.writeVarUint(Hl.Sync);const n=((A,e,t,n)=>{const i=Gl(A);switch(i){case 0:((A,e,t)=>{Jl(e,t,ul(A))})(A,e,t);break;case 1:jl(A,t,n);break;case 2:Zl(A,t,n);break;default:throw new Error("Unknown message type")}return i})(t.decoder,t.encoder,A.document,A);e&&1===n&&(A.synced=!0)}applySyncStatusMessage(A,e){e&&A.decrementUnsyncedChanges()}applyAwarenessMessage(A){if(!A.awareness)return;const{message:e}=this;((A,e,t)=>{const n=Il(e),i=Ul(),B=[],E=[],s=[],o=[],r=Gl(n);for(let e=0;e0||s.length>0||o.length>0)&&A.emit("change",[{added:B,updated:s,removed:o},t]),(B.length>0||E.length>0||o.length>0)&&A.emit("update",[{added:B,updated:E,removed:o},t])})(A.awareness,e.readVarUint8Array(),A)}applyAuthMessage(A){const{message:e}=this;((A,e,t)=>{switch(kQ(A)){case FQ.PermissionDenied:e(DQ(A));break;case FQ.Authenticated:t(DQ(A))}})(e.decoder,A.permissionDeniedHandler.bind(A),A.authenticatedHandler.bind(A))}applyQueryAwarenessMessage(A){if(!A.awareness)return;const{message:e}=this;e.writeVarUint(Hl.Awareness),e.writeVarUint8Array(yl(A.awareness,Array.from(A.awareness.getStates().keys())))}}class vl{constructor(A,e={}){this.message=new A,this.encoder=this.message.get(e)}create(){return ol(this.encoder)}send(A){null==A||A.send(this.create())}broadcast(A){((A,e,t=null)=>{const n=fl(A);n.bc.postMessage(e),n.subs.forEach((A=>A(e,t)))})(A,this.create())}}class Ll extends Pl{constructor(){super(...arguments),this.type=Hl.Auth,this.description="Authentication"}get(A){if(void 0===A.token)throw new Error("The authentication message requires `token` as an argument.");var e,t;return Ql(this.encoder,A.documentName),cl(this.encoder,this.type),t=A.token,hQ(e=this.encoder,FQ.Token),RQ(e,t),this.encoder}}class Ol extends Pl{constructor(){super(...arguments),this.type=Hl.Awareness,this.description="Awareness states update"}get(A){if(void 0===A.awareness)throw new Error("The awareness message requires awareness as an argument");if(void 0===A.clients)throw new Error("The awareness message requires clients as an argument");let e;return Ql(this.encoder,A.documentName),cl(this.encoder,this.type),e=void 0===A.states?yl(A.awareness,A.clients):yl(A.awareness,A.clients,A.states),ll(this.encoder,e),this.encoder}}class _l extends Pl{constructor(){super(...arguments),this.type=Hl.CLOSE,this.description="Ask the server to close the connection"}get(A){return Ql(this.encoder,A.documentName),cl(this.encoder,this.type),this.encoder}}class Kl extends Pl{constructor(){super(...arguments),this.type=Hl.QueryAwareness,this.description="Queries awareness states"}get(A){return Ql(this.encoder,A.documentName),cl(this.encoder,this.type),this.encoder}}class Wl extends Pl{constructor(){super(...arguments),this.type=Hl.Stateless,this.description="A stateless message"}get(A){var e;return Ql(this.encoder,A.documentName),cl(this.encoder,this.type),Ql(this.encoder,null!==(e=A.payload)&&void 0!==e?e:""),this.encoder}}class Xl extends Pl{constructor(){super(...arguments),this.type=Hl.Sync,this.description="First sync step"}get(A){if(void 0===A.document)throw new Error("The sync step one message requires document as an argument");return Ql(this.encoder,A.documentName),cl(this.encoder,this.type),pl(this.encoder,A.document),this.encoder}}class ql extends Pl{constructor(){super(...arguments),this.type=Hl.Sync,this.description="Second sync step"}get(A){if(void 0===A.document)throw new Error("The sync step two message requires document as an argument");return Ql(this.encoder,A.documentName),cl(this.encoder,this.type),Jl(this.encoder,A.document),this.encoder}}class $l extends Pl{constructor(){super(...arguments),this.type=Hl.Sync,this.description="A document update"}get(A){var e,t;return Ql(this.encoder,A.documentName),cl(this.encoder,this.type),t=A.update,cl(e=this.encoder,2),ll(e,t),this.encoder}}class Ah extends Error{constructor(){super(...arguments),this.code=1001}}class eh extends bl{constructor(A){var e,t,n;super(),this.configuration={name:"",document:void 0,awareness:void 0,token:null,parameters:{},broadcast:!0,forceSyncInterval:!1,onAuthenticated:()=>null,onAuthenticationFailed:()=>null,onOpen:()=>null,onConnect:()=>null,onMessage:()=>null,onOutgoingMessage:()=>null,onStatus:()=>null,onSynced:()=>null,onDisconnect:()=>null,onClose:()=>null,onDestroy:()=>null,onAwarenessUpdate:()=>null,onAwarenessChange:()=>null,onStateless:()=>null,quiet:!1,connect:!0,preserveConnection:!0},this.subscribedToBroadcastChannel=!1,this.isSynced=!1,this.unsyncedChanges=0,this.status=Tl.Disconnected,this.isAuthenticated=!1,this.authorizedScope=void 0,this.mux=(()=>{let A=!0;return(e,t)=>{if(A){A=!1;try{e()}finally{A=!0}}else void 0!==t&&t()}})(),this.intervals={forceSync:null},this.isConnected=!0,this.boundBroadcastChannelSubscriber=this.broadcastChannelSubscriber.bind(this),this.boundPageUnload=this.pageUnload.bind(this),this.boundOnOpen=this.onOpen.bind(this),this.boundOnClose=this.onClose.bind(this),this.boundOnStatus=this.onStatus.bind(this),this.forwardConnect=A=>this.emit("connect",A),this.forwardOpen=A=>this.emit("open",A),this.forwardClose=A=>this.emit("close",A),this.forwardDisconnect=A=>this.emit("disconnect",A),this.forwardDestroy=A=>this.emit("destroy",A),this.setConfiguration(A),this.configuration.document=A.document?A.document:new Tr,this.configuration.awareness=void 0!==A.awareness?A.awareness:new Sl(this.document),this.on("open",this.configuration.onOpen),this.on("message",this.configuration.onMessage),this.on("outgoingMessage",this.configuration.onOutgoingMessage),this.on("synced",this.configuration.onSynced),this.on("destroy",this.configuration.onDestroy),this.on("awarenessUpdate",this.configuration.onAwarenessUpdate),this.on("awarenessChange",this.configuration.onAwarenessChange),this.on("stateless",this.configuration.onStateless),this.on("authenticated",this.configuration.onAuthenticated),this.on("authenticationFailed",this.configuration.onAuthenticationFailed),this.configuration.websocketProvider.on("connect",this.configuration.onConnect),this.configuration.websocketProvider.on("connect",this.forwardConnect),this.configuration.websocketProvider.on("open",this.boundOnOpen),this.configuration.websocketProvider.on("open",this.forwardOpen),this.configuration.websocketProvider.on("close",this.boundOnClose),this.configuration.websocketProvider.on("close",this.configuration.onClose),this.configuration.websocketProvider.on("close",this.forwardClose),this.configuration.websocketProvider.on("status",this.boundOnStatus),this.configuration.websocketProvider.on("disconnect",this.configuration.onDisconnect),this.configuration.websocketProvider.on("disconnect",this.forwardDisconnect),this.configuration.websocketProvider.on("destroy",this.configuration.onDestroy),this.configuration.websocketProvider.on("destroy",this.forwardDestroy),null===(e=this.awareness)||void 0===e||e.on("update",(()=>{this.emit("awarenessUpdate",{states:YQ(this.awareness.getStates())})})),null===(t=this.awareness)||void 0===t||t.on("change",(()=>{this.emit("awarenessChange",{states:YQ(this.awareness.getStates())})})),this.document.on("update",this.documentUpdateHandler.bind(this)),null===(n=this.awareness)||void 0===n||n.on("update",this.awarenessUpdateHandler.bind(this)),this.registerEventListeners(),this.configuration.forceSyncInterval&&(this.intervals.forceSync=setInterval(this.forceSync.bind(this),this.configuration.forceSyncInterval)),this.configuration.websocketProvider.attach(this)}onStatus({status:A}){this.status=A,this.configuration.onStatus({status:A}),this.emit("status",{status:A})}setConfiguration(A={}){!A.websocketProvider&&A.url&&(this.configuration.websocketProvider=new xl({url:A.url,connect:A.connect,parameters:A.parameters})),this.configuration={...this.configuration,...A}}get document(){return this.configuration.document}get awareness(){return this.configuration.awareness}get hasUnsyncedChanges(){return this.unsyncedChanges>0}incrementUnsyncedChanges(){this.unsyncedChanges+=1,this.emit("unsyncedChanges",this.unsyncedChanges)}decrementUnsyncedChanges(){this.unsyncedChanges-=1,0===this.unsyncedChanges&&(this.synced=!0),this.emit("unsyncedChanges",this.unsyncedChanges)}forceSync(){this.send(Xl,{document:this.document,documentName:this.configuration.name})}pageUnload(){this.awareness&&ml(this.awareness,[this.document.clientID],"window unload")}registerEventListeners(){"undefined"!=typeof window&&window.addEventListener("unload",this.boundPageUnload)}sendStateless(A){this.send(Wl,{documentName:this.configuration.name,payload:A})}documentUpdateHandler(A,e){e!==this&&(this.incrementUnsyncedChanges(),this.send($l,{update:A,documentName:this.configuration.name},!0))}awarenessUpdateHandler({added:A,updated:e,removed:t},n){const i=A.concat(e).concat(t);this.send(Ol,{awareness:this.awareness,clients:i,documentName:this.configuration.name},!0)}get synced(){return this.isSynced}set synced(A){this.isSynced!==A&&(this.isSynced=A,this.emit("synced",{state:A}),this.emit("sync",{state:A}))}receiveStateless(A){this.emit("stateless",{payload:A})}get isAuthenticationRequired(){return!!this.configuration.token&&!this.isAuthenticated}async connect(){return this.configuration.broadcast&&this.subscribeToBroadcastChannel(),this.configuration.websocketProvider.shouldConnect=!0,this.configuration.websocketProvider.attach(this)}disconnect(){this.disconnectBroadcastChannel(),this.configuration.websocketProvider.detach(this),this.isConnected=!1,this.configuration.preserveConnection||this.configuration.websocketProvider.disconnect()}async onOpen(A){let e;this.isAuthenticated=!1,this.isConnected=!0,this.emit("open",{event:A});try{e=await this.getToken()}catch(A){return void this.permissionDeniedHandler(`Failed to get token: ${A}`)}this.isAuthenticationRequired&&this.send(Ll,{token:e,documentName:this.configuration.name}),this.startSync()}async getToken(){return"function"==typeof this.configuration.token?await this.configuration.token():this.configuration.token}startSync(){this.incrementUnsyncedChanges(),this.send(Xl,{document:this.document,documentName:this.configuration.name}),this.awareness&&null!==this.awareness.getLocalState()&&this.send(Ol,{awareness:this.awareness,clients:[this.document.clientID],documentName:this.configuration.name})}send(A,e,t=!1){if(!this.isConnected)return;t&&this.mux((()=>{this.broadcast(A,e)}));const n=new vl(A,e);this.emit("outgoingMessage",{message:n.message}),n.send(this.configuration.websocketProvider)}onMessage(A){const e=new zl(A.data),t=e.readVarString();e.writeVarString(t),this.emit("message",{event:A,message:new zl(A.data)}),new Vl(e).apply(this,!0)}onClose(A){this.isAuthenticated=!1,this.synced=!1,this.awareness&&ml(this.awareness,Array.from(this.awareness.getStates().keys()).filter((A=>A!==this.document.clientID)),this)}destroy(){this.emit("destroy"),this.intervals.forceSync&&clearInterval(this.intervals.forceSync),this.awareness&&(ml(this.awareness,[this.document.clientID],"provider destroy"),this.awareness.off("update",this.awarenessUpdateHandler),this.awareness.destroy()),this.document.off("update",this.documentUpdateHandler),this.removeAllListeners(),this.configuration.websocketProvider.off("connect",this.configuration.onConnect),this.configuration.websocketProvider.off("connect",this.forwardConnect),this.configuration.websocketProvider.off("open",this.boundOnOpen),this.configuration.websocketProvider.off("open",this.forwardOpen),this.configuration.websocketProvider.off("close",this.boundOnClose),this.configuration.websocketProvider.off("close",this.configuration.onClose),this.configuration.websocketProvider.off("close",this.forwardClose),this.configuration.websocketProvider.off("status",this.boundOnStatus),this.configuration.websocketProvider.off("disconnect",this.configuration.onDisconnect),this.configuration.websocketProvider.off("disconnect",this.forwardDisconnect),this.configuration.websocketProvider.off("destroy",this.configuration.onDestroy),this.configuration.websocketProvider.off("destroy",this.forwardDestroy),this.send(_l,{documentName:this.configuration.name}),this.disconnect(),"undefined"!=typeof window&&window.removeEventListener("unload",this.boundPageUnload)}permissionDeniedHandler(A){this.emit("authenticationFailed",{reason:A}),this.isAuthenticated=!1,this.disconnect(),this.status=Tl.Disconnected}authenticatedHandler(A){this.isAuthenticated=!0,this.authorizedScope=A,this.emit("authenticated")}get broadcastChannel(){return`${this.configuration.name}`}broadcastChannelSubscriber(A){this.mux((()=>{const e=new zl(A),t=e.readVarString();e.writeVarString(t),new Vl(e).setBroadcasted(!0).apply(this,!1)}))}subscribeToBroadcastChannel(){var A;this.subscribedToBroadcastChannel||(A=this.boundBroadcastChannelSubscriber,fl(this.broadcastChannel).subs.add(A),this.subscribedToBroadcastChannel=!0),this.mux((()=>{this.broadcast(Xl,{document:this.document,documentName:this.configuration.name}),this.broadcast(ql,{document:this.document,documentName:this.configuration.name}),this.broadcast(Kl,{document:this.document,documentName:this.configuration.name}),this.awareness&&this.broadcast(Ol,{awareness:this.awareness,clients:[this.document.clientID],document:this.document,documentName:this.configuration.name})}))}disconnectBroadcastChannel(){this.awareness&&this.send(Ol,{awareness:this.awareness,clients:[this.document.clientID],states:new Map,documentName:this.configuration.name},!0),this.subscribedToBroadcastChannel&&(((A,e)=>{const t=fl(A);t.subs.delete(e)&&0===t.subs.size&&(t.bc.close(),Fl.delete(A))})(this.broadcastChannel,this.boundBroadcastChannelSubscriber),this.subscribedToBroadcastChannel=!1)}broadcast(A,e){this.configuration.broadcast&&this.subscribedToBroadcastChannel&&new vl(A,e).broadcast(this.broadcastChannel)}setAwarenessField(A,e){if(!this.awareness)throw new Ah(`Cannot set awareness field "${A}" to ${JSON.stringify(e)}. You have disabled Awareness for this provider by explicitly passing awareness: null in the provider configuration.`);this.awareness.setLocalStateField(A,e)}}function th({types:A,node:e}){return Array.isArray(A)&&A.includes(e.type)||e.type===A}crypto.getRandomValues.bind(crypto);const nh=o.create({name:"trailingNode",addOptions:()=>({node:"paragraph",notAfter:["paragraph"]}),addProseMirrorPlugins(){const A=new s(this.name),e=Object.entries(this.editor.schema.nodes).map((([,A])=>A)).filter((A=>this.options.notAfter.includes(A.name)));return[new E({key:A,appendTransaction:(e,t,n)=>{const{doc:i,tr:B,schema:E}=n;if(A.getState(n))return B.insert(i.content.size,E.nodes[this.options.node].create())},state:{init:(A,t)=>!th({node:t.tr.doc.lastChild,types:e}),apply:(A,t)=>A.docChanged?!th({node:A.doc.lastChild,types:e}):t}})]}});function ih(A,e){return function(){return A.apply(e,arguments)}}const{toString:Bh}=Object.prototype,{getPrototypeOf:Eh}=Object,sh=(oh=Object.create(null),A=>{const e=Bh.call(A);return oh[e]||(oh[e]=e.slice(8,-1).toLowerCase())});var oh;const rh=A=>(A=A.toLowerCase(),e=>sh(e)===A),ch=A=>e=>typeof e===A,{isArray:gh}=Array,ah=ch("undefined"),Qh=rh("ArrayBuffer"),lh=ch("string"),hh=ch("function"),Mh=ch("number"),wh=A=>null!==A&&"object"==typeof A,Rh=A=>{if("object"!==sh(A))return!1;const e=Eh(A);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in A||Symbol.iterator in A)},Ih=rh("Date"),uh=rh("File"),dh=rh("Blob"),Gh=rh("FileList"),Ch=rh("URLSearchParams");function kh(A,e,{allOwnKeys:t=!1}={}){if(null==A)return;let n,i;if("object"!=typeof A&&(A=[A]),gh(A))for(n=0,i=A.length;n0;)if(n=t[i],e===n.toLowerCase())return n;return null}const Fh="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,Yh=A=>!ah(A)&&A!==Fh,fh=(Uh="undefined"!=typeof Uint8Array&&Eh(Uint8Array),A=>Uh&&A instanceof Uh);var Uh;const Nh=rh("HTMLFormElement"),Sh=(({hasOwnProperty:A})=>(e,t)=>A.call(e,t))(Object.prototype),mh=rh("RegExp"),yh=(A,e)=>{const t=Object.getOwnPropertyDescriptors(A),n={};kh(t,((t,i)=>{let B;!1!==(B=e(t,i,A))&&(n[i]=B||t)})),Object.defineProperties(A,n)},bh="abcdefghijklmnopqrstuvwxyz",Hh="0123456789",Th={DIGIT:Hh,ALPHA:bh,ALPHA_DIGIT:bh+bh.toUpperCase()+Hh},zh=rh("AsyncFunction"),xh={isArray:gh,isArrayBuffer:Qh,isBuffer:function(A){return null!==A&&!ah(A)&&null!==A.constructor&&!ah(A.constructor)&&hh(A.constructor.isBuffer)&&A.constructor.isBuffer(A)},isFormData:A=>{let e;return A&&("function"==typeof FormData&&A instanceof FormData||hh(A.append)&&("formdata"===(e=sh(A))||"object"===e&&hh(A.toString)&&"[object FormData]"===A.toString()))},isArrayBufferView:function(A){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(A):A&&A.buffer&&Qh(A.buffer),e},isString:lh,isNumber:Mh,isBoolean:A=>!0===A||!1===A,isObject:wh,isPlainObject:Rh,isUndefined:ah,isDate:Ih,isFile:uh,isBlob:dh,isRegExp:mh,isFunction:hh,isStream:A=>wh(A)&&hh(A.pipe),isURLSearchParams:Ch,isTypedArray:fh,isFileList:Gh,forEach:kh,merge:function A(){const{caseless:e}=Yh(this)&&this||{},t={},n=(n,i)=>{const B=e&&Dh(t,i)||i;t[B]=Rh(t[B])&&Rh(n)?A(t[B],n):Rh(n)?A({},n):gh(n)?n.slice():n};for(let A=0,e=arguments.length;A(kh(e,((e,n)=>{A[n]=t&&hh(e)?ih(e,t):e}),{allOwnKeys:n}),A),trim:A=>A.trim?A.trim():A.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:A=>(65279===A.charCodeAt(0)&&(A=A.slice(1)),A),inherits:(A,e,t,n)=>{A.prototype=Object.create(e.prototype,n),A.prototype.constructor=A,Object.defineProperty(A,"super",{value:e.prototype}),t&&Object.assign(A.prototype,t)},toFlatObject:(A,e,t,n)=>{let i,B,E;const s={};if(e=e||{},null==A)return e;do{for(i=Object.getOwnPropertyNames(A),B=i.length;B-- >0;)E=i[B],n&&!n(E,A,e)||s[E]||(e[E]=A[E],s[E]=!0);A=!1!==t&&Eh(A)}while(A&&(!t||t(A,e))&&A!==Object.prototype);return e},kindOf:sh,kindOfTest:rh,endsWith:(A,e,t)=>{A=String(A),(void 0===t||t>A.length)&&(t=A.length);const n=A.indexOf(e,t-=e.length);return-1!==n&&n===t},toArray:A=>{if(!A)return null;if(gh(A))return A;let e=A.length;if(!Mh(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=A[e];return t},forEachEntry:(A,e)=>{const t=(A&&A[Symbol.iterator]).call(A);let n;for(;(n=t.next())&&!n.done;){const t=n.value;e.call(A,t[0],t[1])}},matchAll:(A,e)=>{let t;const n=[];for(;null!==(t=A.exec(e));)n.push(t);return n},isHTMLForm:Nh,hasOwnProperty:Sh,hasOwnProp:Sh,reduceDescriptors:yh,freezeMethods:A=>{yh(A,((e,t)=>{if(hh(A)&&-1!==["arguments","caller","callee"].indexOf(t))return!1;hh(A[t])&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")}))}))},toObjectSet:(A,e)=>{const t={},n=A=>{A.forEach((A=>{t[A]=!0}))};return gh(A)?n(A):n(String(A).split(e)),t},toCamelCase:A=>A.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(A,e,t){return e.toUpperCase()+t})),noop:()=>{},toFiniteNumber:(A,e)=>(A=+A,Number.isFinite(A)?A:e),findKey:Dh,global:Fh,isContextDefined:Yh,ALPHABET:Th,generateString:(A=16,e=Th.ALPHA_DIGIT)=>{let t="";const{length:n}=e;for(;A--;)t+=e[Math.random()*n|0];return t},isSpecCompliantForm:function(A){return!!(A&&hh(A.append)&&"FormData"===A[Symbol.toStringTag]&&A[Symbol.iterator])},toJSONObject:A=>{const e=new Array(10),t=(A,n)=>{if(wh(A)){if(e.indexOf(A)>=0)return;if(!("toJSON"in A)){e[n]=A;const i=gh(A)?[]:{};return kh(A,((A,e)=>{const B=t(A,n+1);!ah(B)&&(i[e]=B)})),e[n]=void 0,i}}return A};return t(A,0)},isAsyncFn:zh,isThenable:A=>A&&(wh(A)||hh(A))&&hh(A.then)&&hh(A.catch)};function ph(A,e,t,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=A,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),n&&(this.request=n),i&&(this.response=i)}xh.inherits(ph,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:xh.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Jh=ph.prototype,jh={};function Zh(A){return xh.isPlainObject(A)||xh.isArray(A)}function Ph(A){return xh.endsWith(A,"[]")?A.slice(0,-2):A}function Vh(A,e,t){return A?A.concat(e).map((function(A,e){return A=Ph(A),!t&&e?"["+A+"]":A})).join(t?".":""):e}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((A=>{jh[A]={value:A}})),Object.defineProperties(ph,jh),Object.defineProperty(Jh,"isAxiosError",{value:!0}),ph.from=(A,e,t,n,i,B)=>{const E=Object.create(Jh);return xh.toFlatObject(A,E,(function(A){return A!==Error.prototype}),(A=>"isAxiosError"!==A)),ph.call(E,A.message,e,t,n,i),E.cause=A,E.name=A.name,B&&Object.assign(E,B),E};const vh=xh.toFlatObject(xh,{},null,(function(A){return/^is[A-Z]/.test(A)}));function Lh(A,e,t){if(!xh.isObject(A))throw new TypeError("target must be an object");e=e||new FormData,t=xh.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(A,e){return!xh.isUndefined(e[A])}));const n=t.metaTokens,i=t.visitor||r,B=t.dots,E=t.indexes,s=(t.Blob||"undefined"!=typeof Blob&&Blob)&&xh.isSpecCompliantForm(e);if(!xh.isFunction(i))throw new TypeError("visitor must be a function");function o(A){if(null===A)return"";if(xh.isDate(A))return A.toISOString();if(!s&&xh.isBlob(A))throw new ph("Blob is not supported. Use a Buffer instead.");return xh.isArrayBuffer(A)||xh.isTypedArray(A)?s&&"function"==typeof Blob?new Blob([A]):Buffer.from(A):A}function r(A,t,i){let s=A;if(A&&!i&&"object"==typeof A)if(xh.endsWith(t,"{}"))t=n?t:t.slice(0,-2),A=JSON.stringify(A);else if(xh.isArray(A)&&function(A){return xh.isArray(A)&&!A.some(Zh)}(A)||(xh.isFileList(A)||xh.endsWith(t,"[]"))&&(s=xh.toArray(A)))return t=Ph(t),s.forEach((function(A,n){!xh.isUndefined(A)&&null!==A&&e.append(!0===E?Vh([t],n,B):null===E?t:t+"[]",o(A))})),!1;return!!Zh(A)||(e.append(Vh(i,t,B),o(A)),!1)}const c=[],g=Object.assign(vh,{defaultVisitor:r,convertValue:o,isVisitable:Zh});if(!xh.isObject(A))throw new TypeError("data must be an object");return function A(t,n){if(!xh.isUndefined(t)){if(-1!==c.indexOf(t))throw Error("Circular reference detected in "+n.join("."));c.push(t),xh.forEach(t,(function(t,B){!0===(!(xh.isUndefined(t)||null===t)&&i.call(e,t,xh.isString(B)?B.trim():B,n,g))&&A(t,n?n.concat(B):[B])})),c.pop()}}(A),e}function Oh(A){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(A).replace(/[!'()~]|%20|%00/g,(function(A){return e[A]}))}function _h(A,e){this._pairs=[],A&&Lh(A,this,e)}const Kh=_h.prototype;function Wh(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Xh(A,e,t){if(!e)return A;const n=t&&t.encode||Wh,i=t&&t.serialize;let B;if(B=i?i(e,t):xh.isURLSearchParams(e)?e.toString():new _h(e,t).toString(n),B){const e=A.indexOf("#");-1!==e&&(A=A.slice(0,e)),A+=(-1===A.indexOf("?")?"?":"&")+B}return A}Kh.append=function(A,e){this._pairs.push([A,e])},Kh.toString=function(A){const e=A?function(e){return A.call(this,e,Oh)}:Oh;return this._pairs.map((function(A){return e(A[0])+"="+e(A[1])}),"").join("&")};const qh=class{constructor(){this.handlers=[]}use(A,e,t){return this.handlers.push({fulfilled:A,rejected:e,synchronous:!!t&&t.synchronous,runWhen:t?t.runWhen:null}),this.handlers.length-1}eject(A){this.handlers[A]&&(this.handlers[A]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(A){xh.forEach(this.handlers,(function(e){null!==e&&A(e)}))}},$h={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},AM={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:_h,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},eM="undefined"!=typeof window&&"undefined"!=typeof document,tM=(nM="undefined"!=typeof navigator&&navigator.product,eM&&["ReactNative","NativeScript","NS"].indexOf(nM)<0);var nM;const iM="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,BM={...Object.freeze({__proto__:null,hasBrowserEnv:eM,hasStandardBrowserWebWorkerEnv:iM,hasStandardBrowserEnv:tM}),...AM};function EM(A){function e(A,t,n,i){let B=A[i++];if("__proto__"===B)return!0;const E=Number.isFinite(+B),s=i>=A.length;return B=!B&&xh.isArray(n)?n.length:B,s?(n[B]=xh.hasOwnProp(n,B)?[n[B],t]:t,!E):(n[B]&&xh.isObject(n[B])||(n[B]=[]),e(A,t,n[B],i)&&xh.isArray(n[B])&&(n[B]=function(A){const e={},t=Object.keys(A);let n;const i=t.length;let B;for(n=0;n{e(function(A){return xh.matchAll(/\w+|\[(\w*)]/g,A).map((A=>"[]"===A[0]?"":A[1]||A[0]))}(A),n,t,0)})),t}return null}const sM={transitional:$h,adapter:["xhr","http"],transformRequest:[function(A,e){const t=e.getContentType()||"",n=t.indexOf("application/json")>-1,i=xh.isObject(A);if(i&&xh.isHTMLForm(A)&&(A=new FormData(A)),xh.isFormData(A))return n?JSON.stringify(EM(A)):A;if(xh.isArrayBuffer(A)||xh.isBuffer(A)||xh.isStream(A)||xh.isFile(A)||xh.isBlob(A))return A;if(xh.isArrayBufferView(A))return A.buffer;if(xh.isURLSearchParams(A))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),A.toString();let B;if(i){if(t.indexOf("application/x-www-form-urlencoded")>-1)return function(A,e){return Lh(A,new BM.classes.URLSearchParams,Object.assign({visitor:function(A,e,t,n){return BM.isNode&&xh.isBuffer(A)?(this.append(e,A.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},e))}(A,this.formSerializer).toString();if((B=xh.isFileList(A))||t.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return Lh(B?{"files[]":A}:A,e&&new e,this.formSerializer)}}return i||n?(e.setContentType("application/json",!1),function(A){if(xh.isString(A))try{return(0,JSON.parse)(A),xh.trim(A)}catch(A){if("SyntaxError"!==A.name)throw A}return(0,JSON.stringify)(A)}(A)):A}],transformResponse:[function(A){const e=this.transitional||sM.transitional,t=e&&e.forcedJSONParsing,n="json"===this.responseType;if(A&&xh.isString(A)&&(t&&!this.responseType||n)){const t=!(e&&e.silentJSONParsing)&&n;try{return JSON.parse(A)}catch(A){if(t){if("SyntaxError"===A.name)throw ph.from(A,ph.ERR_BAD_RESPONSE,this,null,this.response);throw A}}}return A}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:BM.classes.FormData,Blob:BM.classes.Blob},validateStatus:function(A){return A>=200&&A<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};xh.forEach(["delete","get","head","post","put","patch"],(A=>{sM.headers[A]={}}));const oM=sM,rM=xh.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),cM=Symbol("internals");function gM(A){return A&&String(A).trim().toLowerCase()}function aM(A){return!1===A||null==A?A:xh.isArray(A)?A.map(aM):String(A)}function QM(A,e,t,n,i){return xh.isFunction(n)?n.call(this,e,t):(i&&(e=t),xh.isString(e)?xh.isString(n)?-1!==e.indexOf(n):xh.isRegExp(n)?n.test(e):void 0:void 0)}class lM{constructor(A){A&&this.set(A)}set(A,e,t){const n=this;function i(A,e,t){const i=gM(e);if(!i)throw new Error("header name must be a non-empty string");const B=xh.findKey(n,i);(!B||void 0===n[B]||!0===t||void 0===t&&!1!==n[B])&&(n[B||e]=aM(A))}const B=(A,e)=>xh.forEach(A,((A,t)=>i(A,t,e)));return xh.isPlainObject(A)||A instanceof this.constructor?B(A,e):xh.isString(A)&&(A=A.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(A.trim())?B((A=>{const e={};let t,n,i;return A&&A.split("\n").forEach((function(A){i=A.indexOf(":"),t=A.substring(0,i).trim().toLowerCase(),n=A.substring(i+1).trim(),!t||e[t]&&rM[t]||("set-cookie"===t?e[t]?e[t].push(n):e[t]=[n]:e[t]=e[t]?e[t]+", "+n:n)})),e})(A),e):null!=A&&i(e,A,t),this}get(A,e){if(A=gM(A)){const t=xh.findKey(this,A);if(t){const A=this[t];if(!e)return A;if(!0===e)return function(A){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=t.exec(A);)e[n[1]]=n[2];return e}(A);if(xh.isFunction(e))return e.call(this,A,t);if(xh.isRegExp(e))return e.exec(A);throw new TypeError("parser must be boolean|regexp|function")}}}has(A,e){if(A=gM(A)){const t=xh.findKey(this,A);return!(!t||void 0===this[t]||e&&!QM(0,this[t],t,e))}return!1}delete(A,e){const t=this;let n=!1;function i(A){if(A=gM(A)){const i=xh.findKey(t,A);!i||e&&!QM(0,t[i],i,e)||(delete t[i],n=!0)}}return xh.isArray(A)?A.forEach(i):i(A),n}clear(A){const e=Object.keys(this);let t=e.length,n=!1;for(;t--;){const i=e[t];A&&!QM(0,this[i],i,A,!0)||(delete this[i],n=!0)}return n}normalize(A){const e=this,t={};return xh.forEach(this,((n,i)=>{const B=xh.findKey(t,i);if(B)return e[B]=aM(n),void delete e[i];const E=A?function(A){return A.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((A,e,t)=>e.toUpperCase()+t))}(i):String(i).trim();E!==i&&delete e[i],e[E]=aM(n),t[E]=!0})),this}concat(...A){return this.constructor.concat(this,...A)}toJSON(A){const e=Object.create(null);return xh.forEach(this,((t,n)=>{null!=t&&!1!==t&&(e[n]=A&&xh.isArray(t)?t.join(", "):t)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([A,e])=>A+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(A){return A instanceof this?A:new this(A)}static concat(A,...e){const t=new this(A);return e.forEach((A=>t.set(A))),t}static accessor(A){const e=(this[cM]=this[cM]={accessors:{}}).accessors,t=this.prototype;function n(A){const n=gM(A);e[n]||(function(A,e){const t=xh.toCamelCase(" "+e);["get","set","has"].forEach((n=>{Object.defineProperty(A,n+t,{value:function(A,t,i){return this[n].call(this,e,A,t,i)},configurable:!0})}))}(t,A),e[n]=!0)}return xh.isArray(A)?A.forEach(n):n(A),this}}lM.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),xh.reduceDescriptors(lM.prototype,(({value:A},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>A,set(A){this[t]=A}}})),xh.freezeMethods(lM);const hM=lM;function MM(A,e){const t=this||oM,n=e||t,i=hM.from(n.headers);let B=n.data;return xh.forEach(A,(function(A){B=A.call(t,B,i.normalize(),e?e.status:void 0)})),i.normalize(),B}function wM(A){return!(!A||!A.__CANCEL__)}function RM(A,e,t){ph.call(this,null==A?"canceled":A,ph.ERR_CANCELED,e,t),this.name="CanceledError"}xh.inherits(RM,ph,{__CANCEL__:!0});const IM=BM.hasStandardBrowserEnv?{write(A,e,t,n,i,B){const E=[A+"="+encodeURIComponent(e)];xh.isNumber(t)&&E.push("expires="+new Date(t).toGMTString()),xh.isString(n)&&E.push("path="+n),xh.isString(i)&&E.push("domain="+i),!0===B&&E.push("secure"),document.cookie=E.join("; ")},read(A){const e=document.cookie.match(new RegExp("(^|;\\s*)("+A+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(A){this.write(A,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function uM(A,e){return A&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(A,e){return e?A.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):A}(A,e):e}const dM=BM.hasStandardBrowserEnv?function(){const A=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let t;function n(t){let n=t;return A&&(e.setAttribute("href",n),n=e.href),e.setAttribute("href",n),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return t=n(window.location.href),function(A){const e=xh.isString(A)?n(A):A;return e.protocol===t.protocol&&e.host===t.host}}():function(){return!0};function GM(A,e){let t=0;const n=function(A,e){A=A||10;const t=new Array(A),n=new Array(A);let i,B=0,E=0;return e=void 0!==e?e:1e3,function(s){const o=Date.now(),r=n[E];i||(i=o),t[B]=s,n[B]=o;let c=E,g=0;for(;c!==B;)g+=t[c++],c%=A;if(B=(B+1)%A,B===E&&(E=(E+1)%A),o-i{const B=i.loaded,E=i.lengthComputable?i.total:void 0,s=B-t,o=n(s);t=B;const r={loaded:B,total:E,progress:E?B/E:void 0,bytes:s,rate:o||void 0,estimated:o&&E&&B<=E?(E-B)/o:void 0,event:i};r[e?"download":"upload"]=!0,A(r)}}const CM="undefined"!=typeof XMLHttpRequest&&function(A){return new Promise((function(e,t){let n=A.data;const i=hM.from(A.headers).normalize();let B,E,{responseType:s,withXSRFToken:o}=A;function r(){A.cancelToken&&A.cancelToken.unsubscribe(B),A.signal&&A.signal.removeEventListener("abort",B)}if(xh.isFormData(n))if(BM.hasStandardBrowserEnv||BM.hasStandardBrowserWebWorkerEnv)i.setContentType(!1);else if(!1!==(E=i.getContentType())){const[A,...e]=E?E.split(";").map((A=>A.trim())).filter(Boolean):[];i.setContentType([A||"multipart/form-data",...e].join("; "))}let c=new XMLHttpRequest;if(A.auth){const e=A.auth.username||"",t=A.auth.password?unescape(encodeURIComponent(A.auth.password)):"";i.set("Authorization","Basic "+btoa(e+":"+t))}const g=uM(A.baseURL,A.url);function a(){if(!c)return;const n=hM.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());!function(A,e,t){const n=t.config.validateStatus;t.status&&n&&!n(t.status)?e(new ph("Request failed with status code "+t.status,[ph.ERR_BAD_REQUEST,ph.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t)):A(t)}((function(A){e(A),r()}),(function(A){t(A),r()}),{data:s&&"text"!==s&&"json"!==s?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:n,config:A,request:c}),c=null}if(c.open(A.method.toUpperCase(),Xh(g,A.params,A.paramsSerializer),!0),c.timeout=A.timeout,"onloadend"in c?c.onloadend=a:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf("file:"))&&setTimeout(a)},c.onabort=function(){c&&(t(new ph("Request aborted",ph.ECONNABORTED,A,c)),c=null)},c.onerror=function(){t(new ph("Network Error",ph.ERR_NETWORK,A,c)),c=null},c.ontimeout=function(){let e=A.timeout?"timeout of "+A.timeout+"ms exceeded":"timeout exceeded";A.timeoutErrorMessage&&(e=A.timeoutErrorMessage),t(new ph(e,(A.transitional||$h).clarifyTimeoutError?ph.ETIMEDOUT:ph.ECONNABORTED,A,c)),c=null},BM.hasStandardBrowserEnv&&(o&&xh.isFunction(o)&&(o=o(A)),o||!1!==o&&dM(g))){const e=A.xsrfHeaderName&&A.xsrfCookieName&&IM.read(A.xsrfCookieName);e&&i.set(A.xsrfHeaderName,e)}void 0===n&&i.setContentType(null),"setRequestHeader"in c&&xh.forEach(i.toJSON(),(function(A,e){c.setRequestHeader(e,A)})),xh.isUndefined(A.withCredentials)||(c.withCredentials=!!A.withCredentials),s&&"json"!==s&&(c.responseType=A.responseType),"function"==typeof A.onDownloadProgress&&c.addEventListener("progress",GM(A.onDownloadProgress,!0)),"function"==typeof A.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",GM(A.onUploadProgress)),(A.cancelToken||A.signal)&&(B=e=>{c&&(t(!e||e.type?new RM(null,A,c):e),c.abort(),c=null)},A.cancelToken&&A.cancelToken.subscribe(B),A.signal&&(A.signal.aborted?B():A.signal.addEventListener("abort",B)));const Q=function(A){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(A);return e&&e[1]||""}(g);Q&&-1===BM.protocols.indexOf(Q)?t(new ph("Unsupported protocol "+Q+":",ph.ERR_BAD_REQUEST,A)):c.send(n||null)}))},kM={http:null,xhr:CM};xh.forEach(kM,((A,e)=>{if(A){try{Object.defineProperty(A,"name",{value:e})}catch(A){}Object.defineProperty(A,"adapterName",{value:e})}}));const DM=A=>`- ${A}`,FM=A=>xh.isFunction(A)||null===A||!1===A,YM=A=>{A=xh.isArray(A)?A:[A];const{length:e}=A;let t,n;const i={};for(let B=0;B`adapter ${A} `+(!1===e?"is not supported by the environment":"is not available in the build")));throw new ph("There is no suitable adapter to dispatch the request "+(e?A.length>1?"since :\n"+A.map(DM).join("\n"):" "+DM(A[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return n};function fM(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new RM(null,A)}function UM(A){return fM(A),A.headers=hM.from(A.headers),A.data=MM.call(A,A.transformRequest),-1!==["post","put","patch"].indexOf(A.method)&&A.headers.setContentType("application/x-www-form-urlencoded",!1),YM(A.adapter||oM.adapter)(A).then((function(e){return fM(A),e.data=MM.call(A,A.transformResponse,e),e.headers=hM.from(e.headers),e}),(function(e){return wM(e)||(fM(A),e&&e.response&&(e.response.data=MM.call(A,A.transformResponse,e.response),e.response.headers=hM.from(e.response.headers))),Promise.reject(e)}))}const NM=A=>A instanceof hM?{...A}:A;function SM(A,e){e=e||{};const t={};function n(A,e,t){return xh.isPlainObject(A)&&xh.isPlainObject(e)?xh.merge.call({caseless:t},A,e):xh.isPlainObject(e)?xh.merge({},e):xh.isArray(e)?e.slice():e}function i(A,e,t){return xh.isUndefined(e)?xh.isUndefined(A)?void 0:n(void 0,A,t):n(A,e,t)}function B(A,e){if(!xh.isUndefined(e))return n(void 0,e)}function E(A,e){return xh.isUndefined(e)?xh.isUndefined(A)?void 0:n(void 0,A):n(void 0,e)}function s(t,i,B){return B in e?n(t,i):B in A?n(void 0,t):void 0}const o={url:B,method:B,data:B,baseURL:E,transformRequest:E,transformResponse:E,paramsSerializer:E,timeout:E,timeoutMessage:E,withCredentials:E,withXSRFToken:E,adapter:E,responseType:E,xsrfCookieName:E,xsrfHeaderName:E,onUploadProgress:E,onDownloadProgress:E,decompress:E,maxContentLength:E,maxBodyLength:E,beforeRedirect:E,transport:E,httpAgent:E,httpsAgent:E,cancelToken:E,socketPath:E,responseEncoding:E,validateStatus:s,headers:(A,e)=>i(NM(A),NM(e),!0)};return xh.forEach(Object.keys(Object.assign({},A,e)),(function(n){const B=o[n]||i,E=B(A[n],e[n],n);xh.isUndefined(E)&&B!==s||(t[n]=E)})),t}const mM={};["object","boolean","number","function","string","symbol"].forEach(((A,e)=>{mM[A]=function(t){return typeof t===A||"a"+(e<1?"n ":" ")+A}}));const yM={};mM.transitional=function(A,e,t){function n(A,e){return"[Axios v1.6.8] Transitional option '"+A+"'"+e+(t?". "+t:"")}return(t,i,B)=>{if(!1===A)throw new ph(n(i," has been removed"+(e?" in "+e:"")),ph.ERR_DEPRECATED);return e&&!yM[i]&&(yM[i]=!0,console.warn(n(i," has been deprecated since v"+e+" and will be removed in the near future"))),!A||A(t,i,B)}};const bM={assertOptions:function(A,e,t){if("object"!=typeof A)throw new ph("options must be an object",ph.ERR_BAD_OPTION_VALUE);const n=Object.keys(A);let i=n.length;for(;i-- >0;){const B=n[i],E=e[B];if(E){const e=A[B],t=void 0===e||E(e,B,A);if(!0!==t)throw new ph("option "+B+" must be "+t,ph.ERR_BAD_OPTION_VALUE)}else if(!0!==t)throw new ph("Unknown option "+B,ph.ERR_BAD_OPTION)}},validators:mM},HM=bM.validators;class TM{constructor(A){this.defaults=A,this.interceptors={request:new qh,response:new qh}}async request(A,e){try{return await this._request(A,e)}catch(A){if(A instanceof Error){let e;Error.captureStackTrace?Error.captureStackTrace(e={}):e=new Error;const t=e.stack?e.stack.replace(/^.+\n/,""):"";A.stack?t&&!String(A.stack).endsWith(t.replace(/^.+\n.+\n/,""))&&(A.stack+="\n"+t):A.stack=t}throw A}}_request(A,e){"string"==typeof A?(e=e||{}).url=A:e=A||{},e=SM(this.defaults,e);const{transitional:t,paramsSerializer:n,headers:i}=e;void 0!==t&&bM.assertOptions(t,{silentJSONParsing:HM.transitional(HM.boolean),forcedJSONParsing:HM.transitional(HM.boolean),clarifyTimeoutError:HM.transitional(HM.boolean)},!1),null!=n&&(xh.isFunction(n)?e.paramsSerializer={serialize:n}:bM.assertOptions(n,{encode:HM.function,serialize:HM.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let B=i&&xh.merge(i.common,i[e.method]);i&&xh.forEach(["delete","get","head","post","put","patch","common"],(A=>{delete i[A]})),e.headers=hM.concat(B,i);const E=[];let s=!0;this.interceptors.request.forEach((function(A){"function"==typeof A.runWhen&&!1===A.runWhen(e)||(s=s&&A.synchronous,E.unshift(A.fulfilled,A.rejected))}));const o=[];let r;this.interceptors.response.forEach((function(A){o.push(A.fulfilled,A.rejected)}));let c,g=0;if(!s){const A=[UM.bind(this),void 0];for(A.unshift.apply(A,E),A.push.apply(A,o),c=A.length,r=Promise.resolve(e);g{if(!t._listeners)return;let e=t._listeners.length;for(;e-- >0;)t._listeners[e](A);t._listeners=null})),this.promise.then=A=>{let e;const n=new Promise((A=>{t.subscribe(A),e=A})).then(A);return n.cancel=function(){t.unsubscribe(e)},n},A((function(A,n,i){t.reason||(t.reason=new RM(A,n,i),e(t.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(A){this.reason?A(this.reason):this._listeners?this._listeners.push(A):this._listeners=[A]}unsubscribe(A){if(!this._listeners)return;const e=this._listeners.indexOf(A);-1!==e&&this._listeners.splice(e,1)}static source(){let A;return{token:new xM((function(e){A=e})),cancel:A}}}const pM=xM,JM={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(JM).forEach((([A,e])=>{JM[e]=A}));const jM=JM,ZM=function A(e){const t=new zM(e),n=ih(zM.prototype.request,t);return xh.extend(n,zM.prototype,t,{allOwnKeys:!0}),xh.extend(n,t,null,{allOwnKeys:!0}),n.create=function(t){return A(SM(e,t))},n}(oM);ZM.Axios=zM,ZM.CanceledError=RM,ZM.CancelToken=pM,ZM.isCancel=wM,ZM.VERSION="1.6.8",ZM.toFormData=Lh,ZM.AxiosError=ph,ZM.Cancel=ZM.CanceledError,ZM.all=function(A){return Promise.all(A)},ZM.spread=function(A){return function(e){return A.apply(null,e)}},ZM.isAxiosError=function(A){return xh.isObject(A)&&!0===A.isAxiosError},ZM.mergeConfig=SM,ZM.AxiosHeaders=hM,ZM.formToJSON=A=>EM(xh.isHTMLForm(A)?new FormData(A):A),ZM.getAdapter=YM,ZM.HttpStatusCode=jM,ZM.default=ZM;const PM=ZM,VM=["image/jpeg","image/gif","image/png","image/jpg"];async function vM(A,e){const t=A instanceof DataTransferItem?A.getAsFile():A;return(null==e?void 0:e.options.uploadFunc)?e.options.uploadFunc(t):(null==e?void 0:e.options.uploadUrl)?async function(A,e){return(await PM.postForm(e,{imgFile:A})).data.url||""}(t,e.options.uploadUrl):new Promise((A=>{const e=new FileReader;e.onloadend=()=>A(e.result),e.readAsDataURL(t)}))}const LM=o.create({name:"imageUploader",addCommands(){return{uploadImage:A=>()=>(vM(A,this).then((A=>{Boolean(A)&&this.editor.chain().focus().setImage({src:A}).run()})),!0)}},addOptions:()=>({uploadUrl:"",uploadFunc:null}),addProseMirrorPlugins(){return[new E({key:new s("imageUploader"),props:{handlePaste:(A,e)=>{var t;const n=Array.from((null===(t=e.clipboardData)||void 0===t?void 0:t.items)||[]);if(n.some((A=>"text/html"===A.type)))return!1;const i=n.find((A=>VM.includes(A.type)));return!!Boolean(i)&&(vM(i,this).then((A=>{Boolean(A)&&this.editor.chain().focus().setImage({src:A}).run()})),!0)},handleDrop:(A,e)=>{var t;return!!Boolean(null===(t=e.dataTransfer)||void 0===t?void 0:t.files.length)&&(vM(e.dataTransfer.files.item(0),this).then((A=>{Boolean(A)&&this.editor.chain().focus().setImage({src:A}).run()})),!0)}}})]}}),OM=[9,13,16,20,24,36,48],_M=o.create({name:"fontSize",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:A=>{var e;return parseInt(null===(e=A.style.fontSize)||void 0===e?void 0:e.replace(/px$/,""))},renderHTML:A=>A.fontSize?{style:`font-size: ${A.fontSize}px`}:{}}}}]},addCommands:()=>({setFontSize:A=>({chain:e})=>e().setMark("textStyle",{fontSize:A}).run(),unsetFontSize:()=>({chain:A})=>A().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run(),scaleFontSize:(A="upscale")=>({state:e})=>{const{doc:t,selection:n}=e,{from:i,to:B}=n;return t.slice(i,B).content.descendants(((t,n)=>{var B;if(t.isText){const E=(null===(B=t.marks.find((A=>"textStyle"===A.type.name)))||void 0===B?void 0:B.attrs.fontSize)||13,s=OM.reduce(((A,e)=>Math.abs(e-E)({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{lineHeight:{default:null,parseHTML:A=>parseInt(A.style.lineHeight),renderHTML:A=>A.lineHeight?{style:`line-height: ${A.lineHeight}`}:{}}}}]},addCommands:()=>({setLineHeight:A=>({chain:e})=>e().selectParentNode().setMark("textStyle",{lineHeight:A}).run(),unsetLineHeight:()=>({chain:A})=>A().selectParentNode().setMark("textStyle",{lineHeight:null}).removeEmptyTextStyle().run()})}),XM={"Sans-serif":'"Source Han Sans CN", PingFangSC, "Microsoft YaHei", HiraginoSansGB, Roboto, Helvetica, Tahoma, sans-serif',Serif:'SimSun, STSong, Georgia, "Times New Roman", Times, serif',Cursive:"FangSong, KaiTi, cursive",Monospace:'"Source Code Pro", Menlo, Monaco, Consolas, "Courier New", monospace'},qM=o.create({name:"defaultTextStyle",addProseMirrorPlugins:()=>[new E({appendTransaction(A,e,t){if(1!==A.length||1!==A[0].steps.length)return;const n=A[0].doc.type.schema,i=n.marks.textStyle.create({fontFamily:XM["Sans-serif"]}),B=n.marks.textStyle.create({fontFamily:XM["Sans-serif"],fontSize:13});let E=t.tr;return A.forEach((A=>{A.steps.forEach((A=>{A.getMap().forEach(((A,e,n,s)=>{t.doc.nodesBetween(n,s,((A,e)=>{"heading"===A.type.name&&A.forEach(((A,t)=>{A.isText&&!Boolean(A.marks.find((A=>"textStyle"===A.type.name)))&&(E=E.addMark(e+t,e+t+A.nodeSize+1,i))})),"paragraph"===A.type.name&&A.forEach(((A,t)=>{A.isText&&!Boolean(A.marks.find((A=>"textStyle"===A.type.name)))&&(E=E.addMark(e+t,e+t+A.nodeSize+1,B))}))}))}))}))})),E}})]});var $M,Aw;if("undefined"!=typeof WeakMap){let A=new WeakMap;$M=e=>A.get(e),Aw=(e,t)=>(A.set(e,t),t)}else{const A=[],e=10;let t=0;$M=e=>{for(let t=0;t(t==e&&(t=0),A[t++]=n,A[t++]=i)}var ew=class{constructor(A,e,t,n){this.width=A,this.height=e,this.map=t,this.problems=n}findCell(A){for(let e=0;en&&(B+=i.attrs.colspan)}}for(let A=0;A1&&(t=!0)}-1==e?e=B:e!=B&&(e=Math.max(e,B))}return e}(A),t=A.childCount,n=[];let i=0,B=null;const E=[];for(let A=0,i=e*t;A=t){(B||(B=[])).push({type:"overlong_rowspan",pos:o,n:a-A});break}const r=i+A*e;for(let A=0;A0;e--)if("row"==A.node(e).type.spec.tableRole)return A.node(0).resolve(A.before(e+1));return null}function Ew(A){const e=A.selection.$head;for(let A=e.depth;A>0;A--)if("row"==e.node(A).type.spec.tableRole)return!0;return!1}function sw(A){const e=A.selection;if("$anchorCell"in e&&e.$anchorCell)return e.$anchorCell.pos>e.$headCell.pos?e.$anchorCell:e.$headCell;if("node"in e&&e.node&&"cell"==e.node.type.spec.tableRole)return e.$anchor;const t=Bw(e.$head)||function(A){for(let e=A.nodeAfter,t=A.pos;e;e=e.firstChild,t++){const n=e.type.spec.tableRole;if("cell"==n||"header_cell"==n)return A.doc.resolve(t)}for(let e=A.nodeBefore,t=A.pos;e;e=e.lastChild,t--){const n=e.type.spec.tableRole;if("cell"==n||"header_cell"==n)return A.doc.resolve(t-e.nodeSize)}}(e.$head);if(t)return t;throw new RangeError(`No cell found around position ${e.head}`)}function ow(A){return"row"==A.parent.type.spec.tableRole&&!!A.nodeAfter}function rw(A,e){return A.depth==e.depth&&A.pos>=e.start(-1)&&A.pos<=e.end(-1)}function cw(A,e,t){const n=A.node(-1),i=ew.get(n),B=A.start(-1),E=i.nextCell(A.pos-B,e,t);return null==E?null:A.node(0).resolve(B+E)}function gw(A,e,t=1){const n={...A,colspan:A.colspan-t};return n.colwidth&&(n.colwidth=n.colwidth.slice(),n.colwidth.splice(e,t),n.colwidth.some((A=>A>0))||(n.colwidth=null)),n}function aw(A,e,t=1){const n={...A,colspan:A.colspan+t};if(n.colwidth){n.colwidth=n.colwidth.slice();for(let A=0;AA!=e.pos-i));s.unshift(e.pos-i);const o=s.map((A=>{const e=t.nodeAt(A);if(!e)throw RangeError(`No cell with offset ${A} found`);const n=i+A+1;return new V(E.resolve(n),E.resolve(n+e.content.size))}));super(o[0].$from,o[0].$to,o),this.$anchorCell=A,this.$headCell=e}map(e,t){const n=e.resolve(t.map(this.$anchorCell.pos)),i=e.resolve(t.map(this.$headCell.pos));if(ow(n)&&ow(i)&&rw(n,i)){const e=this.$anchorCell.node(-1)!=n.node(-1);return e&&this.isRowSelection()?A.rowSelection(n,i):e&&this.isColSelection()?A.colSelection(n,i):new A(n,i)}return C.between(n,i)}content(){const A=this.$anchorCell.node(-1),e=ew.get(A),t=this.$anchorCell.start(-1),n=e.rectBetween(this.$anchorCell.pos-t,this.$headCell.pos-t),i={},B=[];for(let t=n.top;t0||c>0){let A=o.attrs;if(r>0&&(A=gw(A,0,r)),c>0&&(A=gw(A,A.colspan-c,c)),s.leftn.bottom){const A={...o.attrs,rowspan:Math.min(s.bottom,n.bottom)-Math.max(s.top,n.top)};o=s.top0)&&Math.max(A+this.$anchorCell.nodeAfter.attrs.rowspan,e+this.$headCell.nodeAfter.attrs.rowspan)==this.$headCell.node(-1).childCount}static colSelection(e,t=e){const n=e.node(-1),i=ew.get(n),B=e.start(-1),E=i.findCell(e.pos-B),s=i.findCell(t.pos-B),o=e.node(0);return E.top<=s.top?(E.top>0&&(e=o.resolve(B+i.map[E.left])),s.bottom0&&(t=o.resolve(B+i.map[s.left])),E.bottom0)&&Math.max(n+this.$anchorCell.nodeAfter.attrs.colspan,i+this.$headCell.nodeAfter.attrs.colspan)==e.width}eq(e){return e instanceof A&&e.$anchorCell.pos==this.$anchorCell.pos&&e.$headCell.pos==this.$headCell.pos}static rowSelection(e,t=e){const n=e.node(-1),i=ew.get(n),B=e.start(-1),E=i.findCell(e.pos-B),s=i.findCell(t.pos-B),o=e.node(0);return E.left<=s.left?(E.left>0&&(e=o.resolve(B+i.map[E.top*i.width])),s.right0&&(t=o.resolve(B+i.map[s.top*i.width])),E.right{e.push(F.node(t,t+A.nodeSize,{class:"selectedCell"}))})),k.create(A.doc,e)}var Mw=new s("fix-tables");function ww(A,e,t,n){const i=A.childCount,B=e.childCount;A:for(let E=0,s=0;E{"table"==e.type.spec.tableRole&&(t=function(A,e,t,n){const i=ew.get(e);if(!i.problems)return n;n||(n=A.tr);const B=[];for(let A=0;A0){let e="cell";t.firstChild&&(e=t.firstChild.type.spec.tableRole);const B=[];for(let t=0;te.width)for(let B=0,c=0;Be.height){const c=[];for(let A=0,n=(e.height-1)*e.width;A=e.width)&&t.nodeAt(e.map[n+A]).type==s.header_cell;c.push(i?r||(r=s.header_cell.createAndFill()):o||(o=s.cell.createAndFill()))}const g=s.row.create(null,x.from(c)),a=[];for(let A=e.height;A{if(!i)return!1;const B=t.selection;if(B instanceof Qw)return kw(t,n,b.near(B.$headCell,e));if("horiz"!=A&&!B.empty)return!1;const E=Sw(i,A,e);if(null==E)return!1;if("horiz"==A)return kw(t,n,b.near(t.doc.resolve(B.head+e),e));{const i=t.doc.resolve(E),B=cw(i,A,e);let s;return s=B?b.near(B,1):e<0?b.near(t.doc.resolve(i.before(-1)),-1):b.near(t.doc.resolve(i.after(-1)),1),kw(t,n,s)}}}function Fw(A,e){return(t,n,i)=>{if(!i)return!1;const B=t.selection;let E;if(B instanceof Qw)E=B;else{const n=Sw(i,A,e);if(null==n)return!1;E=new Qw(t.doc.resolve(n))}const s=cw(E.$headCell,A,e);return!!s&&kw(t,n,new Qw(E.$anchorCell,s))}}function Yw(A,e){const t=A.selection;if(!(t instanceof Qw))return!1;if(e){const n=A.tr,i=nw(A.schema).cell.createAndFill().content;t.forEachCell(((A,e)=>{A.content.eq(i)||n.replace(n.mapping.map(e+1),n.mapping.map(e+A.nodeSize-1),new H(i,0,0))})),n.docChanged&&e(n)}return!0}function fw(A,e){const t=Bw(A.state.doc.resolve(e));return!!t&&(A.dispatch(A.state.tr.setSelection(new Qw(t))),!0)}function Uw(A,e,t){if(!Ew(A.state))return!1;let n=function(A){if(!A.size)return null;let{content:e,openStart:t,openEnd:n}=A;for(;1==e.childCount&&(t>0&&n>0||"table"==e.child(0).type.spec.tableRole);)t--,n--,e=e.child(0).content;const i=e.child(0),B=i.type.spec.tableRole,E=i.type.schema,s=[];if("row"==B)for(let A=0;A=0;e--){const{rowspan:i,colspan:B}=n.child(e).attrs;for(let e=A;e=e.length&&e.push(x.empty),t[i]n&&(s=s.type.createChecked(gw(s.attrs,s.attrs.colspan,t+s.attrs.colspan-n),s.content)),E.push(s),t+=s.attrs.colspan;for(let t=1;ti&&(e=e.type.create({...e.attrs,rowspan:Math.max(1,i-e.attrs.rowspan)},e.content)),E.push(e)}A.push(x.from(E))}t=A,e=i}return{width:A,height:e,rows:t}}(n,E.right-E.left,E.bottom-E.top),Gw(A.state,A.dispatch,B,E,n),!0}if(n){const e=sw(A.state),t=e.start(-1);return Gw(A.state,A.dispatch,t,ew.get(e.node(-1)).findCell(e.pos-t),n),!0}return!1}function Nw(A,e){var t;if(e.ctrlKey||e.metaKey)return;const n=mw(A,e.target);let i;if(e.shiftKey&&A.state.selection instanceof Qw)B(A.state.selection.$anchorCell,e),e.preventDefault();else if(e.shiftKey&&n&&null!=(i=Bw(A.state.selection.$anchor))&&(null==(t=yw(A,e))?void 0:t.pos)!=i.pos)B(i,e),e.preventDefault();else if(!n)return;function B(e,t){let n=yw(A,t);const i=null==iw.getState(A.state);if(!n||!rw(e,n)){if(!i)return;n=e}const B=new Qw(e,n);if(i||!A.state.selection.eq(B)){const t=A.state.tr.setSelection(B);i&&t.setMeta(iw,e.pos),A.dispatch(t)}}function E(){A.root.removeEventListener("mouseup",E),A.root.removeEventListener("dragstart",E),A.root.removeEventListener("mousemove",s),null!=iw.getState(A.state)&&A.dispatch(A.state.tr.setMeta(iw,-1))}function s(t){const i=t,s=iw.getState(A.state);let o;if(null!=s)o=A.state.doc.resolve(s);else if(mw(A,i.target)!=n&&(o=yw(A,e),!o))return E();o&&B(o,i)}A.root.addEventListener("mouseup",E),A.root.addEventListener("dragstart",E),A.root.addEventListener("mousemove",s)}function Sw(A,e,t){if(!(A.state.selection instanceof C))return null;const{$head:n}=A.state.selection;for(let i=n.depth-1;i>=0;i--){const B=n.node(i);if((t<0?n.index(i):n.indexAfter(i))!=(t<0?0:B.childCount))return null;if("cell"==B.type.spec.tableRole||"header_cell"==B.type.spec.tableRole){const B=n.before(i);return A.endOfTextblock("vert"==e?t>0?"down":"up":t>0?"right":"left")?B:null}}return null}function mw(A,e){for(;e&&e!=A.dom;e=e.parentNode)if("TD"==e.nodeName||"TH"==e.nodeName)return e;return null}function yw(A,e){const t=A.posAtCoords({left:e.clientX,top:e.clientY});return t&&t?Bw(A.state.doc.resolve(t.pos)):null}var bw=class{constructor(A,e){this.node=A,this.cellMinWidth=e,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.colgroup=this.table.appendChild(document.createElement("colgroup")),Hw(A,this.colgroup,this.table,e),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(A){return A.type==this.node.type&&(this.node=A,Hw(A,this.colgroup,this.table,this.cellMinWidth),!0)}ignoreMutation(A){return"attributes"==A.type&&(A.target==this.table||this.colgroup.contains(A.target))}};function Hw(A,e,t,n,i,B){var E;let s=0,o=!0,r=e.firstChild;const c=A.firstChild;if(c){for(let A=0,t=0;A(i.spec.props.nodeViews[nw(n.schema).table.name]=(A,n)=>new t(A,e,n),new xw(-1,!1)),apply:(A,e)=>e.apply(A)},props:{attributes:A=>{const e=Tw.getState(A);return e&&e.activeHandle>-1?{class:"resize-cursor"}:{}},handleDOMEvents:{mousemove:(e,t)=>{!function(A,e,t,n,i){const B=Tw.getState(A.state);if(B&&!B.dragging){const n=function(A){for(;A&&"TD"!=A.nodeName&&"TH"!=A.nodeName;)A=A.classList&&A.classList.contains("ProseMirror")?null:A.parentNode;return A}(e.target);let E=-1;if(n){const{left:i,right:B}=n.getBoundingClientRect();e.clientX-i<=t?E=pw(A,e,"left",t):B-e.clientX<=t&&(E=pw(A,e,"right",t))}if(E!=B.activeHandle){if(!i&&-1!==E){const e=A.state.doc.resolve(E),t=e.node(-1),n=ew.get(t),i=e.start(-1);if(n.colCount(e.pos-i)+e.nodeAfter.attrs.colspan-1==n.width-1)return}jw(A,E)}}}(e,t,A,0,n)},mouseleave:A=>{!function(A){const e=Tw.getState(A.state);e&&e.activeHandle>-1&&!e.dragging&&jw(A,-1)}(A)},mousedown:(A,t)=>{!function(A,e,t){var n;const i=null!=(n=A.dom.ownerDocument.defaultView)?n:window,B=Tw.getState(A.state);if(!B||-1==B.activeHandle||B.dragging)return!1;const E=A.state.doc.nodeAt(B.activeHandle),s=function(A,e,{colspan:t,colwidth:n}){const i=n&&n[n.length-1];if(i)return i;const B=A.domAtPos(e);let E=B.node.childNodes[B.offset].offsetWidth,s=t;if(n)for(let A=0;A{const e=Tw.getState(A);if(e&&e.activeHandle>-1)return function(A,e){const t=[],n=A.doc.resolve(e),i=n.node(-1);if(!i)return k.empty;const B=ew.get(i),E=n.start(-1),s=B.colCount(n.pos-E)+n.nodeAfter.attrs.colspan;for(let A=0;A-1&&e.docChanged){let n=e.mapping.map(t.activeHandle,-1);return ow(e.doc.resolve(n))||(n=-1),new A(n,t.dragging)}return t}};function pw(A,e,t,n){const i=A.posAtCoords({left:e.clientX+("right"==t?-n:n),top:e.clientY});if(!i)return-1;const{pos:B}=i,E=Bw(A.state.doc.resolve(B));if(!E)return-1;if("right"==t)return E.pos;const s=ew.get(E.node(-1)),o=E.start(-1),r=s.map.indexOf(E.pos-o);return r%s.width==0?-1:o+s.map[r-1]}function Jw(A,e,t){return Math.max(t,A.startWidth+(e.clientX-A.startX))}function jw(A,e){A.dispatch(A.state.tr.setMeta(Tw,{setHandle:e}))}function Zw(A){const e=A.selection,t=sw(A),n=t.node(-1),i=t.start(-1),B=ew.get(n);return{...e instanceof Qw?B.rectBetween(e.$anchorCell.pos-i,e.$headCell.pos-i):B.findCell(t.pos-i),tableStart:i,map:B,table:n}}function Pw(A,{map:e,tableStart:t,table:n},i){let B=i>0?-1:0;(function(A,e,t){const n=nw(e.type.schema).header_cell;for(let i=0;i0&&i0&&e.map[s-1]==o||i0?-1:0;(function(A,e,t){var n;const i=nw(e.type.schema).header_cell;for(let B=0;B0&&i0&&r==e.map[E-e.width]){const e=t.nodeAt(r).attrs;A.setNodeMarkup(A.mapping.slice(s).map(r+n),null,{...e,rowspan:e.rowspan-1}),B+=e.colspan-1}else if(i0&&t[B]==t[B-1]||n.right0&&t[i]==t[i-A]||n.bottomt[A.type.spec.tableRole],(A,e)=>{var t;const i=A.selection;let B,E;if(i instanceof Qw){if(i.$anchorCell.pos!=i.$headCell.pos)return!1;B=i.$anchorCell.nodeAfter,E=i.$anchorCell.pos}else{if(B=function(A){for(let e=A.depth;e>0;e--){const t=A.node(e).type.spec.tableRole;if("cell"===t||"header_cell"===t)return A.node(e)}return null}(i.$from),!B)return!1;E=null==(t=Bw(i.$from))?void 0:t.pos}if(null==B||null==E)return!1;if(1==B.attrs.colspan&&1==B.attrs.rowspan)return!1;if(e){let t=B.attrs;const s=[],o=t.colwidth;t.rowspan>1&&(t={...t,rowspan:1}),t.colspan>1&&(t={...t,colspan:1});const r=Zw(A),c=A.tr;for(let A=0;Ai.table.nodeAt(A)));for(let A=0;A{const e=A+i.tableStart,t=B.doc.nodeAt(e);t&&B.setNodeMarkup(e,r,t.attrs)})),t(B)}return!0}}Xw("row",{useDeprecatedLogic:!0}),Xw("column",{useDeprecatedLogic:!0});var qw=Xw("cell",{useDeprecatedLogic:!0});function $w(A){return function(e,t){if(!Ew(e))return!1;const n=function(A,e){if(e<0){const e=A.nodeBefore;if(e)return A.pos-e.nodeSize;for(let e=A.index(-1)-1,t=A.before();e>=0;e--){const n=A.node(-1).child(e),i=n.lastChild;if(i)return t-1-i.nodeSize;t-=n.nodeSize}}else{if(A.index()null,apply(A,e){const t=A.getMeta(iw);if(null!=t)return-1==t?null:t;if(null==e||!A.docChanged)return e;const{deleted:n,pos:i}=A.mapping.mapResult(e);return n?null:i}},props:{decorations:hw,handleDOMEvents:{mousedown:Nw},createSelectionBetween:A=>null!=iw.getState(A.state)?A.state.selection:null,handleTripleClick:fw,handleKeyDown:Cw,handlePaste:Uw},appendTransaction:(e,t,n)=>function(A,e,t){const n=(e||A).selection,i=(e||A).doc;let B,E;if(n instanceof T&&(E=n.node.type.spec.tableRole)){if("cell"==E||"header_cell"==E)B=Qw.create(i,n.from);else if("row"==E){const A=i.resolve(n.from+1);B=Qw.rowSelection(A,A)}else if(!t){const A=ew.get(n.node),e=n.from+1;B=Qw.create(i,e+1,e+A.map[A.width*A.height-1])}}else n instanceof C&&function({$from:A,$to:e}){if(A.pos==e.pos||A.pos=0&&!(A.after(i+1)=0&&!(e.before(A+1)>e.start(A));A--,n--);return t==n&&/row|table/.test(A.node(i).type.spec.tableRole)}(n)?B=C.create(i,n.from):n instanceof C&&function({$from:A,$to:e}){let t,n;for(let e=A.depth;e>0;e--){const n=A.node(e);if("cell"===n.type.spec.tableRole||"header_cell"===n.type.spec.tableRole){t=n;break}}for(let A=e.depth;A>0;A--){const t=e.node(A);if("cell"===t.type.spec.tableRole||"header_cell"===t.type.spec.tableRole){n=t;break}}return t!==n&&0===e.parentOffset}(n)&&(B=C.create(i,n.$from.start(),n.$from.end()));return B&&(e||(e=A.tr)).setSelection(B),e}(n,Rw(n,t),A)})}function eR(A,e,t,n,i,B){let E=0,s=!0,o=e.firstChild;const r=A.firstChild;for(let A=0,t=0;A{const{selection:e}=A.state;if(!function(A){return A instanceof Qw}(e))return!1;let t=0;const n=L(e.ranges[0].$from,(A=>"table"===A.type.name));return null==n||n.node.descendants((A=>{if("table"===A.type.name)return!1;["tableCell","tableHeader"].includes(A.type.name)&&(t+=1)})),t===e.ranges.length&&(A.commands.deleteTable(),!0)},BR=R.create({name:"table",addOptions:()=>({HTMLAttributes:{},resizable:!1,handleWidth:5,cellMinWidth:25,View:tR,lastColumnResizable:!0,allowTableNodeSelection:!1}),content:"tableRow+",tableRole:"table",isolating:!0,group:"block",parseHTML:()=>[{tag:"table"}],renderHTML({node:A,HTMLAttributes:e}){const{colgroup:t,tableWidth:n,tableMinWidth:i}=function(A,e){let t=0,n=!0;const i=[],B=A.firstChild;if(!B)return{};for(let A=0,E=0;A({insertTable:({rows:A=3,cols:e=3,withHeaderRow:t=!0}={})=>({tr:n,dispatch:i,editor:B})=>{const E=function(A,e,t,n,i){const B=function(A){if(A.cached.tableNodeTypes)return A.cached.tableNodeTypes;const e={};return Object.keys(A.nodes).forEach((t=>{const n=A.nodes[t];n.spec.tableRole&&(e[n.spec.tableRole]=n)})),A.cached.tableNodeTypes=e,e}(A),E=[],s=[];for(let A=0;A({state:A,dispatch:e})=>function(A,e){if(!Ew(A))return!1;if(e){const t=Zw(A);e(Pw(A.tr,t,t.left))}return!0}(A,e),addColumnAfter:()=>({state:A,dispatch:e})=>function(A,e){if(!Ew(A))return!1;if(e){const t=Zw(A);e(Pw(A.tr,t,t.right))}return!0}(A,e),deleteColumn:()=>({state:A,dispatch:e})=>function(A,e){if(!Ew(A))return!1;if(e){const t=Zw(A),n=A.tr;if(0==t.left&&t.right==t.map.width)return!1;for(let A=t.right-1;Vw(n,t,A),A!=t.left;A--){const A=t.tableStart?n.doc.nodeAt(t.tableStart-1):n.doc;if(!A)throw RangeError("No table found");t.table=A,t.map=ew.get(A)}e(n)}return!0}(A,e),addRowBefore:()=>({state:A,dispatch:e})=>function(A,e){if(!Ew(A))return!1;if(e){const t=Zw(A);e(vw(A.tr,t,t.top))}return!0}(A,e),addRowAfter:()=>({state:A,dispatch:e})=>function(A,e){if(!Ew(A))return!1;if(e){const t=Zw(A);e(vw(A.tr,t,t.bottom))}return!0}(A,e),deleteRow:()=>({state:A,dispatch:e})=>function(A,e){if(!Ew(A))return!1;if(e){const t=Zw(A),n=A.tr;if(0==t.top&&t.bottom==t.map.height)return!1;for(let A=t.bottom-1;Lw(n,t,A),A!=t.top;A--){const A=t.tableStart?n.doc.nodeAt(t.tableStart-1):n.doc;if(!A)throw RangeError("No table found");t.table=A,t.map=ew.get(t.table)}e(n)}return!0}(A,e),deleteTable:()=>({state:A,dispatch:e})=>function(A,e){const t=A.selection.$anchor;for(let n=t.depth;n>0;n--)if("table"==t.node(n).type.spec.tableRole)return e&&e(A.tr.delete(t.before(n),t.after(n)).scrollIntoView()),!0;return!1}(A,e),mergeCells:()=>({state:A,dispatch:e})=>_w(A,e),splitCell:()=>({state:A,dispatch:e})=>Kw(A,e),toggleHeaderColumn:()=>({state:A,dispatch:e})=>Xw("column")(A,e),toggleHeaderRow:()=>({state:A,dispatch:e})=>Xw("row")(A,e),toggleHeaderCell:()=>({state:A,dispatch:e})=>qw(A,e),mergeOrSplit:()=>({state:A,dispatch:e})=>!!_w(A,e)||Kw(A,e),setCellAttribute:(A,e)=>({state:t,dispatch:n})=>function(A,e){return function(t,n){if(!Ew(t))return!1;const i=sw(t);if(i.nodeAfter.attrs[A]===e)return!1;if(n){const B=t.tr;t.selection instanceof Qw?t.selection.forEachCell(((t,n)=>{t.attrs[A]!==e&&B.setNodeMarkup(n,null,{...t.attrs,[A]:e})})):B.setNodeMarkup(i.pos,null,{...i.nodeAfter.attrs,[A]:e}),n(B)}return!0}}(A,e)(t,n),goToNextCell:()=>({state:A,dispatch:e})=>$w(1)(A,e),goToPreviousCell:()=>({state:A,dispatch:e})=>$w(-1)(A,e),fixTables:()=>({state:A,dispatch:e})=>(e&&Rw(A),!0),setCellSelection:A=>({tr:e,dispatch:t})=>{if(t){const t=Qw.create(e.doc,A.anchorCell,A.headCell);e.setSelection(t)}return!0}}),addKeyboardShortcuts(){return{Tab:()=>!!this.editor.commands.goToNextCell()||!!this.editor.can().addRowAfter()&&this.editor.chain().addRowAfter().goToNextCell().run(),"Shift-Tab":()=>this.editor.commands.goToPreviousCell(),Backspace:iR,"Mod-Backspace":iR,Delete:iR,"Mod-Delete":iR}},addProseMirrorPlugins(){return[...this.options.resizable&&this.editor.isEditable?[zw({handleWidth:this.options.handleWidth,cellMinWidth:this.options.cellMinWidth,View:this.options.View,lastColumnResizable:this.options.lastColumnResizable})]:[],AR({allowTableNodeSelection:this.options.allowTableNodeSelection})]},extendNodeSchema:A=>({tableRole:p(J(A,"tableRole",{name:A.name,options:A.options,storage:A.storage}))})}),ER=R.create({name:"tableCell",addOptions:()=>({HTMLAttributes:{}}),content:"block+",addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null}}}),tableRole:"cell",isolating:!0,parseHTML:()=>[{tag:"td"}],renderHTML({HTMLAttributes:A}){return["td",l(this.options.HTMLAttributes,A),0]}}),sR=R.create({name:"tableHeader",addOptions:()=>({HTMLAttributes:{}}),content:"block+",addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null}}}),tableRole:"header_cell",isolating:!0,parseHTML:()=>[{tag:"th"}],renderHTML({HTMLAttributes:A}){return["th",l(this.options.HTMLAttributes,A),0]}}),oR=R.create({name:"tableRow",addOptions:()=>({HTMLAttributes:{}}),content:"(tableCell | tableHeader)*",tableRole:"row",parseHTML:()=>[{tag:"tr"}],renderHTML({HTMLAttributes:A}){return["tr",l(this.options.HTMLAttributes,A),0]}}),rR=ER.extend({addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return Boolean(e)?[parseInt(e,10)]:null},renderHTML:A=>A.colwidth?{style:`width: ${A.colwidth[0]}px;`}:{}}}),renderHTML({HTMLAttributes:A}){return["td",l(this.options.HTMLAttributes,A,{style:"border: 1px solid black; padding: 5px;"}),0]}}),cR=sR.extend({addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return Boolean(e)?[parseInt(e,10)]:null},renderHTML:A=>A.colwidth?{style:`width: ${A.colwidth[0]}px;`}:{}}}),renderHTML({HTMLAttributes:A}){return["th",l(this.options.HTMLAttributes,A,{style:"border: 1px solid black; padding: 5px;"}),0]}}),gR=BR.extend({renderHTML({HTMLAttributes:A}){return["table",l(this.options.HTMLAttributes,A,{style:"border-collapse: collapse; border: 1px solid black;"}),["tbody",0]]}});var aR;!function(A){A[A.compact=0]="compact",A[A.full=1]="full"}(aR||(aR={}));const QR=R.create({name:"iframe",group:"block",atom:!0,addOptions:()=>({HTMLAttributes:{class:"iframe-wrapper"}}),addAttributes:()=>({src:{default:null},frameborder:{default:0},width:{default:null},height:{default:null}}),parseHTML:()=>[{tag:"iframe"}],renderHTML({HTMLAttributes:A}){return["div",this.options.HTMLAttributes,["iframe",A]]},addCommands(){return{setIframe:A=>({tr:e,dispatch:t})=>{const{selection:n}=e,i=this.type.create(A);return t&&e.replaceRangeWith(n.from,n.to,i),!0}}}}),lR=zE.extend({addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak(),Enter:()=>{const{state:A}=this.editor,{selection:e}=A,{$from:t}=e;if("paragraph"===t.parent.type.name){const{nodeBefore:A}=t;return A&&"hardBreak"===A.type.name?(this.editor.commands.deleteRange({from:t.pos-1,to:t.pos}),!1):this.editor.commands.setHardBreak()}}}}});function hR(A){var e;const{char:t,allowSpaces:n,allowedPrefixes:i,startOfLine:B,$position:E}=A,s=O(t),o=new RegExp(`\\s${s}$`),r=B?"^":"",c=n?new RegExp(`${r}${s}.*?(?=\\s${s}|$)`,"gm"):new RegExp(`${r}(?:^)?${s}[^\\s${s}]*`,"gm"),g=(null===(e=E.nodeBefore)||void 0===e?void 0:e.isText)&&E.nodeBefore.text;if(!g)return null;const a=E.pos-g.length,Q=Array.from(g.matchAll(c)).pop();if(!Q||void 0===Q.input||void 0===Q.index)return null;const l=Q.input.slice(Math.max(0,Q.index-1),Q.index),h=new RegExp(`^[${null==i?void 0:i.join("")}\0]?$`).test(l);if(null!==i&&!h)return null;const M=a+Q.index;let w=M+Q[0].length;return n&&o.test(g.slice(w-1,w+1))&&(Q[0]+=" ",w+=1),M=E.pos?{range:{from:M,to:w},query:Q[0].slice(t.length),text:Q[0]}:null}const MR=new s("suggestion");function wR({pluginKey:A=MR,editor:e,char:t="@",allowSpaces:n=!1,allowedPrefixes:i=[" "],startOfLine:B=!1,decorationTag:s="span",decorationClass:o="suggestion",command:r=(()=>null),items:c=(()=>[]),render:g=(()=>({})),allow:a=(()=>!0),findSuggestionMatch:Q=hR}){let l;const h=null==g?void 0:g(),M=new E({key:A,view(){return{update:async(A,t)=>{var n,i,B,E,s,o,g;const a=null===(n=this.key)||void 0===n?void 0:n.getState(t),Q=null===(i=this.key)||void 0===i?void 0:i.getState(A.state),M=a.active&&Q.active&&a.range.from!==Q.range.from,w=!a.active&&Q.active,R=a.active&&!Q.active,I=w||M,u=!w&&!R&&a.query!==Q.query&&!M,d=R||M;if(!I&&!u&&!d)return;const G=d&&!I?a:Q,C=A.dom.querySelector(`[data-decoration-id="${G.decorationId}"]`);l={editor:e,range:G.range,query:G.query,text:G.text,items:[],command:A=>r({editor:e,range:G.range,props:A}),decorationNode:C,clientRect:C?()=>{var t;const{decorationId:n}=null===(t=this.key)||void 0===t?void 0:t.getState(e.state),i=A.dom.querySelector(`[data-decoration-id="${n}"]`);return(null==i?void 0:i.getBoundingClientRect())||null}:null},I&&(null===(B=null==h?void 0:h.onBeforeStart)||void 0===B||B.call(h,l)),u&&(null===(E=null==h?void 0:h.onBeforeUpdate)||void 0===E||E.call(h,l)),(u||I)&&(l.items=await c({editor:e,query:G.query})),d&&(null===(s=null==h?void 0:h.onExit)||void 0===s||s.call(h,l)),u&&(null===(o=null==h?void 0:h.onUpdate)||void 0===o||o.call(h,l)),I&&(null===(g=null==h?void 0:h.onStart)||void 0===g||g.call(h,l))},destroy:()=>{var A;l&&(null===(A=null==h?void 0:h.onExit)||void 0===A||A.call(h,l))}}},state:{init:()=>({active:!1,range:{from:0,to:0},query:null,text:null,composing:!1}),apply(A,E,s,o){const{isEditable:r}=e,{composing:c}=e.view,{selection:g}=A,{empty:l,from:h}=g,M={...E};if(M.composing=c,r&&(l||e.view.composing)){!(hE.range.to)||c||E.composing||(M.active=!1);const A=Q({char:t,allowSpaces:n,allowedPrefixes:i,startOfLine:B,$position:g.$from}),s=`id_${Math.floor(4294967295*Math.random())}`;A&&a({editor:e,state:o,range:A.range})?(M.active=!0,M.decorationId=E.decorationId?E.decorationId:s,M.range=A.range,M.query=A.query,M.text=A.text):M.active=!1}else M.active=!1;return M.active||(M.decorationId=null,M.range={from:0,to:0},M.query=null,M.text=null),M}},props:{handleKeyDown(A,e){var t;const{active:n,range:i}=M.getState(A.state);return n&&(null===(t=null==h?void 0:h.onKeyDown)||void 0===t?void 0:t.call(h,{view:A,event:e,range:i}))||!1},decorations(A){const{active:e,range:t,decorationId:n}=M.getState(A);return e?k.create(A.doc,[F.inline(t.from,t.to,{nodeName:s,class:o,"data-decoration-id":n})]):null}}});return M}const RR=["Crimson","DeepPink","DarkOrange","DarkViolet","ForestGreen","RoyalBlue","SaddleBrown","DimGray"],IR=[1,2,3,4],uR=e=>[[{icon:"ci-text_align_left",title:A.getString("menu.align.left"),action:()=>e.chain().focus().setTextAlign("left").run(),isActive:()=>e.isActive({textAlign:"left"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:aR.full},{icon:"ci-text_align_center",title:A.getString("menu.align.center"),action:()=>e.chain().focus().setTextAlign("center").run(),isActive:()=>e.isActive({textAlign:"center"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:aR.full},{icon:"ci-text_align_right",title:A.getString("menu.align.right"),action:()=>e.chain().focus().setTextAlign("right").run(),isActive:()=>e.isActive({textAlign:"right"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:aR.full},{icon:"ci-text_align_justify",title:A.getString("menu.align.justify"),action:()=>e.chain().focus().setTextAlign("justify").run(),isActive:()=>e.isActive({textAlign:"justify"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:aR.full}],[{icon:"ci-text",title:A.getString("menu.font.family"),subMenu:Object.keys(XM).map((t=>({label:A.getString(`menu.font.family.${t.toLowerCase().replace(/[^\w]/g,"")}`),action:()=>e.chain().focus().setFontFamily(XM[t]).run(),isActive:()=>e.isActive("textStyle",{fontFamily:XM[t]})}))),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:aR.full},{icon:"ci-font",title:A.getString("menu.font.size"),subMenu:OM.map((t=>({label:A.format("menu.font.size.format.px",t.toString()),action:()=>e.chain().focus().setFontSize(t).run(),isActive:()=>e.isActive({fontSize:t})}))),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-swatches_palette",title:A.getString("menu.font.color"),subMenu:[...RR.map((t=>({icon:`ci-text color color-${t.toLowerCase()}`,title:A.getString(`menu.font.color.${t.toLowerCase()}`),action:()=>e.chain().focus().setColor(t).run(),isActive:()=>e.isActive("textStyle",{color:t})}))),{icon:"ci-close_md",title:A.getString("menu.font.color.none"),action:()=>e.chain().focus().unsetColor().run()}],isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-bold",title:A.getString("menu.font.weight.bold"),action:()=>e.chain().focus().toggleBold().run(),isActive:()=>e.isActive("bold"),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-italic",title:A.getString("menu.font.italic"),action:()=>e.chain().focus().toggleItalic().run(),isActive:()=>e.isActive("italic"),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-underline",title:A.getString("menu.font.decoration.underline"),action:()=>{e.isActive("strike")?e.chain().focus().toggleStrike().run():e.chain().focus().toggleUnderline().run()},isActive:()=>e.isActive("underline")||e.isActive("strike"),subMenu:[{icon:"ci-underline",title:A.getString("menu.font.decoration.underline"),action:()=>e.chain().focus().toggleUnderline().run(),isActive:()=>e.isActive("underline")},{icon:"ci-strikethrough",title:A.getString("menu.font.decoration.strike"),action:()=>e.chain().focus().toggleStrike().run(),isActive:()=>e.isActive("strike")}],isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-bulb",title:A.getString("menu.font.highlight"),action:()=>e.chain().focus().toggleHighlight().run(),isActive:()=>e.isActive("highlight"),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:aR.full},{icon:"ci-link",title:A.getString("menu.link"),action:()=>{const A=e.isActive("link")?e.getAttributes("link").href:"",t=prompt("Enter URL",A);null!==t&&(""!==t?e.chain().focus().setLink({href:t}).run():e.chain().focus().unsetLink().run())},isActive:()=>e.isActive("link"),subMenu:[{icon:"ci-bar_top",title:A.getString("menu.iframe"),action:()=>{const A=prompt("Enter URL");Boolean(A)&&e.chain().focus().setIframe({src:A}).run()}},{icon:"ci-link",title:A.getString("menu.link"),action:()=>{const A=e.isActive("link")?e.getAttributes("link").href:"",t=prompt("Enter URL",A);null!==t&&(""!==t?e.chain().focus().setLink({href:t}).run():e.chain().focus().unsetLink().run())}},{icon:"ci-link_break",title:A.getString("menu.link.remove"),action:()=>e.chain().focus().unsetLink().run(),isDisabled:()=>!e.isActive("link")}],isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-menu_duo_md",title:A.getString("menu.line.spacing"),subMenu:KM.map((t=>({label:A.format("menu.line.spacing.format",t.toString()),action:()=>e.chain().focus().setLineHeight(t).run(),isActive:()=>e.isActive({lineHeight:t})}))),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:aR.full}],[{icon:"ci-heading",title:A.getString("menu.heading"),isActive:()=>e.isActive("heading"),subMenu:IR.map((t=>({icon:`ci-heading_h${t}`,title:A.getString(`menu.heading.${t}`),action:()=>e.chain().focus().toggleHeading({level:t}).unsetFontSize().run(),isActive:()=>e.isActive("heading",{level:t})})))},{icon:"ci-paragraph",title:A.getString("menu.paragraph"),action:()=>e.chain().focus().setParagraph().run(),isActive:()=>e.isActive("paragraph")},{icon:"ci-code",title:A.getString("menu.code"),action:()=>{e.isActive("code")?e.chain().focus().toggleCode().run():e.chain().focus().toggleCodeBlock().run()},isActive:()=>e.isActive("code")||e.isActive("codeBlock"),subMenu:[{icon:"ci-window_code_block",title:A.getString("menu.code.block"),action:()=>e.chain().focus().toggleCodeBlock().run(),isActive:()=>e.isActive("codeBlock")},{icon:"ci-code",title:A.getString("menu.code"),action:()=>e.chain().focus().toggleCode().run(),isActive:()=>e.isActive("code")}]}],[{icon:"ci-list_unordered",title:A.getString("menu.list.bullet"),action:()=>{e.isActive("bulletList")?e.chain().focus().toggleBulletList().run():e.isActive("orderedList")?e.chain().focus().toggleOrderedList().run():e.isActive("taskList")?e.chain().focus().toggleTaskList().run():e.chain().focus().toggleBulletList().run()},subMenu:[{icon:"ci-list_unordered",title:A.getString("menu.list.bullet"),action:()=>e.chain().focus().toggleBulletList().run(),isActive:()=>e.isActive("bulletList")},{icon:"ci-list_ordered",title:A.getString("menu.list.ordered"),action:()=>e.chain().focus().toggleOrderedList().run(),isActive:()=>e.isActive("orderedList")},{icon:"ci-list_checklist",title:A.getString("menu.list.task"),action:()=>e.chain().focus().toggleTaskList().run(),isActive:()=>e.isActive("taskList"),menuModeLevel:aR.full}],isActive:()=>e.isActive("bulletList")||e.isActive("orderedList")||e.isActive("taskList")},{icon:"ci-image_02",title:A.getString("menu.image"),action:()=>{const A=document.createElement("input");A.setAttribute("type","file"),A.setAttribute("accept","image/jpeg,image/gif,image/png,image/jpg"),A.onchange=A=>{const{files:t}=A.target;Boolean(t.length)&&e.chain().focus().uploadImage(t.item(0)).run()},A.click()}}],[{icon:"ci-double_quotes_l",title:A.getString("menu.quote"),action:()=>e.chain().focus().toggleBlockquote().run(),isActive:()=>e.isActive("blockquote"),menuModeLevel:aR.full},{icon:"ci-remove_minus",title:A.getString("menu.hr"),action:()=>e.chain().focus().setHorizontalRule().run(),menuModeLevel:aR.full}],[{icon:"ci-table",title:A.getString("menu.table"),subMenu:[{icon:"ci-table",title:A.getString("menu.table"),action:()=>e.chain().focus().insertTable({rows:3,cols:4,withHeaderRow:!1}).run(),isDisabled:()=>e.isActive("table")},{icon:"ci-combine_cells",title:A.getString("menu.table.cell.merge"),action:()=>e.chain().focus().mergeOrSplit().run(),isActive:()=>e.can().splitCell(),isDisabled:()=>!e.can().mergeOrSplit()},{icon:{icon:"ci-add_row",flip:"v"},title:A.getString("menu.table.row.insert.before"),action:()=>e.chain().focus().addRowBefore().run(),isDisabled:()=>!e.can().addRowBefore()},{icon:"ci-add_row",title:A.getString("menu.table.row.insert.after"),action:()=>e.chain().focus().addRowAfter().run(),isDisabled:()=>!e.can().addRowAfter()},{icon:{icon:"ci-add_column",flip:"h"},title:A.getString("menu.table.column.insert.before"),action:()=>e.chain().focus().addColumnBefore().run(),isDisabled:()=>!e.can().addColumnBefore()},{icon:"ci-add_column",title:A.getString("menu.table.column.insert.after"),action:()=>e.chain().focus().addColumnAfter().run(),isDisabled:()=>!e.can().addColumnAfter()},{icon:"ci-delete_row",title:A.getString("menu.table.row.remove"),action:()=>e.chain().focus().deleteRow().run(),isDisabled:()=>!e.can().deleteRow()},{icon:"ci-delete_column",title:A.getString("menu.table.column.remove"),action:()=>e.chain().focus().deleteColumn().run(),isDisabled:()=>!e.can().deleteColumn()},{icon:"ci-table_remove",title:A.getString("menu.table.remove"),action:()=>e.chain().focus().deleteTable().run(),isDisabled:()=>!e.can().deleteTable()}]}],[{icon:"ci-close_circle",title:A.getString("menu.format.clear"),action:()=>e.chain().focus().clearNodes().unsetAllMarks().run(),menuModeLevel:aR.full}],[{icon:"ci-undo",title:A.getString("menu.undo"),action:()=>e.chain().focus().undo().run(),isDisabled:()=>!e.can().undo(),menuModeLevel:aR.full},{icon:"ci-redo",title:A.getString("menu.redo"),action:()=>e.chain().focus().redo().run(),isDisabled:()=>!e.can().redo(),menuModeLevel:aR.full}]],dR="shash-menu",GR=A=>{const{clientRect:e}=A;if(null===e)return A.editor.storage[dR].rect;const t=e();return Boolean(t)?t:A.editor.storage[dR].rect},CR=(A,e)=>""===e?A:(console.log({items:A,query:e}),A.filter((({title:A,label:t,alias:n})=>[A,t,...n].some((A=>A.toLowerCase().includes(e.toLowerCase())))))),kR=o.create({name:dR,addProseMirrorPlugins(){return[wR({pluginKey:new s(dR),char:"/",allowSpaces:!0,startOfLine:!0,allow:({state:A,range:e})=>{var t;const n=A.doc.resolve(e.from),i=1===n.depth,B="paragraph"===n.parent.type.name,E="/"===(null===(t=n.parent.textContent)||void 0===t?void 0:t.charAt(0));return i&&B&&E},command:({editor:A,props:e})=>{var t,n,i;const{view:B,state:E}=A,{$head:s,$from:o}=E.selection,r=o.pos,c=Boolean(null==s?void 0:s.nodeBefore)?r-(null!==(i=null===(t=s.nodeBefore.text)||void 0===t?void 0:t.substring(null===(n=s.nodeBefore.text)||void 0===n?void 0:n.indexOf("/")).length)&&void 0!==i?i:0):o.start(),g=E.tr.deleteRange(c,r);B.dispatch(g),e.action(A),B.focus()},editor:this.editor,items:({query:e})=>{const t=(n=this.editor,[{group:"format",items:[...IR.map((e=>({icon:`ci-heading_h${e}`,title:A.getString(`menu.heading.${e}`),label:A.getString(`menu.heading.${e}`),alias:A.getPronunciation(`menu.heading.${e}`).split(","),action:()=>n.chain().focus().toggleHeading({level:e}).unsetFontSize().run()}))),{icon:"ci-list_unordered",title:A.getString("menu.list.bullet"),label:A.getString("menu.list.bullet"),alias:A.getPronunciation("menu.list.bullet").split(","),action:()=>n.chain().focus().toggleBulletList().run()},{icon:"ci-list_ordered",title:A.getString("menu.list.ordered"),label:A.getString("menu.list.ordered"),alias:A.getPronunciation("menu.list.ordered").split(","),action:()=>n.chain().focus().toggleOrderedList().run()},{icon:"ci-list_checklist",title:A.getString("menu.list.task"),label:A.getString("menu.list.task"),alias:A.getPronunciation("menu.list.task").split(","),action:()=>n.chain().focus().toggleTaskList().run()},{icon:"ci-double_quotes_l",title:A.getString("menu.quote"),label:A.getString("menu.quote"),alias:A.getPronunciation("menu.quote").split(","),action:()=>n.chain().focus().toggleBlockquote().run(),isActive:()=>n.isActive("blockquote")}]},{group:"insert",items:[{icon:"ci-image_02",title:A.getString("menu.image"),label:A.getString("menu.image"),alias:A.getPronunciation("menu.image").split(","),action:()=>{const A=document.createElement("input");A.setAttribute("type","file"),A.setAttribute("accept","image/jpeg,image/gif,image/png,image/jpg"),A.onchange=A=>{const{files:e}=A.target;Boolean(e.length)&&n.chain().focus().uploadImage(e.item(0)).run()},A.click()}},{icon:"ci-table",title:A.getString("menu.table"),label:A.getString("menu.table"),alias:A.getPronunciation("menu.table").split(","),action:()=>n.chain().focus().insertTable({rows:3,cols:4,withHeaderRow:!1}).run()},{icon:"ci-remove_minus",title:A.getString("menu.hr"),label:A.getString("menu.hr"),alias:A.getPronunciation("menu.hr").split(","),action:()=>n.chain().focus().setHorizontalRule().run()}]}]);var n;return"group"in t[0]?t.map((A=>{const t=CR(A.items,e);return 0===t.length?null:{group:A.group,items:t}})).filter((A=>Boolean(A))):CR(t,e)},render:()=>{let A,e;return{onStart:t=>{A=document.createElement("zen-editor-slash-menu"),A.editor=this.editor,A.items=t.items,A.props=t,e=a("body",{getReferenceClientRect:()=>GR(t),appendTo:()=>document.body,content:A,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start"})},onUpdate:t=>{A.items=t.items,e[0].setProps({getReferenceClientRect:()=>GR(t)})},onKeyDown:t=>{var n;return"Escape"===t.event.key?(e[0].hide(),!0):(null==e?void 0:e[0].state.isShown)?null===(n=A.onkeydown)||void 0===n?void 0:n.call(A,t.event):void(null==e||e[0].show())},onExit:()=>{e[0].destroy(),A.remove()}}}})]},addStorage:()=>({rect:{width:0,height:0,left:0,top:0,right:0,bottom:0}})}),DR=o.create({name:"customEnter",addKeyboardShortcuts(){return{Enter:()=>(this.editor.commands.first((({commands:A})=>[()=>A.newlineInCode(),()=>A.createParagraphNear(),()=>A.liftEmptyBlock(),()=>A.splitBlock({keepMarks:!1})])),!0)}}});class FR extends _{constructor(){super(...arguments),this.contentComponent=null}}const YR=class{constructor(A){e(this,A),this.editorDidLoad=B(this,"editorDidLoad",7),this.toggleMonaco=async()=>{if(this.isMonaco){const A=await this.monacoEditor.getValue();this.editor.chain().setContent(A).run()}this.isMonaco=!this.isMonaco},this.name="",this.readonly=!1,this.uploadUrl="",this.placeholder="",this.initialContent="",this.resizable=!1,this.exposeEditor=!1,this.size="sm",this.hideUI=!1,this.hideMenubar=!1,this.menubarMode="full",this.extraMenubarItems="",this.slashMenu=!1,this.bubbleMenu=!1,this.preferHardBreak=!1,this.neglectDefaultTextStyle=!1,this.locale=void 0,this.styles=void 0,this.collaborative=!1,this.hocuspocus="",this.docName="",this.username="",this.userColor="#ffcc00",this.updateInputValue=void 0,this.fullscreenable=!1,this.toggleFullscreen=void 0,this.isFullscreen=!1,this.value=void 0,this.editor=null,this.forceUpdateCounter=0,this.isMonaco=!1}forceUpdate(){this.forceUpdateCounter>1e3?this.forceUpdateCounter=0:this.forceUpdateCounter++}onLocaleChanage(){void 0!==this.locale&&(A.setLocale(this.locale),this.forceUpdate())}connectedCallback(){void 0!==this.locale&&A.setLocale(this.locale),setTimeout((()=>{const{lowlight:A}=hi;this.ydoc=this.collaborative?new Tr:null;const e=this.collaborative?[iQ.configure({document:this.ydoc}),sQ.configure({provider:new eh({url:this.hocuspocus,name:this.docName,document:this.ydoc}),user:{name:this.username,color:this.userColor}})]:[];this.editor=new FR({extensions:[ds.configure(Object.assign(Object.assign({history:{depth:50,newGroupDelay:500},codeBlock:!1},this.collaborative?{history:!1}:{}),this.preferHardBreak?{}:{hardBreak:!1})),nA,EA,BA,AA,sA,oA.extend({priority:1e3}),rE,_M,cE,WM,de.configure({lowlight:A}),gR.configure({resizable:!0,cellMinWidth:48}),oR,cR,rR,wi.configure({inline:!0}),nE,iE,BE,EE.configure({types:["heading","paragraph"]}),nh,X,LM.configure({uploadUrl:this.uploadUrl}),sE.configure({placeholder:this.placeholder}),oE,QR,DR,...e,...this.preferHardBreak?[lR]:[],...this.neglectDefaultTextStyle?[]:[qM],...this.slashMenu?[kR]:[]],editorProps:{attributes:{spellcheck:"false"},handleDOMEvents:{mouseup:A=>{requestAnimationFrame((()=>{const e=A.pluginViews.find((A=>{var e;return"BubbleMenuView"===(null===(e=A.constructor)||void 0===e?void 0:e.name)}));null==e||e.update(A)}))}},editable:()=>!this.readonly},content:this.value||this.initialContent}),this.editorDidLoad.emit(this.editor),this.editor.on("transaction",(()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{this.forceUpdate()}))}))})),this.editor.on("blur",(()=>{requestAnimationFrame((()=>{this.updateInputValue()}))})),this.updateInputValue(),this.exposeEditor&&(window.$zenEditors||(window.$zenEditors={}),window.$zenEditors[this.name||"ze"]=this.editor)}),0)}componentDidLoad(){Boolean(this.styles)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles])}disconnectedCallback(){this.editor.destroy()}render(){return Boolean(this.editor)?t("div",{class:`editor${this.isFullscreen?" is-fullscreen":""}${this.resizable?" resizable":""}${"full"===this.size?" full":""}${this.hideUI?" hide-ui":""}`},!this.hideUI&&t(n,null,t("zen-editor-bubble-menu",{editor:this.editor,menuProps:{tippyOptions:{duration:100}},disabled:!this.bubbleMenu}),this.hideMenubar?null:t("zen-editor-menubar",{editor:this.editor,menubarMode:aR[this.menubarMode],toggleMonaco:this.toggleMonaco,toggleFullscreen:this.fullscreenable&&this.toggleFullscreen,states:{isMonaco:this.isMonaco,isCollaborative:this.collaborative,isFullscreen:this.isFullscreen},forceUpdateCounter:this.forceUpdateCounter,styles:this.styles,extraMenubarItems:this.extraMenubarItems}),this.isMonaco&&t("monaco-editor",{class:`monaco-editor ${this.size}`,ref:A=>this.monacoEditor=A,options:{language:"html",ariaContainerElement:null,value:this.editor.getHTML()},tiptapEditor:this.editor,updateInputValue:this.updateInputValue})),t("zen-editor-content",{class:`editor__content ${this.size}`,editor:this.editor,styles:this.styles,style:{display:this.isMonaco?"none":""}})):null}get element(){return i(this)}static get watchers(){return{locale:["onLocaleChanage"]}}};YR.style='button,input,select{font-size:inherit;font-family:inherit;color:#333333;margin:0.1em;border:1px solid #333333;border-radius:0.25em;padding:0.1em 0.4em;background:white;accent-color:black}button[disabled],input[disabled],select[disabled]{opacity:0.3}.editor{font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;background-color:#fff;border:1px solid #a6a39e;border-radius:0.25em;color:#0d0d0d;display:flex;flex-direction:column;min-height:10em;max-height:96vh}.editor.resizable{resize:vertical;overflow:hidden}.editor.is-fullscreen{height:100% !important;max-height:unset;resize:none}.editor.full{min-height:100%}.editor.hide-ui{border:none}.hide-ui .editor__content{cursor:unset}.editor__content{flex:1 1 auto;overflow-x:hidden;overflow-y:auto;padding:0.25em 0.75em 1.25em 1em;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;cursor:text}.editor__content.sm{min-height:3.5em}.editor__content.lg{min-height:14em}.editor__content.full{min-height:100%}.editor__content.narrow{padding:0 0 0 0.5em}.editor__content .collaboration-cursor__caret{border-left:1px solid #0d0d0d;border-right:1px solid #0d0d0d;margin-left:-1px;margin-right:-1px;pointer-events:none;position:relative;word-break:normal}.editor__content .collaboration-cursor__label{border-radius:3px 3px 3px 0;color:#0d0d0d;font-size:12px;font-style:normal;font-weight:600;left:-1px;line-height:normal;padding:0.1em 0.3em;position:absolute;top:-1.4em;user-select:none;white-space:nowrap}.editor__footer{align-items:center;border-top:1px solid #a6a39e;color:#6e6e6e;display:flex;flex:0 0 auto;font-size:12px;flex-wrap:wrap;font-weight:600;justify-content:space-between;padding:0.25em 0.75em;white-space:nowrap}.editor ::-webkit-scrollbar{width:14px;height:14px}.editor ::-webkit-scrollbar-track{border:4px solid transparent;background-clip:padding-box;border-radius:8px;background-color:transparent}.editor ::-webkit-scrollbar-thumb{border:4px solid rgba(0, 0, 0, 0);background-clip:padding-box;border-radius:8px;background-color:rgba(0, 0, 0, 0)}.editor :hover::-webkit-scrollbar-thumb{background-color:rgba(0, 0, 0, 0.1)}.editor ::-webkit-scrollbar-thumb:hover{background-color:rgba(0, 0, 0, 0.15)}.editor ::-webkit-scrollbar-button{display:none;width:0;height:0}.editor ::-webkit-scrollbar-corner{background-color:transparent}.editor .monaco-editor{height:100%;min-height:10em}.editor .monaco-editor.sm{min-height:3.5em}.editor .monaco-editor.lg{min-height:14em}.editor .monaco-editor.full{min-height:100%}';const fR=class{constructor(A){e(this,A),this.itemProps=void 0,this.menubarMode=void 0,this.styles=void 0}updateMenu(){if(this.menuTippy){const{subMenu:A}=this.itemProps;this.menuContent=document.createElement("div"),this.menuContent.style.padding="0.1em",this.menuContent.style.borderRadius="0.3em",this.menuContent.style.backgroundColor="#fff",this.menuContent.style.border="1px solid #a6a39e",A.forEach((A=>{const e=document.createElement("zen-editor-menu-item"),{menuModeLevel:t}=A;t&&t>this.menubarMode||(e.itemProps=Object.assign(Object.assign({},A),{action:A.action?()=>{A.action(),this.menuTippy.hide()}:null}),this.menuContent.append(e))})),this.menuTippy.setContent(this.menuContent)}}componentDidLoad(){var A;const{subMenu:e}=this.itemProps;e&&(this.menuTippy=a(null!==(A=this.menuTippyTarget)&&void 0!==A?A:this.el,{placement:"bottom-start",trigger:"click",interactive:!0,animation:!1,appendTo:()=>{var A,e,t;return null!==(t=null===(e=null===(A=document.fullscreenElement)||void 0===A?void 0:A.shadowRoot)||void 0===e?void 0:e.querySelector(".editor"))&&void 0!==t?t:document.body}}),this.updateMenu())}componentDidUpdate(){this.menuTippy&&this.updateMenu()}render(){const{icon:A,label:e,title:i,action:B,subMenu:E,isDisabled:s=null,isActive:o=null,flip:r="none"}=this.itemProps;return t(n,{key:"3df3ed4d03d9bfb4955ba9e3c5c174918ab60efc"},t("button",{key:"8b77a85594b2db2f16ed0c350227768b1b9d0a17",class:`menu-item${s&&s()?" is-disabled":""}${o&&o()?" is-active":""}${"none"!==r?` flip-${r}`:""}${E&&B?" has-submenu":""}`,onClick:s&&s()?null:B,title:i},A&&(A.startsWith("ci")?t("i",{class:`coolicons ${A}`}):t("i",{class:A})),e&&t("span",{key:"f246a43621fefbfa604e4f1b002b602a5a43ca10",class:"label"},e),E&&!B?t("i",{class:"coolicons ci-caret_down_sm"}):null),E&&B&&t("button",{key:"b0bc1b18772eecefc3483ea0ed999a6457db810e",class:"menu-item",ref:A=>this.menuTippyTarget=A},t("i",{key:"62869ff98865ba9283e340b1a7833f13c4a06d35",class:"coolicons ci-caret_down_sm"})))}get el(){return i(this)}};fR.style='@font-face{font-family:\'coolicons\';src:url(data:application/font-woff;base64,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BAAAgAQAAIAEAACABAAAgAQAAKsEAACrBAAA1QQAAKsEAACrBAAAqwQAAKsEAACrBAAAqwQAAKsEAACABAAAqwQAAKsEAACrBAAAVQQAAIAEAACABAAAVQQAAIAEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAACrBAAAZwQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAQAEAABVBAAAVQQAAG0EAAEzBAAARgQAAIAEAACABAAAKwQAAIAEAACABAAAgAQAAIAEAABVBAAAVQQAAFUEAAA0BAABKwQAACsEAACABAAAKwQAAFUEAABVBAAAqwQAAdUEAAHVBAAB1QQAAdUEAACABAAAVQQAAFUEAAErBAAAlAQAAFUEAACABAAAgAQAAH8EAABVBAAAqwQAAKsEAACABAAAgAQAAIAEAABVBAAAVQQAAFUEAABVBAAANAQAAKsEAABVBAAAqQQAAKsEAACrBAAAqwQAAKsEAACrBAAAVQQAAKsEAAEABAABAAQAAIAEAACABAAAVQQAAKsEAAErBAAAqwQAAasEAADVBAAAVQQAAVUEAABVBAAAVQQAAG8EAACABAAAgAQAAIAEAACABAAAVQQAAFUEAABVBAAAVQQAAFUEAABIBAAAKwQAAJcEAAEABAAAVQQAAFUEAACABAAAVQQAADAEAABVBAAAqwQAAFUEAABVBAAAgAQAAIAEAACABAAAVQQAAIAEAABVBAAA1QQAAFUEAACABAAAcAQAAFUEAABVBAAAVQQAAGQEAAArBAAAVQQAAIAEAACABAAAgAQAAIAEAABVBAAAZwQAAFUEAABVBAAARgQAAKsEAABVBAABgAQAAYAEAAEABAAA1QQAAFUEAABVBAAAVQQAAIAEAACABAAAVQQAAFUEAABVBAAAVQQAAEcEAABVBAAAVQQAAKsEAACABAAAVQQAACsEAABVBAAAKwQAACsEAABVBAAAVQQAAIAEAABVBAAAgAQAAJEEAABVBAAAgAQAAIAEAACABAAAgAQAANUEAABVBAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAABZBAAAWQQAAFkEAADVBAAAqwQAASsEAAErBAAAqwQAAIAEAADV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)\n format(\'woff\');font-weight:normal;font-style:normal;font-display:block}i.coolicons{font-family:\'coolicons\' !important;speak:never;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ci-add_column:before{content:"\\e900"}.ci-add_minus_square:before{content:"\\e901"}.ci-add_plus_circle:before{content:"\\e902"}.ci-add_plus_square:before{content:"\\e903"}.ci-add_plus:before{content:"\\e904"}.ci-add_row:before{content:"\\e905"}.ci-add_to_queue:before{content:"\\e906"}.ci-airplay:before{content:"\\e907"}.ci-alarm:before{content:"\\e908"}.ci-archive:before{content:"\\e909"}.ci-arrow_circle_down_left:before{content:"\\e90a"}.ci-arrow_circle_down_right:before{content:"\\e90b"}.ci-arrow_circle_down:before{content:"\\e90c"}.ci-arrow_circle_left:before{content:"\\e90d"}.ci-arrow_circle_right:before{content:"\\e90e"}.ci-arrow_circle_up_left:before{content:"\\e90f"}.ci-arrow_circle_up_right:before{content:"\\e910"}.ci-arrow_circle_up:before{content:"\\e911"}.ci-arrow_down_left_lg:before{content:"\\e912"}.ci-arrow_down_left_md:before{content:"\\e913"}.ci-arrow_down_left_sm:before{content:"\\e914"}.ci-arrow_down_lg:before{content:"\\e915"}.ci-arrow_down_md:before{content:"\\e916"}.ci-arrow_down_right_lg:before{content:"\\e917"}.ci-arrow_down_right_md:before{content:"\\e918"}.ci-arrow_down_right_sm:before{content:"\\e919"}.ci-arrow_down_sm:before{content:"\\e91a"}.ci-arrow_down_up:before{content:"\\e91b"}.ci-arrow_left_lg:before{content:"\\e91c"}.ci-arrow_left_md:before{content:"\\e91d"}.ci-arrow_left_right:before{content:"\\e91e"}.ci-arrow_left_sm:before{content:"\\e91f"}.ci-arrow_reload_02:before{content:"\\e920"}.ci-arrow_right_lg:before{content:"\\e921"}.ci-arrow_right_md:before{content:"\\e922"}.ci-arrow_right_sm:before{content:"\\e923"}.ci-arrow_sub_down_left:before{content:"\\e924"}.ci-arrow_sub_down_right:before{content:"\\e925"}.ci-arrow_sub_left_down:before{content:"\\e926"}.ci-arrow_sub_left_up:before{content:"\\e927"}.ci-arrow_sub_right_down:before{content:"\\e928"}.ci-arrow_sub_right_up:before{content:"\\e929"}.ci-arrow_sub_up_left:before{content:"\\e92a"}.ci-arrow_sub_up_right:before{content:"\\e92b"}.ci-arrow_undo_down_left:before{content:"\\e92c"}.ci-arrow_undo_down_right:before{content:"\\e92d"}.ci-arrow_undo_up_left:before{content:"\\e92e"}.ci-arrow_undo_up_right:before{content:"\\e92f"}.ci-arrow_up_left_lg:before{content:"\\e930"}.ci-arrow_up_left_md:before{content:"\\e931"}.ci-arrow_up_left_sm:before{content:"\\e932"}.ci-arrow_up_lg:before{content:"\\e933"}.ci-arrow_up_md:before{content:"\\e934"}.ci-arrow_up_right_lg:before{content:"\\e935"}.ci-arrow_up_right_md:before{content:"\\e936"}.ci-arrow_up_right_sm:before{content:"\\e937"}.ci-arrow_up_sm:before{content:"\\e938"}.ci-arrows_reload_01:before{content:"\\e939"}.ci-bar_bottom:before{content:"\\e93a"}.ci-bar_left:before{content:"\\e93b"}.ci-bar_right:before{content:"\\e93c"}.ci-bar_top:before{content:"\\e93d"}.ci-bell_add:before{content:"\\e93e"}.ci-bell_close:before{content:"\\e93f"}.ci-bell_notification:before{content:"\\e940"}.ci-bell_off:before{content:"\\e941"}.ci-bell_remove:before{content:"\\e942"}.ci-bell_ring:before{content:"\\e943"}.ci-bell:before{content:"\\e944"}.ci-bold:before{content:"\\e945"}.ci-book_open:before{content:"\\e946"}.ci-book:before{content:"\\e947"}.ci-bookmark:before{content:"\\e948"}.ci-building_01:before{content:"\\e949"}.ci-building_02:before{content:"\\e94a"}.ci-building_03:before{content:"\\e94b"}.ci-building_04:before{content:"\\e94c"}.ci-bulb:before{content:"\\e94d"}.ci-calendar_add:before{content:"\\e94e"}.ci-calendar_check:before{content:"\\e94f"}.ci-calendar_close:before{content:"\\e950"}.ci-calendar_days:before{content:"\\e951"}.ci-calendar_event:before{content:"\\e952"}.ci-calendar_remove:before{content:"\\e953"}.ci-calendar_week:before{content:"\\e954"}.ci-calendar:before{content:"\\e955"}.ci-camera:before{content:"\\e956"}.ci-car_auto:before{content:"\\e957"}.ci-caret_circle_down:before{content:"\\e958"}.ci-caret_circle_left:before{content:"\\e959"}.ci-caret_circle_right:before{content:"\\e95a"}.ci-caret_circle_up:before{content:"\\e95b"}.ci-caret_down_md:before{content:"\\e95c"}.ci-caret_down_sm:before{content:"\\e95d"}.ci-caret_left_sm:before{content:"\\e95e"}.ci-caret_right_sm:before{content:"\\e95f"}.ci-caret_up_md:before{content:"\\e960"}.ci-caret_up_sm:before{content:"\\e961"}.ci-chart_bar_horizontal_01:before{content:"\\e962"}.ci-chart_bar_vertical_01:before{content:"\\e963"}.ci-chart_line:before{content:"\\e964"}.ci-chart_pie:before{content:"\\e965"}.ci-chat_add:before{content:"\\e966"}.ci-chat_check:before{content:"\\e967"}.ci-chat_circle_add:before{content:"\\e968"}.ci-chat_circle_check:before{content:"\\e969"}.ci-chat_circle_close:before{content:"\\e96a"}.ci-chat_circle_dots:before{content:"\\e96b"}.ci-chat_circle_remove:before{content:"\\e96c"}.ci-chat_circle:before{content:"\\e96d"}.ci-chat_close:before{content:"\\e96e"}.ci-chat_conversation_circle:before{content:"\\e96f"}.ci-chat_conversation:before{content:"\\e970"}.ci-chat_dots:before{content:"\\e971"}.ci-chat_remove:before{content:"\\e972"}.ci-chat:before{content:"\\e973"}.ci-check_all_big:before{content:"\\e974"}.ci-check_all:before{content:"\\e975"}.ci-check_big:before{content:"\\e976"}.ci-check:before{content:"\\e977"}.ci-checkbox_check:before{content:"\\e978"}.ci-checkbox_fill:before{content:"\\e979"}.ci-checkbox_unchecked:before{content:"\\e97a"}.ci-chevron_down_duo:before{content:"\\e97b"}.ci-chevron_down:before{content:"\\e97c"}.ci-chevron_left_duo:before{content:"\\e97d"}.ci-chevron_left_md:before{content:"\\e97e"}.ci-chevron_left:before{content:"\\e97f"}.ci-chevron_right_duo:before{content:"\\e980"}.ci-chevron_right_md:before{content:"\\e981"}.ci-chevron_right:before{content:"\\e982"}.ci-chevron_up_duo:before{content:"\\e983"}.ci-chevron_up:before{content:"\\e984"}.ci-chromecast:before{content:"\\e985"}.ci-circle_check:before{content:"\\e986"}.ci-circle_help:before{content:"\\e987"}.ci-circle_warning:before{content:"\\e988"}.ci-circle:before{content:"\\e989"}.ci-clock:before{content:"\\e98a"}.ci-close_circle:before{content:"\\e98b"}.ci-close_lg:before{content:"\\e98c"}.ci-close_md:before{content:"\\e98d"}.ci-close_sm:before{content:"\\e98e"}.ci-close_square:before{content:"\\e98f"}.ci-cloud_add:before{content:"\\e990"}.ci-cloud_check:before{content:"\\e991"}.ci-cloud_close:before{content:"\\e992"}.ci-cloud_download:before{content:"\\e993"}.ci-cloud_off:before{content:"\\e994"}.ci-cloud_remove:before{content:"\\e995"}.ci-cloud_upload:before{content:"\\e996"}.ci-cloud:before{content:"\\e997"}.ci-code:before{content:"\\e998"}.ci-coffe_to_go:before{content:"\\e999"}.ci-coffee:before{content:"\\e99a"}.ci-columns:before{content:"\\e99b"}.ci-combine_cells:before{content:"\\e99c"}.ci-command:before{content:"\\e99d"}.ci-compass:before{content:"\\e99e"}.ci-cookie:before{content:"\\e99f"}.ci-copy:before{content:"\\e9a0"}.ci-credit_card_01:before{content:"\\e9a1"}.ci-credit_card_02:before{content:"\\e9a2"}.ci-crop:before{content:"\\e9a3"}.ci-cupcake:before{content:"\\e9a4"}.ci-cylinder:before{content:"\\e9a5"}.ci-data:before{content:"\\e9a6"}.ci-delete_column:before{content:"\\e9a7"}.ci-delete_row:before{content:"\\e9a8"}.ci-desktop_tower:before{content:"\\e9a9"}.ci-desktop:before{content:"\\e9aa"}.ci-devices:before{content:"\\e9ab"}.ci-double_quotes_l:before{content:"\\e9ac"}.ci-double_quotes_r:before{content:"\\e9ad"}.ci-download_package:before{content:"\\e9ae"}.ci-download:before{content:"\\e9af"}.ci-drag_horizontal:before{content:"\\e9b0"}.ci-drag_vertical:before{content:"\\e9b1"}.ci-dummy_circle_small:before{content:"\\e9b2"}.ci-dummy_circle:before{content:"\\e9b3"}.ci-dummy_square_small:before{content:"\\e9b4"}.ci-dummy_square:before{content:"\\e9b5"}.ci-edit_pencil_01:before{content:"\\e9b6"}.ci-edit_pencil_02:before{content:"\\e9b7"}.ci-edit_pencil_line_01:before{content:"\\e9b8"}.ci-edit_pencil_line_02:before{content:"\\e9b9"}.ci-exit:before{content:"\\e9ba"}.ci-expand:before{content:"\\e9bb"}.ci-external_link:before{content:"\\e9bc"}.ci-figma:before{content:"\\e9bd"}.ci-file_add:before{content:"\\e9be"}.ci-file_blank:before{content:"\\e9bf"}.ci-file_check:before{content:"\\e9c0"}.ci-file_close:before{content:"\\e9c1"}.ci-file_code:before{content:"\\e9c2"}.ci-file_document:before{content:"\\e9c3"}.ci-file_download:before{content:"\\e9c4"}.ci-file_edit:before{content:"\\e9c5"}.ci-file_remove:before{content:"\\e9c6"}.ci-file_search:before{content:"\\e9c7"}.ci-file_upload:before{content:"\\e9c8"}.ci-files:before{content:"\\e9c9"}.ci-filter_off:before{content:"\\e9ca"}.ci-filter:before{content:"\\e9cb"}.ci-first_aid:before{content:"\\e9cc"}.ci-flag:before{content:"\\e9cd"}.ci-folder_add:before{content:"\\e9ce"}.ci-folder_check:before{content:"\\e9cf"}.ci-folder_close:before{content:"\\e9d0"}.ci-folder_code:before{content:"\\e9d1"}.ci-folder_document:before{content:"\\e9d2"}.ci-folder_download:before{content:"\\e9d3"}.ci-folder_edit:before{content:"\\e9d4"}.ci-folder_open:before{content:"\\e9d5"}.ci-folder_remove:before{content:"\\e9d6"}.ci-folder_search:before{content:"\\e9d7"}.ci-folder_upload:before{content:"\\e9d8"}.ci-folder:before{content:"\\e9d9"}.ci-folders:before{content:"\\e9da"}.ci-font:before{content:"\\e9db"}.ci-forward:before{content:"\\e9dc"}.ci-gift:before{content:"\\e9dd"}.ci-globe:before{content:"\\e9de"}.ci-hamburger_lg:before{content:"\\e9df"}.ci-hamburger_md:before{content:"\\e9e0"}.ci-handbag:before{content:"\\e9e1"}.ci-heading_h1:before{content:"\\e9e2"}.ci-heading_h2:before{content:"\\e9e3"}.ci-heading_h3:before{content:"\\e9e4"}.ci-heading_h4:before{content:"\\e9e5"}.ci-heading_h5:before{content:"\\e9e6"}.ci-heading_h6:before{content:"\\e9e7"}.ci-heading:before{content:"\\e9e8"}.ci-headphones:before{content:"\\e9e9"}.ci-heart_01:before{content:"\\e9ea"}.ci-heart_02:before{content:"\\e9eb"}.ci-help:before{content:"\\e9ec"}.ci-hide:before{content:"\\e9ed"}.ci-house_01:before{content:"\\e9ee"}.ci-house_02:before{content:"\\e9ef"}.ci-house_03:before{content:"\\e9f0"}.ci-house_add:before{content:"\\e9f1"}.ci-house_check:before{content:"\\e9f2"}.ci-house_close:before{content:"\\e9f3"}.ci-house_remove:before{content:"\\e9f4"}.ci-image_01:before{content:"\\e9f5"}.ci-image_02:before{content:"\\e9f6"}.ci-info:before{content:"\\e9f7"}.ci-instance:before{content:"\\e9f8"}.ci-italic:before{content:"\\e9f9"}.ci-keyboard:before{content:"\\e9fa"}.ci-label:before{content:"\\e9fb"}.ci-laptop:before{content:"\\e9fc"}.ci-layer:before{content:"\\e9fd"}.ci-layers:before{content:"\\e9fe"}.ci-leaf:before{content:"\\e9ff"}.ci-line_l:before{content:"\\ea00"}.ci-line_m:before{content:"\\ea01"}.ci-line_s:before{content:"\\ea02"}.ci-line_xl:before{content:"\\ea03"}.ci-link_break:before{content:"\\ea04"}.ci-link_horizontal_off:before{content:"\\ea05"}.ci-link_horizontal:before{content:"\\ea06"}.ci-link_vertical:before{content:"\\ea07"}.ci-link:before{content:"\\ea08"}.ci-list_add:before{content:"\\ea09"}.ci-list_check:before{content:"\\ea0a"}.ci-list_checklist:before{content:"\\ea0b"}.ci-list_ordered:before{content:"\\ea0c"}.ci-list_remove:before{content:"\\ea0d"}.ci-list_unordered:before{content:"\\ea0e"}.ci-loading:before{content:"\\ea0f"}.ci-lock_open:before{content:"\\ea10"}.ci-lock:before{content:"\\ea11"}.ci-log_out:before{content:"\\ea12"}.ci-magnifying_glass_minus:before{content:"\\ea13"}.ci-magnifying_glass_plus:before{content:"\\ea14"}.ci-mail_open:before{content:"\\ea15"}.ci-mail:before{content:"\\ea16"}.ci-main_component:before{content:"\\ea17"}.ci-map_pin:before{content:"\\ea18"}.ci-map:before{content:"\\ea19"}.ci-mention:before{content:"\\ea1a"}.ci-menu_alt_01:before{content:"\\ea1b"}.ci-menu_alt_02:before{content:"\\ea1c"}.ci-menu_alt_03:before{content:"\\ea1d"}.ci-menu_alt_04:before{content:"\\ea1e"}.ci-menu_alt_05:before{content:"\\ea1f"}.ci-menu_duo_lg:before{content:"\\ea20"}.ci-menu_duo_md:before{content:"\\ea21"}.ci-mobile_button:before{content:"\\ea22"}.ci-mobile:before{content:"\\ea23"}.ci-monitor_play:before{content:"\\ea24"}.ci-monitor:before{content:"\\ea25"}.ci-moon:before{content:"\\ea26"}.ci-more_grid_big:before{content:"\\ea27"}.ci-more_grid_small:before{content:"\\ea28"}.ci-more_horizontal:before{content:"\\ea29"}.ci-more_vertical:before{content:"\\ea2a"}.ci-mouse:before{content:"\\ea2b"}.ci-move_horizontal:before{content:"\\ea2c"}.ci-move_vertical:before{content:"\\ea2d"}.ci-move:before{content:"\\ea2e"}.ci-moving_desk:before{content:"\\ea2f"}.ci-navigation:before{content:"\\ea30"}.ci-note_edit:before{content:"\\ea31"}.ci-note_search:before{content:"\\ea32"}.ci-note:before{content:"\\ea33"}.ci-notebook:before{content:"\\ea34"}.ci-octagon_check:before{content:"\\ea35"}.ci-octagon_help:before{content:"\\ea36"}.ci-octagon_warning:before{content:"\\ea37"}.ci-octagon:before{content:"\\ea38"}.ci-option:before{content:"\\ea39"}.ci-paper_plane:before{content:"\\ea3a"}.ci-paperclip_attechment_horizontal:before{content:"\\ea3b"}.ci-paperclip_attechment_tilt:before{content:"\\ea3c"}.ci-paragraph:before{content:"\\ea3d"}.ci-path:before{content:"\\ea3e"}.ci-pause_circle:before{content:"\\ea3f"}.ci-pause:before{content:"\\ea40"}.ci-phone:before{content:"\\ea41"}.ci-planet:before{content:"\\ea42"}.ci-play_circle:before{content:"\\ea43"}.ci-play:before{content:"\\ea44"}.ci-printer:before{content:"\\ea45"}.ci-puzzle:before{content:"\\ea46"}.ci-qr_code:before{content:"\\ea47"}.ci-radio_fill:before{content:"\\ea48"}.ci-radio_unchecked:before{content:"\\ea49"}.ci-rainbow:before{content:"\\ea4a"}.ci-redo:before{content:"\\ea4b"}.ci-remove_minus_circle:before{content:"\\ea4c"}.ci-remove_minus:before{content:"\\ea4d"}.ci-rewind:before{content:"\\ea4e"}.ci-rows:before{content:"\\ea4f"}.ci-ruler:before{content:"\\ea50"}.ci-save:before{content:"\\ea51"}.ci-search_magnifying_glass:before{content:"\\ea52"}.ci-select_multiple:before{content:"\\ea53"}.ci-settings_future:before{content:"\\ea54"}.ci-settings:before{content:"\\ea55"}.ci-share_android:before{content:"\\ea56"}.ci-share_ios_export:before{content:"\\ea57"}.ci-shield_check:before{content:"\\ea58"}.ci-shield_warning:before{content:"\\ea59"}.ci-shield:before{content:"\\ea5a"}.ci-shopping_bag_01:before{content:"\\ea5b"}.ci-shopping_bag_02:before{content:"\\ea5c"}.ci-shopping_cart_01:before{content:"\\ea5d"}.ci-shopping_cart_02:before{content:"\\ea5e"}.ci-show:before{content:"\\ea5f"}.ci-shrink:before{content:"\\ea60"}.ci-shuffle:before{content:"\\ea61"}.ci-single_quotes_l:before{content:"\\ea62"}.ci-single_quotes_r:before{content:"\\ea63"}.ci-skip_back:before{content:"\\ea64"}.ci-skip_forward:before{content:"\\ea65"}.ci-slider_01:before{content:"\\ea66"}.ci-slider_02:before{content:"\\ea67"}.ci-slider_03:before{content:"\\ea68"}.ci-sort_ascending:before{content:"\\ea69"}.ci-sort_descending:before{content:"\\ea6a"}.ci-square_check:before{content:"\\ea6b"}.ci-square_help:before{content:"\\ea6c"}.ci-square_warning:before{content:"\\ea6d"}.ci-square:before{content:"\\ea6e"}.ci-star:before{content:"\\ea6f"}.ci-stop_circle:before{content:"\\ea70"}.ci-stop_sign:before{content:"\\ea71"}.ci-stop:before{content:"\\ea72"}.ci-strikethrough:before{content:"\\ea73"}.ci-suitcase:before{content:"\\ea74"}.ci-sun:before{content:"\\ea75"}.ci-swatches_palette:before{content:"\\ea76"}.ci-swicht_left:before{content:"\\ea77"}.ci-swicht_right:before{content:"\\ea78"}.ci-table_add:before{content:"\\ea79"}.ci-table_remove:before{content:"\\ea7a"}.ci-table:before{content:"\\ea7b"}.ci-tablet_button:before{content:"\\ea7c"}.ci-tablet:before{content:"\\ea7d"}.ci-tag:before{content:"\\ea7e"}.ci-terminal:before{content:"\\ea7f"}.ci-text_align_center:before{content:"\\ea80"}.ci-text_align_justify:before{content:"\\ea81"}.ci-text_align_left:before{content:"\\ea82"}.ci-text_align_right:before{content:"\\ea83"}.ci-text:before{content:"\\ea84"}.ci-ticket_voucher:before{content:"\\ea85"}.ci-timer_add:before{content:"\\ea86"}.ci-timer_close:before{content:"\\ea87"}.ci-timer_remove:before{content:"\\ea88"}.ci-timer:before{content:"\\ea89"}.ci-trash_empty:before{content:"\\ea8a"}.ci-trash_full:before{content:"\\ea8b"}.ci-trending_down:before{content:"\\ea8c"}.ci-trending_up:before{content:"\\ea8d"}.ci-triangle_check:before{content:"\\ea8e"}.ci-triangle_warning:before{content:"\\ea8f"}.ci-triangle:before{content:"\\ea90"}.ci-underline:before{content:"\\ea91"}.ci-undo:before{content:"\\ea92"}.ci-unfold_less:before{content:"\\ea93"}.ci-unfold_more:before{content:"\\ea94"}.ci-user_01:before{content:"\\ea95"}.ci-user_02:before{content:"\\ea96"}.ci-user_03:before{content:"\\ea97"}.ci-user_add:before{content:"\\ea98"}.ci-user_card_id:before{content:"\\ea99"}.ci-user_check:before{content:"\\ea9a"}.ci-user_circle:before{content:"\\ea9b"}.ci-user_close:before{content:"\\ea9c"}.ci-user_remove:before{content:"\\ea9d"}.ci-user_square:before{content:"\\ea9e"}.ci-user_voice:before{content:"\\ea9f"}.ci-users_group:before{content:"\\eaa0"}.ci-users:before{content:"\\eaa1"}.ci-volume_max:before{content:"\\eaa2"}.ci-volume_min:before{content:"\\eaa3"}.ci-volume_minus:before{content:"\\eaa4"}.ci-volume_off_02:before{content:"\\eaa5"}.ci-volume_off:before{content:"\\eaa6"}.ci-volume_plus:before{content:"\\eaa7"}.ci-warning:before{content:"\\eaa8"}.ci-water_drop:before{content:"\\eaa9"}.ci-wavy_check:before{content:"\\eaaa"}.ci-wavy_help:before{content:"\\eaab"}.ci-wavy_warning:before{content:"\\eaac"}.ci-wavy:before{content:"\\eaad"}.ci-wifi_high:before{content:"\\eaae"}.ci-wifi_low:before{content:"\\eaaf"}.ci-wifi_medium:before{content:"\\eab0"}.ci-wifi_none:before{content:"\\eab1"}.ci-wifi_off:before{content:"\\eab2"}.ci-wifi_problem:before{content:"\\eab3"}.ci-window_check:before{content:"\\eab4"}.ci-window_close:before{content:"\\eab5"}.ci-window_code_block:before{content:"\\eab6"}.ci-window_sidebar:before{content:"\\eab7"}.ci-window_terminal:before{content:"\\eab8"}.ci-window:before{content:"\\eab9"}zen-editor-menu-item .menu-item{background-color:transparent;border:none;border-radius:0.4em;color:#525252;height:1.75em;margin-right:0.25em;padding:0.25em;min-width:1.75em;cursor:pointer}zen-editor-menu-item .menu-item i{font-size:1.25em}zen-editor-menu-item .menu-item.flip-h{transform:scaleX(-1)}zen-editor-menu-item .menu-item.flip-v{transform:scaleY(-1)}zen-editor-menu-item .menu-item.is-disabled{opacity:0.5;cursor:unset}zen-editor-menu-item .menu-item.is-disabled:hover{background-color:transparent;color:#525252}zen-editor-menu-item .menu-item:hover,zen-editor-menu-item .menu-item.is-active{background-color:#525252;color:#fff}zen-editor-menu-item .menu-item.has-submenu+.menu-item>i.ci-caret_down_sm{margin:0 -0.25em}zen-editor-menu-item .menu-item.has-submenu{margin-right:0}zen-editor-menu-item .menu-item.has-submenu:hover{border-radius:0.4em 0 0 0.4em}zen-editor-menu-item .menu-item.has-submenu+.menu-item{border-radius:0 0.4em 0.4em 0;margin-left:0;padding:0.25em 0;min-width:0.75em}zen-editor-menu-item .menu-item i.color-crimson{color:crimson}zen-editor-menu-item .menu-item i.color-deeppink{color:deeppink}zen-editor-menu-item .menu-item i.color-darkorange{color:darkorange}zen-editor-menu-item .menu-item i.color-darkviolet{color:darkviolet}zen-editor-menu-item .menu-item i.color-forestgreen{color:forestgreen}zen-editor-menu-item .menu-item i.color-royalblue{color:royalblue}zen-editor-menu-item .menu-item i.color-saddlebrown{color:saddlebrown}zen-editor-menu-item .menu-item i.color-dimgray{color:dimgray}zen-editor-menu-item .menu-item:has(.color):hover,zen-editor-menu-item .menu-item:has(.color).is-active{background-color:transparent;box-shadow:inset 0 0 0 1px #525252}zen-editor-menu-item:hover .menu-item.has-submenu{border-radius:0.4em 0 0 0.4em}zen-editor-menu-item:last-of-type .menu-item{margin-right:0}';const UR=class{constructor(A){e(this,A),this.editor=void 0,this.menubarMode=void 0,this.extraMenubarItems="",this.forceUpdateCounter=void 0,this.states=void 0,this.toggleMonaco=void 0,this.toggleFullscreen=void 0,this.styles=void 0}componentDidLoad(){Boolean(this.styles)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles])}getMonacoToggler(){return[[{icon:"ci-edit_pencil_line_01",title:A.getString("menu.source"),action:()=>{var A;return null===(A=this.toggleMonaco)||void 0===A?void 0:A.call(this)},isActive:()=>{var A;return null===(A=this.states)||void 0===A?void 0:A.isMonaco},isHidden:()=>{var A;return null===(A=this.states)||void 0===A?void 0:A.isCollaborative},menuModeLevel:aR.full}]]}getMenubarItems(e){return[...uR(e),[{icon:"ci-bar_top",title:A.getString("menu.fullscreen"),action:()=>{var A;return null===(A=this.toggleFullscreen)||void 0===A?void 0:A.call(this)},isActive:()=>{var A;return null===(A=this.states)||void 0===A?void 0:A.isFullscreen},isHidden:()=>!Boolean(this.toggleFullscreen)}],...this.getMonacoToggler()]}render(){const{editor:A,states:e}=this,{isMonaco:n}=e,i=(n?this.getMonacoToggler():this.getMenubarItems(A)).map((A=>{const e=A.map((A=>{const{isHidden:e,menuModeLevel:n}=A,i=function(A,e){var t={};for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&e.indexOf(n)<0&&(t[n]=A[n]);if(null!=A&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(A);ithis.menubarMode?null:t("zen-editor-menu-item",{itemProps:Object.assign({},i),menubarMode:this.menubarMode})}));return Boolean(e.filter((A=>Boolean(A))).length)?t("div",{class:"menu-item-group"},e):null}));return t("div",{class:"menubar"},i,this.extraMenubarItems&&t("div",{className:"menu-item-group extra-menubar-items",innerHTML:this.extraMenubarItems}))}get element(){return i(this)}};UR.style='.menubar{align-items:center;border-bottom:1px solid #a6a39e;display:flex;flex:0 0 auto;flex-wrap:wrap;padding:0.25em}.menu-item-group{margin-right:0.5em}.menu-item-group:not(:last-child):not(:has(+.extra-menubar-items))::after{content:"";display:inline-block;background-color:rgba(0, 0, 0, 0.1);height:1.25em;margin:0 -0.1em -0.1em 0.4em;width:1px}.menu-item-group:empty{display:none}';const NR=class{constructor(A){e(this,A),this.currentSelection=null,this.itemLength=0,this.editor=void 0,this.items=void 0,this.props=void 0,this.currentSelectionIndex=0}onEditorChange(A){A&&(this.editor=A)}onItemsChange(A){A&&(this.items=A)}onPropsChange(A){A&&(this.props=A,this.items=A.items)}connectedCallback(){this.element.onkeydown=this.handleKeyDown.bind(this)}bindCommand(A){return A.action=this.props.command.bind(null,{action:A.action,editor:this.editor}),A}handleKeyDown(A){return!!["ArrowDown","ArrowUp","Enter"].includes(A.key)&&("ArrowDown"===A.key?(this.currentSelectionIndex=Math.min(this.currentSelectionIndex+1,this.itemLength-1),!0):"ArrowUp"===A.key?(this.currentSelectionIndex=Math.max(this.currentSelectionIndex-1,0),!0):"Enter"===A.key?(this.bindCommand(this.currentSelection).action(),!0):void 0)}render(){if(0===this.items.length)return null;let e=0;return this.itemLength="group"in this.items[0]?this.items.reduce(((A,e)=>A+e.items.length),0):this.items.length,this.currentSelectionIndex>=this.itemLength&&(this.currentSelectionIndex=0),t("div",{class:"zen-editor-slash-menu"},this.items.map((i=>"group"in i?t(n,null,t("div",{class:"group-title"},A.getString(`menu.group.${i.group}`)),i.items.map((A=>{const n=e++;return n===this.currentSelectionIndex&&(this.currentSelection=A),t("zen-editor-menu-item",{itemProps:Object.assign(Object.assign({},this.bindCommand(A)),{isActive:()=>n===this.currentSelectionIndex})})}))):(e===this.currentSelectionIndex&&(this.currentSelection=i),t("zen-editor-menu-item",{itemProps:Object.assign(Object.assign({},this.bindCommand(i)),{isActive:()=>e++===this.currentSelectionIndex})})))))}get element(){return i(this)}static get watchers(){return{editor:["onEditorChange"],items:["onItemsChange"],props:["onPropsChange"]}}};NR.style=".zen-editor-slash-menu{display:flex;flex-direction:column;border:1px solid #a6a39e;border-radius:0.4em;background-color:white;padding:0.2em}.zen-editor-slash-menu .group-title{font-size:0.7em;font-weight:600;color:rgba(82, 82, 82, 0.5);font-family:sans-serif;text-transform:uppercase;user-select:none}.zen-editor-slash-menu zen-editor-menu-item .menu-item{display:flex;margin-right:unset;width:100%;padding-right:0.5em}.zen-editor-slash-menu zen-editor-menu-item .menu-item i{margin-right:0.5em}.zen-editor-slash-menu zen-editor-menu-item .menu-item .label{line-height:1.25em}.zen-editor-slash-menu .group-title~zen-editor-menu-item .menu-item{padding-left:0.5em}";export{q as zen_editor_bubble_menu,$ as zen_editor_content,YR as zen_editor_core,fR as zen_editor_menu_item,UR as zen_editor_menubar,NR as zen_editor_slash_menu} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-70739e54.js b/www/js/zui3/zen-editor/p-70739e54.js new file mode 100644 index 0000000000..0ed8442993 --- /dev/null +++ b/www/js/zui3/zen-editor/p-70739e54.js @@ -0,0 +1,7 @@ +import{m as e}from"./p-01de9657.js";import"./p-7900c24a.js"; +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,i=(e,i,s,c)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let a of o(i))r.call(e,a)||a===s||t(e,a,{get:()=>i[a],enumerable:!(c=n(i,a))||c.enumerable});return e},s={};i(s,e,"default");var c={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:s.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:s.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:s.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:s.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},a={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","any","as","asserts","bigint","boolean","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","number","object","out","package","private","protected","public","override","readonly","require","global","return","satisfies","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","undefined","unique","unknown","var","void","while","with","yield","async","await","of"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<",">",">>>","&","|","^","!","~","&&","||","??","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([dgimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}};export{c as conf,a as language} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-7900c24a.js b/www/js/zui3/zen-editor/p-7900c24a.js new file mode 100644 index 0000000000..f24cef7aa2 --- /dev/null +++ b/www/js/zui3/zen-editor/p-7900c24a.js @@ -0,0 +1,2 @@ +var e=Object.defineProperty,n={},t=e=>"object"==(e=typeof e)||"function"===e;function l(e){var n,t,l;return null!=(l=null==(t=null==(n=e.head)?void 0:n.querySelector('meta[name="csp-nonce"]'))?void 0:t.getAttribute("content"))?l:void 0}((n,t)=>{for(var l in t)e(n,l,{get:t[l],enumerable:!0})})({},{err:()=>s,map:()=>r,ok:()=>o,unwrap:()=>u,unwrapErr:()=>a});var o=e=>({isOk:!0,isErr:!1,value:e}),s=e=>({isOk:!1,isErr:!0,value:e});function r(e,n){if(e.isOk){const t=n(e.value);return t instanceof Promise?t.then((e=>o(e))):o(t)}if(e.isErr)return s(e.value);throw"should never get here"}var i,c,u=e=>{if(e.isOk)return e.value;throw e.value},a=e=>{if(e.isErr)return e.value;throw e.value},f="slot-fb{display:contents}slot-fb[hidden]{display:none}",d="http://www.w3.org/1999/xlink",p=["formAssociatedCallback","formResetCallback","formDisabledCallback","formStateRestoreCallback"],v=(e,n,...l)=>{let o=null,s=null,r=!1,i=!1;const c=[],u=n=>{for(let l=0;le[n])).join(" "))}}if("function"==typeof e)return e(null===n?{}:n,c,h);const a=m(e,null);return a.l=n,c.length>0&&(a.o=c),a.i=s,a},m=(e,n)=>({u:0,p:e,t:n,v:null,o:null,l:null,i:null}),y={},h={forEach:(e,n)=>e.map(b).forEach(n),map:(e,n)=>e.map(b).map(n).map($)},b=e=>({vattrs:e.l,vchildren:e.o,vkey:e.i,vname:e.m,vtag:e.p,vtext:e.t}),$=e=>{if("function"==typeof e.vtag){const n={...e.vattrs};return e.vkey&&(n.key=e.vkey),e.vname&&(n.name=e.vname),v(e.vtag,n,...e.vchildren||[])}const n=m(e.vtag,e.vtext);return n.l=e.vattrs,n.o=e.vchildren,n.i=e.vkey,n.m=e.vname,n},w=e=>ie(e).$hostElement$,k=(e,n,t)=>{const l=w(e);return{emit:e=>g(l,n,{bubbles:!!(4&t),composed:!!(2&t),cancelable:!!(1&t),detail:e})}},g=(e,n,t)=>{const l=he.ce(n,t);return e.dispatchEvent(l),l},j=new WeakMap,O=e=>"sc-"+e.h,S=(e,n,l,o,s,r)=>{if(l!==o){let i=ae(e,n),c=n.toLowerCase();if("class"===n){const n=e.classList,t=E(l),s=E(o);n.remove(...t.filter((e=>e&&!s.includes(e)))),n.add(...s.filter((e=>e&&!t.includes(e))))}else if("style"===n){for(const n in l)o&&null!=o[n]||(n.includes("-")?e.style.removeProperty(n):e.style[n]="");for(const n in o)l&&o[n]===l[n]||(n.includes("-")?e.style.setProperty(n,o[n]):e.style[n]=o[n])}else if("key"===n);else if("ref"===n)o&&o(e);else if(i||"o"!==n[0]||"n"!==n[1]){const u=t(o);if((i||u&&null!==o)&&!s)try{if(e.tagName.includes("-"))e[n]=o;else{const t=null==o?"":o;"list"===n?i=!1:null!=l&&e[n]==t||(e[n]=t)}}catch(e){}let a=!1;c!==(c=c.replace(/^xlink\:?/,""))&&(n=c,a=!0),null==o||!1===o?!1===o&&""!==e.getAttribute(n)||(a?e.removeAttributeNS(d,n):e.removeAttribute(n)):(!i||4&r||s)&&!u&&(o=!0===o?"":o,a?e.setAttributeNS(d,n,o):e.setAttribute(n,o))}else if(n="-"===n[2]?n.slice(3):ae(me,c)?c.slice(2):c[2]+n.slice(3),l||o){const t=n.endsWith(M);n=n.replace(x,""),l&&he.rel(e,n,l,t),o&&he.ael(e,n,o,t)}}},C=/\s/,E=e=>e?e.split(C):[],M="Capture",x=RegExp(M+"$"),P=(e,t,l)=>{const o=11===t.v.nodeType&&t.v.host?t.v.host:t.v,s=e&&e.l||n,r=t.l||n;for(const e of R(Object.keys(s)))e in r||S(o,e,s[e],void 0,l,t.u);for(const e of R(Object.keys(r)))S(o,e,s[e],r[e],l,t.u)};function R(e){return e.includes("ref")?[...e.filter((e=>"ref"!==e)),"ref"]:e}var A=!1,D=(e,n,t)=>{var l,o,s;const r=n.o[t];let u,a,f=0;if(null!==r.t)u=r.v=ye.createTextNode(r.t);else{u=r.v=ye.createElement(r.p),P(null,r,A),null!=i&&u["s-si"]!==i&&u.classList.add(u["s-si"]=i);{const e=(null==(l=n.v)?void 0:l["s-rsc"])||(null==(o=n.v)?void 0:o["s-si"])||(null==(s=n.v)?void 0:s["s-sc"]);e&&(u["s-rsc"]=e,!u.classList.contains(e)&&u.classList.add(e))}if(r.o)for(f=0;f{let r,i=e;for(i.shadowRoot&&i.tagName===c&&(i=i.shadowRoot);o<=s;++o)l[o]&&(r=D(null,t,o),r&&(l[o].v=r,i.insertBefore(r,n)))},F=(e,n,t)=>{for(let l=n;l<=t;++l){const n=e[l];if(n){const e=n.v;U(n),e&&e.remove()}}},N=(e,n,t=!1)=>e.p===n.p&&(!!t||e.i===n.i),T=(e,n,t=!1)=>{const l=n.v=e.v,o=e.o,s=n.o,r=n.t;null===r?(P(e,n,A),null!==o&&null!==s?((e,n,t,l,o=!1)=>{let s,r,i=0,c=0,u=0,a=0,f=n.length-1,d=n[0],p=n[f],v=l.length-1,m=l[0],y=l[v];for(;i<=f&&c<=v;)if(null==d)d=n[++i];else if(null==p)p=n[--f];else if(null==m)m=l[++c];else if(null==y)y=l[--v];else if(N(d,m,o))T(d,m,o),d=n[++i],m=l[++c];else if(N(p,y,o))T(p,y,o),p=n[--f],y=l[--v];else if(N(d,y,o))T(d,y,o),e.insertBefore(d.v,p.v.nextSibling),d=n[++i],y=l[--v];else if(N(p,m,o))T(p,m,o),e.insertBefore(p.v,d.v),p=n[--f],m=l[++c];else{for(u=-1,a=i;a<=f;++a)if(n[a]&&null!==n[a].i&&n[a].i===m.i){u=a;break}u>=0?(r=n[u],r.p!==m.p?s=D(n&&n[c],t,u):(T(r,m,o),n[u]=void 0,s=r.v),m=l[++c]):(s=D(n&&n[c],t,c),m=l[++c]),s&&d.v.parentNode.insertBefore(s,d.v)}i>f?L(e,null==l[v+1]?null:l[v+1].v,t,l,c,v):c>v&&F(n,i,f)})(l,o,n,s,t):null!==s?(null!==e.t&&(l.textContent=""),L(l,null,n,s,0,s.length-1)):null!==o&&F(o,0,o.length-1)):e.t!==r&&(l.data=r)},U=e=>{e.l&&e.l.ref&&e.l.ref(null),e.o&&e.o.map(U)},W=(e,n)=>{n&&!e.$&&n["s-p"]&&n["s-p"].push(new Promise((n=>e.$=n)))},H=(e,n)=>{if(e.u|=16,!(4&e.u))return W(e,e.k),Ee((()=>q(e,n)));e.u|=512},q=(e,n)=>{const t=e.j;let l;return n&&(e.u|=256,e.O&&(e.O.map((([e,n])=>K(t,e,n))),e.O=void 0),l=K(t,"componentWillLoad")),z(l,(()=>_(e,t,n)))},z=(e,n)=>V(e)?e.then(n):n(),V=e=>e instanceof Promise||e&&e.then&&"function"==typeof e.then,_=async(e,n,t)=>{var o;const s=e.$hostElement$,r=s["s-rc"];t&&(e=>{const n=e.S,t=e.$hostElement$,o=n.u,s=((e,n)=>{var t;const o=O(n),s=ve.get(o);if(e=11===e.nodeType?e:ye,s)if("string"==typeof s){let r,i=j.get(e=e.head||e);if(i||j.set(e,i=new Set),!i.has(o)){{r=ye.createElement("style"),r.innerHTML=s;const n=null!=(t=he.C)?t:l(ye);null!=n&&r.setAttribute("nonce",n),e.insertBefore(r,e.querySelector("link"))}4&n.u&&(r.innerHTML+=f),i&&i.add(o)}}else e.adoptedStyleSheets.includes(s)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,s]);return o})(t.shadowRoot?t.shadowRoot:t.getRootNode(),n);10&o&&(t["s-sc"]=s,t.classList.add(s+"-h"),2&o&&t.classList.add(s+"-s"))})(e);B(e,n,s,t),r&&(r.map((e=>e())),s["s-rc"]=void 0);{const n=null!=(o=s["s-p"])?o:[],t=()=>G(e);0===n.length?t():(Promise.all(n).then(t),e.u|=4,n.length=0)}},B=(e,n,t,l)=>{try{n=n.render(),e.u&=-17,e.u|=2,((e,n,t=!1)=>{const l=e.$hostElement$,o=e.M||m(null,null),s=(e=>e&&e.p===y)(n)?n:v(null,null,n);if(c=l.tagName,t&&s.l)for(const e of Object.keys(s.l))l.hasAttribute(e)&&!["key","ref","style","class"].includes(e)&&(s.l[e]=l[e]);s.p=null,s.u|=4,e.M=s,s.v=o.v=l.shadowRoot||l,i=l["s-sc"],T(o,s,t)})(e,n,l)}catch(n){fe(n,e.$hostElement$)}return null},G=e=>{const n=e.$hostElement$,t=e.j,l=e.k;K(t,"componentDidRender"),64&e.u?K(t,"componentDidUpdate"):(e.u|=64,Q(n),K(t,"componentDidLoad"),e.P(n),l||J()),e.R(n),e.$&&(e.$(),e.$=void 0),512&e.u&&Ce((()=>H(e,!1))),e.u&=-517},I=e=>{{const n=ie(e),t=n.$hostElement$.isConnected;return t&&2==(18&n.u)&&H(n,!1),t}},J=()=>{Q(ye.documentElement),Ce((()=>g(me,"appload",{detail:{namespace:"zen-editor"}})))},K=(e,n,t)=>{if(e&&e[n])try{return e[n](t)}catch(e){fe(e)}},Q=e=>e.classList.add("hydrated"),X=(e,n,l)=>{var o;const s=e.prototype;if(64&n.u&&1&l&&p.forEach((e=>Object.defineProperty(s,e,{value(...n){const t=ie(this),l=t.j;if(l){const t=l[e];"function"==typeof t&&t.call(l,...n)}else t.A.then((t=>{const l=t[e];"function"==typeof l&&l.call(t,...n)}))}}))),n.D){e.watchers&&(n.L=e.watchers);const r=Object.entries(n.D);if(r.map((([e,[o]])=>{31&o||2&l&&32&o?Object.defineProperty(s,e,{get(){return((e,n)=>ie(this).F.get(n))(0,e)},set(l){((e,n,l,o)=>{const s=ie(e),r=s.$hostElement$,i=s.F.get(n),c=s.u,u=s.j;if(l=((e,n)=>null==e||t(e)?e:4&n?"false"!==e&&(""===e||!!e):2&n?parseFloat(e):1&n?e+"":e)(l,o.D[n][0]),(!(8&c)||void 0===i)&&l!==i&&(!Number.isNaN(i)||!Number.isNaN(l))&&(s.F.set(n,l),u)){if(o.L&&128&c){const e=o.L[n];e&&e.map((e=>{try{u[e](l,i,n)}catch(e){fe(e,r)}}))}2==(18&c)&&H(s,!1)}})(this,e,l,n)},configurable:!0,enumerable:!0}):1&l&&64&o&&Object.defineProperty(s,e,{value(...n){var t;const l=ie(this);return null==(t=null==l?void 0:l.N)?void 0:t.then((()=>{var t;return null==(t=l.j)?void 0:t[e](...n)}))}})})),1&l){const t=new Map;s.attributeChangedCallback=function(e,l,o){he.jmp((()=>{var r;const i=t.get(e);if(this.hasOwnProperty(i))o=this[i],delete this[i];else{if(s.hasOwnProperty(i)&&"number"==typeof this[i]&&this[i]==o)return;if(null==i){const t=ie(this),s=null==t?void 0:t.u;if(s&&!(8&s)&&128&s&&o!==l){const s=t.j,i=null==(r=n.L)?void 0:r[e];null==i||i.forEach((n=>{null!=s[n]&&s[n].call(s,o,l,e)}))}return}}this[i]=(null!==o||"boolean"!=typeof this[i])&&o}))},e.observedAttributes=Array.from(new Set([...Object.keys(null!=(o=n.L)?o:{}),...r.filter((([e,n])=>15&n[0])).map((([e,n])=>{const l=n[1]||e;return t.set(l,e),l}))]))}}return e},Y=e=>{K(e,"connectedCallback")},Z=e=>{K(e,"disconnectedCallback")},ee=(e,n={})=>{var t;const o=[],s=n.exclude||[],r=me.customElements,i=ye.head,c=i.querySelector("meta[charset]"),u=ye.createElement("style"),a=[];let d,p=!0;Object.assign(he,n),he.T=new URL(n.resourcesUrl||"./",ye.baseURI).href;let v=!1;if(e.map((e=>{e[1].map((n=>{var t;const l={u:n[0],h:n[1],D:n[2],U:n[3]};4&l.u&&(v=!0),l.D=n[2],l.U=n[3],l.L=null!=(t=n[4])?t:{};const i=l.h,c=class extends HTMLElement{constructor(e){super(e),ue(e=this,l),1&l.u&&e.attachShadow({mode:"open"})}connectedCallback(){d&&(clearTimeout(d),d=null),p?a.push(this):he.jmp((()=>(e=>{if(!(1&he.u)){const n=ie(e),t=n.S,l=()=>{};if(1&n.u)te(e,n,t.U),(null==n?void 0:n.j)?Y(n.j):(null==n?void 0:n.A)&&n.A.then((()=>Y(n.j)));else{n.u|=1;{let t=e;for(;t=t.parentNode||t.host;)if(t["s-p"]){W(n,n.k=t);break}}t.D&&Object.entries(t.D).map((([n,[t]])=>{if(31&t&&e.hasOwnProperty(n)){const t=e[n];delete e[n],e[n]=t}})),(async(e,n,t)=>{let l;if(!(32&n.u)){if(n.u|=32,t.W){if(l=pe(t),l.then){const e=()=>{};l=await l,e()}l.isProxied||(t.L=l.watchers,X(l,t,2),l.isProxied=!0);const e=()=>{};n.u|=8;try{new l(n)}catch(e){fe(e)}n.u&=-9,n.u|=128,e(),Y(n.j)}else l=e.constructor,customElements.whenDefined(t.h).then((()=>n.u|=128));if(l.style){let e=l.style;const n=O(t);if(!ve.has(n)){const l=()=>{};((e,n,t)=>{let l=ve.get(e);$e&&t?(l=l||new CSSStyleSheet,"string"==typeof l?l=n:l.replaceSync(n)):l=n,ve.set(e,l)})(n,e,!!(1&t.u)),l()}}}const o=n.k,s=()=>H(n,!0);o&&o["s-rc"]?o["s-rc"].push(s):s()})(e,n,t)}l()}})(this)))}disconnectedCallback(){he.jmp((()=>(async()=>{if(!(1&he.u)){const e=ie(this);e.H&&(e.H.map((e=>e())),e.H=void 0),(null==e?void 0:e.j)?Z(e.j):(null==e?void 0:e.A)&&e.A.then((()=>Z(e.j)))}})()))}componentOnReady(){return ie(this).A}};64&l.u&&(c.formAssociated=!0),l.W=e[0],s.includes(i)||r.get(i)||(o.push(i),r.define(i,X(c,l,1)))}))})),o.length>0&&(v&&(u.textContent+=f),u.textContent+=o+"{visibility:hidden}.hydrated{visibility:inherit}",u.innerHTML.length)){u.setAttribute("data-styles","");const e=null!=(t=he.C)?t:l(ye);null!=e&&u.setAttribute("nonce",e),i.insertBefore(u,c?c.nextSibling:i.firstChild)}p=!1,a.length?a.map((e=>e.connectedCallback())):he.jmp((()=>d=setTimeout(J,30)))},ne=(e,n)=>n,te=(e,n,t)=>{t&&t.map((([t,l,o])=>{const s=e,r=le(n,o),i=oe(t);he.ael(s,l,r,i),(n.H=n.H||[]).push((()=>he.rel(s,l,r,i)))}))},le=(e,n)=>t=>{try{256&e.u?e.j[n](t):(e.O=e.O||[]).push([n,t])}catch(e){fe(e)}},oe=e=>({passive:!!(1&e),capture:!!(2&e)}),se=e=>he.C=e,re=new WeakMap,ie=e=>re.get(e),ce=(e,n)=>re.set(n.j=e,n),ue=(e,n)=>{const t={u:0,$hostElement$:e,S:n,F:new Map};return t.N=new Promise((e=>t.R=e)),t.A=new Promise((e=>t.P=e)),e["s-p"]=[],e["s-rc"]=[],te(e,t,n.U),re.set(e,t)},ae=(e,n)=>n in e,fe=(e,n)=>(0,console.error)(e,n),de=new Map,pe=e=>{const n=e.h.replace(/-/g,"_"),t=e.W,l=de.get(t);return l?l[n]:import(`./${t}.entry.js`).then((e=>(de.set(t,e),e[n])),fe) +/*!__STENCIL_STATIC_IMPORT_SWITCH__*/},ve=new Map,me="undefined"!=typeof window?window:{},ye=me.document||{head:{}},he={u:0,T:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,n,t,l)=>e.addEventListener(n,t,l),rel:(e,n,t,l)=>e.removeEventListener(n,t,l),ce:(e,n)=>new CustomEvent(e,n)},be=e=>Promise.resolve(e),$e=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),we=!1,ke=[],ge=[],je=(e,n)=>t=>{e.push(t),we||(we=!0,n&&4&he.u?Ce(Se):he.raf(Se))},Oe=e=>{for(let n=0;n{Oe(ke),Oe(ge),(we=ke.length>0)&&he.raf(Se)},Ce=e=>be().then(e),Ee=je(ge,!0);export{ne as F,y as H,ee as b,k as c,I as f,w as g,v as h,be as p,ce as r,se as s} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-8d627c05.entry.js b/www/js/zui3/zen-editor/p-8d627c05.entry.js deleted file mode 100644 index 30a03089f9..0000000000 --- a/www/js/zui3/zen-editor/p-8d627c05.entry.js +++ /dev/null @@ -1 +0,0 @@ -import{L as A}from"./p-898ed1c1.js";export{M as monaco_editor,Z as zen_editor}from"./p-898ed1c1.js";import{r as e,h as t,F as n,g as i,c as B}from"./p-b9d115dd.js";import{P as E,a as s,E as r,i as o,b as c,p as g,t as a,M as Q,m as l,c as h,d as w,N as R,w as I,e as u,g as d,f as G,T as C,D as k,h as D,j as F,n as Y,k as U,l as f,o as N,q as S,r as m,s as y,S as b,u as H,v as T,x as z,F as x,y as p,z as J,A as j,B as P,C as V,G as L,H as v,I as O}from"./p-d7573a2c.js";class _{constructor({editor:A,element:e,view:t,tippyOptions:n={},updateDelay:i=250,shouldShow:B}){this.preventHide=!1,this.shouldShow=({view:A,state:e,from:t,to:n})=>{const{doc:i,selection:B}=e,{empty:E}=B,s=!i.textBetween(t,n).length&&o(e.selection),r=this.element.contains(document.activeElement);return!(!A.hasFocus()&&!r||E||s||!this.editor.isEditable)},this.mousedownHandler=()=>{this.preventHide=!0},this.dragstartHandler=()=>{this.hide()},this.focusHandler=()=>{setTimeout((()=>this.update(this.editor.view)))},this.blurHandler=({event:A})=>{var e;this.preventHide?this.preventHide=!1:(null==A?void 0:A.relatedTarget)&&(null===(e=this.element.parentNode)||void 0===e?void 0:e.contains(A.relatedTarget))||this.hide()},this.tippyBlurHandler=A=>{this.blurHandler({event:A})},this.handleDebouncedUpdate=(A,e)=>{const t=!(null==e?void 0:e.selection.eq(A.state.selection)),n=!(null==e?void 0:e.doc.eq(A.state.doc));(t||n)&&(this.updateDebounceTimer&&clearTimeout(this.updateDebounceTimer),this.updateDebounceTimer=window.setTimeout((()=>{this.updateHandler(A,t,n,e)}),this.updateDelay))},this.updateHandler=(A,e,t,n)=>{var i,B,E;const{state:s,composing:r}=A,{selection:o}=s;if(r||!e&&!t)return;this.createTooltip();const{ranges:a}=o,Q=Math.min(...a.map((A=>A.$from.pos))),l=Math.max(...a.map((A=>A.$to.pos)));(null===(i=this.shouldShow)||void 0===i?void 0:i.call(this,{editor:this.editor,view:A,state:s,oldState:n,from:Q,to:l}))?(null===(B=this.tippy)||void 0===B||B.setProps({getReferenceClientRect:(null===(E=this.tippyOptions)||void 0===E?void 0:E.getReferenceClientRect)||(()=>{if(c(s.selection)){let e=A.nodeDOM(Q);const t=e.dataset.nodeViewWrapper?e:e.querySelector("[data-node-view-wrapper]");if(t&&(e=t.firstChild),e)return e.getBoundingClientRect()}return g(A,Q,l)})}),this.show()):this.hide()},this.editor=A,this.element=e,this.view=t,this.updateDelay=i,B&&(this.shouldShow=B),this.element.addEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.view.dom.addEventListener("dragstart",this.dragstartHandler),this.editor.on("focus",this.focusHandler),this.editor.on("blur",this.blurHandler),this.tippyOptions=n,this.element.remove(),this.element.style.visibility="visible"}createTooltip(){const{element:A}=this.editor.options;!this.tippy&&A.parentElement&&(this.tippy=a(A,{duration:0,getReferenceClientRect:null,content:this.element,interactive:!0,trigger:"manual",placement:"top",hideOnClick:"toggle",...this.tippyOptions}),this.tippy.popper.firstChild&&this.tippy.popper.firstChild.addEventListener("blur",this.tippyBlurHandler))}update(A,e){const{state:t}=A;if(this.updateDelay>0&&t.selection.$from.pos!==t.selection.$to.pos)return void this.handleDebouncedUpdate(A,e);const n=!(null==e?void 0:e.selection.eq(A.state.selection)),i=!(null==e?void 0:e.doc.eq(A.state.doc));this.updateHandler(A,n,i,e)}show(){var A;null===(A=this.tippy)||void 0===A||A.show()}hide(){var A;null===(A=this.tippy)||void 0===A||A.hide()}destroy(){var A,e;(null===(A=this.tippy)||void 0===A?void 0:A.popper.firstChild)&&this.tippy.popper.firstChild.removeEventListener("blur",this.tippyBlurHandler),null===(e=this.tippy)||void 0===e||e.destroy(),this.element.removeEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.view.dom.removeEventListener("dragstart",this.dragstartHandler),this.editor.off("focus",this.focusHandler),this.editor.off("blur",this.blurHandler)}}const K=A=>new E({key:"string"==typeof A.pluginKey?new s(A.pluginKey):A.pluginKey,view:e=>new _({view:e,...A})}),W=r.create({name:"bubbleMenu",addOptions:()=>({element:null,tippyOptions:{},pluginKey:"bubbleMenu",updateDelay:void 0,shouldShow:null}),addProseMirrorPlugins(){return this.options.element?[K({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,tippyOptions:this.options.tippyOptions,updateDelay:this.options.updateDelay,shouldShow:this.options.shouldShow})]:[]}});const X=class{constructor(A){e(this,A),this.menuProps=void 0,this.editor=void 0,this.disabled=!1,this.element=void 0}componentDidLoad(){if(!Boolean(this.element)||this.editor.isDestroyed)return;const{pluginKey:A="bubbleMenu",tippyOptions:e={},shouldShow:t=(this.disabled?()=>!1:({view:A,state:e,from:t,to:n})=>{var i;if(null===(i=A.input)||void 0===i?void 0:i.mouseDown)return!1;const{doc:B,selection:E}=e,s=!Boolean(B.textBetween(t,n).length)&&o(E);return!(!A.hasFocus()||E.empty||s)})}=this.menuProps,n=K({pluginKey:A,editor:this.editor,element:this.element,tippyOptions:e,shouldShow:t});this.editor.registerPlugin(n)}render(){const{editor:A}=this;return t("div",{key:"98decf3820ca86378227b0e7a7dc9ada0705ecd4",ref:A=>this.element=A,class:"bubble-menu",style:{visibility:"hidden"}},[{icon:"ci-bold",title:"Bold",action:()=>A.chain().focus().toggleBold().run(),isActive:()=>A.isActive("bold")},{icon:"ci-italic",title:"Italic",action:()=>A.chain().focus().toggleItalic().run(),isActive:()=>A.isActive("italic")},{icon:"ci-strikethrough",title:"Strike",action:()=>A.chain().focus().toggleStrike().run(),isActive:()=>A.isActive("strike")},{icon:"ci-code",title:"Code",action:()=>A.chain().focus().toggleCode().run(),isActive:()=>A.isActive("code")},{icon:"ci-bulb",title:"Highlight",action:()=>A.chain().focus().toggleHighlight().run(),isActive:()=>A.isActive("highlight")}].map(((A,e)=>{const n=A,{isHidden:i,type:B}=n,E=function(A,e){var t={};for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&e.indexOf(n)<0&&(t[n]=A[n]);if(null!=A&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(A);ithis.editorContentRef=A},A)))}get element(){return i(this)}};q.style='.ProseMirror>*+*{margin-top:0.75em}.ProseMirror ul,.ProseMirror ol{padding:0 1em}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3,.ProseMirror h4,.ProseMirror h5,.ProseMirror h6{line-height:1.1}.ProseMirror code{background-color:rgba(97, 97, 97, 0.1);color:#616161}.ProseMirror pre{background:#0d0d0d;border-radius:0.5em;color:#fff;font-family:"JetBrainsMono", monospace;padding:0.75em 1em}.ProseMirror pre code{background:none;color:inherit;font-size:0.8em;padding:0}.ProseMirror pre .hljs-comment,.ProseMirror pre .hljs-quote{color:#616161}.ProseMirror pre .hljs-variable,.ProseMirror pre .hljs-template-variable,.ProseMirror pre .hljs-attribute,.ProseMirror pre .hljs-tag,.ProseMirror pre .hljs-name,.ProseMirror pre .hljs-regexp,.ProseMirror pre .hljs-link,.ProseMirror pre .hljs-selector-id,.ProseMirror pre .hljs-selector-class{color:#f98181}.ProseMirror pre .hljs-number,.ProseMirror pre .hljs-meta,.ProseMirror pre .hljs-built_in,.ProseMirror pre .hljs-builtin-name,.ProseMirror pre .hljs-literal,.ProseMirror pre .hljs-type,.ProseMirror pre .hljs-params{color:#fbbc88}.ProseMirror pre .hljs-string,.ProseMirror pre .hljs-symbol,.ProseMirror pre .hljs-bullet{color:#b9f18d}.ProseMirror pre .hljs-title,.ProseMirror pre .hljs-section{color:#faf594}.ProseMirror pre .hljs-keyword,.ProseMirror pre .hljs-selector-tag{color:#70cff8}.ProseMirror pre .hljs-emphasis{font-style:italic}.ProseMirror pre .hljs-strong{font-weight:700}.ProseMirror mark{background-color:#faf594}.ProseMirror img{height:auto;max-width:100%}.ProseMirror blockquote{border-left:2px solid rgba(13, 13, 13, 0.1);padding-left:1em}.ProseMirror hr{border:none;border-top:2px solid rgba(13, 13, 13, 0.1);margin:2em 0}.ProseMirror ul[data-type=taskList]{list-style:none;padding:0}.ProseMirror ul[data-type=taskList] li{align-items:center;display:flex}.ProseMirror ul[data-type=taskList] li>label{flex:0 0 auto;margin-right:0.5em;user-select:none}.ProseMirror ul[data-type=taskList] li>div{flex:1 1 auto}.ProseMirror ul[data-type=taskList] li>div>p{margin:0.1em 0}.ProseMirror table{border-collapse:collapse;table-layout:fixed;margin:8px 0;overflow:hidden}.ProseMirror table td,.ProseMirror table th{min-width:1em;border:1px solid #616161;padding:3px 5px;vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror table td>*,.ProseMirror table th>*{margin-bottom:0}.ProseMirror table th{font-weight:bold;text-align:left;background-color:#f1f3f5}.ProseMirror table .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:rgba(200, 200, 255, 0.4);pointer-events:none}.ProseMirror table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:3px;background-color:#ace;pointer-events:none}.ProseMirror p.is-editor-empty:first-child::before{color:#adb5bd;content:attr(data-placeholder);float:left;height:0;pointer-events:none}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror:focus{outline:none}';const $=r.create({name:"characterCount",addOptions:()=>({limit:null,mode:"textSize"}),addStorage:()=>({characters:()=>0,words:()=>0}),onBeforeCreate(){this.storage.characters=A=>{const e=(null==A?void 0:A.node)||this.editor.state.doc;return"textSize"===((null==A?void 0:A.mode)||this.options.mode)?e.textBetween(0,e.content.size,void 0," ").length:e.nodeSize},this.storage.words=A=>{const e=(null==A?void 0:A.node)||this.editor.state.doc;return e.textBetween(0,e.content.size," "," ").split(" ").filter((A=>""!==A)).length}},addProseMirrorPlugins(){return[new E({key:new s("characterCount"),filterTransaction:(A,e)=>{const t=this.options.limit;if(!A.docChanged||0===t||null==t)return!0;const n=this.storage.characters({node:e.doc}),i=this.storage.characters({node:A.doc});if(i<=t)return!0;if(n>t&&i>t&&i<=n)return!0;if(n>t&&i>t&&i>n)return!1;if(!A.getMeta("paste"))return!1;const B=A.selection.$head.pos;return A.deleteRange(B-(i-t),B),!(this.storage.characters({node:A.doc})>t)}})]}}),AA=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/,eA=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g,tA=Q.create({name:"highlight",addOptions:()=>({multicolor:!1,HTMLAttributes:{}}),addAttributes(){return this.options.multicolor?{color:{default:null,parseHTML:A=>A.getAttribute("data-color")||A.style.backgroundColor,renderHTML:A=>A.color?{"data-color":A.color,style:`background-color: ${A.color}; color: inherit`}:{}}}:{}},parseHTML:()=>[{tag:"mark"}],renderHTML({HTMLAttributes:A}){return["mark",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setHighlight:A=>({commands:e})=>e.setMark(this.name,A),toggleHighlight:A=>({commands:e})=>e.toggleMark(this.name,A),unsetHighlight:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-h":()=>this.editor.commands.toggleHighlight()}},addInputRules(){return[h({find:AA,type:this.type})]},addPasteRules(){return[w({find:eA,type:this.type})]}}),nA=/^\s*(\[([( |x])?\])\s$/,iA=R.create({name:"taskItem",addOptions:()=>({nested:!1,HTMLAttributes:{},taskListTypeName:"taskList"}),content(){return this.options.nested?"paragraph block*":"paragraph+"},defining:!0,addAttributes:()=>({checked:{default:!1,keepOnSplit:!1,parseHTML:A=>"true"===A.getAttribute("data-checked"),renderHTML:A=>({"data-checked":A.checked})}}),parseHTML(){return[{tag:`li[data-type="${this.name}"]`,priority:51}]},renderHTML({node:A,HTMLAttributes:e}){return["li",l(this.options.HTMLAttributes,e,{"data-type":this.name}),["label",["input",{type:"checkbox",checked:A.attrs.checked?"checked":null}],["span"]],["div",0]]},addKeyboardShortcuts(){const A={Enter:()=>this.editor.commands.splitListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)};return this.options.nested?{...A,Tab:()=>this.editor.commands.sinkListItem(this.name)}:A},addNodeView(){return({node:A,HTMLAttributes:e,getPos:t,editor:n})=>{const i=document.createElement("li"),B=document.createElement("label"),E=document.createElement("span"),s=document.createElement("input"),r=document.createElement("div");return B.contentEditable="false",s.type="checkbox",s.addEventListener("change",(e=>{if(!n.isEditable&&!this.options.onReadOnlyChecked)return void(s.checked=!s.checked);const{checked:i}=e.target;n.isEditable&&"function"==typeof t&&n.chain().focus(void 0,{scrollIntoView:!1}).command((({tr:A})=>{const e=t(),n=A.doc.nodeAt(e);return A.setNodeMarkup(e,void 0,{...null==n?void 0:n.attrs,checked:i}),!0})).run(),!n.isEditable&&this.options.onReadOnlyChecked&&(this.options.onReadOnlyChecked(A,i)||(s.checked=!s.checked))})),Object.entries(this.options.HTMLAttributes).forEach((([A,e])=>{i.setAttribute(A,e)})),i.dataset.checked=A.attrs.checked,A.attrs.checked&&s.setAttribute("checked","checked"),B.append(s,E),i.append(B,r),Object.entries(e).forEach((([A,e])=>{i.setAttribute(A,e)})),{dom:i,contentDOM:r,update:A=>A.type===this.type&&(i.dataset.checked=A.attrs.checked,A.attrs.checked?s.setAttribute("checked","checked"):s.removeAttribute("checked"),!0)}}},addInputRules(){return[I({find:nA,type:this.type,getAttributes:A=>({checked:"x"===A[A.length-1]})})]}}),BA=R.create({name:"taskList",addOptions:()=>({itemTypeName:"taskItem",HTMLAttributes:{}}),group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:`ul[data-type="${this.name}"]`,priority:51}]},renderHTML({HTMLAttributes:A}){return["ul",l(this.options.HTMLAttributes,A,{"data-type":this.name}),0]},addCommands(){return{toggleTaskList:()=>({commands:A})=>A.toggleList(this.name,this.options.itemTypeName)}},addKeyboardShortcuts(){return{"Mod-Shift-9":()=>this.editor.commands.toggleTaskList()}}}),EA=r.create({name:"typography",addInputRules(){const A=[];var e;return!1!==this.options.emDash&&A.push(u({find:/--$/,replace:null!=(e=this.options.emDash)?e:"—"})),!1!==this.options.ellipsis&&A.push((A=>u({find:/\.\.\.$/,replace:null!=A?A:"…"}))(this.options.ellipsis)),!1!==this.options.openDoubleQuote&&A.push((A=>u({find:/(?:^|[\s{[(<'"\u2018\u201C])(")$/,replace:null!=A?A:"“"}))(this.options.openDoubleQuote)),!1!==this.options.closeDoubleQuote&&A.push((A=>u({find:/"$/,replace:null!=A?A:"”"}))(this.options.closeDoubleQuote)),!1!==this.options.openSingleQuote&&A.push((A=>u({find:/(?:^|[\s{[(<'"\u2018\u201C])(')$/,replace:null!=A?A:"‘"}))(this.options.openSingleQuote)),!1!==this.options.closeSingleQuote&&A.push((A=>u({find:/'$/,replace:null!=A?A:"’"}))(this.options.closeSingleQuote)),!1!==this.options.leftArrow&&A.push((A=>u({find:/<-$/,replace:null!=A?A:"←"}))(this.options.leftArrow)),!1!==this.options.rightArrow&&A.push((A=>u({find:/->$/,replace:null!=A?A:"→"}))(this.options.rightArrow)),!1!==this.options.copyright&&A.push((A=>u({find:/\(c\)$/,replace:null!=A?A:"©"}))(this.options.copyright)),!1!==this.options.trademark&&A.push((A=>u({find:/\(tm\)$/,replace:null!=A?A:"™"}))(this.options.trademark)),!1!==this.options.servicemark&&A.push((A=>u({find:/\(sm\)$/,replace:null!=A?A:"℠"}))(this.options.servicemark)),!1!==this.options.registeredTrademark&&A.push((A=>u({find:/\(r\)$/,replace:null!=A?A:"®"}))(this.options.registeredTrademark)),!1!==this.options.oneHalf&&A.push((A=>u({find:/(?:^|\s)(1\/2)\s$/,replace:null!=A?A:"½"}))(this.options.oneHalf)),!1!==this.options.plusMinus&&A.push((A=>u({find:/\+\/-$/,replace:null!=A?A:"±"}))(this.options.plusMinus)),!1!==this.options.notEqual&&A.push((A=>u({find:/!=$/,replace:null!=A?A:"≠"}))(this.options.notEqual)),!1!==this.options.laquo&&A.push((A=>u({find:/<<$/,replace:null!=A?A:"«"}))(this.options.laquo)),!1!==this.options.raquo&&A.push((A=>u({find:/>>$/,replace:null!=A?A:"»"}))(this.options.raquo)),!1!==this.options.multiplication&&A.push((A=>u({find:/\d+\s?([*x])\s?\d+$/,replace:null!=A?A:"×"}))(this.options.multiplication)),!1!==this.options.superscriptTwo&&A.push((A=>u({find:/\^2$/,replace:null!=A?A:"²"}))(this.options.superscriptTwo)),!1!==this.options.superscriptThree&&A.push((A=>u({find:/\^3$/,replace:null!=A?A:"³"}))(this.options.superscriptThree)),!1!==this.options.oneQuarter&&A.push((A=>u({find:/(?:^|\s)(1\/4)\s$/,replace:null!=A?A:"¼"}))(this.options.oneQuarter)),!1!==this.options.threeQuarters&&A.push((A=>u({find:/(?:^|\s)(3\/4)\s$/,replace:null!=A?A:"¾"}))(this.options.threeQuarters)),A}}),sA=Q.create({name:"textStyle",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"span",getAttrs:A=>!!A.hasAttribute("style")&&{}}],renderHTML({HTMLAttributes:A}){return["span",l(this.options.HTMLAttributes,A),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:A,commands:e})=>{const t=d(A,this.type);return!!Object.entries(t).some((([,A])=>!!A))||e.unsetMark(this.name)}}}}),rA=/^```([a-z]+)?[\s\n]$/,oA=/^~~~([a-z]+)?[\s\n]$/,cA=R.create({name:"codeBlock",addOptions:()=>({languageClassPrefix:"language-",exitOnTripleEnter:!0,exitOnArrowDown:!0,HTMLAttributes:{}}),content:"text*",marks:"",group:"block",code:!0,defining:!0,addAttributes(){return{language:{default:null,parseHTML:A=>{var e;const{languageClassPrefix:t}=this.options;return[...(null===(e=A.firstElementChild)||void 0===e?void 0:e.classList)||[]].filter((A=>A.startsWith(t))).map((A=>A.replace(t,"")))[0]||null},rendered:!1}}},parseHTML:()=>[{tag:"pre",preserveWhitespace:"full"}],renderHTML({node:A,HTMLAttributes:e}){return["pre",l(this.options.HTMLAttributes,e),["code",{class:A.attrs.language?this.options.languageClassPrefix+A.attrs.language:null},0]]},addCommands(){return{setCodeBlock:A=>({commands:e})=>e.setNode(this.name,A),toggleCodeBlock:A=>({commands:e})=>e.toggleNode(this.name,"paragraph",A)}},addKeyboardShortcuts(){return{"Mod-Alt-c":()=>this.editor.commands.toggleCodeBlock(),Backspace:()=>{const{empty:A,$anchor:e}=this.editor.state.selection;return!(!A||e.parent.type.name!==this.name)&&!(1!==e.pos&&e.parent.textContent.length)&&this.editor.commands.clearNodes()},Enter:({editor:A})=>{if(!this.options.exitOnTripleEnter)return!1;const{state:e}=A,{selection:t}=e,{$from:n,empty:i}=t;if(!i||n.parent.type!==this.type)return!1;const B=n.parentOffset===n.parent.nodeSize-2,E=n.parent.textContent.endsWith("\n\n");return!(!B||!E)&&A.chain().command((({tr:A})=>(A.delete(n.pos-2,n.pos),!0))).exitCode().run()},ArrowDown:({editor:A})=>{if(!this.options.exitOnArrowDown)return!1;const{state:e}=A,{selection:t,doc:n}=e,{$from:i,empty:B}=t;if(!B||i.parent.type!==this.type)return!1;if(i.parentOffset!==i.parent.nodeSize-2)return!1;const E=i.after();return void 0!==E&&(!n.nodeAt(E)&&A.commands.exitCode())}}},addInputRules(){return[G({find:rA,type:this.type,getAttributes:A=>({language:A[1]})}),G({find:oA,type:this.type,getAttributes:A=>({language:A[1]})})]},addProseMirrorPlugins(){return[new E({key:new s("codeBlockVSCodeHandler"),props:{handlePaste:(A,e)=>{if(!e.clipboardData)return!1;if(this.editor.isActive(this.type.name))return!1;const t=e.clipboardData.getData("text/plain"),n=e.clipboardData.getData("vscode-editor-data"),i=n?JSON.parse(n):void 0,B=null==i?void 0:i.mode;if(!t||!B)return!1;const{tr:E}=A.state;return E.replaceSelectionWith(this.type.create({language:B})),E.setSelection(C.near(E.doc.resolve(Math.max(0,E.selection.from-2)))),E.insertText(t.replace(/\r\n?/g,"\n")),E.setMeta("paste",!0),A.dispatch(E),!0}}})]}});var gA={exports:{}};function aA(A){return A instanceof Map?A.clear=A.delete=A.set=function(){throw new Error("map is read-only")}:A instanceof Set&&(A.add=A.clear=A.delete=function(){throw new Error("set is read-only")}),Object.freeze(A),Object.getOwnPropertyNames(A).forEach((function(e){var t=A[e];"object"!=typeof t||Object.isFrozen(t)||aA(t)})),A}gA.exports=aA,gA.exports.default=aA;class QA{constructor(A){void 0===A.data&&(A.data={}),this.data=A.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function lA(A){return A.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function hA(A,...e){const t=Object.create(null);for(const e in A)t[e]=A[e];return e.forEach((function(A){for(const e in A)t[e]=A[e]})),t}const MA=A=>!!A.scope||A.sublanguage&&A.language;class wA{constructor(A,e){this.buffer="",this.classPrefix=e.classPrefix,A.walk(this)}addText(A){this.buffer+=lA(A)}openNode(A){if(!MA(A))return;let e="";e=A.sublanguage?`language-${A.language}`:((A,{prefix:e})=>{if(A.includes(".")){const t=A.split(".");return[`${e}${t.shift()}`,...t.map(((A,e)=>`${A}${"_".repeat(e+1)}`))].join(" ")}return`${e}${A}`})(A.scope,{prefix:this.classPrefix}),this.span(e)}closeNode(A){MA(A)&&(this.buffer+="")}value(){return this.buffer}span(A){this.buffer+=``}}const RA=(A={})=>{const e={children:[]};return Object.assign(e,A),e};class IA{constructor(){this.rootNode=RA(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(A){this.top.children.push(A)}openNode(A){const e=RA({scope:A});this.add(e),this.stack.push(e)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(A){return this.constructor._walk(A,this.rootNode)}static _walk(A,e){return"string"==typeof e?A.addText(e):e.children&&(A.openNode(e),e.children.forEach((e=>this._walk(A,e))),A.closeNode(e)),A}static _collapse(A){"string"!=typeof A&&A.children&&(A.children.every((A=>"string"==typeof A))?A.children=[A.children.join("")]:A.children.forEach((A=>{IA._collapse(A)})))}}class uA extends IA{constructor(A){super(),this.options=A}addKeyword(A,e){""!==A&&(this.openNode(e),this.addText(A),this.closeNode())}addText(A){""!==A&&this.add(A)}addSublanguage(A,e){const t=A.root;t.sublanguage=!0,t.language=e,this.add(t)}toHTML(){return new wA(this,this.options).value()}finalize(){return!0}}function dA(A){return A?"string"==typeof A?A:A.source:null}function GA(A){return DA("(?=",A,")")}function CA(A){return DA("(?:",A,")*")}function kA(A){return DA("(?:",A,")?")}function DA(...A){return A.map((A=>dA(A))).join("")}function FA(...A){const e=function(A){const e=A[A.length-1];return"object"==typeof e&&e.constructor===Object?(A.splice(A.length-1,1),e):{}}(A);return"("+(e.capture?"":"?:")+A.map((A=>dA(A))).join("|")+")"}function YA(A){return new RegExp(A.toString()+"|").exec("").length-1}const UA=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function fA(A,{joinWith:e}){let t=0;return A.map((A=>{t+=1;const e=t;let n=dA(A),i="";for(;n.length>0;){const A=UA.exec(n);if(!A){i+=n;break}i+=n.substring(0,A.index),n=n.substring(A.index+A[0].length),"\\"===A[0][0]&&A[1]?i+="\\"+String(Number(A[1])+e):(i+=A[0],"("===A[0]&&t++)}return i})).map((A=>`(${A})`)).join(e)}const NA="[a-zA-Z]\\w*",SA="[a-zA-Z_]\\w*",mA="\\b\\d+(\\.\\d+)?",yA="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",bA="\\b(0b[01]+)",HA={begin:"\\\\[\\s\\S]",relevance:0},TA={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[HA]},zA={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[HA]},xA=function(A,e,t={}){const n=hA({scope:"comment",begin:A,end:e,contains:[]},t);n.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const i=FA("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return n.contains.push({begin:DA(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),n},pA=xA("//","$"),JA=xA("/\\*","\\*/"),jA=xA("#","$");var ZA=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:NA,UNDERSCORE_IDENT_RE:SA,NUMBER_RE:mA,C_NUMBER_RE:yA,BINARY_NUMBER_RE:bA,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(A={})=>{const e=/^#![ ]*\//;return A.binary&&(A.begin=DA(e,/.*\b/,A.binary,/\b.*/)),hA({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(A,e)=>{0!==A.index&&e.ignoreMatch()}},A)},BACKSLASH_ESCAPE:HA,APOS_STRING_MODE:TA,QUOTE_STRING_MODE:zA,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT:xA,C_LINE_COMMENT_MODE:pA,C_BLOCK_COMMENT_MODE:JA,HASH_COMMENT_MODE:jA,NUMBER_MODE:{scope:"number",begin:mA,relevance:0},C_NUMBER_MODE:{scope:"number",begin:yA,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:bA,relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[HA,{begin:/\[/,end:/\]/,relevance:0,contains:[HA]}]}]},TITLE_MODE:{scope:"title",begin:NA,relevance:0},UNDERSCORE_TITLE_MODE:{scope:"title",begin:SA,relevance:0},METHOD_GUARD:{begin:"\\.\\s*"+SA,relevance:0},END_SAME_AS_BEGIN:function(A){return Object.assign(A,{"on:begin":(A,e)=>{e.data._beginMatch=A[1]},"on:end":(A,e)=>{e.data._beginMatch!==A[1]&&e.ignoreMatch()}})}});function PA(A,e){"."===A.input[A.index-1]&&e.ignoreMatch()}function VA(A){void 0!==A.className&&(A.scope=A.className,delete A.className)}function LA(A,e){e&&A.beginKeywords&&(A.begin="\\b("+A.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",A.__beforeBegin=PA,A.keywords=A.keywords||A.beginKeywords,delete A.beginKeywords,void 0===A.relevance&&(A.relevance=0))}function vA(A){Array.isArray(A.illegal)&&(A.illegal=FA(...A.illegal))}function OA(A){if(A.match){if(A.begin||A.end)throw new Error("begin & end are not supported with match");A.begin=A.match,delete A.match}}function _A(A){void 0===A.relevance&&(A.relevance=1)}const KA=A=>{if(!A.beforeMatch)return;if(A.starts)throw new Error("beforeMatch cannot be used with starts");const e=Object.assign({},A);Object.keys(A).forEach((e=>{delete A[e]})),A.keywords=e.keywords,A.begin=DA(e.beforeMatch,GA(e.begin)),A.starts={relevance:0,contains:[Object.assign(e,{endsParent:!0})]},A.relevance=0,delete e.beforeMatch},WA=["of","and","for","in","not","or","if","then","parent","list","value"],XA="keyword";function qA(A,e,t=XA){const n=Object.create(null);return"string"==typeof A?i(t,A.split(" ")):Array.isArray(A)?i(t,A):Object.keys(A).forEach((function(t){Object.assign(n,qA(A[t],e,t))})),n;function i(A,t){e&&(t=t.map((A=>A.toLowerCase()))),t.forEach((function(e){const t=e.split("|");n[t[0]]=[A,$A(t[0],t[1])]}))}}function $A(A,e){return e?Number(e):function(A){return WA.includes(A.toLowerCase())}(A)?0:1}const Ae={},ee=A=>{console.error(A)},te=(A,...e)=>{console.log(`WARN: ${A}`,...e)},ne=(A,e)=>{Ae[`${A}/${e}`]||(console.log(`Deprecated as of ${A}. ${e}`),Ae[`${A}/${e}`]=!0)},ie=new Error;function Be(A,e,{key:t}){let n=0;const i=A[t],B={},E={};for(let A=1;A<=e.length;A++)E[A+n]=i[A],B[A+n]=!0,n+=YA(e[A-1]);A[t]=E,A[t]._emit=B,A[t]._multi=!0}function Ee(A){!function(A){A.scope&&"object"==typeof A.scope&&null!==A.scope&&(A.beginScope=A.scope,delete A.scope)}(A),"string"==typeof A.beginScope&&(A.beginScope={_wrap:A.beginScope}),"string"==typeof A.endScope&&(A.endScope={_wrap:A.endScope}),function(A){if(Array.isArray(A.begin)){if(A.skip||A.excludeBegin||A.returnBegin)throw ee("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),ie;if("object"!=typeof A.beginScope||null===A.beginScope)throw ee("beginScope must be object"),ie;Be(A,A.begin,{key:"beginScope"}),A.begin=fA(A.begin,{joinWith:""})}}(A),function(A){if(Array.isArray(A.end)){if(A.skip||A.excludeEnd||A.returnEnd)throw ee("skip, excludeEnd, returnEnd not compatible with endScope: {}"),ie;if("object"!=typeof A.endScope||null===A.endScope)throw ee("endScope must be object"),ie;Be(A,A.end,{key:"endScope"}),A.end=fA(A.end,{joinWith:""})}}(A)}function se(A){function e(e,t){return new RegExp(dA(e),"m"+(A.case_insensitive?"i":"")+(A.unicodeRegex?"u":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(A,e){e.position=this.position++,this.matchIndexes[this.matchAt]=e,this.regexes.push([e,A]),this.matchAt+=YA(A)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const A=this.regexes.map((A=>A[1]));this.matcherRe=e(fA(A,{joinWith:"|"}),!0),this.lastIndex=0}exec(A){this.matcherRe.lastIndex=this.lastIndex;const e=this.matcherRe.exec(A);if(!e)return null;const t=e.findIndex(((A,e)=>e>0&&void 0!==A)),n=this.matchIndexes[t];return e.splice(0,t),Object.assign(e,n)}}class n{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(A){if(this.multiRegexes[A])return this.multiRegexes[A];const e=new t;return this.rules.slice(A).forEach((([A,t])=>e.addRule(A,t))),e.compile(),this.multiRegexes[A]=e,e}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(A,e){this.rules.push([A,e]),"begin"===e.type&&this.count++}exec(A){const e=this.getMatcher(this.regexIndex);e.lastIndex=this.lastIndex;let t=e.exec(A);if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{const e=this.getMatcher(0);e.lastIndex=this.lastIndex+1,t=e.exec(A)}return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&this.considerAll()),t}}if(A.compilerExtensions||(A.compilerExtensions=[]),A.contains&&A.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return A.classNameAliases=hA(A.classNameAliases||{}),function t(i,B){const E=i;if(i.isCompiled)return E;[VA,OA,Ee,KA].forEach((A=>A(i,B))),A.compilerExtensions.forEach((A=>A(i,B))),i.__beforeBegin=null,[LA,vA,_A].forEach((A=>A(i,B))),i.isCompiled=!0;let s=null;return"object"==typeof i.keywords&&i.keywords.$pattern&&(i.keywords=Object.assign({},i.keywords),s=i.keywords.$pattern,delete i.keywords.$pattern),s=s||/\w+/,i.keywords&&(i.keywords=qA(i.keywords,A.case_insensitive)),E.keywordPatternRe=e(s,!0),B&&(i.begin||(i.begin=/\B|\b/),E.beginRe=e(E.begin),i.end||i.endsWithParent||(i.end=/\B|\b/),i.end&&(E.endRe=e(E.end)),E.terminatorEnd=dA(E.end)||"",i.endsWithParent&&B.terminatorEnd&&(E.terminatorEnd+=(i.end?"|":"")+B.terminatorEnd)),i.illegal&&(E.illegalRe=e(i.illegal)),i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map((function(A){return function(A){return A.variants&&!A.cachedVariants&&(A.cachedVariants=A.variants.map((function(e){return hA(A,{variants:null},e)}))),A.cachedVariants?A.cachedVariants:re(A)?hA(A,{starts:A.starts?hA(A.starts):null}):Object.isFrozen(A)?hA(A):A}("self"===A?i:A)}))),i.contains.forEach((function(A){t(A,E)})),i.starts&&t(i.starts,B),E.matcher=function(A){const e=new n;return A.contains.forEach((A=>e.addRule(A.begin,{rule:A,type:"begin"}))),A.terminatorEnd&&e.addRule(A.terminatorEnd,{type:"end"}),A.illegal&&e.addRule(A.illegal,{type:"illegal"}),e}(E),E}(A)}function re(A){return!!A&&(A.endsWithParent||re(A.starts))}class oe extends Error{constructor(A,e){super(A),this.name="HTMLInjectionError",this.html=e}}const ce=lA,ge=hA,ae=Symbol("nomatch");var Qe=function(A){const e=Object.create(null),t=Object.create(null),n=[];let i=!0;const B="Could not find the language '{}', did you forget to load/include a language module?",E={disableAutodetect:!0,name:"Plain text",contains:[]};let s={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:uA};function r(A){return s.noHighlightRe.test(A)}function o(A,e,t){let n="",i="";"object"==typeof e?(n=A,t=e.ignoreIllegals,i=e.language):(ne("10.7.0","highlight(lang, code, ...args) has been deprecated."),ne("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),i=A,n=e),void 0===t&&(t=!0);const B={code:n,language:i};R("before:highlight",B);const E=B.result?B.result:c(B.language,B.code,t);return E.code=B.code,R("after:highlight",E),E}function c(A,t,n,E){const r=Object.create(null);function o(){if(!k.keywords)return void F.addText(Y);let A=0;k.keywordPatternRe.lastIndex=0;let e=k.keywordPatternRe.exec(Y),t="";for(;e;){t+=Y.substring(A,e.index);const n=d.case_insensitive?e[0].toLowerCase():e[0],i=k.keywords[n];if(i){const[A,B]=i;F.addText(t),t="",r[n]=(r[n]||0)+1,r[n]<=7&&(U+=B),A.startsWith("_")?t+=e[0]:F.addKeyword(e[0],d.classNameAliases[A]||A)}else t+=e[0];A=k.keywordPatternRe.lastIndex,e=k.keywordPatternRe.exec(Y)}t+=Y.substring(A),F.addText(t)}function a(){null!=k.subLanguage?function(){if(""===Y)return;let A=null;if("string"==typeof k.subLanguage){if(!e[k.subLanguage])return void F.addText(Y);A=c(k.subLanguage,Y,!0,D[k.subLanguage]),D[k.subLanguage]=A._top}else A=g(Y,k.subLanguage.length?k.subLanguage:null);k.relevance>0&&(U+=A.relevance),F.addSublanguage(A._emitter,A.language)}():o(),Y=""}function Q(A,e){let t=1;const n=e.length-1;for(;t<=n;){if(!A._emit[t]){t++;continue}const n=d.classNameAliases[A[t]]||A[t],i=e[t];n?F.addKeyword(i,n):(Y=i,o(),Y=""),t++}}function l(A,e){return A.scope&&"string"==typeof A.scope&&F.openNode(d.classNameAliases[A.scope]||A.scope),A.beginScope&&(A.beginScope._wrap?(F.addKeyword(Y,d.classNameAliases[A.beginScope._wrap]||A.beginScope._wrap),Y=""):A.beginScope._multi&&(Q(A.beginScope,e),Y="")),k=Object.create(A,{parent:{value:k}}),k}function M(A,e,t){let n=function(A,e){const t=A&&A.exec(e);return t&&0===t.index}(A.endRe,t);if(n){if(A["on:end"]){const t=new QA(A);A["on:end"](e,t),t.isMatchIgnored&&(n=!1)}if(n){for(;A.endsParent&&A.parent;)A=A.parent;return A}}if(A.endsWithParent)return M(A.parent,e,t)}function w(A){return 0===k.matcher.regexIndex?(Y+=A[0],1):(S=!0,0)}function R(A){const e=A[0],n=t.substring(A.index),i=M(k,A,n);if(!i)return ae;const B=k;k.endScope&&k.endScope._wrap?(a(),F.addKeyword(e,k.endScope._wrap)):k.endScope&&k.endScope._multi?(a(),Q(k.endScope,A)):B.skip?Y+=e:(B.returnEnd||B.excludeEnd||(Y+=e),a(),B.excludeEnd&&(Y=e));do{k.scope&&F.closeNode(),k.skip||k.subLanguage||(U+=k.relevance),k=k.parent}while(k!==i.parent);return i.starts&&l(i.starts,A),B.returnEnd?0:e.length}let I={};function u(e,B){const E=B&&B[0];if(Y+=e,null==E)return a(),0;if("begin"===I.type&&"end"===B.type&&I.index===B.index&&""===E){if(Y+=t.slice(B.index,B.index+1),!i){const e=new Error(`0 width match regex (${A})`);throw e.languageName=A,e.badRule=I.rule,e}return 1}if(I=B,"begin"===B.type)return function(A){const e=A[0],t=A.rule,n=new QA(t),i=[t.__beforeBegin,t["on:begin"]];for(const t of i)if(t&&(t(A,n),n.isMatchIgnored))return w(e);return t.skip?Y+=e:(t.excludeBegin&&(Y+=e),a(),t.returnBegin||t.excludeBegin||(Y=e)),l(t,A),t.returnBegin?0:e.length}(B);if("illegal"===B.type&&!n){const A=new Error('Illegal lexeme "'+E+'" for mode "'+(k.scope||"")+'"');throw A.mode=k,A}if("end"===B.type){const A=R(B);if(A!==ae)return A}if("illegal"===B.type&&""===E)return 1;if(N>1e5&&N>3*B.index)throw new Error("potential infinite loop, way more iterations than matches");return Y+=E,E.length}const d=h(A);if(!d)throw ee(B.replace("{}",A)),new Error('Unknown language: "'+A+'"');const G=se(d);let C="",k=E||G;const D={},F=new s.__emitter(s);!function(){const A=[];for(let e=k;e!==d;e=e.parent)e.scope&&A.unshift(e.scope);A.forEach((A=>F.openNode(A)))}();let Y="",U=0,f=0,N=0,S=!1;try{for(k.matcher.considerAll();;){N++,S?S=!1:k.matcher.considerAll(),k.matcher.lastIndex=f;const A=k.matcher.exec(t);if(!A)break;const e=u(t.substring(f,A.index),A);f=A.index+e}return u(t.substring(f)),F.closeAllNodes(),F.finalize(),C=F.toHTML(),{language:A,value:C,relevance:U,illegal:!1,_emitter:F,_top:k}}catch(e){if(e.message&&e.message.includes("Illegal"))return{language:A,value:ce(t),illegal:!0,relevance:0,_illegalBy:{message:e.message,index:f,context:t.slice(f-100,f+100),mode:e.mode,resultSoFar:C},_emitter:F};if(i)return{language:A,value:ce(t),illegal:!1,relevance:0,errorRaised:e,_emitter:F,_top:k};throw e}}function g(A,t){t=t||s.languages||Object.keys(e);const n=function(A){const e={value:ce(A),illegal:!1,relevance:0,_top:E,_emitter:new s.__emitter(s)};return e._emitter.addText(A),e}(A),i=t.filter(h).filter(w).map((e=>c(e,A,!1)));i.unshift(n);const B=i.sort(((A,e)=>{if(A.relevance!==e.relevance)return e.relevance-A.relevance;if(A.language&&e.language){if(h(A.language).supersetOf===e.language)return 1;if(h(e.language).supersetOf===A.language)return-1}return 0})),[r,o]=B,g=r;return g.secondBest=o,g}function a(A){let e=null;const n=function(A){let e=A.className+" ";e+=A.parentNode?A.parentNode.className:"";const t=s.languageDetectRe.exec(e);if(t){const e=h(t[1]);return e||(te(B.replace("{}",t[1])),te("Falling back to no-highlight mode for this block.",A)),e?t[1]:"no-highlight"}return e.split(/\s+/).find((A=>r(A)||h(A)))}(A);if(r(n))return;if(R("before:highlightElement",{el:A,language:n}),A.children.length>0&&(s.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(A)),s.throwUnescapedHTML))throw new oe("One of your code blocks includes unescaped HTML.",A.innerHTML);e=A;const i=e.textContent,E=n?o(i,{language:n,ignoreIllegals:!0}):g(i);A.innerHTML=E.value,function(A,e,n){const i=e&&t[e]||n;A.classList.add("hljs"),A.classList.add(`language-${i}`)}(A,n,E.language),A.result={language:E.language,re:E.relevance,relevance:E.relevance},E.secondBest&&(A.secondBest={language:E.secondBest.language,relevance:E.secondBest.relevance}),R("after:highlightElement",{el:A,result:E,text:i})}let Q=!1;function l(){"loading"!==document.readyState?document.querySelectorAll(s.cssSelector).forEach(a):Q=!0}function h(A){return A=(A||"").toLowerCase(),e[A]||e[t[A]]}function M(A,{languageName:e}){"string"==typeof A&&(A=[A]),A.forEach((A=>{t[A.toLowerCase()]=e}))}function w(A){const e=h(A);return e&&!e.disableAutodetect}function R(A,e){const t=A;n.forEach((function(A){A[t]&&A[t](e)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){Q&&l()}),!1),Object.assign(A,{highlight:o,highlightAuto:g,highlightAll:l,highlightElement:a,highlightBlock:function(A){return ne("10.7.0","highlightBlock will be removed entirely in v12.0"),ne("10.7.0","Please use highlightElement now."),a(A)},configure:function(A){s=ge(s,A)},initHighlighting:()=>{l(),ne("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){l(),ne("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(t,n){let B=null;try{B=n(A)}catch(A){if(ee("Language definition for '{}' could not be registered.".replace("{}",t)),!i)throw A;ee(A),B=E}B.name||(B.name=t),e[t]=B,B.rawDefinition=n.bind(null,A),B.aliases&&M(B.aliases,{languageName:t})},unregisterLanguage:function(A){delete e[A];for(const e of Object.keys(t))t[e]===A&&delete t[e]},listLanguages:function(){return Object.keys(e)},getLanguage:h,registerAliases:M,autoDetection:w,inherit:ge,addPlugin:function(A){!function(A){A["before:highlightBlock"]&&!A["before:highlightElement"]&&(A["before:highlightElement"]=e=>{A["before:highlightBlock"](Object.assign({block:e.el},e))}),A["after:highlightBlock"]&&!A["after:highlightElement"]&&(A["after:highlightElement"]=e=>{A["after:highlightBlock"](Object.assign({block:e.el},e))})}(A),n.push(A)}}),A.debugMode=function(){i=!1},A.safeMode=function(){i=!0},A.versionString="11.6.0",A.regex={concat:DA,lookahead:GA,either:FA,optional:kA,anyNumberOfTimes:CA};for(const A in ZA)"object"==typeof ZA[A]&&gA.exports(ZA[A]);return Object.assign(A,ZA),A}({}),le=Qe;Qe.HighlightJS=Qe,Qe.default=Qe;var he=le;function Me(A,e=[]){return A.map((A=>{const t=[...e,...A.properties?A.properties.className:[]];return A.children?Me(A.children,t):{text:A.value,classes:t}})).flat()}function we(A){return A.value||A.children||[]}function Re({doc:A,name:e,lowlight:t,defaultLanguage:n}){const i=[];return D(A,(A=>A.type.name===e)).forEach((A=>{let e=A.pos+1;const B=A.node.attrs.language||n,E=t.listLanguages();Me(B&&(E.includes(B)||Boolean(he.getLanguage(B)))?we(t.highlight(B,A.node.textContent)):we(t.highlightAuto(A.node.textContent))).forEach((A=>{const t=e+A.text.length;if(A.classes.length){const n=F.inline(e,t,{class:A.classes.join(" ")});i.push(n)}e=t}))})),k.create(A,i)}function Ie({name:A,lowlight:e,defaultLanguage:t}){if(!["highlight","highlightAuto","listLanguages"].every((A=>"function"==typeof e[A])))throw Error("You should provide an instance of lowlight to use the code-block-lowlight extension");const n=new E({key:new s("lowlight"),state:{init:(n,{doc:i})=>Re({doc:i,name:A,lowlight:e,defaultLanguage:t}),apply:(n,i,B,E)=>{const s=B.selection.$head.parent.type.name,r=E.selection.$head.parent.type.name,o=D(B.doc,(e=>e.type.name===A)),c=D(E.doc,(e=>e.type.name===A));return n.docChanged&&([s,r].includes(A)||c.length!==o.length||n.steps.some((A=>void 0!==A.from&&void 0!==A.to&&o.some((e=>e.pos>=A.from&&e.pos+e.node.nodeSize<=A.to)))))?Re({doc:n.doc,name:A,lowlight:e,defaultLanguage:t}):i.map(n.mapping,n.doc)}},props:{decorations:A=>n.getState(A)}});return n}const ue=cA.extend({addOptions(){var A;return{...null===(A=this.parent)||void 0===A?void 0:A.call(this),lowlight:{},defaultLanguage:null}},addProseMirrorPlugins(){var A;return[...(null===(A=this.parent)||void 0===A?void 0:A.call(this))||[],Ie({name:this.name,lowlight:this.options.lowlight,defaultLanguage:this.options.defaultLanguage})]}});const de=function(A){const e={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},t=function(A){const e=A.regex,t=A.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",B="(?!struct)("+n+"|"+e.optional(i)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",E={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[A.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},A.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},r={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},o={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},A.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},t,A.C_BLOCK_COMMENT_MODE]},c={className:"title",begin:e.optional(i)+A.IDENT_RE,relevance:0},g=e.optional(i)+A.IDENT_RE+"\\s*\\(",a={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},Q={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,A.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},l=[Q,o,E,t,A.C_BLOCK_COMMENT_MODE,r,s],h={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:a,contains:l.concat([{begin:/\(/,end:/\)/,keywords:a,contains:l.concat(["self"]),relevance:0}]),relevance:0};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:a,illegal:".]/,contains:[{begin:n,keywords:a,relevance:0},{begin:g,returnBegin:!0,contains:[c],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[s,r]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:[t,A.C_BLOCK_COMMENT_MODE,s,r,E,{begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:["self",t,A.C_BLOCK_COMMENT_MODE,s,r,E]}]},E,t,A.C_BLOCK_COMMENT_MODE,o]},Q,l,[o,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)",end:">",keywords:a,contains:["self",E]},{begin:A.IDENT_RE+"::",keywords:a},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}(A),n=t.keywords;return n.type=[...n.type,...e.type],n.literal=[...n.literal,...e.literal],n.built_in=[...n.built_in,...e.built_in],n._hints=e._hints,t.name="Arduino",t.aliases=["ino"],t.supersetOf="cpp",t};const Ge=function(A){const e=A.regex,t=A.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",B="("+n+"|"+e.optional(i)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",E={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[A.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},A.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},r={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},o={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},A.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},t,A.C_BLOCK_COMMENT_MODE]},c={className:"title",begin:e.optional(i)+A.IDENT_RE,relevance:0},g=e.optional(i)+A.IDENT_RE+"\\s*\\(",a={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},Q=[o,E,t,A.C_BLOCK_COMMENT_MODE,r,s],l={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:a,contains:Q.concat([{begin:/\(/,end:/\)/,keywords:a,contains:Q.concat(["self"]),relevance:0}]),relevance:0},h={begin:"("+B+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:a,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:a,relevance:0},{begin:g,returnBegin:!0,contains:[A.inherit(c,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:[t,A.C_BLOCK_COMMENT_MODE,s,r,E,{begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:["self",t,A.C_BLOCK_COMMENT_MODE,s,r,E]}]},E,t,A.C_BLOCK_COMMENT_MODE,o]};return{name:"C",aliases:["h"],keywords:a,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},A.TITLE_MODE]}]),exports:{preprocessor:o,strings:s,keywords:a}}};const Ce=function(A){const e=A.regex,t=A.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",B="(?!struct)("+n+"|"+e.optional(i)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",E={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[A.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},A.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},r={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},o={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},A.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},t,A.C_BLOCK_COMMENT_MODE]},c={className:"title",begin:e.optional(i)+A.IDENT_RE,relevance:0},g=e.optional(i)+A.IDENT_RE+"\\s*\\(",a={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},Q={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,A.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},l=[Q,o,E,t,A.C_BLOCK_COMMENT_MODE,r,s],h={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:a,contains:l.concat([{begin:/\(/,end:/\)/,keywords:a,contains:l.concat(["self"]),relevance:0}]),relevance:0};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:a,illegal:".]/,contains:[{begin:n,keywords:a,relevance:0},{begin:g,returnBegin:!0,contains:[c],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[s,r]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:[t,A.C_BLOCK_COMMENT_MODE,s,r,E,{begin:/\(/,end:/\)/,keywords:a,relevance:0,contains:["self",t,A.C_BLOCK_COMMENT_MODE,s,r,E]}]},E,t,A.C_BLOCK_COMMENT_MODE,o]},Q,l,[o,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)",end:">",keywords:a,contains:["self",E]},{begin:A.IDENT_RE+"::",keywords:a},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}};const ke=function(A){const e={keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]),built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],literal:["default","false","null","true"]},t=A.inherit(A.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),n={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},i={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},B=A.inherit(i,{illegal:/\n/}),E={className:"subst",begin:/\{/,end:/\}/,keywords:e},s=A.inherit(E,{illegal:/\n/}),r={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},A.BACKSLASH_ESCAPE,s]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},E]},c=A.inherit(o,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]});E.contains=[o,r,i,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,n,A.C_BLOCK_COMMENT_MODE],s.contains=[c,r,B,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,n,A.inherit(A.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const g={variants:[o,r,i,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},a={begin:"<",end:">",contains:[{beginKeywords:"in out"},t]},Q=A.IDENT_RE+"(<"+A.IDENT_RE+"(\\s*,\\s*"+A.IDENT_RE+")*>)?(\\[\\])?",l={begin:"@"+A.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:e,illegal:/::/,contains:[A.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},g,n,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},t,a,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[t,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[t,a,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+Q+"\\s+)+"+A.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:e,contains:[{beginKeywords:["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"].join(" "),relevance:0},{begin:A.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[A.TITLE_MODE,a],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:e,relevance:0,contains:[g,n,A.C_BLOCK_COMMENT_MODE]},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},l]}},De=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Fe=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],Ye=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],Ue=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],fe=["align-content","align-items","align-self","all","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-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-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","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-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","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","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","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();const Ne=function(A){const e={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:e,illegal:"Te(A,e,t-1)))}const ze=function(A){const e=A.regex,t="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",n=t+Te("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),i={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},B={className:"meta",begin:"@"+t,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},E={className:"params",begin:/\(/,end:/\)/,keywords:i,relevance:0,contains:[A.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/,contains:[A.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[A.BACKSLASH_ESCAPE]},A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",3:"title.class"},contains:[E,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+n+"\\s+)",A.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:i,relevance:0,contains:[B,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,He,A.C_BLOCK_COMMENT_MODE]},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},He,B]}},xe="[A-Za-z$_][0-9A-Za-z$_]*",pe=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],Je=["true","false","null","undefined","NaN","Infinity"],je=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Ze=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Pe=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Ve=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Le=[].concat(Pe,je,Ze);const ve=function(A){const e=A.regex,t=xe,n={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(A,e)=>{const t=A[0].length+A.index,n=A.input[t];if("<"===n||","===n)return void e.ignoreMatch();let i;">"===n&&(((A,{after:e})=>{const t="",Y={match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(F)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[R]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{PARAMS_CONTAINS:w,CLASS_REFERENCE:u},illegal:/#(?![$_A-z])/,contains:[A.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,c,g,a,Q,l,{match:/\$\d+/},r,u,{className:"attr",begin:t+e.lookahead(":"),relevance:0},Y,{begin:"("+A.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[l,A.REGEXP_MODE,{className:"function",begin:F,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:A.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:w}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:n.begin,"on:begin":n.isTrulyOpeningTag,end:n.end}],subLanguage:"xml",contains:[{begin:n.begin,end:n.end,skip:!0,contains:["self"]}]}]},d,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+A.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[R,A.inherit(A.TITLE_MODE,{begin:t,className:"title.function"})]},{match:/\.\.\./,relevance:0},k,{match:"\\$"+t,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[R]},G,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},I,D,{match:/\$[(.]/}]}};const Oe=function(A){const e=["true","false","null"],t={scope:"literal",beginKeywords:e.join(" ")};return{name:"JSON",keywords:{literal:e},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},A.QUOTE_STRING_MODE,t,A.C_NUMBER_MODE,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE],illegal:"\\S"}};var _e="[0-9](_*[0-9])*",Ke=`\\.(${_e})`,We="[0-9a-fA-F](_*[0-9a-fA-F])*",Xe={className:"number",variants:[{begin:`(\\b(${_e})((${Ke})|\\.)?|(${Ke}))[eE][+-]?(${_e})[fFdD]?\\b`},{begin:`\\b(${_e})((${Ke})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Ke})[fFdD]?\\b`},{begin:`\\b(${_e})[fFdD]\\b`},{begin:`\\b0[xX]((${We})\\.?|(${We})?\\.(${We}))[pP][+-]?(${_e})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${We})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};const qe=function(A){const e={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},t={className:"symbol",begin:A.UNDERSCORE_IDENT_RE+"@"},n={className:"subst",begin:/\$\{/,end:/\}/,contains:[A.C_NUMBER_MODE]},i={className:"variable",begin:"\\$"+A.UNDERSCORE_IDENT_RE},B={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,n]},{begin:"'",end:"'",illegal:/\n/,contains:[A.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[A.BACKSLASH_ESCAPE,i,n]}]};n.contains.push(B);const E={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+A.UNDERSCORE_IDENT_RE+")?"},s={className:"meta",begin:"@"+A.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[A.inherit(B,{className:"string"}),"self"]}]},r=Xe,o=A.COMMENT("/\\*","\\*/",{contains:[A.C_BLOCK_COMMENT_MODE]}),c={variants:[{className:"type",begin:A.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},g=c;return g.variants[1].contains=[c],c.variants[1].contains=[g],{name:"Kotlin",aliases:["kt","kts"],keywords:e,contains:[A.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),A.C_LINE_COMMENT_MODE,o,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},t,E,s,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:e,relevance:5,contains:[{begin:A.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[A.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:e,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[c,A.C_LINE_COMMENT_MODE,o],relevance:0},A.C_LINE_COMMENT_MODE,o,E,s,B,A.C_NUMBER_MODE]},o]},{begin:[/class|interface|trait/,/\s+/,A.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},A.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},E,s]},B,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},r]}},$e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],At=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],et=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],tt=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],nt=["align-content","align-items","align-self","all","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-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-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","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-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","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","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","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),it=et.concat(tt);const Bt=function(A){const e=(A=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:A.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:A.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}))(A),t=it,n="[\\w-]+",i="("+n+"|@\\{"+n+"\\})",B=[],E=[],s=function(A){return{className:"string",begin:"~?"+A+".*?"+A}},r=function(A,e,t){return{className:A,begin:e,relevance:t}},o={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:At.join(" ")},c={begin:"\\(",end:"\\)",contains:E,keywords:o,relevance:0};E.push(A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,s("'"),s('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},e.HEXCOLOR,c,r("variable","@@?"+n,10),r("variable","@\\{"+n+"\\}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:n+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},e.IMPORTANT,{beginKeywords:"and not"},e.FUNCTION_DISPATCH);const g=E.concat({begin:/\{/,end:/\}/,contains:B}),a={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(E)},Q={begin:i+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+nt.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:E}}]},l={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:o,returnEnd:!0,contains:E,relevance:0}},h={className:"variable",variants:[{begin:"@"+n+"\\s*:",relevance:15},{begin:"@"+n}],starts:{end:"[;}]",returnEnd:!0,contains:g}},M={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:i,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,a,r("keyword","all\\b"),r("variable","@\\{"+n+"\\}"),{begin:"\\b("+$e.join("|")+")\\b",className:"selector-tag"},e.CSS_NUMBER_MODE,r("selector-tag",i,0),r("selector-id","#"+i),r("selector-class","\\."+i,0),r("selector-tag","&",0),e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+et.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+tt.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:g},{begin:"!important"},e.FUNCTION_DISPATCH]},w={begin:n+":(:)?"+`(${t.join("|")})`,returnBegin:!0,contains:[M]};return B.push(A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,l,h,w,Q,M,a,e.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:B}};const Et=function(A){const e={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},t={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:A.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},n={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},i={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},B=A.inherit(n,{contains:[]}),E=A.inherit(i,{contains:[]});n.contains.push(E),i.contains.push(B);let s=[e,t];return[n,i,B,E].forEach((A=>{A.contains=A.contains.concat(s)})),s=s.concat(n,i),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:s},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:s}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},n,i,{className:"quote",begin:"^>\\s+",contains:s,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}};const st=function(A){const e=A.regex,t=/(?![A-Za-z0-9])(?![$])/,n=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),i=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),B={scope:"variable",match:"\\$+"+n},E={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},s=A.inherit(A.APOS_STRING_MODE,{illegal:null}),r="[ \t\n]",o={scope:"string",variants:[A.inherit(A.QUOTE_STRING_MODE,{illegal:null,contains:A.QUOTE_STRING_MODE.contains.concat(E)}),s,{begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:A.QUOTE_STRING_MODE.contains.concat(E),"on:begin":(A,e)=>{e.data._beginMatch=A[1]||A[2]},"on:end":(A,e)=>{e.data._beginMatch!==A[1]&&e.ignoreMatch()}},A.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},c={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},g=["false","null","true"],a=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],Q=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],l={keyword:a,literal:(A=>{const e=[];return A.forEach((A=>{e.push(A),A.toLowerCase()===A?e.push(A.toUpperCase()):e.push(A.toLowerCase())})),e})(g),built_in:Q},h=A=>A.map((A=>A.replace(/\|\d+$/,""))),M={variants:[{match:[/new/,e.concat(r,"+"),e.concat("(?!",h(Q).join("\\b|"),"\\b)"),i],scope:{1:"keyword",4:"title.class"}}]},w=e.concat(n,"\\b(?!\\()"),R={variants:[{match:[e.concat(/::/,e.lookahead(/(?!class\b)/)),w],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[i,e.concat(/::/,e.lookahead(/(?!class\b)/)),w],scope:{1:"title.class",3:"variable.constant"}},{match:[i,e.concat("::",e.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},I={scope:"attr",match:e.concat(n,e.lookahead(":"),e.lookahead(/(?!::)/))},u={relevance:0,begin:/\(/,end:/\)/,keywords:l,contains:[I,B,R,A.C_BLOCK_COMMENT_MODE,o,c,M]},d={relevance:0,match:[/\b/,e.concat("(?!fn\\b|function\\b|",h(a).join("\\b|"),"|",h(Q).join("\\b|"),"\\b)"),n,e.concat(r,"*"),e.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[u]};u.contains.push(d);const G=[I,R,A.C_BLOCK_COMMENT_MODE,o,c,M];return{case_insensitive:!1,keywords:l,contains:[{begin:e.concat(/#\[\s*/,i),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:g,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:g,keyword:["new","array"]},contains:["self",...G]},...G,{scope:"meta",match:i}]},A.HASH_COMMENT_MODE,A.COMMENT("//","$"),A.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:A.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},B,d,R,{match:[/const/,/\s/,n],scope:{1:"keyword",3:"variable.constant"}},M,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},A.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:l,contains:["self",B,R,A.C_BLOCK_COMMENT_MODE,o,c]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},A.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[A.inherit(A.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},A.UNDERSCORE_TITLE_MODE]},o,c]}};const rt=function(A){const e=A.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,n=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:n,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},B={className:"meta",begin:/^(>>>|\.\.\.) /},E={className:"subst",begin:/\{/,end:/\}/,keywords:i,illegal:/#/},s={begin:/\{\{/,relevance:0},r={className:"string",contains:[A.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[A.BACKSLASH_ESCAPE,B],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[A.BACKSLASH_ESCAPE,B],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[A.BACKSLASH_ESCAPE,B,s,E]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[A.BACKSLASH_ESCAPE,B,s,E]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[A.BACKSLASH_ESCAPE,s,E]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[A.BACKSLASH_ESCAPE,s,E]},A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},o="[0-9](_?[0-9])*",c=`(\\b(${o}))?\\.(${o})|\\b(${o})\\.`,g=`\\b|${n.join("|")}`,a={className:"number",relevance:0,variants:[{begin:`(\\b(${o})|(${c}))[eE][+-]?(${o})[jJ]?(?=${g})`},{begin:`(${c})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${o})[jJ](?=${g})`}]},Q={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},l={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",B,a,r,A.HASH_COMMENT_MODE]}]};return E.contains=[r,a,B],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i,illegal:/(<\/|\?)|=>/,contains:[B,a,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},r,Q,A.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[l]},{variants:[{match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[a,l,r]}]}};const ot=function(A){const e=A.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,n=e.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,B=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:t,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[A.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),A.HASH_COMMENT_MODE,{scope:"string",contains:[A.BACKSLASH_ESCAPE],variants:[A.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),A.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),A.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),A.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),A.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),A.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[i,n]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,n]},{scope:{1:"punctuation",2:"number"},match:[B,n]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,n]}]},{scope:{3:"operator"},match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:B},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}};const ct=function(A){const e=A.regex,t={className:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!let\b)/,A.IDENT_RE,e.lookahead(/\s*\(/))},n="([ui](8|16|32|64|128|size)|f(32|64))?",i=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],B=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:A.IDENT_RE+"!?",type:B,keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","unsafe","unsized","use","virtual","where","while","yield"],literal:["true","false","Some","None","Ok","Err"],built_in:i},illegal:""},t]}},gt=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],at=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],Qt=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],lt=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],ht=["align-content","align-items","align-self","all","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-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-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","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-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","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","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","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();const Mt=function(A){const e=(A=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:A.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:A.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}))(A),t=lt,n=Qt,i="@[a-z-]+",B={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,e.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+gt.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+n.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+t.join("|")+")"},B,{begin:/\(/,end:/\)/,contains:[e.CSS_NUMBER_MODE]},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+ht.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[e.BLOCK_COMMENT,B,e.HEXCOLOR,e.CSS_NUMBER_MODE,A.QUOTE_STRING_MODE,A.APOS_STRING_MODE,e.IMPORTANT,e.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:at.join(" ")},contains:[{begin:i,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},B,A.QUOTE_STRING_MODE,A.APOS_STRING_MODE,e.HEXCOLOR,e.CSS_NUMBER_MODE]},e.FUNCTION_DISPATCH]}};const wt=function(A){const e=A.regex,t=A.COMMENT("--","$"),n=["true","false","unknown"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],B=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],E=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],s=B,r=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((A=>!B.includes(A))),o={begin:e.concat(/\b/,e.either(...s),/\s*\(/),relevance:0,keywords:{built_in:s}};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(A,{exceptions:e,when:t}={}){const n=t;return e=e||[],A.map((A=>A.match(/\|\d+$/)||e.includes(A)?A:n(A)?`${A}|0`:A))}(r,{when:A=>A.length<3}),literal:n,type:i,built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{begin:e.either(...E),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:r.concat(E),literal:n,type:i}},{className:"type",begin:e.either("double precision","large object","with timezone","without timezone")},o,{className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},{className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/,contains:[{begin:/""/}]},A.C_NUMBER_MODE,A.C_BLOCK_COMMENT_MODE,t,{className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}};function Rt(A){return A?"string"==typeof A?A:A.source:null}function It(A){return ut("(?=",A,")")}function ut(...A){return A.map((A=>Rt(A))).join("")}function dt(...A){const e=function(A){const e=A[A.length-1];return"object"==typeof e&&e.constructor===Object?(A.splice(A.length-1,1),e):{}}(A);return"("+(e.capture?"":"?:")+A.map((A=>Rt(A))).join("|")+")"}const Gt=A=>ut(/\b/,A,/\w$/.test(A)?/\b/:/\B/),Ct=["Protocol","Type"].map(Gt),kt=["init","self"].map(Gt),Dt=["Any","Self"],Ft=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","distributed","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Yt=["false","nil","true"],Ut=["assignment","associativity","higherThan","left","lowerThan","none","right"],ft=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],Nt=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],St=dt(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),mt=dt(St,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),yt=ut(St,mt,"*"),bt=dt(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),Ht=dt(bt,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Tt=ut(bt,Ht,"*"),zt=ut(/[A-Z]/,Ht,"*"),xt=["autoclosure",ut(/convention\(/,dt("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",ut(/objc\(/,Tt,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],pt=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];const Jt=function(A){const e={match:/\s+/,relevance:0},t=A.COMMENT("/\\*","\\*/",{contains:["self"]}),n=[A.C_LINE_COMMENT_MODE,t],i={match:[/\./,dt(...Ct,...kt)],className:{2:"keyword"}},B={match:ut(/\./,dt(...Ft)),relevance:0},E=Ft.filter((A=>"string"==typeof A)).concat(["_|0"]),s={variants:[{className:"keyword",match:dt(...Ft.filter((A=>"string"!=typeof A)).concat(Dt).map(Gt),...kt)}]},r={$pattern:dt(/\b\w+/,/#\w+/),keyword:E.concat(ft),literal:Yt},o=[i,B,s],c=[{match:ut(/\./,dt(...Nt)),relevance:0},{className:"built_in",match:ut(/\b/,dt(...Nt),/(?=\()/)}],g={match:/->/,relevance:0},a=[g,{className:"operator",relevance:0,variants:[{match:yt},{match:`\\.(\\.|${mt})+`}]}],Q="([0-9]_*)+",l="([0-9a-fA-F]_*)+",h={className:"number",relevance:0,variants:[{match:`\\b(${Q})(\\.(${Q}))?([eE][+-]?(${Q}))?\\b`},{match:`\\b0x(${l})(\\.(${l}))?([pP][+-]?(${Q}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},M=(A="")=>({className:"subst",variants:[{match:ut(/\\/,A,/[0\\tnr"']/)},{match:ut(/\\/,A,/u\{[0-9a-fA-F]{1,8}\}/)}]}),w=(A="")=>({className:"subst",match:ut(/\\/,A,/[\t ]*(?:[\r\n]|\r\n)/)}),R=(A="")=>({className:"subst",label:"interpol",begin:ut(/\\/,A,/\(/),end:/\)/}),I=(A="")=>({begin:ut(A,/"""/),end:ut(/"""/,A),contains:[M(A),w(A),R(A)]}),u=(A="")=>({begin:ut(A,/"/),end:ut(/"/,A),contains:[M(A),R(A)]}),d={className:"string",variants:[I(),I("#"),I("##"),I("###"),u(),u("#"),u("##"),u("###")]},G={match:ut(/`/,Tt,/`/)},C=[G,{className:"variable",match:/\$\d+/},{className:"variable",match:`\\$${Ht}+`}],k=[{match:/(@|#(un)?)available/,className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:pt,contains:[...a,h,d]}]}},{className:"keyword",match:ut(/@/,dt(...xt))},{className:"meta",match:ut(/@/,Tt)}],D={match:It(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:ut(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Ht,"+")},{className:"type",match:zt,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:ut(/\s+&\s+/,It(zt)),relevance:0}]},F={begin://,keywords:r,contains:[...n,...o,...k,g,D]};D.contains.push(F);const Y={begin:/\(/,end:/\)/,relevance:0,keywords:r,contains:["self",{match:ut(Tt,/\s*:/),keywords:"_|0",relevance:0},...n,...o,...c,...a,h,d,...C,...k,D]},U={begin://,contains:[...n,D]},f={begin:/\(/,end:/\)/,keywords:r,contains:[{begin:dt(It(ut(Tt,/\s*:/)),It(ut(Tt,/\s+/,Tt,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Tt}]},...n,...o,...a,h,d,...k,D,Y],endsParent:!0,illegal:/["']/},N={match:[/func/,/\s+/,dt(G.match,Tt,yt)],className:{1:"keyword",3:"title.function"},contains:[U,f,e],illegal:[/\[/,/%/]},S={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[U,f,e],illegal:/\[|%/},m={match:[/operator/,/\s+/,yt],className:{1:"keyword",3:"title"}},y={begin:[/precedencegroup/,/\s+/,zt],className:{1:"keyword",3:"title"},contains:[D],keywords:[...Ut,...Yt],end:/}/};for(const A of d.variants){const e=A.contains.find((A=>"interpol"===A.label));e.keywords=r;const t=[...o,...c,...a,h,d,...C];e.contains=[...t,{begin:/\(/,end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:r,contains:[...n,N,S,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:r,contains:[A.inherit(A.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...o]},m,y,{beginKeywords:"import",end:/$/,contains:[...n],relevance:0},...o,...c,...a,h,d,...C,...k,D,Y]}},jt="[A-Za-z$_][0-9A-Za-z$_]*",Zt=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],Pt=["true","false","null","undefined","NaN","Infinity"],Vt=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Lt=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],vt=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Ot=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],_t=[].concat(vt,Vt,Lt);function Kt(A){const e=A.regex,t=jt,n={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(A,e)=>{const t=A[0].length+A.index,n=A.input[t];if("<"===n||","===n)return void e.ignoreMatch();let i;">"===n&&(((A,{after:e})=>{const t="",Y={match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(F)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[R]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{PARAMS_CONTAINS:w,CLASS_REFERENCE:u},illegal:/#(?![$_A-z])/,contains:[A.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,c,g,a,Q,l,{match:/\$\d+/},r,u,{className:"attr",begin:t+e.lookahead(":"),relevance:0},Y,{begin:"("+A.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[l,A.REGEXP_MODE,{className:"function",begin:F,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:A.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:w}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:n.begin,"on:begin":n.isTrulyOpeningTag,end:n.end}],subLanguage:"xml",contains:[{begin:n.begin,end:n.end,skip:!0,contains:["self"]}]}]},d,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+A.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[R,A.inherit(A.TITLE_MODE,{begin:t,className:"title.function"})]},{match:/\.\.\./,relevance:0},k,{match:"\\$"+t,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[R]},G,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},I,D,{match:/\$[(.]/}]}}const Wt=function(A){const e=Kt(A),t=jt,n=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],i={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[e.exports.CLASS_REFERENCE]},B={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:n},contains:[e.exports.CLASS_REFERENCE]},E={$pattern:jt,keyword:Zt.concat(["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"]),literal:Pt,built_in:_t.concat(n),"variable.language":Ot},s={className:"meta",begin:"@"+t},r=(A,e,t)=>{const n=A.contains.findIndex((A=>A.label===e));if(-1===n)throw new Error("can not find mode to replace");A.contains.splice(n,1,t)};return Object.assign(e.keywords,E),e.exports.PARAMS_CONTAINS.push(s),e.contains=e.contains.concat([s,i,B]),r(e,"shebang",A.SHEBANG()),r(e,"use_strict",{className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/}),e.contains.find((A=>"func.def"===A.label)).relevance=0,Object.assign(e,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),e};const Xt=function(A){const e=A.regex,t=/\d{1,2}\/\d{1,2}\/\d{4}/,n=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,B=/\d{1,2}(:\d{1,2}){1,2}/,E={className:"literal",variants:[{begin:e.concat(/# */,e.either(n,t),/ *#/)},{begin:e.concat(/# */,B,/ *#/)},{begin:e.concat(/# */,i,/ *#/)},{begin:e.concat(/# */,e.either(n,t),/ +/,e.either(i,B),/ *#/)}]},s=A.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),r=A.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},E,{className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{className:"label",begin:/^\w+:/},s,r,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[r]}]}};const qt=function(A){const e="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",n={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[A.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=A.inherit(n,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),B={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},E=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type",begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t},{className:"meta",begin:"&"+A.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+A.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},A.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:A.C_NUMBER_RE+"\\b",relevance:0},{begin:/\{/,end:/\}/,contains:[B],illegal:"\\n",relevance:0},{begin:"\\[",end:"\\]",contains:[B],illegal:"\\n",relevance:0},n],s=[...E];return s.pop(),s.push(i),B.contains=s,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:E}};function $t(A){return A instanceof Map?A.clear=A.delete=A.set=function(){throw new Error("map is read-only")}:A instanceof Set&&(A.add=A.clear=A.delete=function(){throw new Error("set is read-only")}),Object.freeze(A),Object.getOwnPropertyNames(A).forEach((e=>{const t=A[e],n=typeof t;"object"!==n&&"function"!==n||Object.isFrozen(t)||$t(t)})),A}class An{constructor(A){void 0===A.data&&(A.data={}),this.data=A.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function en(A){return A.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function tn(A,...e){const t=Object.create(null);for(const e in A)t[e]=A[e];return e.forEach((function(A){for(const e in A)t[e]=A[e]})),t}const nn=A=>!!A.scope;class Bn{constructor(A,e){this.buffer="",this.classPrefix=e.classPrefix,A.walk(this)}addText(A){this.buffer+=en(A)}openNode(A){if(!nn(A))return;const e=((A,{prefix:e})=>{if(A.startsWith("language:"))return A.replace("language:","language-");if(A.includes(".")){const t=A.split(".");return[`${e}${t.shift()}`,...t.map(((A,e)=>`${A}${"_".repeat(e+1)}`))].join(" ")}return`${e}${A}`})(A.scope,{prefix:this.classPrefix});this.span(e)}closeNode(A){nn(A)&&(this.buffer+="")}value(){return this.buffer}span(A){this.buffer+=``}}const En=(A={})=>{const e={children:[]};return Object.assign(e,A),e};class sn{constructor(){this.rootNode=En(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(A){this.top.children.push(A)}openNode(A){const e=En({scope:A});this.add(e),this.stack.push(e)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(A){return this.constructor._walk(A,this.rootNode)}static _walk(A,e){return"string"==typeof e?A.addText(e):e.children&&(A.openNode(e),e.children.forEach((e=>this._walk(A,e))),A.closeNode(e)),A}static _collapse(A){"string"!=typeof A&&A.children&&(A.children.every((A=>"string"==typeof A))?A.children=[A.children.join("")]:A.children.forEach((A=>{sn._collapse(A)})))}}class rn extends sn{constructor(A){super(),this.options=A}addText(A){""!==A&&this.add(A)}startScope(A){this.openNode(A)}endScope(){this.closeNode()}__addSublanguage(A,e){const t=A.root;e&&(t.scope=`language:${e}`),this.add(t)}toHTML(){return new Bn(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function on(A){return A?"string"==typeof A?A:A.source:null}function cn(A){return Qn("(?=",A,")")}function gn(A){return Qn("(?:",A,")*")}function an(A){return Qn("(?:",A,")?")}function Qn(...A){return A.map((A=>on(A))).join("")}function ln(...A){const e=function(A){const e=A[A.length-1];return"object"==typeof e&&e.constructor===Object?(A.splice(A.length-1,1),e):{}}(A);return"("+(e.capture?"":"?:")+A.map((A=>on(A))).join("|")+")"}function hn(A){return new RegExp(A.toString()+"|").exec("").length-1}const Mn=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function wn(A,{joinWith:e}){let t=0;return A.map((A=>{t+=1;const e=t;let n=on(A),i="";for(;n.length>0;){const A=Mn.exec(n);if(!A){i+=n;break}i+=n.substring(0,A.index),n=n.substring(A.index+A[0].length),"\\"===A[0][0]&&A[1]?i+="\\"+String(Number(A[1])+e):(i+=A[0],"("===A[0]&&t++)}return i})).map((A=>`(${A})`)).join(e)}const Rn="[a-zA-Z]\\w*",In="[a-zA-Z_]\\w*",un="\\b\\d+(\\.\\d+)?",dn="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Gn="\\b(0b[01]+)",Cn={begin:"\\\\[\\s\\S]",relevance:0},kn={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Cn]},Dn={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Cn]},Fn=function(A,e,t={}){const n=tn({scope:"comment",begin:A,end:e,contains:[]},t);n.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const i=ln("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return n.contains.push({begin:Qn(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),n},Yn=Fn("//","$"),Un=Fn("/\\*","\\*/"),fn=Fn("#","$");var Nn=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:Rn,UNDERSCORE_IDENT_RE:In,NUMBER_RE:un,C_NUMBER_RE:dn,BINARY_NUMBER_RE:Gn,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(A={})=>{const e=/^#![ ]*\//;return A.binary&&(A.begin=Qn(e,/.*\b/,A.binary,/\b.*/)),tn({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(A,e)=>{0!==A.index&&e.ignoreMatch()}},A)},BACKSLASH_ESCAPE:Cn,APOS_STRING_MODE:kn,QUOTE_STRING_MODE:Dn,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT:Fn,C_LINE_COMMENT_MODE:Yn,C_BLOCK_COMMENT_MODE:Un,HASH_COMMENT_MODE:fn,NUMBER_MODE:{scope:"number",begin:un,relevance:0},C_NUMBER_MODE:{scope:"number",begin:dn,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:Gn,relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[Cn,{begin:/\[/,end:/\]/,relevance:0,contains:[Cn]}]}]},TITLE_MODE:{scope:"title",begin:Rn,relevance:0},UNDERSCORE_TITLE_MODE:{scope:"title",begin:In,relevance:0},METHOD_GUARD:{begin:"\\.\\s*"+In,relevance:0},END_SAME_AS_BEGIN:function(A){return Object.assign(A,{"on:begin":(A,e)=>{e.data._beginMatch=A[1]},"on:end":(A,e)=>{e.data._beginMatch!==A[1]&&e.ignoreMatch()}})}});function Sn(A,e){"."===A.input[A.index-1]&&e.ignoreMatch()}function mn(A){void 0!==A.className&&(A.scope=A.className,delete A.className)}function yn(A,e){e&&A.beginKeywords&&(A.begin="\\b("+A.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",A.__beforeBegin=Sn,A.keywords=A.keywords||A.beginKeywords,delete A.beginKeywords,void 0===A.relevance&&(A.relevance=0))}function bn(A){Array.isArray(A.illegal)&&(A.illegal=ln(...A.illegal))}function Hn(A){if(A.match){if(A.begin||A.end)throw new Error("begin & end are not supported with match");A.begin=A.match,delete A.match}}function Tn(A){void 0===A.relevance&&(A.relevance=1)}const zn=A=>{if(!A.beforeMatch)return;if(A.starts)throw new Error("beforeMatch cannot be used with starts");const e=Object.assign({},A);Object.keys(A).forEach((e=>{delete A[e]})),A.keywords=e.keywords,A.begin=Qn(e.beforeMatch,cn(e.begin)),A.starts={relevance:0,contains:[Object.assign(e,{endsParent:!0})]},A.relevance=0,delete e.beforeMatch},xn=["of","and","for","in","not","or","if","then","parent","list","value"],pn="keyword";function Jn(A,e,t=pn){const n=Object.create(null);return"string"==typeof A?i(t,A.split(" ")):Array.isArray(A)?i(t,A):Object.keys(A).forEach((function(t){Object.assign(n,Jn(A[t],e,t))})),n;function i(A,t){e&&(t=t.map((A=>A.toLowerCase()))),t.forEach((function(e){const t=e.split("|");n[t[0]]=[A,jn(t[0],t[1])]}))}}function jn(A,e){return e?Number(e):function(A){return xn.includes(A.toLowerCase())}(A)?0:1}const Zn={},Pn=A=>{console.error(A)},Vn=(A,...e)=>{console.log(`WARN: ${A}`,...e)},Ln=(A,e)=>{Zn[`${A}/${e}`]||(console.log(`Deprecated as of ${A}. ${e}`),Zn[`${A}/${e}`]=!0)},vn=new Error;function On(A,e,{key:t}){let n=0;const i=A[t],B={},E={};for(let A=1;A<=e.length;A++)E[A+n]=i[A],B[A+n]=!0,n+=hn(e[A-1]);A[t]=E,A[t]._emit=B,A[t]._multi=!0}function _n(A){!function(A){A.scope&&"object"==typeof A.scope&&null!==A.scope&&(A.beginScope=A.scope,delete A.scope)}(A),"string"==typeof A.beginScope&&(A.beginScope={_wrap:A.beginScope}),"string"==typeof A.endScope&&(A.endScope={_wrap:A.endScope}),function(A){if(Array.isArray(A.begin)){if(A.skip||A.excludeBegin||A.returnBegin)throw Pn("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),vn;if("object"!=typeof A.beginScope||null===A.beginScope)throw Pn("beginScope must be object"),vn;On(A,A.begin,{key:"beginScope"}),A.begin=wn(A.begin,{joinWith:""})}}(A),function(A){if(Array.isArray(A.end)){if(A.skip||A.excludeEnd||A.returnEnd)throw Pn("skip, excludeEnd, returnEnd not compatible with endScope: {}"),vn;if("object"!=typeof A.endScope||null===A.endScope)throw Pn("endScope must be object"),vn;On(A,A.end,{key:"endScope"}),A.end=wn(A.end,{joinWith:""})}}(A)}function Kn(A){function e(e,t){return new RegExp(on(e),"m"+(A.case_insensitive?"i":"")+(A.unicodeRegex?"u":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(A,e){e.position=this.position++,this.matchIndexes[this.matchAt]=e,this.regexes.push([e,A]),this.matchAt+=hn(A)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const A=this.regexes.map((A=>A[1]));this.matcherRe=e(wn(A,{joinWith:"|"}),!0),this.lastIndex=0}exec(A){this.matcherRe.lastIndex=this.lastIndex;const e=this.matcherRe.exec(A);if(!e)return null;const t=e.findIndex(((A,e)=>e>0&&void 0!==A)),n=this.matchIndexes[t];return e.splice(0,t),Object.assign(e,n)}}class n{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(A){if(this.multiRegexes[A])return this.multiRegexes[A];const e=new t;return this.rules.slice(A).forEach((([A,t])=>e.addRule(A,t))),e.compile(),this.multiRegexes[A]=e,e}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(A,e){this.rules.push([A,e]),"begin"===e.type&&this.count++}exec(A){const e=this.getMatcher(this.regexIndex);e.lastIndex=this.lastIndex;let t=e.exec(A);if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{const e=this.getMatcher(0);e.lastIndex=this.lastIndex+1,t=e.exec(A)}return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&this.considerAll()),t}}if(A.compilerExtensions||(A.compilerExtensions=[]),A.contains&&A.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return A.classNameAliases=tn(A.classNameAliases||{}),function t(i,B){const E=i;if(i.isCompiled)return E;[mn,Hn,_n,zn].forEach((A=>A(i,B))),A.compilerExtensions.forEach((A=>A(i,B))),i.__beforeBegin=null,[yn,bn,Tn].forEach((A=>A(i,B))),i.isCompiled=!0;let s=null;return"object"==typeof i.keywords&&i.keywords.$pattern&&(i.keywords=Object.assign({},i.keywords),s=i.keywords.$pattern,delete i.keywords.$pattern),s=s||/\w+/,i.keywords&&(i.keywords=Jn(i.keywords,A.case_insensitive)),E.keywordPatternRe=e(s,!0),B&&(i.begin||(i.begin=/\B|\b/),E.beginRe=e(E.begin),i.end||i.endsWithParent||(i.end=/\B|\b/),i.end&&(E.endRe=e(E.end)),E.terminatorEnd=on(E.end)||"",i.endsWithParent&&B.terminatorEnd&&(E.terminatorEnd+=(i.end?"|":"")+B.terminatorEnd)),i.illegal&&(E.illegalRe=e(i.illegal)),i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map((function(A){return function(A){return A.variants&&!A.cachedVariants&&(A.cachedVariants=A.variants.map((function(e){return tn(A,{variants:null},e)}))),A.cachedVariants?A.cachedVariants:Wn(A)?tn(A,{starts:A.starts?tn(A.starts):null}):Object.isFrozen(A)?tn(A):A}("self"===A?i:A)}))),i.contains.forEach((function(A){t(A,E)})),i.starts&&t(i.starts,B),E.matcher=function(A){const e=new n;return A.contains.forEach((A=>e.addRule(A.begin,{rule:A,type:"begin"}))),A.terminatorEnd&&e.addRule(A.terminatorEnd,{type:"end"}),A.illegal&&e.addRule(A.illegal,{type:"illegal"}),e}(E),E}(A)}function Wn(A){return!!A&&(A.endsWithParent||Wn(A.starts))}class Xn extends Error{constructor(A,e){super(A),this.name="HTMLInjectionError",this.html=e}}const qn=en,$n=tn,Ai=Symbol("nomatch"),ei=function(A){const e=Object.create(null),t=Object.create(null),n=[];let i=!0;const B="Could not find the language '{}', did you forget to load/include a language module?",E={disableAutodetect:!0,name:"Plain text",contains:[]};let s={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:rn};function r(A){return s.noHighlightRe.test(A)}function o(A,e,t){let n="",i="";"object"==typeof e?(n=A,t=e.ignoreIllegals,i=e.language):(Ln("10.7.0","highlight(lang, code, ...args) has been deprecated."),Ln("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),i=A,n=e),void 0===t&&(t=!0);const B={code:n,language:i};R("before:highlight",B);const E=B.result?B.result:c(B.language,B.code,t);return E.code=B.code,R("after:highlight",E),E}function c(A,t,n,E){const r=Object.create(null);function o(){if(!D.keywords)return void Y.addText(U);let A=0;D.keywordPatternRe.lastIndex=0;let e=D.keywordPatternRe.exec(U),t="";for(;e;){t+=U.substring(A,e.index);const n=G.case_insensitive?e[0].toLowerCase():e[0],i=D.keywords[n];if(i){const[A,B]=i;Y.addText(t),t="",r[n]=(r[n]||0)+1,r[n]<=7&&(f+=B),A.startsWith("_")?t+=e[0]:Q(e[0],G.classNameAliases[A]||A)}else t+=e[0];A=D.keywordPatternRe.lastIndex,e=D.keywordPatternRe.exec(U)}t+=U.substring(A),Y.addText(t)}function a(){null!=D.subLanguage?function(){if(""===U)return;let A=null;if("string"==typeof D.subLanguage){if(!e[D.subLanguage])return void Y.addText(U);A=c(D.subLanguage,U,!0,F[D.subLanguage]),F[D.subLanguage]=A._top}else A=g(U,D.subLanguage.length?D.subLanguage:null);D.relevance>0&&(f+=A.relevance),Y.__addSublanguage(A._emitter,A.language)}():o(),U=""}function Q(A,e){""!==A&&(Y.startScope(e),Y.addText(A),Y.endScope())}function l(A,e){let t=1;const n=e.length-1;for(;t<=n;){if(!A._emit[t]){t++;continue}const n=G.classNameAliases[A[t]]||A[t],i=e[t];n?Q(i,n):(U=i,o(),U=""),t++}}function M(A,e){return A.scope&&"string"==typeof A.scope&&Y.openNode(G.classNameAliases[A.scope]||A.scope),A.beginScope&&(A.beginScope._wrap?(Q(U,G.classNameAliases[A.beginScope._wrap]||A.beginScope._wrap),U=""):A.beginScope._multi&&(l(A.beginScope,e),U="")),D=Object.create(A,{parent:{value:D}}),D}function w(A,e,t){let n=function(A,e){const t=A&&A.exec(e);return t&&0===t.index}(A.endRe,t);if(n){if(A["on:end"]){const t=new An(A);A["on:end"](e,t),t.isMatchIgnored&&(n=!1)}if(n){for(;A.endsParent&&A.parent;)A=A.parent;return A}}if(A.endsWithParent)return w(A.parent,e,t)}function R(A){return 0===D.matcher.regexIndex?(U+=A[0],1):(m=!0,0)}function I(A){const e=A[0],n=t.substring(A.index),i=w(D,A,n);if(!i)return Ai;const B=D;D.endScope&&D.endScope._wrap?(a(),Q(e,D.endScope._wrap)):D.endScope&&D.endScope._multi?(a(),l(D.endScope,A)):B.skip?U+=e:(B.returnEnd||B.excludeEnd||(U+=e),a(),B.excludeEnd&&(U=e));do{D.scope&&Y.closeNode(),D.skip||D.subLanguage||(f+=D.relevance),D=D.parent}while(D!==i.parent);return i.starts&&M(i.starts,A),B.returnEnd?0:e.length}let u={};function d(e,B){const E=B&&B[0];if(U+=e,null==E)return a(),0;if("begin"===u.type&&"end"===B.type&&u.index===B.index&&""===E){if(U+=t.slice(B.index,B.index+1),!i){const e=new Error(`0 width match regex (${A})`);throw e.languageName=A,e.badRule=u.rule,e}return 1}if(u=B,"begin"===B.type)return function(A){const e=A[0],t=A.rule,n=new An(t),i=[t.__beforeBegin,t["on:begin"]];for(const t of i)if(t&&(t(A,n),n.isMatchIgnored))return R(e);return t.skip?U+=e:(t.excludeBegin&&(U+=e),a(),t.returnBegin||t.excludeBegin||(U=e)),M(t,A),t.returnBegin?0:e.length}(B);if("illegal"===B.type&&!n){const A=new Error('Illegal lexeme "'+E+'" for mode "'+(D.scope||"")+'"');throw A.mode=D,A}if("end"===B.type){const A=I(B);if(A!==Ai)return A}if("illegal"===B.type&&""===E)return 1;if(S>1e5&&S>3*B.index)throw new Error("potential infinite loop, way more iterations than matches");return U+=E,E.length}const G=h(A);if(!G)throw Pn(B.replace("{}",A)),new Error('Unknown language: "'+A+'"');const C=Kn(G);let k="",D=E||C;const F={},Y=new s.__emitter(s);!function(){const A=[];for(let e=D;e!==G;e=e.parent)e.scope&&A.unshift(e.scope);A.forEach((A=>Y.openNode(A)))}();let U="",f=0,N=0,S=0,m=!1;try{if(G.__emitTokens)G.__emitTokens(t,Y);else{for(D.matcher.considerAll();;){S++,m?m=!1:D.matcher.considerAll(),D.matcher.lastIndex=N;const A=D.matcher.exec(t);if(!A)break;const e=d(t.substring(N,A.index),A);N=A.index+e}d(t.substring(N))}return Y.finalize(),k=Y.toHTML(),{language:A,value:k,relevance:f,illegal:!1,_emitter:Y,_top:D}}catch(e){if(e.message&&e.message.includes("Illegal"))return{language:A,value:qn(t),illegal:!0,relevance:0,_illegalBy:{message:e.message,index:N,context:t.slice(N-100,N+100),mode:e.mode,resultSoFar:k},_emitter:Y};if(i)return{language:A,value:qn(t),illegal:!1,relevance:0,errorRaised:e,_emitter:Y,_top:D};throw e}}function g(A,t){t=t||s.languages||Object.keys(e);const n=function(A){const e={value:qn(A),illegal:!1,relevance:0,_top:E,_emitter:new s.__emitter(s)};return e._emitter.addText(A),e}(A),i=t.filter(h).filter(w).map((e=>c(e,A,!1)));i.unshift(n);const B=i.sort(((A,e)=>{if(A.relevance!==e.relevance)return e.relevance-A.relevance;if(A.language&&e.language){if(h(A.language).supersetOf===e.language)return 1;if(h(e.language).supersetOf===A.language)return-1}return 0})),[r,o]=B,g=r;return g.secondBest=o,g}function a(A){let e=null;const n=function(A){let e=A.className+" ";e+=A.parentNode?A.parentNode.className:"";const t=s.languageDetectRe.exec(e);if(t){const e=h(t[1]);return e||(Vn(B.replace("{}",t[1])),Vn("Falling back to no-highlight mode for this block.",A)),e?t[1]:"no-highlight"}return e.split(/\s+/).find((A=>r(A)||h(A)))}(A);if(r(n))return;if(R("before:highlightElement",{el:A,language:n}),A.children.length>0&&(s.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(A)),s.throwUnescapedHTML))throw new Xn("One of your code blocks includes unescaped HTML.",A.innerHTML);e=A;const i=e.textContent,E=n?o(i,{language:n,ignoreIllegals:!0}):g(i);A.innerHTML=E.value,function(A,e,n){const i=e&&t[e]||n;A.classList.add("hljs"),A.classList.add(`language-${i}`)}(A,n,E.language),A.result={language:E.language,re:E.relevance,relevance:E.relevance},E.secondBest&&(A.secondBest={language:E.secondBest.language,relevance:E.secondBest.relevance}),R("after:highlightElement",{el:A,result:E,text:i})}let Q=!1;function l(){"loading"!==document.readyState?document.querySelectorAll(s.cssSelector).forEach(a):Q=!0}function h(A){return A=(A||"").toLowerCase(),e[A]||e[t[A]]}function M(A,{languageName:e}){"string"==typeof A&&(A=[A]),A.forEach((A=>{t[A.toLowerCase()]=e}))}function w(A){const e=h(A);return e&&!e.disableAutodetect}function R(A,e){const t=A;n.forEach((function(A){A[t]&&A[t](e)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){Q&&l()}),!1),Object.assign(A,{highlight:o,highlightAuto:g,highlightAll:l,highlightElement:a,highlightBlock:function(A){return Ln("10.7.0","highlightBlock will be removed entirely in v12.0"),Ln("10.7.0","Please use highlightElement now."),a(A)},configure:function(A){s=$n(s,A)},initHighlighting:()=>{l(),Ln("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){l(),Ln("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(t,n){let B=null;try{B=n(A)}catch(A){if(Pn("Language definition for '{}' could not be registered.".replace("{}",t)),!i)throw A;Pn(A),B=E}B.name||(B.name=t),e[t]=B,B.rawDefinition=n.bind(null,A),B.aliases&&M(B.aliases,{languageName:t})},unregisterLanguage:function(A){delete e[A];for(const e of Object.keys(t))t[e]===A&&delete t[e]},listLanguages:function(){return Object.keys(e)},getLanguage:h,registerAliases:M,autoDetection:w,inherit:$n,addPlugin:function(A){!function(A){A["before:highlightBlock"]&&!A["before:highlightElement"]&&(A["before:highlightElement"]=e=>{A["before:highlightBlock"](Object.assign({block:e.el},e))}),A["after:highlightBlock"]&&!A["after:highlightElement"]&&(A["after:highlightElement"]=e=>{A["after:highlightBlock"](Object.assign({block:e.el},e))})}(A),n.push(A)},removePlugin:function(A){const e=n.indexOf(A);-1!==e&&n.splice(e,1)}}),A.debugMode=function(){i=!1},A.safeMode=function(){i=!0},A.versionString="11.8.0",A.regex={concat:Qn,lookahead:cn,either:ln,optional:an,anyNumberOfTimes:gn};for(const A in Nn)"object"==typeof Nn[A]&&$t(Nn[A]);return Object.assign(A,Nn),A},ti=ei({});ti.newInstance=()=>ei({});var ni=ti;ti.HighlightJS=ti,ti.default=ti;const ii=ni;var Bi,Ei={exports:{}};Bi=Ei,function(){var A;function e(A){for(var e,t,n,i,B=1,E=[].slice.call(arguments),s=0,r=A.length,o="",c=!1,g=!1,a=function(){return E[B++]},Q=function(){for(var t="";/\d/.test(A[s]);)t+=A[s++],e=A[s];return t.length>0?parseInt(t):null};se?A+"_".repeat(e):this.options.classPrefix+A))},children:[]};this.stack[this.stack.length-1].children.push(e),this.stack.push(e)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const Qi={highlight:gi,highlightAuto:function(A,e={}){const t=e.subset||ii.listLanguages();let n=-1,i={type:"root",data:{language:null,relevance:0},children:[]};if("string"!=typeof A)throw ri("Expected `string` for value, got `%s`",A);for(;++ni.data.relevance&&(i=E)}return i},registerLanguage:function(A,e){ii.registerLanguage(A,e)},registered:function(A){return Boolean(ii.getLanguage(A))},listLanguages:function(){return ii.listLanguages()},registerAlias:function(A,e){if("string"==typeof A)ii.registerAliases(e,{languageName:A});else{let e;for(e in A)ci.call(A,e)&&ii.registerAliases(A[e],{languageName:e})}}};Qi.registerLanguage("arduino",de),Qi.registerLanguage("bash",(function(A){const e={},t={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[e]}]};Object.assign(e,{className:"variable",variants:[{begin:A.regex.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},t]});const n={className:"subst",begin:/\$\(/,end:/\)/,contains:[A.BACKSLASH_ESCAPE]},i={begin:/<<-?\s*(?=\w+)/,starts:{contains:[A.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},B={className:"string",begin:/"/,end:/"/,contains:[A.BACKSLASH_ESCAPE,e,n]};n.contains.push(B);const E={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},A.NUMBER_MODE,e]},s=A.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),r={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[A.inherit(A.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"],literal:["true","false"],built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]},contains:[s,A.SHEBANG(),r,E,A.HASH_COMMENT_MODE,i,{match:/(\/[a-z._-]+)+/},B,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},e]}})),Qi.registerLanguage("c",Ge),Qi.registerLanguage("cpp",Ce),Qi.registerLanguage("csharp",ke),Qi.registerLanguage("css",(function(A){const e=A.regex,t=(A=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:A.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:A.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}))(A),n=[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[t.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Ye.join("|")+")"},{begin:":(:)?("+Ue.join("|")+")"}]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+fe.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...n,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...n,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Fe.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...n,t.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+De.join("|")+")\\b"}]}})),Qi.registerLanguage("diff",(function(A){const e=A.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:e.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:e.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}})),Qi.registerLanguage("go",Ne),Qi.registerLanguage("graphql",(function(A){const e=A.regex;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[A.HASH_COMMENT_MODE,A.QUOTE_STRING_MODE,A.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:e.concat(/[_A-Za-z][_0-9A-Za-z]*/,e.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}})),Qi.registerLanguage("ini",Se),Qi.registerLanguage("java",ze),Qi.registerLanguage("javascript",ve),Qi.registerLanguage("json",Oe),Qi.registerLanguage("kotlin",qe),Qi.registerLanguage("less",Bt),Qi.registerLanguage("lua",(function(A){const e="\\[=*\\[",t="\\]=*\\]",n={begin:e,end:t,contains:["self"]},i=[A.COMMENT("--(?!"+e+")","$"),A.COMMENT("--"+e,t,{contains:[n],relevance:10})];return{name:"Lua",keywords:{$pattern:A.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[A.inherit(A.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:i}].concat(i)},A.C_NUMBER_MODE,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,{className:"string",begin:e,end:t,contains:[n],relevance:5}])}})),Qi.registerLanguage("makefile",(function(A){const e={className:"variable",variants:[{begin:"\\$\\("+A.UNDERSCORE_IDENT_RE+"\\)",contains:[A.BACKSLASH_ESCAPE]},{begin:/\$[@%/,end:/$/,illegal:"\\n"},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t,contains:[A.UNDERSCORE_TITLE_MODE]},{begin:"\\."+A.UNDERSCORE_IDENT_RE,relevance:0}]}})),Qi.registerLanguage("perl",(function(A){const e=A.regex,t=/[dualxmsipngr]{0,12}/,n={$pattern:/[\w.]+/,keyword:["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"].join(" ")},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},B={begin:/->\{/,end:/\}/},E={variants:[{begin:/\$\d/},{begin:e.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@][^\s\w{]/,relevance:0}]},s=[A.BACKSLASH_ESCAPE,i,E],r=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],o=(A,n,i="\\1")=>{const B="\\1"===i?i:e.concat(i,n);return e.concat(e.concat("(?:",A,")"),n,/(?:\\.|[^\\\/])*?/,B,/(?:\\.|[^\\\/])*?/,i,t)},c=(A,n,i)=>e.concat(e.concat("(?:",A,")"),n,/(?:\\.|[^\\\/])*?/,i,t),g=[E,A.HASH_COMMENT_MODE,A.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),B,{className:"string",contains:s,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[A.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[A.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+A.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[A.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:o("s|tr|y",e.either(...r,{capture:!0}))},{begin:o("s|tr|y","\\(","\\)")},{begin:o("s|tr|y","\\[","\\]")},{begin:o("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:c("(?:m|qr)?",/\//,/\//)},{begin:c("m|qr",e.either(...r,{capture:!0}),/\1/)},{begin:c("m|qr",/\(/,/\)/)},{begin:c("m|qr",/\[/,/\]/)},{begin:c("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[A.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return i.contains=g,B.contains=g,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:g}})),Qi.registerLanguage("php",st),Qi.registerLanguage("php-template",(function(A){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},A.inherit(A.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),A.inherit(A.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}})),Qi.registerLanguage("plaintext",(function(){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}})),Qi.registerLanguage("python",rt),Qi.registerLanguage("python-repl",(function(){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}})),Qi.registerLanguage("r",ot),Qi.registerLanguage("ruby",(function(A){const e=A.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",n=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=e.concat(n,/(::\w+)*/),B={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},E={className:"doctag",begin:"@[A-Za-z]+"},s={begin:"#<",end:">"},r=[A.COMMENT("#","$",{contains:[E]}),A.COMMENT("^=begin","^=end",{contains:[E],relevance:10}),A.COMMENT("^__END__",A.MATCH_NOTHING_RE)],o={className:"subst",begin:/#\{/,end:/\}/,keywords:B},c={className:"string",contains:[A.BACKSLASH_ESCAPE,o],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[A.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[A.BACKSLASH_ESCAPE,o]})]}]},g="[0-9](_?[0-9])*",a={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:B}]},Q=[c,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:B},{match:[/(include|extend)\s+/,i],scope:{2:"title.class"},keywords:B},{relevance:0,match:[i,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:n,scope:"title.class"},{match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[a]},{begin:A.IDENT_RE+"::"},{className:"symbol",begin:A.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[c,{begin:t}],relevance:0},{className:"number",relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:B},{begin:"("+A.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[A.BACKSLASH_ESCAPE,o],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(s,r),relevance:0}].concat(s,r);o.contains=Q,a.contains=Q;const l=[{begin:/^\s*=>/,starts:{end:"$",contains:Q}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:B,contains:Q}}];return r.unshift(s),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:B,illegal:/\/\*/,contains:[A.SHEBANG({binary:"ruby"})].concat(l).concat(r).concat(Q)}})),Qi.registerLanguage("rust",ct),Qi.registerLanguage("scss",Mt),Qi.registerLanguage("shell",(function(){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}})),Qi.registerLanguage("sql",wt),Qi.registerLanguage("swift",Jt),Qi.registerLanguage("typescript",Wt),Qi.registerLanguage("vbnet",Xt),Qi.registerLanguage("wasm",(function(A){const e=A.COMMENT(/\(;/,/;\)/);return e.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"]},contains:[A.COMMENT(/;;/,/$/),e,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},A.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},{className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/},{className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/}]}})),Qi.registerLanguage("xml",(function(A){const e=A.regex,t=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),n={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},B=A.inherit(i,{begin:/\(/,end:/\)/}),E=A.inherit(A.APOS_STRING_MODE,{className:"string"}),s=A.inherit(A.QUOTE_STRING_MODE,{className:"string"}),r={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[i,s,E,B,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[i,B,s,E]}]}]},A.COMMENT(//,{relevance:10}),{begin://,relevance:10},n,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[s]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[r],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[r],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:r}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}})),Qi.registerLanguage("yaml",qt);const li=Object.freeze({__proto__:null,lowlight:Qi}),hi=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,Mi=R.create({name:"image",addOptions:()=>({inline:!1,allowBase64:!1,HTMLAttributes:{}}),inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes:()=>({src:{default:null},alt:{default:null},title:{default:null}}),parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:A}){return["img",l(this.options.HTMLAttributes,A)]},addCommands(){return{setImage:A=>({commands:e})=>e.insertContent({type:this.name,attrs:A})}},addInputRules(){return[Y({find:hi,type:this.type,getAttributes:A=>{const[,,e,t,n]=A;return{src:t,alt:e,title:n}}})]}}),wi="aaa1rp3barth4b0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0faromeo7ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4vianca6w0s2x0a2z0ure5ba0by2idu3namex3narepublic11d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re2s2c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y0eats7k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0cast4mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking0channel11l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dabur3d1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t0isalat7u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0at2delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d0network8tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntdoor4ier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0ardian6cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5gtv3iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0eles2s3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1nder2le4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster5ia3d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4de2k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0cys3drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7serati6ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic3tual5v1w1x1y1z2na0b1goya4me2tura4vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rthwesternmutual14on4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9dnavy5lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3ssagens7y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cher3ks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0a1b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp2w2ell3ia1ksha5oes2p0ping5uji3w0time7i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ffany5ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0channel7ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lkswagen7vo3te1ing3o2yage5u0elos6wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4finity6ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",Ri="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5تصالات6رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",Ii=(A,e)=>{for(const t in e)A[t]=e[t];return A},ui="numeric",di="ascii",Gi="alpha",Ci="asciinumeric",ki="alphanumeric",Di="domain",Fi="emoji",Yi="scheme",Ui="slashscheme",fi="whitespace";function Ni(A,e){return A in e||(e[A]=[]),e[A]}function Si(A,e,t){e[ui]&&(e[Ci]=!0,e[ki]=!0),e[di]&&(e[Ci]=!0,e[Gi]=!0),e[Ci]&&(e[ki]=!0),e[Gi]&&(e[ki]=!0),e[ki]&&(e[Di]=!0),e[Fi]&&(e[Di]=!0);for(const n in e){const e=Ni(n,t);e.indexOf(A)<0&&e.push(A)}}function mi(A){void 0===A&&(A=null),this.j={},this.jr=[],this.jd=null,this.t=A}mi.groups={},mi.prototype={accepts(){return!!this.t},go(A){const e=this,t=e.j[A];if(t)return t;for(let t=0;t=0&&(t[n]=!0);return t}(E.t,n),t);Si(B,A,n)}else t&&Si(B,t,n);E.t=B}return i.j[A]=E,E}};const yi=(A,e,t,n,i)=>A.ta(e,t,n,i),bi=(A,e,t,n,i)=>A.tr(e,t,n,i),Hi=(A,e,t,n,i)=>A.ts(e,t,n,i),Ti=(A,e,t,n,i)=>A.tt(e,t,n,i),zi="WORD",xi="UWORD",pi="LOCALHOST",Ji="TLD",ji="UTLD",Zi="SCHEME",Pi="SLASH_SCHEME",Vi="NUM",Li="WS",vi="NL",Oi="OPENBRACE",_i="OPENBRACKET",Ki="OPENANGLEBRACKET",Wi="OPENPAREN",Xi="CLOSEBRACE",qi="CLOSEBRACKET",$i="CLOSEANGLEBRACKET",AB="CLOSEPAREN",eB="AMPERSAND",tB="APOSTROPHE",nB="ASTERISK",iB="AT",BB="BACKSLASH",EB="BACKTICK",sB="CARET",rB="COLON",oB="COMMA",cB="DOLLAR",gB="DOT",aB="EQUALS",QB="EXCLAMATION",lB="HYPHEN",hB="PERCENT",MB="PIPE",wB="PLUS",RB="POUND",IB="QUERY",uB="QUOTE",dB="SEMI",GB="SLASH",CB="TILDE",kB="UNDERSCORE",DB="EMOJI",FB="SYM";var YB=Object.freeze({__proto__:null,WORD:zi,UWORD:xi,LOCALHOST:pi,TLD:Ji,UTLD:ji,SCHEME:Zi,SLASH_SCHEME:Pi,NUM:Vi,WS:Li,NL:vi,OPENBRACE:Oi,OPENBRACKET:_i,OPENANGLEBRACKET:Ki,OPENPAREN:Wi,CLOSEBRACE:Xi,CLOSEBRACKET:qi,CLOSEANGLEBRACKET:$i,CLOSEPAREN:AB,AMPERSAND:eB,APOSTROPHE:tB,ASTERISK:nB,AT:iB,BACKSLASH:BB,BACKTICK:EB,CARET:sB,COLON:rB,COMMA:oB,DOLLAR:cB,DOT:gB,EQUALS:aB,EXCLAMATION:QB,HYPHEN:lB,PERCENT:hB,PIPE:MB,PLUS:wB,POUND:RB,QUERY:IB,QUOTE:uB,SEMI:dB,SLASH:GB,TILDE:CB,UNDERSCORE:kB,EMOJI:DB,SYM:FB});const UB=/[a-z]/,fB=/\p{L}/u,NB=/\p{Emoji}/u,SB=/\d/,mB=/\s/,yB="\n",bB="️",HB="‍";let TB=null,zB=null;function xB(A,e,t,n,i){let B;const E=e.length;for(let t=0;t=0;)i++;if(i>0){e.push(t.join(""));for(let e=parseInt(A.substring(n,n+i),10);e>0;e--)t.pop();n+=i}else t.push(A[n]),n++}return e}const JB={defaultProtocol:"http",events:null,format:ZB,formatHref:ZB,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function jB(A,e){void 0===e&&(e=null);let t=Ii({},JB);A&&(t=Ii(t,A instanceof jB?A.o:A));const n=t.ignoreTags,i=[];for(let A=0;AA,check(A){return this.get("validate",A.toString(),A)},get(A,e,t){const n=null!=e;let i=this.o[A];return i?("object"==typeof i?(i=t.t in i?i[t.t]:JB[A],"function"==typeof i&&n&&(i=i(e,t))):"function"==typeof i&&n&&(i=i(e,t.t,t)),i):i},getObj(A,e,t){let n=this.o[A];return"function"==typeof n&&null!=e&&(n=n(e,t.t,t)),n},render(A){const e=A.render(this);return(this.get("render",null,A)||this.defaultRender)(e,A.t,A)}},PB.prototype={isLink:!1,toString(){return this.v},toHref(A){return this.toString()},toFormattedString(A){const e=this.toString(),t=A.get("truncate",e,this),n=A.get("format",e,this);return t&&n.length>t?n.substring(0,t)+"…":n},toFormattedHref(A){return A.get("formatHref",this.toHref(A.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(A){return void 0===A&&(A=JB.defaultProtocol),{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(A),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(A){return{type:this.t,value:this.toFormattedString(A),isLink:this.isLink,href:this.toFormattedHref(A),start:this.startIndex(),end:this.endIndex()}},validate(A){return A.get("validate",this.toString(),this)},render(A){const e=this,t=this.toHref(A.get("defaultProtocol")),n=A.get("formatHref",t,this),i=A.get("tagName",t,e),B=this.toFormattedString(A),E={},s=A.get("className",t,e),r=A.get("target",t,e),o=A.get("rel",t,e),c=A.getObj("attributes",t,e),g=A.getObj("events",t,e);return E.href=n,s&&(E.class=s),r&&(E.target=r),o&&(E.rel=o),c&&Ii(E,c),{tagName:i,attributes:E,content:B,eventListeners:g}}};const LB=VB("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),vB=VB("text"),OB=VB("nl"),_B=VB("url",{isLink:!0,toHref(A){return void 0===A&&(A=JB.defaultProtocol),this.hasProtocol()?this.v:`${A}://${this.v}`},hasProtocol(){const A=this.tk;return A.length>=2&&A[0].t!==pi&&A[1].t===rB}}),KB=A=>new mi(A);function WB(A,e,t){return new A(e.slice(t[0].s,t[t.length-1].e),t)}const XB="undefined"!=typeof console&&console&&console.warn||(()=>{}),qB={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function $B(A,e){if(void 0===e&&(e=!1),qB.initialized&&XB(`linkifyjs: already initialized - will not register custom scheme "${A}" until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(A))throw new Error('linkifyjs: incorrect scheme format.\n 1. Must only contain digits, lowercase ASCII letters or "-"\n 2. Cannot start or end with "-"\n 3. "-" cannot repeat');qB.customSchemes.push([A,e])}function AE(A){return qB.initialized||function(){qB.scanner=function(A){void 0===A&&(A=[]);const e={};mi.groups=e;const t=new mi;null==TB&&(TB=pB(wi)),null==zB&&(zB=pB(Ri)),Ti(t,"'",tB),Ti(t,"{",Oi),Ti(t,"[",_i),Ti(t,"<",Ki),Ti(t,"(",Wi),Ti(t,"}",Xi),Ti(t,"]",qi),Ti(t,">",$i),Ti(t,")",AB),Ti(t,"&",eB),Ti(t,"*",nB),Ti(t,"@",iB),Ti(t,"`",EB),Ti(t,"^",sB),Ti(t,":",rB),Ti(t,",",oB),Ti(t,"$",cB),Ti(t,".",gB),Ti(t,"=",aB),Ti(t,"!",QB),Ti(t,"-",lB),Ti(t,"%",hB),Ti(t,"|",MB),Ti(t,"+",wB),Ti(t,"#",RB),Ti(t,"?",IB),Ti(t,'"',uB),Ti(t,"/",GB),Ti(t,";",dB),Ti(t,"~",CB),Ti(t,"_",kB),Ti(t,"\\",BB);const n=bi(t,SB,Vi,{[ui]:!0});bi(n,SB,n);const i=bi(t,UB,zi,{[di]:!0});bi(i,UB,i);const B=bi(t,fB,xi,{[Gi]:!0});bi(B,UB),bi(B,fB,B);const E=bi(t,mB,Li,{[fi]:!0});Ti(t,yB,vi,{[fi]:!0}),Ti(E,yB),bi(E,mB,E);const s=bi(t,NB,DB,{[Fi]:!0});bi(s,NB,s),Ti(s,bB,s);const r=Ti(s,HB);bi(r,NB,s);const o=[[UB,i]],c=[[UB,null],[fB,B]];for(let A=0;AA[0]>e[0]?1:-1));for(let e=0;e=0?i[Di]=!0:UB.test(n)?SB.test(n)?i[Ci]=!0:i[di]=!0:i[ui]=!0,Hi(t,n,n,i)}return Hi(t,"localhost",pi,{ascii:!0}),t.jd=new mi(FB),{start:t,tokens:Ii({groups:e},YB)}}(qB.customSchemes);for(let A=0;A=0&&a++,i++,c++;if(a<0)i-=c,i0&&(B.push(WB(vB,e,E)),E=[]),i-=a,c-=a;const A=g.t,n=t.slice(i-c,i);B.push(WB(A,e,n))}}return E.length>0&&B.push(WB(vB,e,E)),B}(qB.parser.start,A,function(A,e){const t=function(A){const e=[],t=A.length;let n=0;for(;n56319||n+1===t||(i=A.charCodeAt(n+1))<56320||i>57343?A[n]:A.slice(n,n+2);e.push(E),n+=E.length}return e}(e.replace(/[A-Z]/g,(A=>A.toLowerCase()))),n=t.length,i=[];let B=0,E=0;for(;E=0&&(g+=t[E].length,a++),o+=t[E].length,B+=t[E].length,E++;B-=g,E-=a,o-=g,i.push({t:c.t,v:e.slice(B-o,B),s:B-o,e:B})}return i}(qB.scanner.start,A))}function eE(A,e,t){if(void 0===e&&(e=null),void 0===t&&(t=null),e&&"object"==typeof e){if(t)throw Error(`linkifyjs: Invalid link type ${e}; must be a string`);t=e,e=null}const n=new jB(t),i=AE(A),B=[];for(let A=0;A{"string"!=typeof A?$B(A.scheme,A.optionalSlashes):$B(A)}))},onDestroy(){mi.groups={},qB.scanner=null,qB.parser=null,qB.tokenQueue=[],qB.pluginQueue=[],qB.customSchemes=[],qB.initialized=!1},inclusive(){return this.options.autolink},addOptions:()=>({openOnClick:!0,linkOnPaste:!0,autolink:!0,protocols:[],HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},validate:void 0}),addAttributes(){return{href:{default:null},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML:()=>[{tag:'a[href]:not([href *= "javascript:" i])'}],renderHTML({HTMLAttributes:A}){var e;return(null===(e=A.href)||void 0===e?void 0:e.startsWith("javascript:"))?["a",l(this.options.HTMLAttributes,{...A,href:""}),0]:["a",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setLink:A=>({chain:e})=>e().setMark(this.name,A).setMeta("preventAutolink",!0).run(),toggleLink:A=>({chain:e})=>e().toggleMark(this.name,A,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run(),unsetLink:()=>({chain:A})=>A().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addPasteRules(){return[w({find:A=>{const e=[];if(A){const t=eE(A).filter((A=>A.isLink));t.length&&t.forEach((A=>e.push({text:A.value,data:{href:A.href},index:A.start})))}return e},type:this.type,getAttributes:A=>{var e;return{href:null===(e=A.data)||void 0===e?void 0:e.href}}})]},addProseMirrorPlugins(){const A=[];var e;return this.options.autolink&&A.push((e={type:this.type,validate:this.options.validate},new E({key:new s("autolink"),appendTransaction:(A,t,n)=>{const i=A.some((A=>A.docChanged))&&!t.doc.eq(n.doc),B=A.some((A=>A.getMeta("preventAutolink")));if(!i||B)return;const{tr:E}=n,s=U(t.doc,[...A]);return f(s).forEach((({newRange:A})=>{const t=N(n.doc,A,(A=>A.isTextblock));let i,B;if(t.length>1?(i=t[0],B=n.doc.textBetween(i.pos,i.pos+i.node.nodeSize,void 0," ")):t.length&&n.doc.textBetween(A.from,A.to," "," ").endsWith(" ")&&(i=t[0],B=n.doc.textBetween(i.pos,A.to,void 0," ")),i&&B){const A=B.split(" ").filter((A=>""!==A));if(A.length<=0)return!1;const t=A[A.length-1],r=i.pos+B.lastIndexOf(t);if(!t)return!1;const o=AE(t).map((A=>A.toObject()));if(!(1===(s=o).length?s[0].isLink:3===s.length&&s[1].isLink&&["()","[]"].includes(s[0].value+s[2].value)))return!1;o.filter((A=>A.isLink)).map((A=>({...A,from:r+A.start+1,to:r+A.end+1}))).filter((A=>!n.schema.marks.code||!n.doc.rangeHasMark(A.from,A.to,n.schema.marks.code))).filter((A=>!e.validate||e.validate(A.value))).forEach((A=>{S(A.from,A.to,n.doc).some((A=>A.mark.type===e.type))||E.addMark(A.from,A.to,e.type.create({href:A.href}))}))}var s})),E.steps.length?E:void 0}}))),this.options.openOnClick&&A.push(function(A){return new E({key:new s("handleClickLink"),props:{handleClick:(e,t,n)=>{var i,B;if(A.whenNotEditable&&e.editable)return!1;if(0!==n.button)return!1;let E=n.target;const s=[];for(;"DIV"!==E.nodeName;)s.push(E),E=E.parentNode;if(!s.find((A=>"A"===A.nodeName)))return!1;const r=m(e.state,A.type.name),o=n.target,c=null!==(i=null==o?void 0:o.href)&&void 0!==i?i:r.href,g=null!==(B=null==o?void 0:o.target)&&void 0!==B?B:r.target;return!(!o||!c||(window.open(c,g),0))}}})}({type:this.type,whenNotEditable:"whenNotEditable"===this.options.openOnClick})),this.options.linkOnPaste&&A.push(function(A){return new E({key:new s("handlePasteLink"),props:{handlePaste:(e,t,n)=>{const{state:i}=e,{selection:B}=i,{empty:E}=B;if(E)return!1;let s="";n.content.forEach((A=>{s+=A.textContent}));const r=eE(s).find((A=>A.isLink&&A.value===s));return!(!s||!r||(A.editor.commands.setMark(A.type,{href:r.href}),0))}}})}({editor:this.editor,type:this.type})),A}}),nE=Q.create({name:"superscript",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"sup"},{style:"vertical-align",getAttrs:A=>"super"===A&&null}],renderHTML({HTMLAttributes:A}){return["sup",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setSuperscript:()=>({commands:A})=>A.setMark(this.name),toggleSuperscript:()=>({commands:A})=>A.toggleMark(this.name),unsetSuperscript:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-.":()=>this.editor.commands.toggleSuperscript()}}}),iE=Q.create({name:"subscript",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"sub"},{style:"vertical-align",getAttrs:A=>"sub"===A&&null}],renderHTML({HTMLAttributes:A}){return["sub",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setSubscript:()=>({commands:A})=>A.setMark(this.name),toggleSubscript:()=>({commands:A})=>A.toggleMark(this.name),unsetSubscript:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-,":()=>this.editor.commands.toggleSubscript()}}}),BE=r.create({name:"textAlign",addOptions:()=>({types:[],alignments:["left","center","right","justify"],defaultAlignment:"left"}),addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:A=>A.style.textAlign||this.options.defaultAlignment,renderHTML:A=>A.textAlign===this.options.defaultAlignment?{}:{style:`text-align: ${A.textAlign}`}}}}]},addCommands(){return{setTextAlign:A=>({commands:e})=>!!this.options.alignments.includes(A)&&this.options.types.every((t=>e.updateAttributes(t,{textAlign:A}))),unsetTextAlign:()=>({commands:A})=>this.options.types.every((e=>A.resetAttributes(e,"textAlign")))}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),EE=r.create({name:"placeholder",addOptions:()=>({emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",placeholder:"Write something …",showOnlyWhenEditable:!0,considerAnyAsEmpty:!1,showOnlyCurrent:!0,includeChildren:!1}),addProseMirrorPlugins(){return[new E({key:new s("placeholder"),props:{decorations:({doc:A,selection:e})=>{var t;const n=this.editor.isEditable||!this.options.showOnlyWhenEditable,{anchor:i}=e,B=[];if(!n)return null;const{firstChild:E}=A.content,s=!!this.options.considerAnyAsEmpty||E&&E.type.name===(null===(t=A.type.contentMatch.defaultType)||void 0===t?void 0:t.name),r=A.content.childCount<=1&&E&&s&&E.nodeSize<=2&&(!(E&&E.type.isLeaf)||!(E&&E.isAtom));return A.descendants(((A,e)=>{const t=i>=e&&i<=e+A.nodeSize;if((t||!this.options.showOnlyCurrent)&&!A.isLeaf&&!A.childCount){const n=[this.options.emptyNodeClass];r&&n.push(this.options.emptyEditorClass);const i=F.node(e,e+A.nodeSize,{class:n.join(" "),"data-placeholder":"function"==typeof this.options.placeholder?this.options.placeholder({editor:this.editor,node:A,pos:e,hasAnchor:t}):this.options.placeholder});B.push(i)}return this.options.includeChildren})),k.create(A,B)}}})]}}),sE=Q.create({name:"underline",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:A=>!!A.includes("underline")&&{}}],renderHTML({HTMLAttributes:A}){return["u",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setUnderline:()=>({commands:A})=>A.setMark(this.name),toggleUnderline:()=>({commands:A})=>A.toggleMark(this.name),unsetUnderline:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),rE=r.create({name:"color",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:A=>{var e;return null===(e=A.style.color)||void 0===e?void 0:e.replace(/['"]+/g,"")},renderHTML:A=>A.color?{style:`color: ${A.color}`}:{}}}}]},addCommands:()=>({setColor:A=>({chain:e})=>e().setMark("textStyle",{color:A}).run(),unsetColor:()=>({chain:A})=>A().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()})}),oE=r.create({name:"fontFamily",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{fontFamily:{default:null,parseHTML:A=>{var e;return null===(e=A.style.fontFamily)||void 0===e?void 0:e.replace(/['"]+/g,"")},renderHTML:A=>A.fontFamily?{style:`font-family: ${A.fontFamily.split(",").map((A=>CSS.escape(A.trim()))).join(", ")}`}:{}}}}]},addCommands:()=>({setFontFamily:A=>({chain:e})=>e().setMark("textStyle",{fontFamily:A}).run(),unsetFontFamily:()=>({chain:A})=>A().setMark("textStyle",{fontFamily:null}).removeEmptyTextStyle().run()})}),cE=/^\s*>\s$/,gE=R.create({name:"blockquote",addOptions:()=>({HTMLAttributes:{}}),content:"block+",group:"block",defining:!0,parseHTML:()=>[{tag:"blockquote"}],renderHTML({HTMLAttributes:A}){return["blockquote",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setBlockquote:()=>({commands:A})=>A.wrapIn(this.name),toggleBlockquote:()=>({commands:A})=>A.toggleWrap(this.name),unsetBlockquote:()=>({commands:A})=>A.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[I({find:cE,type:this.type})]}}),aE=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,QE=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,lE=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,hE=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,ME=Q.create({name:"bold",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"strong"},{tag:"b",getAttrs:A=>"normal"!==A.style.fontWeight&&null},{style:"font-weight",getAttrs:A=>/^(bold(er)?|[5-9]\d{2,})$/.test(A)&&null}],renderHTML({HTMLAttributes:A}){return["strong",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setBold:()=>({commands:A})=>A.setMark(this.name),toggleBold:()=>({commands:A})=>A.toggleMark(this.name),unsetBold:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[h({find:aE,type:this.type}),h({find:lE,type:this.type})]},addPasteRules(){return[w({find:QE,type:this.type}),w({find:hE,type:this.type})]}}),wE=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:A}){return["li",l(this.options.HTMLAttributes,A),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),RE=Q.create({name:"textStyle",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"span",getAttrs:A=>!!A.hasAttribute("style")&&{}}],renderHTML({HTMLAttributes:A}){return["span",l(this.options.HTMLAttributes,A),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:A,commands:e})=>{const t=d(A,this.type);return!!Object.entries(t).some((([,A])=>!!A))||e.unsetMark(this.name)}}}}),IE=/^\s*([-+*])\s$/,uE=R.create({name:"bulletList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML:()=>[{tag:"ul"}],renderHTML({HTMLAttributes:A}){return["ul",l(this.options.HTMLAttributes,A),0]},addCommands(){return{toggleBulletList:()=>({commands:A,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(wE.name,this.editor.getAttributes(RE.name)).run():A.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let A=I({find:IE,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(A=I({find:IE,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(RE.name),editor:this.editor})),[A]}}),dE=/(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))$/,GE=/(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))/g,CE=Q.create({name:"code",addOptions:()=>({HTMLAttributes:{}}),excludes:"_",code:!0,exitable:!0,parseHTML:()=>[{tag:"code"}],renderHTML({HTMLAttributes:A}){return["code",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setCode:()=>({commands:A})=>A.setMark(this.name),toggleCode:()=>({commands:A})=>A.toggleMark(this.name),unsetCode:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[h({find:dE,type:this.type})]},addPasteRules(){return[w({find:GE,type:this.type})]}}),kE=R.create({name:"doc",topNode:!0,content:"block+"});function DE(A={}){return new E({view:e=>new FE(e,A)})}class FE{constructor(A,e){var t;this.editorView=A,this.cursorPos=null,this.element=null,this.timeout=-1,this.width=null!==(t=e.width)&&void 0!==t?t:1,this.color=!1===e.color?void 0:e.color||"black",this.class=e.class,this.handlers=["dragover","dragend","drop","dragleave"].map((e=>{let t=A=>{this[e](A)};return A.dom.addEventListener(e,t),{name:e,handler:t}}))}destroy(){this.handlers.forEach((({name:A,handler:e})=>this.editorView.dom.removeEventListener(A,e)))}update(A,e){null!=this.cursorPos&&e.doc!=A.state.doc&&(this.cursorPos>A.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(A){A!=this.cursorPos&&(this.cursorPos=A,null==A?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let A,e=this.editorView.state.doc.resolve(this.cursorPos),t=!e.parent.inlineContent;if(t){let t=e.nodeBefore,n=e.nodeAfter;if(t||n){let e=this.editorView.nodeDOM(this.cursorPos-(t?t.nodeSize:0));if(e){let i=e.getBoundingClientRect(),B=t?i.bottom:i.top;t&&n&&(B=(B+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2),A={left:i.left,right:i.right,top:B-this.width/2,bottom:B+this.width/2}}}}if(!A){let e=this.editorView.coordsAtPos(this.cursorPos);A={left:e.left-this.width/2,right:e.left+this.width/2,top:e.top,bottom:e.bottom}}let n,i,B=this.editorView.dom.offsetParent;if(this.element||(this.element=B.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",t),this.element.classList.toggle("prosemirror-dropcursor-inline",!t),!B||B==document.body&&"static"==getComputedStyle(B).position)n=-pageXOffset,i=-pageYOffset;else{let A=B.getBoundingClientRect();n=A.left-B.scrollLeft,i=A.top-B.scrollTop}this.element.style.left=A.left-n+"px",this.element.style.top=A.top-i+"px",this.element.style.width=A.right-A.left+"px",this.element.style.height=A.bottom-A.top+"px"}scheduleRemoval(A){clearTimeout(this.timeout),this.timeout=setTimeout((()=>this.setCursor(null)),A)}dragover(A){if(!this.editorView.editable)return;let e=this.editorView.posAtCoords({left:A.clientX,top:A.clientY}),t=e&&e.inside>=0&&this.editorView.state.doc.nodeAt(e.inside),n=t&&t.type.spec.disableDropCursor,i="function"==typeof n?n(this.editorView,e,A):n;if(e&&!i){let A=e.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let e=y(this.editorView.state.doc,A,this.editorView.dragging.slice);null!=e&&(A=e)}this.setCursor(A),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(A){A.target!=this.editorView.dom&&this.editorView.dom.contains(A.relatedTarget)||this.setCursor(null)}}const YE=r.create({name:"dropCursor",addOptions:()=>({color:"currentColor",width:1,class:void 0}),addProseMirrorPlugins(){return[DE(this.options)]}});class UE extends b{constructor(A){super(A,A)}map(A,e){let t=A.resolve(e.map(this.head));return UE.valid(t)?new UE(t):b.near(t)}content(){return H.empty}eq(A){return A instanceof UE&&A.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(A,e){if("number"!=typeof e.pos)throw new RangeError("Invalid input for GapCursor.fromJSON");return new UE(A.resolve(e.pos))}getBookmark(){return new fE(this.anchor)}static valid(A){let e=A.parent;if(e.isTextblock||!function(A){for(let e=A.depth;e>=0;e--){let t=A.index(e),n=A.node(e);if(0!=t)for(let A=n.child(t-1);;A=A.lastChild){if(0==A.childCount&&!A.inlineContent||A.isAtom||A.type.spec.isolating)return!0;if(A.inlineContent)return!1}else if(n.type.spec.isolating)return!0}return!0}(A)||!function(A){for(let e=A.depth;e>=0;e--){let t=A.indexAfter(e),n=A.node(e);if(t!=n.childCount)for(let A=n.child(t);;A=A.firstChild){if(0==A.childCount&&!A.inlineContent||A.isAtom||A.type.spec.isolating)return!0;if(A.inlineContent)return!1}else if(n.type.spec.isolating)return!0}return!0}(A))return!1;let t=e.type.spec.allowGapCursor;if(null!=t)return t;let n=e.contentMatchAt(A.index()).defaultType;return n&&n.isTextblock}static findGapCursorFrom(A,e,t=!1){A:for(;;){if(!t&&UE.valid(A))return A;let n=A.pos,i=null;for(let t=A.depth;;t--){let B=A.node(t);if(e>0?A.indexAfter(t)0){i=B.child(e>0?A.indexAfter(t):A.index(t)-1);break}if(0==t)return null;n+=e;let E=A.doc.resolve(n);if(UE.valid(E))return E}for(;;){let B=e>0?i.firstChild:i.lastChild;if(!B){if(i.isAtom&&!i.isText&&!T.isSelectable(i)){A=A.doc.resolve(n+i.nodeSize*e),t=!1;continue A}break}i=B,n+=e;let E=A.doc.resolve(n);if(UE.valid(E))return E}return null}}}UE.prototype.visible=!1,UE.findFrom=UE.findGapCursorFrom,b.jsonID("gapcursor",UE);class fE{constructor(A){this.pos=A}map(A){return new fE(A.map(this.pos))}resolve(A){let e=A.resolve(this.pos);return UE.valid(e)?new UE(e):b.near(e)}}const NE=z({ArrowLeft:SE("horiz",-1),ArrowRight:SE("horiz",1),ArrowUp:SE("vert",-1),ArrowDown:SE("vert",1)});function SE(A,e){const t="vert"==A?e>0?"down":"up":e>0?"right":"left";return function(A,n,i){let B=A.selection,E=e>0?B.$to:B.$from,s=B.empty;if(B instanceof C){if(!i.endOfTextblock(t)||0==E.depth)return!1;s=!1,E=A.doc.resolve(e>0?E.after():E.before())}let r=UE.findGapCursorFrom(E,e,s);return!!r&&(n&&n(A.tr.setSelection(new UE(r))),!0)}}function mE(A,e,t){if(!A||!A.editable)return!1;let n=A.state.doc.resolve(e);if(!UE.valid(n))return!1;let i=A.posAtCoords({left:t.clientX,top:t.clientY});return!(i&&i.inside>-1&&T.isSelectable(A.state.doc.nodeAt(i.inside))||(A.dispatch(A.state.tr.setSelection(new UE(n))),0))}function yE(A,e){if("insertCompositionText"!=e.inputType||!(A.state.selection instanceof UE))return!1;let{$from:t}=A.state.selection,n=t.parent.contentMatchAt(t.index()).findWrapping(A.state.schema.nodes.text);if(!n)return!1;let i=x.empty;for(let A=n.length-1;A>=0;A--)i=x.from(n[A].createAndFill(null,i));let B=A.state.tr.replace(t.pos,t.pos,new H(i,0,0));return B.setSelection(C.near(B.doc.resolve(t.pos+1))),A.dispatch(B),!1}function bE(A){if(!(A.selection instanceof UE))return null;let e=document.createElement("div");return e.className="ProseMirror-gapcursor",k.create(A.doc,[F.widget(A.selection.head,e,{key:"gapcursor"})])}const HE=r.create({name:"gapCursor",addProseMirrorPlugins:()=>[new E({props:{decorations:bE,createSelectionBetween:(A,e,t)=>e.pos==t.pos&&UE.valid(t)?new UE(t):null,handleClick:mE,handleKeyDown:NE,handleDOMEvents:{beforeinput:yE}}})],extendNodeSchema(A){var e;return{allowGapCursor:null!==(e=p(J(A,"allowGapCursor",{name:A.name,options:A.options,storage:A.storage})))&&void 0!==e?e:null}}}),TE=R.create({name:"hardBreak",addOptions:()=>({keepMarks:!0,HTMLAttributes:{}}),inline:!0,group:"inline",selectable:!1,parseHTML:()=>[{tag:"br"}],renderHTML({HTMLAttributes:A}){return["br",l(this.options.HTMLAttributes,A)]},renderText:()=>"\n",addCommands(){return{setHardBreak:()=>({commands:A,chain:e,state:t,editor:n})=>A.first([()=>A.exitCode(),()=>A.command((()=>{const{selection:A,storedMarks:i}=t;if(A.$from.parent.type.spec.isolating)return!1;const{keepMarks:B}=this.options,{splittableMarks:E}=n.extensionManager,s=i||A.$to.parentOffset&&A.$from.marks();return e().insertContent({type:this.name}).command((({tr:A,dispatch:e})=>{if(e&&s&&B){const e=s.filter((A=>E.includes(A.type.name)));A.ensureMarks(e)}return!0})).run()}))])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),zE=R.create({name:"heading",addOptions:()=>({levels:[1,2,3,4,5,6],HTMLAttributes:{}}),content:"inline*",group:"block",defining:!0,addAttributes:()=>({level:{default:1,rendered:!1}}),parseHTML(){return this.options.levels.map((A=>({tag:`h${A}`,attrs:{level:A}})))},renderHTML({node:A,HTMLAttributes:e}){return[`h${this.options.levels.includes(A.attrs.level)?A.attrs.level:this.options.levels[0]}`,l(this.options.HTMLAttributes,e),0]},addCommands(){return{setHeading:A=>({commands:e})=>!!this.options.levels.includes(A.level)&&e.setNode(this.name,A),toggleHeading:A=>({commands:e})=>!!this.options.levels.includes(A.level)&&e.toggleNode(this.name,"paragraph",A)}},addKeyboardShortcuts(){return this.options.levels.reduce(((A,e)=>({...A,[`Mod-Alt-${e}`]:()=>this.editor.commands.toggleHeading({level:e})})),{})},addInputRules(){return this.options.levels.map((A=>G({find:new RegExp(`^(#{1,${A}})\\s$`),type:this.type,getAttributes:{level:A}})))}});var xE=200,pE=function(){};pE.prototype.append=function(A){return A.length?(A=pE.from(A),!this.length&&A||A.length=e?pE.empty:this.sliceInner(Math.max(0,A),Math.min(this.length,e))},pE.prototype.get=function(A){if(!(A<0||A>=this.length))return this.getInner(A)},pE.prototype.forEach=function(A,e,t){void 0===e&&(e=0),void 0===t&&(t=this.length),e<=t?this.forEachInner(A,e,t,0):this.forEachInvertedInner(A,e,t,0)},pE.prototype.map=function(A,e,t){void 0===e&&(e=0),void 0===t&&(t=this.length);var n=[];return this.forEach((function(e,t){return n.push(A(e,t))}),e,t),n},pE.from=function(A){return A instanceof pE?A:A&&A.length?new JE(A):pE.empty};var JE=function(A){function e(e){A.call(this),this.values=e}A&&(e.__proto__=A),(e.prototype=Object.create(A&&A.prototype)).constructor=e;var t={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(A,t){return 0==A&&t==this.length?this:new e(this.values.slice(A,t))},e.prototype.getInner=function(A){return this.values[A]},e.prototype.forEachInner=function(A,e,t,n){for(var i=e;i=t;i--)if(!1===A(this.values[i],n+i))return!1},e.prototype.leafAppend=function(A){if(this.length+A.length<=xE)return new e(this.values.concat(A.flatten()))},e.prototype.leafPrepend=function(A){if(this.length+A.length<=xE)return new e(A.flatten().concat(this.values))},t.length.get=function(){return this.values.length},t.depth.get=function(){return 0},Object.defineProperties(e.prototype,t),e}(pE);pE.empty=new JE([]);var jE=function(A){function e(e,t){A.call(this),this.left=e,this.right=t,this.length=e.length+t.length,this.depth=Math.max(e.depth,t.depth)+1}return A&&(e.__proto__=A),(e.prototype=Object.create(A&&A.prototype)).constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(A){return Ai&&!1===this.right.forEachInner(A,Math.max(e-i,0),Math.min(this.length,t)-i,n+i))&&void 0},e.prototype.forEachInvertedInner=function(A,e,t,n){var i=this.left.length;return!(e>i&&!1===this.right.forEachInvertedInner(A,e-i,Math.max(t,i)-i,n+i))&&!(t=t?this.right.slice(A-t,e-t):this.left.slice(A,t).append(this.right.slice(0,e-t))},e.prototype.leafAppend=function(A){var t=this.right.leafAppend(A);if(t)return new e(this.left,t)},e.prototype.leafPrepend=function(A){var t=this.left.leafPrepend(A);if(t)return new e(t,this.right)},e.prototype.appendInner=function(A){return this.left.depth>=Math.max(this.right.depth,A.depth)+1?new e(this.left,new e(this.right,A)):new e(this,A)},e}(pE);class ZE{constructor(A,e){this.items=A,this.eventCount=e}popEvent(A,e){if(0==this.eventCount)return null;let t,n,i=this.items.length;for(;;i--)if(this.items.get(i-1).selection){--i;break}e&&(t=this.remapping(i,this.items.length),n=t.maps.length);let B,E,s=A.tr,r=[],o=[];return this.items.forEach(((A,e)=>{if(!A.step)return t||(t=this.remapping(i,e+1),n=t.maps.length),n--,void o.push(A);if(t){o.push(new PE(A.map));let e,i=A.step.map(t.slice(n));i&&s.maybeStep(i).doc&&(e=s.mapping.maps[s.mapping.maps.length-1],r.push(new PE(e,void 0,void 0,r.length+o.length))),n--,e&&t.appendMap(e,n)}else s.maybeStep(A.step);return A.selection?(B=t?A.selection.map(t.slice(n)):A.selection,E=new ZE(this.items.slice(0,i).append(o.reverse().concat(r)),this.eventCount-1),!1):void 0}),this.items.length,0),{remaining:E,transform:s,selection:B}}addTransform(A,e,t,n){let i=[],B=this.eventCount,E=this.items,s=!n&&E.length?E.get(E.length-1):null;for(let t=0;tLE&&(E=function(A,e){let t;return A.forEach(((A,n)=>{if(A.selection&&0==e--)return t=n,!1})),A.slice(t)}(E,r),B-=r),new ZE(E.append(i),B)}remapping(A,e){let t=new j;return this.items.forEach(((e,n)=>{t.appendMap(e.map,null!=e.mirrorOffset&&n-e.mirrorOffset>=A?t.maps.length-e.mirrorOffset:void 0)}),A,e),t}addMaps(A){return 0==this.eventCount?this:new ZE(this.items.append(A.map((A=>new PE(A)))),this.eventCount)}rebased(A,e){if(!this.eventCount)return this;let t=[],n=Math.max(0,this.items.length-e),i=A.mapping,B=A.steps.length,E=this.eventCount;this.items.forEach((A=>{A.selection&&E--}),n);let s=e;this.items.forEach((e=>{let n=i.getMirror(--s);if(null==n)return;B=Math.min(B,n);let r=i.maps[n];if(e.step){let B=A.steps[n].invert(A.docs[n]),o=e.selection&&e.selection.map(i.slice(s+1,n));o&&E++,t.push(new PE(r,B,o))}else t.push(new PE(r))}),n);let r=[];for(let A=e;A500&&(c=c.compress(this.items.length-t.length)),c}emptyItemCount(){let A=0;return this.items.forEach((e=>{e.step||A++})),A}compress(A=this.items.length){let e=this.remapping(0,A),t=e.maps.length,n=[],i=0;return this.items.forEach(((B,E)=>{if(E>=A)n.push(B),B.selection&&i++;else if(B.step){let A=B.step.map(e.slice(t)),E=A&&A.getMap();if(t--,E&&e.appendMap(E,t),A){let s=B.selection&&B.selection.map(e.slice(t));s&&i++;let r,o=new PE(E.invert(),A,s),c=n.length-1;(r=n.length&&n[c].merge(o))?n[c]=r:n.push(o)}}else B.map&&t--}),this.items.length,0),new ZE(pE.from(n.reverse()),i)}}ZE.empty=new ZE(pE.empty,0);class PE{constructor(A,e,t,n){this.map=A,this.step=e,this.selection=t,this.mirrorOffset=n}merge(A){if(this.step&&A.step&&!A.selection){let e=A.step.merge(this.step);if(e)return new PE(e.getMap().invert(),e,this.selection)}}}class VE{constructor(A,e,t,n,i){this.done=A,this.undone=e,this.prevRanges=t,this.prevTime=n,this.prevComposition=i}}const LE=20;function vE(A){let e=[];return A.forEach(((A,t,n,i)=>e.push(n,i))),e}function OE(A,e){if(!A)return null;let t=[];for(let n=0;nnew VE(ZE.empty,ZE.empty,null,0,-1),apply:(e,t,n)=>function(A,e,t,n){let i,B=t.getMeta(XE);if(B)return B.historyState;t.getMeta(qE)&&(A=new VE(A.done,A.undone,null,0,-1));let E=t.getMeta("appendedTransaction");if(0==t.steps.length)return A;if(E&&E.getMeta(XE))return E.getMeta(XE).redo?new VE(A.done.addTransform(t,void 0,n,WE(e)),A.undone,vE(t.mapping.maps[t.steps.length-1]),A.prevTime,A.prevComposition):new VE(A.done,A.undone.addTransform(t,void 0,n,WE(e)),null,A.prevTime,A.prevComposition);if(!1===t.getMeta("addToHistory")||E&&!1===E.getMeta("addToHistory"))return(i=t.getMeta("rebased"))?new VE(A.done.rebased(t,i),A.undone.rebased(t,i),OE(A.prevRanges,t.mapping),A.prevTime,A.prevComposition):new VE(A.done.addMaps(t.mapping.maps),A.undone.addMaps(t.mapping.maps),OE(A.prevRanges,t.mapping),A.prevTime,A.prevComposition);{let i=t.getMeta("composition"),B=0==A.prevTime||!E&&A.prevComposition!=i&&(A.prevTime<(t.time||0)-n.newGroupDelay||!function(A,e){if(!e)return!1;if(!A.docChanged)return!0;let t=!1;return A.mapping.maps[0].forEach(((A,n)=>{for(let i=0;i=e[i]&&(t=!0)})),t}(t,A.prevRanges)),s=E?OE(A.prevRanges,t.mapping):vE(t.mapping.maps[t.steps.length-1]);return new VE(A.done.addTransform(t,B?e.selection.getBookmark():void 0,n,WE(e)),ZE.empty,s,t.time,null==i?A.prevComposition:i)}}(t,n,e,A)},config:A={depth:A.depth||100,newGroupDelay:A.newGroupDelay||500},props:{handleDOMEvents:{beforeinput(A,e){let t=e.inputType,n="historyUndo"==t?es:"historyRedo"==t?ts:null;return!!n&&(e.preventDefault(),n(A.state,A.dispatch))}}}})}function As(A,e){return(t,n)=>{let i=XE.getState(t);if(!i||0==(A?i.undone:i.done).eventCount)return!1;if(n){let B=function(A,e,t){let n=WE(e),i=XE.get(e).spec.config,B=(t?A.undone:A.done).popEvent(e,n);if(!B)return null;let E=B.selection.resolve(B.transform.doc),s=(t?A.done:A.undone).addTransform(B.transform,e.selection.getBookmark(),i,n),r=new VE(t?s:B.remaining,t?B.remaining:s,null,0,-1);return B.transform.setSelection(E).setMeta(XE,{redo:t,historyState:r})}(i,t,A);B&&n(e?B.scrollIntoView():B)}return!0}}const es=As(!1,!0),ts=As(!0,!0),ns=r.create({name:"history",addOptions:()=>({depth:100,newGroupDelay:500}),addCommands:()=>({undo:()=>({state:A,dispatch:e})=>es(A,e),redo:()=>({state:A,dispatch:e})=>ts(A,e)}),addProseMirrorPlugins(){return[$E(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}),is=R.create({name:"horizontalRule",addOptions:()=>({HTMLAttributes:{}}),group:"block",parseHTML:()=>[{tag:"hr"}],renderHTML({HTMLAttributes:A}){return["hr",l(this.options.HTMLAttributes,A)]},addCommands(){return{setHorizontalRule:()=>({chain:A,state:e})=>{const{$to:t}=e.selection,n=A();return 0===t.parentOffset?n.insertContentAt(Math.max(t.pos-2,0),{type:this.name}):n.insertContent({type:this.name}),n.command((({tr:A,dispatch:e})=>{var t;if(e){const{$to:e}=A.selection,n=e.end();if(e.nodeAfter)A.setSelection(e.nodeAfter.isTextblock?C.create(A.doc,e.pos+1):e.nodeAfter.isBlock?T.create(A.doc,e.pos):C.create(A.doc,e.pos));else{const i=null===(t=e.parent.type.contentMatch.defaultType)||void 0===t?void 0:t.create();i&&(A.insert(n,i),A.setSelection(C.create(A.doc,n+1)))}A.scrollIntoView()}return!0})).run()}}},addInputRules(){return[Y({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),Bs=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/,Es=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g,ss=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/,rs=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g,os=Q.create({name:"italic",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"em"},{tag:"i",getAttrs:A=>"normal"!==A.style.fontStyle&&null},{style:"font-style=italic"}],renderHTML({HTMLAttributes:A}){return["em",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setItalic:()=>({commands:A})=>A.setMark(this.name),toggleItalic:()=>({commands:A})=>A.toggleMark(this.name),unsetItalic:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[h({find:Bs,type:this.type}),h({find:ss,type:this.type})]},addPasteRules(){return[w({find:Es,type:this.type}),w({find:rs,type:this.type})]}}),cs=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:A}){return["li",l(this.options.HTMLAttributes,A),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),gs=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:A}){return["li",l(this.options.HTMLAttributes,A),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),as=Q.create({name:"textStyle",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"span",getAttrs:A=>!!A.hasAttribute("style")&&{}}],renderHTML({HTMLAttributes:A}){return["span",l(this.options.HTMLAttributes,A),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:A,commands:e})=>{const t=d(A,this.type);return!!Object.entries(t).some((([,A])=>!!A))||e.unsetMark(this.name)}}}}),Qs=/^(\d+)\.\s$/,ls=R.create({name:"orderedList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},addAttributes:()=>({start:{default:1,parseHTML:A=>A.hasAttribute("start")?parseInt(A.getAttribute("start")||"",10):1}}),parseHTML:()=>[{tag:"ol"}],renderHTML({HTMLAttributes:A}){const{start:e,...t}=A;return 1===e?["ol",l(this.options.HTMLAttributes,t),0]:["ol",l(this.options.HTMLAttributes,A),0]},addCommands(){return{toggleOrderedList:()=>({commands:A,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(gs.name,this.editor.getAttributes(as.name)).run():A.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let A=I({find:Qs,type:this.type,getAttributes:A=>({start:+A[1]}),joinPredicate:(A,e)=>e.childCount+e.attrs.start===+A[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(A=I({find:Qs,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:A=>({start:+A[1],...this.editor.getAttributes(as.name)}),joinPredicate:(A,e)=>e.childCount+e.attrs.start===+A[1],editor:this.editor})),[A]}}),hs=R.create({name:"paragraph",priority:1e3,addOptions:()=>({HTMLAttributes:{}}),group:"block",content:"inline*",parseHTML:()=>[{tag:"p"}],renderHTML({HTMLAttributes:A}){return["p",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setParagraph:()=>({commands:A})=>A.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),Ms=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,ws=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,Rs=Q.create({name:"strike",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:A=>!!A.includes("line-through")&&{}}],renderHTML({HTMLAttributes:A}){return["s",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setStrike:()=>({commands:A})=>A.setMark(this.name),toggleStrike:()=>({commands:A})=>A.toggleMark(this.name),unsetStrike:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){const A={};return P()?A["Mod-Shift-s"]=()=>this.editor.commands.toggleStrike():A["Ctrl-Shift-s"]=()=>this.editor.commands.toggleStrike(),A},addInputRules(){return[h({find:Ms,type:this.type})]},addPasteRules(){return[w({find:ws,type:this.type})]}}),Is=R.create({name:"text",group:"inline"}),us=r.create({name:"starterKit",addExtensions(){var A,e,t,n,i,B,E,s,r,o,c,g,a,Q,l,h,M,w;const R=[];return!1!==this.options.blockquote&&R.push(gE.configure(null===(A=this.options)||void 0===A?void 0:A.blockquote)),!1!==this.options.bold&&R.push(ME.configure(null===(e=this.options)||void 0===e?void 0:e.bold)),!1!==this.options.bulletList&&R.push(uE.configure(null===(t=this.options)||void 0===t?void 0:t.bulletList)),!1!==this.options.code&&R.push(CE.configure(null===(n=this.options)||void 0===n?void 0:n.code)),!1!==this.options.codeBlock&&R.push(cA.configure(null===(i=this.options)||void 0===i?void 0:i.codeBlock)),!1!==this.options.document&&R.push(kE.configure(null===(B=this.options)||void 0===B?void 0:B.document)),!1!==this.options.dropcursor&&R.push(YE.configure(null===(E=this.options)||void 0===E?void 0:E.dropcursor)),!1!==this.options.gapcursor&&R.push(HE.configure(null===(s=this.options)||void 0===s?void 0:s.gapcursor)),!1!==this.options.hardBreak&&R.push(TE.configure(null===(r=this.options)||void 0===r?void 0:r.hardBreak)),!1!==this.options.heading&&R.push(zE.configure(null===(o=this.options)||void 0===o?void 0:o.heading)),!1!==this.options.history&&R.push(ns.configure(null===(c=this.options)||void 0===c?void 0:c.history)),!1!==this.options.horizontalRule&&R.push(is.configure(null===(g=this.options)||void 0===g?void 0:g.horizontalRule)),!1!==this.options.italic&&R.push(os.configure(null===(a=this.options)||void 0===a?void 0:a.italic)),!1!==this.options.listItem&&R.push(cs.configure(null===(Q=this.options)||void 0===Q?void 0:Q.listItem)),!1!==this.options.orderedList&&R.push(ls.configure(null===(l=this.options)||void 0===l?void 0:l.orderedList)),!1!==this.options.paragraph&&R.push(hs.configure(null===(h=this.options)||void 0===h?void 0:h.paragraph)),!1!==this.options.strike&&R.push(Rs.configure(null===(M=this.options)||void 0===M?void 0:M.strike)),!1!==this.options.text&&R.push(Is.configure(null===(w=this.options)||void 0===w?void 0:w.text)),R}}),ds=()=>new Map,Gs=A=>{const e=ds();return A.forEach(((A,t)=>{e.set(t,A)})),e},Cs=(A,e,t)=>{let n=A.get(e);return void 0===n&&A.set(e,n=t()),n},ks=()=>new Set,Ds=A=>A[A.length-1],Fs=(A,e)=>{for(let t=0;t{this.off(A,t),e(...n)};this.on(A,t)}off(A,e){const t=this._observers.get(A);void 0!==t&&(t.delete(e),0===t.size&&this._observers.delete(A))}emit(A,e){return Ys((this._observers.get(A)||ds()).values()).forEach((A=>A(...e)))}destroy(){this._observers=ds()}}const Ns=Math.floor,Ss=Math.abs,ms=(A,e)=>AA>e?A:e,bs=A=>0!==A?A<0:1/A<0,Hs=64,Ts=128,zs=127,xs=Number.MAX_SAFE_INTEGER,ps=Number.isInteger||(A=>"number"==typeof A&&isFinite(A)&&Ns(A)===A),Js=/^\s*/g,js=/([A-Z])/g,Zs=(A,e)=>(A=>A.replace(Js,""))(A.replace(js,(A=>`${e}${(A=>A.toLowerCase())(A)}`))),Ps="undefined"!=typeof TextEncoder?new TextEncoder:null,Vs=Ps?A=>Ps.encode(A):A=>{const e=unescape(encodeURIComponent(A)),t=e.length,n=new Uint8Array(t);for(let A=0;Anew vs,_s=A=>{const e=new Uint8Array((A=>{let e=A.cpos;for(let t=0;t{const t=A.cbuf.length;A.cpos===t&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(2*t),A.cpos=0),A.cbuf[A.cpos++]=e},Ws=Ks,Xs=(A,e)=>{for(;e>zs;)Ks(A,Ts|zs&e),e=Ns(e/128);Ks(A,zs&e)},qs=(A,e)=>{const t=bs(e);for(t&&(e=-e),Ks(A,(e>63?Ts:0)|(t?Hs:0)|63&e),e=Ns(e/64);e>0;)Ks(A,(e>zs?Ts:0)|zs&e),e=Ns(e/128)},$s=new Uint8Array(3e4),Ar=$s.length/3,er=Ps&&Ps.encodeInto?(A,e)=>{if(e.length{const t=unescape(encodeURIComponent(e)),n=t.length;Xs(A,n);for(let e=0;e{const t=A.cbuf.length,n=A.cpos,i=ms(t-n,e.length),B=e.length-i;A.cbuf.set(e.subarray(0,i),n),A.cpos+=i,B>0&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(ys(2*t,B)),A.cbuf.set(e.subarray(i)),A.cpos=B)},nr=(A,e)=>{Xs(A,e.byteLength),tr(A,e)},ir=(A,e)=>{((A,e)=>{const t=A.cbuf.length;t-A.cpos{switch(typeof e){case"string":Ks(A,119),er(A,e);break;case"number":ps(e)&&Ss(e)<=2147483647?(Ks(A,125),qs(A,e)):(Br.setFloat32(0,t=e),Br.getFloat32(0)===t?(Ks(A,124),((A,e)=>{ir(A,4).setFloat32(0,e,!1)})(A,e)):(Ks(A,123),((A,e)=>{ir(A,8).setFloat64(0,e,!1)})(A,e)));break;case"bigint":Ks(A,122),((A,e)=>{ir(A,8).setBigInt64(0,e,!1)})(A,e);break;case"object":if(null===e)Ks(A,126);else if(Us(e)){Ks(A,117),Xs(A,e.length);for(let t=0;t0&&Xs(this,this.count-1),this.count=1,this.w(this,A),this.s=A)}}const rr=A=>{A.count>0&&(qs(A.encoder,1===A.count?A.s:-A.s),A.count>1&&Xs(A.encoder,A.count-2))};class or{constructor(){this.encoder=new vs,this.s=0,this.count=0}write(A){this.s===A?this.count++:(rr(this),this.count=1,this.s=A)}toUint8Array(){return rr(this),_s(this.encoder)}}const cr=A=>{A.count>0&&(qs(A.encoder,2*A.diff+(1===A.count?0:1)),A.count>1&&Xs(A.encoder,A.count-2))};class gr{constructor(){this.encoder=new vs,this.s=0,this.count=0,this.diff=0}write(A){this.diff===A-this.s?(this.s=A,this.count++):(cr(this),this.count=1,this.diff=A-this.s,this.s=A)}toUint8Array(){return cr(this),_s(this.encoder)}}class ar{constructor(){this.sarr=[],this.s="",this.lensE=new or}write(A){this.s+=A,this.s.length>19&&(this.sarr.push(this.s),this.s=""),this.lensE.write(A.length)}toUint8Array(){const A=new vs;return this.sarr.push(this.s),this.s="",er(A,this.sarr.join("")),tr(A,this.lensE.toUint8Array()),_s(A)}}const Qr=A=>new Error(A),lr=()=>{throw Qr("Method unimplemented")},hr=()=>{throw Qr("Unexpected case")},Mr=Qr("Unexpected end of array"),wr=Qr("Integer out of Range");class Rr{constructor(A){this.arr=A,this.pos=0}}const Ir=A=>new Rr(A),ur=A=>((A,e)=>{const t=new Uint8Array(A.arr.buffer,A.pos+A.arr.byteOffset,e);return A.pos+=e,t})(A,Gr(A)),dr=A=>A.arr[A.pos++],Gr=A=>{let e=0,t=1;const n=A.arr.length;for(;A.posxs)throw wr}throw Mr},Cr=A=>{let e=A.arr[A.pos++],t=63&e,n=64;const i=(e&Hs)>0?-1:1;if(!(e&Ts))return i*t;const B=A.arr.length;for(;A.posxs)throw wr}throw Mr},kr=Ls?A=>Ls.decode(ur(A)):A=>{let e=Gr(A);if(0===e)return"";{let t=String.fromCodePoint(dr(A));if(--e<100)for(;e--;)t+=String.fromCodePoint(dr(A));else for(;e>0;){const n=e<1e4?e:1e4,i=A.arr.subarray(A.pos,A.pos+n);A.pos+=n,t+=String.fromCodePoint.apply(null,i),e-=n}return decodeURIComponent(escape(t))}},Dr=(A,e)=>{const t=new DataView(A.arr.buffer,A.arr.byteOffset+A.pos,e);return A.pos+=e,t},Fr=[()=>{},()=>null,Cr,A=>Dr(A,4).getFloat32(0,!1),A=>Dr(A,8).getFloat64(0,!1),A=>Dr(A,8).getBigInt64(0,!1),()=>!1,()=>!0,kr,A=>{const e=Gr(A),t={};for(let n=0;n{const e=Gr(A),t=[];for(let n=0;nFr[127-dr(A)](A);class Ur extends Rr{constructor(A,e){super(A),this.reader=e,this.s=null,this.count=0}read(){return 0===this.count&&(this.s=this.reader(this),this.count=this.pos!==this.arr.length?Gr(this)+1:-1),this.count--,this.s}}class fr extends Rr{constructor(A){super(A),this.s=0,this.count=0}read(){if(0===this.count){this.s=Cr(this);const A=bs(this.s);this.count=1,A&&(this.s=-this.s,this.count=Gr(this)+2)}return this.count--,this.s}}class Nr extends Rr{constructor(A){super(A),this.s=0,this.count=0,this.diff=0}read(){if(0===this.count){const A=Cr(this),e=1&A;this.diff=Ns(A/2),this.count=1,e&&(this.count=Gr(this)+2)}return this.s+=this.diff,this.count--,this.s}}class Sr{constructor(A){this.decoder=new fr(A),this.str=kr(this.decoder),this.spos=0}read(){const A=this.spos+this.decoder.read(),e=this.str.slice(this.spos,A);return this.spos=A,e}}const mr=crypto.getRandomValues.bind(crypto),yr=Math.random,br=()=>mr(new Uint32Array(1))[0],Hr=[1e7]+-1e3+-4e3+-8e3+-1e11,Tr=()=>Hr.replace(/[018]/g,(A=>(A^br()&15>>A/4).toString(16))),zr=Date.now,xr=A=>new Promise(A);Promise.all.bind(Promise);let pr=new class{constructor(){this.map=new Map}setItem(A,e){this.map.set(A,e)}getItem(A){return this.map.get(A)}};try{"undefined"!=typeof localStorage&&localStorage&&(pr=localStorage)}catch(A){}const Jr=pr,jr=Object.assign,Zr=Object.keys,Pr=A=>Zr(A).length,Vr=(A,e,t=0)=>{try{for(;tA,vr="undefined"!=typeof process&&process.release&&/node|io\.js/.test(process.release.name)&&"[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0),Or="undefined"!=typeof window&&"undefined"!=typeof document&&!vr;let _r;"undefined"!=typeof navigator&&/Mac/.test(navigator.platform);const Kr=A=>(()=>{if(void 0===_r)if(vr){_r=ds();const A=process.argv;let e=null;for(let t=0;t{if(0!==A.length){const[e,t]=A.split("=");_r.set(`--${Zs(e,"-")}`,t),_r.set(`-${Zs(e,"-")}`,t)}}))):_r=ds();return _r})().has(A),Wr=A=>{return void 0===(e=vr?process.env[A.toUpperCase()]:Jr.getItem(A))?null:e;var e};Kr("--"+"production")||Wr("production");const Xr=vr&&(qr=process.env.FORCE_COLOR,["true","1","2"].includes(qr));var qr;const $r=!Kr("no-colors")&&(!vr||process.stdout.isTTY||Xr)&&(!vr||Kr("color")||Xr||null!==Wr("COLORTERM")||(Wr("TERM")||"").includes("color"));class Ao{constructor(A,e){this.left=A,this.right=e}}const eo=(A,e)=>new Ao(A,e),to="undefined"!=typeof document?document:{};"undefined"!=typeof DOMParser&&new DOMParser;const no=(io=clearTimeout,class{constructor(A){this._=A}destroy(){io(this._)}});var io;const Bo=(A,e)=>new no(setTimeout(e,A)),Eo=Symbol,so=Eo(),ro=Eo(),oo=Eo(),co=Eo(),go=Eo(),ao=Eo(),Qo=Eo(),lo=Eo(),ho=Eo(),Mo={[so]:eo("font-weight","bold"),[ro]:eo("font-weight","normal"),[oo]:eo("color","blue"),[go]:eo("color","green"),[co]:eo("color","grey"),[ao]:eo("color","red"),[Qo]:eo("color","purple"),[lo]:eo("color","orange"),[ho]:eo("color","black")},wo=$r?A=>{const e=[],t=[],n=ds();let i=[],B=0;for(;B{const t=[];for(const[n,i]of A)t.push(e(i,n));return t})(n,((A,e)=>`${e}:${A};`)).join("");B>0||A.length>0?(e.push("%c"+i),t.push(A)):e.push(i)}}}for(B>0&&(i=t,i.unshift(e.join("")));B{const e=[];let t=0;for(;t({[Symbol.iterator](){return this},next:A}),uo=(A,e)=>Io((()=>{const{done:t,value:n}=A.next();return{done:t,value:t?void 0:e(n)}}));class Go{constructor(A,e){this.clock=A,this.len=e}}class Co{constructor(){this.clients=new Map}}const ko=(A,e,t)=>e.clients.forEach(((e,n)=>{const i=A.doc.store.clients.get(n);for(let n=0;n{const t=A.clients.get(e.client);return void 0!==t&&null!==((A,e)=>{let t=0,n=A.length-1;for(;t<=n;){const i=Ns((t+n)/2),B=A[i],E=B.clock;if(E<=e){if(e{A.clients.forEach((A=>{let e,t;for(A.sort(((A,e)=>A.clock-e.clock)),e=1,t=1;e=i.clock?n.len=ys(n.len,i.clock+i.len-n.clock):(t{const e=new Co;for(let t=0;t{if(!e.clients.has(i)){const B=n.slice();for(let e=t+1;e{Cs(A.clients,e,(()=>[])).push(new Go(t,n))},fo=()=>new Co,No=A=>{const e=fo();return A.clients.forEach(((A,t)=>{const n=[];for(let e=0;e0&&e.clients.set(t,n)})),e},So=(A,e)=>{Xs(A.restEncoder,e.clients.size),Ys(e.clients.entries()).sort(((A,e)=>e[0]-A[0])).forEach((([e,t])=>{A.resetDsCurVal(),Xs(A.restEncoder,e);const n=t.length;Xs(A.restEncoder,n);for(let e=0;e{const e=new Co,t=Gr(A.restDecoder);for(let n=0;n0){const i=Cs(e.clients,t,(()=>[]));for(let e=0;e{const n=new Co,i=Gr(A.restDecoder);for(let B=0;B0){const A=new Po;return Xs(A.restEncoder,0),So(A,n),A.toUint8Array()}return null},bo=br;class Ho extends fs{constructor({guid:A=Tr(),collectionid:e=null,gc:t=!0,gcFilter:n=(()=>!0),meta:i=null,autoLoad:B=!1,shouldLoad:E=!0}={}){super(),this.gc=t,this.gcFilter=n,this.clientID=bo(),this.guid=A,this.collectionid=e,this.share=new Map,this.store=new lc,this._transaction=null,this._transactionCleanups=[],this.subdocs=new Set,this._item=null,this.shouldLoad=E,this.autoLoad=B,this.meta=i,this.isLoaded=!1,this.isSynced=!1,this.whenLoaded=xr((A=>{this.on("load",(()=>{this.isLoaded=!0,A(this)}))}));const s=()=>xr((A=>{const e=t=>{void 0!==t&&!0!==t||(this.off("sync",e),A())};this.on("sync",e)}));this.on("sync",(A=>{!1===A&&this.isSynced&&(this.whenSynced=s()),this.isSynced=void 0===A||!0===A,this.isSynced&&!this.isLoaded&&this.emit("load",[this])})),this.whenSynced=s()}load(){const A=this._item;null===A||this.shouldLoad||fc(A.parent.doc,(A=>{A.subdocsLoaded.add(this)}),null,!0),this.shouldLoad=!0}getSubdocs(){return this.subdocs}getSubdocGuids(){return new Set(Ys(this.subdocs).map((A=>A.guid)))}transact(A,e=null){return fc(this,A,e)}get(A,e=$c){const t=Cs(this.share,A,(()=>{const A=new e;return A._integrate(this,null),A})),n=t.constructor;if(e!==$c&&n!==e){if(n===$c){const n=new e;n._map=t._map,t._map.forEach((A=>{for(;null!==A;A=A.left)A.parent=n})),n._start=t._start;for(let A=n._start;null!==A;A=A.right)A.parent=n;return n._length=t._length,this.share.set(A,n),n._integrate(this,null),n}throw new Error(`Type with the name ${A} has already been defined with a different constructor`)}return t}getArray(A=""){return this.get(A,Rg)}getText(A=""){return this.get(A,Tg)}getMap(A=""){return this.get(A,ug)}getXmlElement(A=""){return this.get(A,pg)}getXmlFragment(A=""){return this.get(A,xg)}toJSON(){const A={};return this.share.forEach(((e,t)=>{A[t]=e.toJSON()})),A}destroy(){Ys(this.subdocs).forEach((A=>A.destroy()));const A=this._item;if(null!==A){this._item=null;const e=A.content;e.doc=new Ho({guid:this.guid,...e.opts,shouldLoad:!1}),e.doc._item=A,fc(A.parent.doc,(t=>{A.deleted||t.subdocsAdded.add(e.doc),t.subdocsRemoved.add(this)}),null,!0)}this.emit("destroyed",[!0]),this.emit("destroy",[this]),super.destroy()}}class To{constructor(A){this.restDecoder=A}resetDsCurVal(){}readDsClock(){return Gr(this.restDecoder)}readDsLen(){return Gr(this.restDecoder)}}class zo extends To{readLeftID(){return ec(Gr(this.restDecoder),Gr(this.restDecoder))}readRightID(){return ec(Gr(this.restDecoder),Gr(this.restDecoder))}readClient(){return Gr(this.restDecoder)}readInfo(){return dr(this.restDecoder)}readString(){return kr(this.restDecoder)}readParentInfo(){return 1===Gr(this.restDecoder)}readTypeRef(){return Gr(this.restDecoder)}readLen(){return Gr(this.restDecoder)}readAny(){return Yr(this.restDecoder)}readBuf(){return(A=>{const e=new Uint8Array(A.byteLength);return e.set(A),e})(ur(this.restDecoder))}readJSON(){return JSON.parse(kr(this.restDecoder))}readKey(){return kr(this.restDecoder)}}class xo{constructor(A){this.dsCurrVal=0,this.restDecoder=A}resetDsCurVal(){this.dsCurrVal=0}readDsClock(){return this.dsCurrVal+=Gr(this.restDecoder),this.dsCurrVal}readDsLen(){const A=Gr(this.restDecoder)+1;return this.dsCurrVal+=A,A}}class po extends xo{constructor(A){super(A),this.keys=[],Gr(A),this.keyClockDecoder=new Nr(ur(A)),this.clientDecoder=new fr(ur(A)),this.leftClockDecoder=new Nr(ur(A)),this.rightClockDecoder=new Nr(ur(A)),this.infoDecoder=new Ur(ur(A),dr),this.stringDecoder=new Sr(ur(A)),this.parentInfoDecoder=new Ur(ur(A),dr),this.typeRefDecoder=new fr(ur(A)),this.lenDecoder=new fr(ur(A))}readLeftID(){return new $o(this.clientDecoder.read(),this.leftClockDecoder.read())}readRightID(){return new $o(this.clientDecoder.read(),this.rightClockDecoder.read())}readClient(){return this.clientDecoder.read()}readInfo(){return this.infoDecoder.read()}readString(){return this.stringDecoder.read()}readParentInfo(){return 1===this.parentInfoDecoder.read()}readTypeRef(){return this.typeRefDecoder.read()}readLen(){return this.lenDecoder.read()}readAny(){return Yr(this.restDecoder)}readBuf(){return ur(this.restDecoder)}readJSON(){return Yr(this.restDecoder)}readKey(){const A=this.keyClockDecoder.read();if(A{const n=new Map;t.forEach(((A,t)=>{Mc(e,t)>A&&n.set(t,A)})),hc(e).forEach(((A,e)=>{t.has(e)||n.set(e,0)})),Xs(A.restEncoder,n.size),Ys(n.entries()).sort(((A,e)=>e[0]-A[0])).forEach((([t,n])=>{((A,e,t,n)=>{n=ys(n,e[0].id.clock);const i=Rc(e,n);Xs(A.restEncoder,e.length-i),A.writeClient(t),Xs(A.restEncoder,n);const B=e[i];B.write(A,n-B.id.clock);for(let t=i+1;t{const i=Ir(e);((A,e,t,n=new po(A))=>{fc(e,(A=>{A.local=!1;let e=!1;const t=A.doc,i=t.store,B=((A,e)=>{const t=ds(),n=Gr(A.restDecoder);for(let i=0;i{const n=[];let i=Ys(t.keys()).sort(((A,e)=>A-e));if(0===i.length)return null;const B=()=>{if(0===i.length)return null;let A=t.get(i[i.length-1]);for(;A.refs.length===A.i;){if(i.pop(),!(i.length>0))return null;A=t.get(i[i.length-1])}return A};let E=B();if(null===E)return null;const s=new lc,r=new Map,o=(A,e)=>{const t=r.get(A);(null==t||t>e)&&r.set(A,e)};let c=E.refs[E.i++];const g=new Map,a=()=>{for(const A of n){const e=A.id.client,n=t.get(e);n?(n.i--,s.clients.set(e,n.refs.slice(n.i)),t.delete(e),n.i=0,n.refs=[]):s.clients.set(e,[A]),i=i.filter((A=>A!==e))}n.length=0};for(;;){if(c.constructor!==wa){const i=Cs(g,c.id.client,(()=>Mc(e,c.id.client)))-c.id.clock;if(i<0)n.push(c),o(c.id.client,c.id.clock-1),a();else{const B=c.getMissing(A,e);if(null!==B){n.push(c);const A=t.get(B)||{refs:[],i:0};if(A.refs.length!==A.i){c=A.refs[A.i++];continue}o(B,Mc(e,B)),a()}else(0===i||i0)c=n.pop();else if(null!==E&&E.i0){const A=new Po;return Vo(A,s,new Map),Xs(A.restEncoder,0),{missing:r,update:A.toUint8Array()}}return null})(A,i,B),s=i.pendingStructs;if(s){for(const[A,t]of s.missing)if(te)&&s.missing.set(A,e)}s.update=xc([s.update,E.update])}}else i.pendingStructs=E;const r=yo(n,A,i);if(i.pendingDs){const e=new po(Ir(i.pendingDs));Gr(e.restDecoder);const t=yo(e,A,i);i.pendingDs=r&&t?xc([r,t]):r||t}else i.pendingDs=r;if(e){const e=i.pendingStructs.update;i.pendingStructs=null,Lo(A.doc,e)}}),t,!1)})(i,A,t,new n(i))},vo=A=>(A=>{const e=new Map,t=Gr(A.restDecoder);for(let n=0;n(Xs(A.restEncoder,e.size),Ys(e.entries()).sort(((A,e)=>e[0]-A[0])).forEach((([e,t])=>{Xs(A.restEncoder,e),Xs(A.restEncoder,t)})),A);class _o{constructor(){this.l=[]}}const Ko=()=>new _o,Wo=(A,e)=>A.l.push(e),Xo=(A,e)=>{const t=A.l,n=t.length;A.l=t.filter((A=>e!==A)),n===A.l.length&&console.error("[yjs] Tried to remove event handler that doesn't exist.")},qo=(A,e,t)=>Vr(A.l,[e,t]);class $o{constructor(A,e){this.client=A,this.clock=e}}const Ac=(A,e)=>A===e||null!==A&&null!==e&&A.client===e.client&&A.clock===e.clock,ec=(A,e)=>new $o(A,e),tc=A=>{for(const[e,t]of A.doc.share.entries())if(t===A)return e;throw hr()},nc=(A,e)=>{for(;null!==e;){if(e.parent===A)return!0;e=e.parent._item}return!1};class ic{constructor(A,e,t,n=0){this.type=A,this.tname=e,this.item=t,this.assoc=n}}const Bc=A=>new ic(null==A.type?null:ec(A.type.client,A.type.clock),A.tname||null,null==A.item?null:ec(A.item.client,A.item.clock),null==A.assoc?0:A.assoc);class Ec{constructor(A,e,t=0){this.type=A,this.index=e,this.assoc=t}}const sc=(A,e,t)=>{let n=null,i=null;return null===A._item?i=tc(A):n=ec(A._item.id.client,A._item.id.clock),new ic(n,i,e,t)},rc=(A,e,t=0)=>{let n=A._start;if(t<0){if(0===e)return sc(A,null,t);e--}for(;null!==n;){if(!n.deleted&&n.countable){if(n.length>e)return sc(A,ec(n.id.client,n.id.clock+e),t);e-=n.length}if(null===n.right&&t<0)return sc(A,n.lastId,t);n=n.right}return sc(A,null,t)},oc=(A,e)=>A===e||null!==A&&null!==e&&A.tname===e.tname&&Ac(A.item,e.item)&&Ac(A.type,e.type)&&A.assoc===e.assoc;class cc{constructor(A,e){this.ds=A,this.sv=e}}const gc=(A,e)=>new cc(A,e);gc(fo(),new Map);const ac=(A,e)=>void 0===e?!A.deleted:e.sv.has(A.id.client)&&(e.sv.get(A.id.client)||0)>A.id.clock&&!Do(e.ds,A.id),Qc=(A,e)=>{const t=Cs(A.meta,Qc,ks),n=A.doc.store;t.has(e)||(e.sv.forEach(((e,t)=>{e{})),t.add(e))};class lc{constructor(){this.clients=new Map,this.pendingStructs=null,this.pendingDs=null}}const hc=A=>{const e=new Map;return A.clients.forEach(((A,t)=>{const n=A[A.length-1];e.set(t,n.id.clock+n.length)})),e},Mc=(A,e)=>{const t=A.clients.get(e);if(void 0===t)return 0;const n=t[t.length-1];return n.id.clock+n.length},wc=(A,e)=>{let t=A.clients.get(e.id.client);if(void 0===t)t=[],A.clients.set(e.id.client,t);else{const A=t[t.length-1];if(A.id.clock+A.length!==e.id.clock)throw hr()}t.push(e)},Rc=(A,e)=>{let t=0,n=A.length-1,i=A[n],B=i.id.clock;if(B===e)return n;let E=Ns(e/(B+i.length-1)*n);for(;t<=n;){if(i=A[E],B=i.id.clock,B<=e){if(e{const t=A.clients.get(e.client);return t[Rc(t,e.clock)]},uc=(A,e,t)=>{const n=Rc(e,t),i=e[n];return i.id.clock{const t=A.doc.store.clients.get(e.client);return t[uc(A,t,e.clock)]},Gc=(A,e,t)=>{const n=e.clients.get(t.client),i=Rc(n,t.clock),B=n[i];return t.clock!==B.id.clock+B.length-1&&B.constructor!==Vg&&n.splice(i+1,0,ga(A,B,t.clock-B.id.clock+1)),B},Cc=(A,e,t,n,i)=>{if(0===n)return;const B=t+n;let E,s=uc(A,e,t);do{E=e[s++],B!(0===e.deleteSet.clients.size&&!(A=>{for(const[n,i]of A)if(t=i,e.beforeState.get(n)!==t)return!0;var t;return!1})(e.afterState)||(Fo(e.deleteSet),((A,e)=>{Vo(A,e.doc.store,e.beforeState)})(A,e),So(A,e.deleteSet),0)),Fc=(A,e,t)=>{const n=e._item;(null===n||n.id.clock<(A.beforeState.get(n.id.client)||0)&&!n.deleted)&&Cs(A.changed,e,ks).add(t)},Yc=(A,e)=>{let t=A[e],n=A[e-1],i=e;for(;i>0&&n.deleted===t.deleted&&n.constructor===t.constructor&&n.mergeWith(t);t=n,n=A[--i-1])t instanceof la&&null!==t.parentSub&&t.parent._map.get(t.parentSub)===t&&t.parent._map.set(t.parentSub,n);const B=e-i;return B&&A.splice(e+1-B,B),B},Uc=(A,e)=>{if(eA.push((()=>{null!==n._item&&n._item.deleted||n._callObserver(t,e)})))),A.push((()=>{t.changedParentTypes.forEach(((A,e)=>{e._dEH.l.length>0&&(null===e._item||!e._item.deleted)&&((A=A.filter((A=>null===A.target._item||!A.target._item.deleted))).forEach((A=>{A.currentTarget=e,A._path=null})),A.sort(((A,e)=>A.path.length-e.path.length)),qo(e._dEH,A,t))}))})),A.push((()=>n.emit("afterTransaction",[t,n]))),Vr(A,[]),t._needFormattingCleanup&&yg(t)}finally{n.gc&&((A,e,t)=>{for(const[n,i]of A.clients.entries()){const A=e.clients.get(n);for(let n=i.length-1;n>=0;n--){const B=i[n],E=B.clock+B.len;for(let n=Rc(A,B.clock),i=A[n];n{A.clients.forEach(((A,t)=>{const n=e.clients.get(t);for(let e=A.length-1;e>=0;e--){const t=A[e];for(let A=ms(n.length-1,1+Rc(n,t.clock+t.len-1)),e=n[A];A>0&&e.id.clock>=t.clock;e=n[A])A-=1+Yc(n,A)}}))})(B,i),t.afterState.forEach(((A,e)=>{const n=t.beforeState.get(e)||0;if(n!==A){const A=i.clients.get(e),t=ys(Rc(A,n),1);for(let e=A.length-1;e>=t;)e-=1+Yc(A,e)}}));for(let A=E.length-1;A>=0;A--){const{client:e,clock:t}=E[A].id,n=i.clients.get(e),B=Rc(n,t);B+11||B>0&&Yc(n,B)}if(t.local||t.afterState.get(n.clientID)===t.beforeState.get(n.clientID)||(((...A)=>{console.log(...wo(A)),Ro.forEach((e=>e.print(A)))})(lo,so,"[yjs] ",ro,ao,"Changed the client-id because another client seems to be using it."),n.clientID=bo()),n.emit("afterTransactionCleanup",[t,n]),n._observers.has("update")){const A=new jo;Dc(A,t)&&n.emit("update",[A.toUint8Array(),t.origin,n,t])}if(n._observers.has("updateV2")){const A=new Po;Dc(A,t)&&n.emit("updateV2",[A.toUint8Array(),t.origin,n,t])}const{subdocsAdded:s,subdocsLoaded:r,subdocsRemoved:o}=t;(s.size>0||o.size>0||r.size>0)&&(s.forEach((A=>{A.clientID=n.clientID,null==A.collectionid&&(A.collectionid=n.collectionid),n.subdocs.add(A)})),o.forEach((A=>n.subdocs.delete(A))),n.emit("subdocs",[{loaded:r,added:s,removed:o},n,t]),o.forEach((A=>A.destroy()))),A.length<=e+1?(n._transactionCleanups=[],n.emit("afterAllTransactions",[n,A])):Uc(A,e+1)}}},fc=(A,e,t=null,n=!0)=>{const i=A._transactionCleanups;let B=!1,E=null;null===A._transaction&&(B=!0,A._transaction=new kc(A,t,n),i.push(A._transaction),1===i.length&&A.emit("beforeAllTransactions",[A]),A.emit("beforeTransaction",[A._transaction,A]));try{E=e(A._transaction)}finally{if(B){const e=A._transaction===i[0];A._transaction=null,e&&Uc(i,0)}}return E};class Nc{constructor(A,e){this.insertions=e,this.deletions=A,this.meta=new Map}}const Sc=(A,e,t)=>{ko(A,t.deletions,(A=>{A instanceof la&&e.scope.some((e=>nc(e,A)))&&ca(A,!1)}))},mc=(A,e,t)=>{let n=null;const i=A.doc,B=A.scope;return fc(i,(t=>{for(;e.length>0&&null===A.currStackItem;){const n=i.store,E=e.pop(),s=new Set,r=[];let o=!1;ko(t,E.insertions,(A=>{if(A instanceof la){if(null!==A.redone){let{item:e,diff:i}=oa(n,A.id);i>0&&(e=dc(t,ec(e.id.client,e.id.clock+i))),A=e}!A.deleted&&B.some((e=>nc(e,A)))&&r.push(A)}})),ko(t,E.deletions,(A=>{A instanceof la&&B.some((e=>nc(e,A)))&&!Do(E.insertions,A.id)&&s.add(A)})),s.forEach((e=>{o=null!==Qa(t,e,s,E.insertions,A.ignoreRemoteMapChanges,A)||o}));for(let e=r.length-1;e>=0;e--){const n=r[e];A.deleteFilter(n)&&(n.delete(t),o=!0)}A.currStackItem=o?E:null}t.changed.forEach(((A,e)=>{A.has(null)&&e._searchMarker&&(e._searchMarker.length=0)})),n=t}),A),null!=A.currStackItem&&(A.emit("stack-item-popped",[{stackItem:A.currStackItem,type:t,changedParentTypes:n.changedParentTypes,origin:A},A]),A.currStackItem=null),A.currStackItem};class yc extends fs{constructor(A,{captureTimeout:e=500,captureTransaction:t=(()=>!0),deleteFilter:n=(()=>!0),trackedOrigins:i=new Set([null]),ignoreRemoteMapChanges:B=!1,doc:E=(Us(A)?A[0].doc:A.doc)}={}){super(),this.scope=[],this.doc=E,this.addToScope(A),this.deleteFilter=n,i.add(this),this.trackedOrigins=i,this.captureTransaction=t,this.undoStack=[],this.redoStack=[],this.undoing=!1,this.redoing=!1,this.currStackItem=null,this.lastChange=0,this.ignoreRemoteMapChanges=B,this.captureTimeout=e,this.afterTransactionHandler=A=>{if(!(this.captureTransaction(A)&&this.scope.some((e=>A.changedParentTypes.has(e)))&&(this.trackedOrigins.has(A.origin)||A.origin&&this.trackedOrigins.has(A.origin.constructor))))return;const e=this.undoing,t=this.redoing,n=e?this.redoStack:this.undoStack;e?this.stopCapturing():t||this.clear(!1,!0);const i=new Co;A.afterState.forEach(((e,t)=>{const n=A.beforeState.get(t)||0,B=e-n;B>0&&Uo(i,t,n,B)}));const B=zr();let E=!1;if(this.lastChange>0&&B-this.lastChange0&&!e&&!t){const e=n[n.length-1];e.deletions=Yo([e.deletions,A.deleteSet]),e.insertions=Yo([e.insertions,i])}else n.push(new Nc(A.deleteSet,i)),E=!0;e||t||(this.lastChange=B),ko(A,A.deleteSet,(A=>{A instanceof la&&this.scope.some((e=>nc(e,A)))&&ca(A,!0)}));this.emit(E?"stack-item-added":"stack-item-updated",[{stackItem:n[n.length-1],origin:A.origin,type:e?"redo":"undo",changedParentTypes:A.changedParentTypes},this])},this.doc.on("afterTransaction",this.afterTransactionHandler),this.doc.on("destroy",(()=>{this.destroy()}))}addToScope(A){(A=Us(A)?A:[A]).forEach((A=>{this.scope.every((e=>e!==A))&&(A.doc!==this.doc&&((...A)=>{console.warn(...wo(A)),A.unshift(lo),Ro.forEach((e=>e.print(A)))})("[yjs#509] Not same Y.Doc"),this.scope.push(A))}))}addTrackedOrigin(A){this.trackedOrigins.add(A)}removeTrackedOrigin(A){this.trackedOrigins.delete(A)}clear(A=!0,e=!0){(A&&this.canUndo()||e&&this.canRedo())&&this.doc.transact((t=>{A&&(this.undoStack.forEach((A=>Sc(t,this,A))),this.undoStack=[]),e&&(this.redoStack.forEach((A=>Sc(t,this,A))),this.redoStack=[]),this.emit("stack-cleared",[{undoStackCleared:A,redoStackCleared:e}])}))}stopCapturing(){this.lastChange=0}undo(){let A;this.undoing=!0;try{A=mc(this,this.undoStack,"undo")}finally{this.undoing=!1}return A}redo(){let A;this.redoing=!0;try{A=mc(this,this.redoStack,"redo")}finally{this.redoing=!1}return A}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}destroy(){this.trackedOrigins.delete(this),this.doc.off("afterTransaction",this.afterTransactionHandler),super.destroy()}}class bc{constructor(A,e){this.gen=function*(A){const e=Gr(A.restDecoder);for(let t=0;txc(A,zo,jo),zc=(A,e)=>{if(A.constructor===Vg){const{client:t,clock:n}=A.id;return new Vg(ec(t,n+e),A.length-e)}if(A.constructor===wa){const{client:t,clock:n}=A.id;return new wa(ec(t,n+e),A.length-e)}{const t=A,{client:n,clock:i}=t.id;return new la(ec(n,i+e),null,ec(n,i+e-1),null,t.rightOrigin,t.parent,t.parentSub,t.content.splice(e))}},xc=(A,e=po,t=Po)=>{if(1===A.length)return A[0];const n=A.map((A=>new e(Ir(A))));let i=n.map((A=>new bc(A,!0))),B=null;const E=new t,s=new Hc(E);for(;i=i.filter((A=>null!==A.curr)),i.sort(((A,e)=>{if(A.curr.id.client===e.curr.id.client){const t=A.curr.id.clock-e.curr.id.clock;return 0===t?A.curr.constructor===e.curr.constructor?0:A.curr.constructor===wa?1:-1:t}return e.curr.id.client-A.curr.id.client})),0!==i.length;){const A=i[0],e=A.curr.id.client;if(null!==B){let t=A.curr,n=!1;for(;null!==t&&t.id.clock+t.length<=B.struct.id.clock+B.struct.length&&t.id.client>=B.struct.id.client;)t=A.next(),n=!0;if(null===t||t.id.client!==e||n&&t.id.clock>B.struct.id.clock+B.struct.length)continue;if(e!==B.struct.id.client)jc(s,B.struct,B.offset),B={struct:t,offset:0},A.next();else if(B.struct.id.clock+B.struct.length0&&(B.struct.constructor===wa?B.struct.length-=e:t=zc(t,e)),B.struct.mergeWith(t)||(jc(s,B.struct,B.offset),B={struct:t,offset:0},A.next())}}else B={struct:A.curr,offset:0},A.next();for(let t=A.curr;null!==t&&t.id.client===e&&t.id.clock===B.struct.id.clock+B.struct.length&&t.constructor!==wa;t=A.next())jc(s,B.struct,B.offset),B={struct:t,offset:0}}null!==B&&(jc(s,B.struct,B.offset),B=null),Zc(s);const r=n.map((A=>mo(A))),o=Yo(r);return So(E,o),E.toUint8Array()},pc=(A,e,t=po,n=Po)=>{const i=vo(e),B=new n,E=new Hc(B),s=new t(Ir(A)),r=new bc(s,!1);for(;r.curr;){const A=r.curr,e=A.id.client,t=i.get(e)||0;if(r.curr.constructor!==wa)if(A.id.clock+A.length>t)for(jc(E,A,ys(t-A.id.clock,0)),r.next();r.curr&&r.curr.id.client===e;)jc(E,r.curr,0),r.next();else for(;r.curr&&r.curr.id.client===e&&r.curr.id.clock+r.curr.length<=t;)r.next();else r.next()}Zc(E);const o=mo(s);return So(B,o),B.toUint8Array()},Jc=A=>{A.written>0&&(A.clientStructs.push({written:A.written,restEncoder:_s(A.encoder.restEncoder)}),A.encoder.restEncoder=Os(),A.written=0)},jc=(A,e,t)=>{A.written>0&&A.currClient!==e.id.client&&Jc(A),0===A.written&&(A.currClient=e.id.client,A.encoder.writeClient(e.id.client),Xs(A.encoder.restEncoder,e.id.clock+t)),e.write(A.encoder,t),A.written++},Zc=A=>{Jc(A);const e=A.encoder.restEncoder;Xs(e,A.clientStructs.length);for(let t=0;t((A,e,t,n)=>{const i=new po(Ir(A)),B=new bc(i,!1),E=new n,s=new Hc(E);for(let A=B.curr;null!==A;A=B.next())jc(s,e(A),0);Zc(s);const r=mo(i);return So(E,r),E.toUint8Array()})(A,Lr,0,jo),Vc="You must not compute changes after the event-handler fired.";class Lc{constructor(A,e){this.target=A,this.currentTarget=A,this.transaction=e,this._changes=null,this._keys=null,this._delta=null,this._path=null}get path(){return this._path||(this._path=vc(this.currentTarget,this.target))}deletes(A){return Do(this.transaction.deleteSet,A.id)}get keys(){if(null===this._keys){if(0===this.transaction.doc._transactionCleanups.length)throw Qr(Vc);const A=new Map,e=this.target;this.transaction.changed.get(e).forEach((t=>{if(null!==t){const n=e._map.get(t);let i,B;if(this.adds(n)){let A=n.left;for(;null!==A&&this.adds(A);)A=A.left;if(this.deletes(n)){if(null===A||!this.deletes(A))return;i="delete",B=Ds(A.content.getContent())}else null!==A&&this.deletes(A)?(i="update",B=Ds(A.content.getContent())):(i="add",B=void 0)}else{if(!this.deletes(n))return;i="delete",B=Ds(n.content.getContent())}A.set(t,{action:i,oldValue:B})}})),this._keys=A}return this._keys}get delta(){return this.changes.delta}adds(A){return A.id.clock>=(this.transaction.beforeState.get(A.id.client)||0)}get changes(){let A=this._changes;if(null===A){if(0===this.transaction.doc._transactionCleanups.length)throw Qr(Vc);const e=this.target,t=ks(),n=ks(),i=[];if(A={added:t,deleted:n,delta:i,keys:this.keys},this.transaction.changed.get(e).has(null)){let A=null;const B=()=>{A&&i.push(A)};for(let i=e._start;null!==i;i=i.right)i.deleted?this.deletes(i)&&!this.adds(i)&&(null!==A&&void 0!==A.delete||(B(),A={delete:0}),A.delete+=i.length,n.add(i)):this.adds(i)?(null!==A&&void 0!==A.insert||(B(),A={insert:[]}),A.insert=A.insert.concat(i.content.getContent()),t.add(i)):(null!==A&&void 0!==A.retain||(B(),A={retain:0}),A.retain+=i.length);null!==A&&void 0===A.retain&&B()}this._changes=A}return A}}const vc=(A,e)=>{const t=[];for(;null!==e._item&&e!==A;){if(null!==e._item.parentSub)t.unshift(e._item.parentSub);else{let A=0,n=e._item.parent._start;for(;n!==e._item&&null!==n;)n.deleted||A++,n=n.right;t.unshift(A)}e=e._item.parent}return t};let Oc=0;class _c{constructor(A,e){A.marker=!0,this.p=A,this.index=e,this.timestamp=Oc++}}const Kc=(A,e,t)=>{A.p.marker=!1,A.p=e,e.marker=!0,A.index=t,A.timestamp=Oc++},Wc=(A,e)=>{if(null===A._start||0===e||null===A._searchMarker)return null;const t=0===A._searchMarker.length?null:A._searchMarker.reduce(((A,t)=>Ss(e-A.index){A.timestamp=Oc++})(t));null!==n.right&&ie;)n=n.left,!n.deleted&&n.countable&&(i-=n.length);for(;null!==n.left&&n.left.id.client===n.id.client&&n.left.id.clock+n.left.length===n.id.clock;)n=n.left,!n.deleted&&n.countable&&(i-=n.length);return null!==t&&Ss(t.index-i){if(A.length>=80){const n=A.reduce(((A,e)=>A.timestamp{for(let n=A.length-1;n>=0;n--){const i=A[n];if(t>0){let e=i.p;for(e.marker=!1;e&&(e.deleted||!e.countable);)e=e.left,e&&!e.deleted&&e.countable&&(i.index-=e.length);if(null===e||!0===e.marker){A.splice(n,1);continue}i.p=e,e.marker=!0}(e0&&e===i.index)&&(i.index=ys(e,i.index+t))}},qc=(A,e,t)=>{const n=A,i=e.changedParentTypes;for(;Cs(i,A,(()=>[])).push(t),null!==A._item;)A=A._item.parent;qo(n._eH,t,e)};class $c{constructor(){this._item=null,this._map=new Map,this._start=null,this.doc=null,this._length=0,this._eH=Ko(),this._dEH=Ko(),this._searchMarker=null}get parent(){return this._item?this._item.parent:null}_integrate(A,e){this.doc=A,this._item=e}_copy(){throw lr()}clone(){throw lr()}_write(A){}get _first(){let A=this._start;for(;null!==A&&A.deleted;)A=A.right;return A}_callObserver(A,e){!A.local&&this._searchMarker&&(this._searchMarker.length=0)}observe(A){Wo(this._eH,A)}observeDeep(A){Wo(this._dEH,A)}unobserve(A){Xo(this._eH,A)}unobserveDeep(A){Xo(this._dEH,A)}toJSON(){}}const Ag=(A,e,t)=>{e<0&&(e=A._length+e),t<0&&(t=A._length+t);let n=t-e;const i=[];let B=A._start;for(;null!==B&&n>0;){if(B.countable&&!B.deleted){const A=B.content.getContent();if(A.length<=e)e-=A.length;else{for(let t=e;t0;t++)i.push(A[t]),n--;e=0}}B=B.right}return i},eg=A=>{const e=[];let t=A._start;for(;null!==t;){if(t.countable&&!t.deleted){const A=t.content.getContent();for(let t=0;t{const t=[];let n=A._start;for(;null!==n;){if(n.countable&&ac(n,e)){const A=n.content.getContent();for(let e=0;e{let t=0,n=A._start;for(;null!==n;){if(n.countable&&!n.deleted){const i=n.content.getContent();for(let n=0;n{const t=[];return ng(A,((n,i)=>{t.push(e(n,i,A))})),t},Bg=A=>{let e=A._start,t=null,n=0;return{[Symbol.iterator](){return this},next:()=>{if(null===t){for(;null!==e&&e.deleted;)e=e.right;if(null===e)return{done:!0,value:void 0};t=e.content.getContent(),n=0,e=e.right}const A=t[n++];return t.length<=n&&(t=null),{done:!1,value:A}}}},Eg=(A,e)=>{const t=Wc(A,e);let n=A._start;for(null!==t&&(n=t.p,e-=t.index);null!==n;n=n.right)if(!n.deleted&&n.countable){if(e{let i=t;const B=A.doc,E=B.clientID,s=B.store,r=null===t?e._start:t.right;let o=[];const c=()=>{o.length>0&&(i=new la(ec(E,Mc(s,E)),i,i&&i.lastId,r,r&&r.id,e,null,new qg(o)),i.integrate(A,0),o=[])};n.forEach((t=>{if(null===t)o.push(t);else switch(t.constructor){case Number:case Object:case Boolean:case Array:case String:o.push(t);break;default:switch(c(),t.constructor){case Uint8Array:case ArrayBuffer:i=new la(ec(E,Mc(s,E)),i,i&&i.lastId,r,r&&r.id,e,null,new Lg(new Uint8Array(t))),i.integrate(A,0);break;case Ho:i=new la(ec(E,Mc(s,E)),i,i&&i.lastId,r,r&&r.id,e,null,new _g(t)),i.integrate(A,0);break;default:if(!(t instanceof $c))throw new Error("Unexpected content type in insert operation");i=new la(ec(E,Mc(s,E)),i,i&&i.lastId,r,r&&r.id,e,null,new ra(t)),i.integrate(A,0)}}})),c()},rg=()=>Qr("Length exceeded!"),og=(A,e,t,n)=>{if(t>e._length)throw rg();if(0===t)return e._searchMarker&&Xc(e._searchMarker,t,n.length),sg(A,e,null,n);const i=t,B=Wc(e,t);let E=e._start;for(null!==B&&(E=B.p,0==(t-=B.index)&&(E=E.prev,t+=E&&E.countable&&!E.deleted?E.length:0));null!==E;E=E.right)if(!E.deleted&&E.countable){if(t<=E.length){t{if(0===n)return;const i=t,B=n,E=Wc(e,t);let s=e._start;for(null!==E&&(s=E.p,t-=E.index);null!==s&&t>0;s=s.right)!s.deleted&&s.countable&&(t0&&null!==s;)s.deleted||(n0)throw rg();e._searchMarker&&Xc(e._searchMarker,i,-B+n)},gg=(A,e,t)=>{const n=e._map.get(t);void 0!==n&&n.delete(A)},ag=(A,e,t,n)=>{const i=e._map.get(t)||null,B=A.doc,E=B.clientID;let s;if(null==n)s=new qg([n]);else switch(n.constructor){case Number:case Object:case Boolean:case Array:case String:s=new qg([n]);break;case Uint8Array:s=new Lg(n);break;case Ho:s=new _g(n);break;default:if(!(n instanceof $c))throw new Error("Unexpected content type");s=new ra(n)}new la(ec(E,Mc(B.store,E)),i,i&&i.lastId,null,null,e,t,s).integrate(A,0)},Qg=(A,e)=>{const t=A._map.get(e);return void 0===t||t.deleted?void 0:t.content.getContent()[t.length-1]},lg=A=>{const e={};return A._map.forEach(((A,t)=>{A.deleted||(e[t]=A.content.getContent()[A.length-1])})),e},hg=(A,e)=>{const t=A._map.get(e);return void 0!==t&&!t.deleted},Mg=A=>{return e=A.entries(),t=A=>!A[1].deleted,Io((()=>{let A;do{A=e.next()}while(!A.done&&!t(A.value));return A}));var e,t};class wg extends Lc{constructor(A,e){super(A,e),this._transaction=e}}class Rg extends $c{constructor(){super(),this._prelimContent=[],this._searchMarker=[]}static from(A){const e=new Rg;return e.push(A),e}_integrate(A,e){super._integrate(A,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new Rg}clone(){const A=new Rg;return A.insert(0,this.toArray().map((A=>A instanceof $c?A.clone():A))),A}get length(){return null===this._prelimContent?this._length:this._prelimContent.length}_callObserver(A,e){super._callObserver(A,e),qc(this,A,new wg(this,A))}insert(A,e){null!==this.doc?fc(this.doc,(t=>{og(t,this,A,e)})):this._prelimContent.splice(A,0,...e)}push(A){null!==this.doc?fc(this.doc,(e=>{((A,e,t)=>{let n=(e._searchMarker||[]).reduce(((A,e)=>e.index>A.index?e:A),{index:0,p:e._start}).p;if(n)for(;n.right;)n=n.right;sg(A,e,n,t)})(e,this,A)})):this._prelimContent.push(...A)}unshift(A){this.insert(0,A)}delete(A,e=1){null!==this.doc?fc(this.doc,(t=>{cg(t,this,A,e)})):this._prelimContent.splice(A,e)}get(A){return Eg(this,A)}toArray(){return eg(this)}slice(A=0,e=this.length){return Ag(this,A,e)}toJSON(){return this.map((A=>A instanceof $c?A.toJSON():A))}map(A){return ig(this,A)}forEach(A){ng(this,A)}[Symbol.iterator](){return Bg(this)}_write(A){A.writeTypeRef(ea)}}class Ig extends Lc{constructor(A,e,t){super(A,e),this.keysChanged=t}}class ug extends $c{constructor(A){super(),this._prelimContent=null,this._prelimContent=void 0===A?new Map:new Map(A)}_integrate(A,e){super._integrate(A,e),this._prelimContent.forEach(((A,e)=>{this.set(e,A)})),this._prelimContent=null}_copy(){return new ug}clone(){const A=new ug;return this.forEach(((e,t)=>{A.set(t,e instanceof $c?e.clone():e)})),A}_callObserver(A,e){qc(this,A,new Ig(this,A,e))}toJSON(){const A={};return this._map.forEach(((e,t)=>{if(!e.deleted){const n=e.content.getContent()[e.length-1];A[t]=n instanceof $c?n.toJSON():n}})),A}get size(){return[...Mg(this._map)].length}keys(){return uo(Mg(this._map),(A=>A[0]))}values(){return uo(Mg(this._map),(A=>A[1].content.getContent()[A[1].length-1]))}entries(){return uo(Mg(this._map),(A=>[A[0],A[1].content.getContent()[A[1].length-1]]))}forEach(A){this._map.forEach(((e,t)=>{e.deleted||A(e.content.getContent()[e.length-1],t,this)}))}[Symbol.iterator](){return this.entries()}delete(A){null!==this.doc?fc(this.doc,(e=>{gg(e,this,A)})):this._prelimContent.delete(A)}set(A,e){return null!==this.doc?fc(this.doc,(t=>{ag(t,this,A,e)})):this._prelimContent.set(A,e),e}get(A){return Qg(this,A)}has(A){return hg(this,A)}clear(){null!==this.doc?fc(this.doc,(A=>{this.forEach((function(e,t,n){gg(A,n,t)}))})):this._prelimContent.clear()}_write(A){A.writeTypeRef(ta)}}const dg=(A,e)=>A===e||"object"==typeof A&&"object"==typeof e&&A&&e&&((A,e)=>A===e||Pr(A)===Pr(e)&&((A,e)=>{for(const t in A)if(!e(A[t],t))return!1;return!0})(A,((A,t)=>(void 0!==A||((A,e)=>Object.prototype.hasOwnProperty.call(A,e))(e,t))&&e[t]===A)))(A,e);class Gg{constructor(A,e,t,n){this.left=A,this.right=e,this.index=t,this.currentAttributes=n}forward(){null===this.right&&hr(),this.right.content.constructor===Wg?this.right.deleted||Fg(this.currentAttributes,this.right.content):this.right.deleted||(this.index+=this.right.length),this.left=this.right,this.right=this.right.right}}const Cg=(A,e,t)=>{for(;null!==e.right&&t>0;)e.right.content.constructor===Wg?e.right.deleted||Fg(e.currentAttributes,e.right.content):e.right.deleted||(t{const i=new Map,B=n?Wc(e,t):null;if(B){const e=new Gg(B.p.left,B.p,B.index,i);return Cg(A,e,t-B.index)}{const n=new Gg(null,e._start,0,i);return Cg(A,n,t)}},Dg=(A,e,t,n)=>{for(;null!==t.right&&(!0===t.right.deleted||t.right.content.constructor===Wg&&dg(n.get(t.right.content.key),t.right.content.value));)t.right.deleted||n.delete(t.right.content.key),t.forward();const i=A.doc,B=i.clientID;n.forEach(((n,E)=>{const s=t.left,r=t.right,o=new la(ec(B,Mc(i.store,B)),s,s&&s.lastId,r,r&&r.id,e,null,new Wg(E,n));o.integrate(A,0),t.right=o,t.forward()}))},Fg=(A,e)=>{const{key:t,value:n}=e;null===n?A.delete(t):A.set(t,n)},Yg=(A,e)=>{for(;null!==A.right&&(A.right.deleted||A.right.content.constructor===Wg&&dg(e[A.right.content.key]??null,A.right.content.value));)A.forward()},Ug=(A,e,t,n)=>{const i=A.doc,B=i.clientID,E=new Map;for(const s in n){const r=n[s],o=t.currentAttributes.get(s)??null;if(!dg(o,r)){E.set(s,o);const{left:n,right:c}=t;t.right=new la(ec(B,Mc(i.store,B)),n,n&&n.lastId,c,c&&c.id,e,null,new Wg(s,r)),t.right.integrate(A,0),t.forward()}}return E},fg=(A,e,t,n,i)=>{t.currentAttributes.forEach(((A,e)=>{void 0===i[e]&&(i[e]=null)}));const B=A.doc,E=B.clientID;Yg(t,i);const s=Ug(A,e,t,i),r=n.constructor===String?new $g(n):n instanceof $c?new ra(n):new Kg(n);let{left:o,right:c,index:g}=t;e._searchMarker&&Xc(e._searchMarker,t.index,r.getLength()),c=new la(ec(E,Mc(B.store,E)),o,o&&o.lastId,c,c&&c.id,e,null,r),c.integrate(A,0),t.right=c,t.index=g,t.forward(),Dg(A,e,t,s)},Ng=(A,e,t,n,i)=>{const B=A.doc,E=B.clientID;Yg(t,i);const s=Ug(A,e,t,i);A:for(;null!==t.right&&(n>0||s.size>0&&(t.right.deleted||t.right.content.constructor===Wg));){if(!t.right.deleted)switch(t.right.content.constructor){case Wg:{const{key:e,value:B}=t.right.content,E=i[e];if(void 0!==E){if(dg(E,B))s.delete(e);else{if(0===n)break A;s.set(e,B)}t.right.delete(A)}else t.currentAttributes.set(e,B);break}default:n0){let i="";for(;n>0;n--)i+="\n";t.right=new la(ec(E,Mc(B.store,E)),t.left,t.left&&t.left.lastId,t.right,t.right&&t.right.id,e,null,new $g(i)),t.right.integrate(A,0),t.forward()}Dg(A,e,t,s)},Sg=(A,e,t,n,i)=>{let B=e;const E=ds();for(;B&&(!B.countable||B.deleted);){if(!B.deleted&&B.content.constructor===Wg){const A=B.content;E.set(A.key,A)}B=B.right}let s=0,r=!1;for(;e!==B;){if(t===e&&(r=!0),!e.deleted){const t=e.content;switch(t.constructor){case Wg:{const{key:B,value:o}=t,c=n.get(B)??null;E.get(B)===t&&c!==o||(e.delete(A),s++,r||(i.get(B)??null)!==o||c===o||(null===c?i.delete(B):i.set(B,c))),r||e.deleted||Fg(i,t);break}}}e=e.right}return s},mg=A=>{let e=0;return fc(A.doc,(t=>{let n=A._start,i=A._start,B=ds();const E=Gs(B);for(;i;)!1===i.deleted&&(i.content.constructor===Wg?Fg(E,i.content):(e+=Sg(t,n,i,B,E),B=Gs(E),n=i)),i=i.right})),e},yg=A=>{const e=new Set,t=A.doc;for(const[n,i]of A.afterState.entries()){const B=A.beforeState.get(n)||0;i!==B&&Cc(A,t.store.clients.get(n),B,i,(A=>{A.deleted||A.content.constructor!==Wg||A.constructor===Vg||e.add(A.parent)}))}fc(t,(t=>{ko(A,A.deleteSet,(A=>{A instanceof Vg||!A.parent._hasFormatting||e.has(A.parent)||(A.content.constructor===Wg?e.add(A.parent):((A,e)=>{for(;e&&e.right&&(e.right.deleted||!e.right.countable);)e=e.right;const t=new Set;for(;e&&(e.deleted||!e.countable);){if(!e.deleted&&e.content.constructor===Wg){const n=e.content.key;t.has(n)?e.delete(A):t.add(n)}e=e.left}})(t,A))}));for(const A of e)mg(A)}))},bg=(A,e,t)=>{const n=t,i=Gs(e.currentAttributes),B=e.right;for(;t>0&&null!==e.right;){if(!1===e.right.deleted)switch(e.right.content.constructor){case ra:case Kg:case $g:t{null===A?this.childListChanged=!0:this.keysChanged.add(A)}))}get changes(){if(null===this._changes){const A={keys:this.keys,delta:this.delta,added:new Set,deleted:new Set};this._changes=A}return this._changes}get delta(){if(null===this._delta){const A=[];fc(this.target.doc,(e=>{const t=new Map,n=new Map;let i=this.target._start,B=null;const E={};let s="",r=0,o=0;const c=()=>{if(null!==B){let e=null;switch(B){case"delete":o>0&&(e={delete:o}),o=0;break;case"insert":("object"==typeof s||s.length>0)&&(e={insert:s},t.size>0&&(e.attributes={},t.forEach(((A,t)=>{null!==A&&(e.attributes[t]=A)})))),s="";break;case"retain":r>0&&(e={retain:r},(A=>{for(const e in A)return!1;return!0})(E)||(e.attributes=jr({},E))),r=0}e&&A.push(e),B=null}};for(;null!==i;){switch(i.content.constructor){case ra:case Kg:this.adds(i)?this.deletes(i)||(c(),B="insert",s=i.content.getContent()[0],c()):this.deletes(i)?("delete"!==B&&(c(),B="delete"),o+=1):i.deleted||("retain"!==B&&(c(),B="retain"),r+=1);break;case $g:this.adds(i)?this.deletes(i)||("insert"!==B&&(c(),B="insert"),s+=i.content.str):this.deletes(i)?("delete"!==B&&(c(),B="delete"),o+=i.length):i.deleted||("retain"!==B&&(c(),B="retain"),r+=i.length);break;case Wg:{const{key:A,value:s}=i.content;if(this.adds(i)){if(!this.deletes(i)){const r=t.get(A)??null;dg(r,s)?null!==s&&i.delete(e):("retain"===B&&c(),dg(s,n.get(A)??null)?delete E[A]:E[A]=s)}}else if(this.deletes(i)){n.set(A,s);const e=t.get(A)??null;dg(e,s)||("retain"===B&&c(),E[A]=e)}else if(!i.deleted){n.set(A,s);const t=E[A];void 0!==t&&(dg(t,s)?null!==t&&i.delete(e):("retain"===B&&c(),null===s?delete E[A]:E[A]=s))}i.deleted||("insert"===B&&c(),Fg(t,i.content));break}}i=i.right}for(c();A.length>0;){const e=A[A.length-1];if(void 0===e.retain||void 0!==e.attributes)break;A.pop()}})),this._delta=A}return this._delta}}class Tg extends $c{constructor(A){super(),this._pending=void 0!==A?[()=>this.insert(0,A)]:[],this._searchMarker=[],this._hasFormatting=!1}get length(){return this._length}_integrate(A,e){super._integrate(A,e);try{this._pending.forEach((A=>A()))}catch(A){console.error(A)}this._pending=null}_copy(){return new Tg}clone(){const A=new Tg;return A.applyDelta(this.toDelta()),A}_callObserver(A,e){super._callObserver(A,e);const t=new Hg(this,A,e);qc(this,A,t),!A.local&&this._hasFormatting&&(A._needFormattingCleanup=!0)}toString(){let A="",e=this._start;for(;null!==e;)!e.deleted&&e.countable&&e.content.constructor===$g&&(A+=e.content.str),e=e.right;return A}toJSON(){return this.toString()}applyDelta(A,{sanitize:e=!0}={}){null!==this.doc?fc(this.doc,(t=>{const n=new Gg(null,this._start,0,new Map);for(let i=0;i0)&&fg(t,this,n,E,B.attributes||{})}else void 0!==B.retain?Ng(t,this,n,B.retain,B.attributes||{}):void 0!==B.delete&&bg(t,n,B.delete)}})):this._pending.push((()=>this.applyDelta(A)))}toDelta(A,e,t){const n=[],i=new Map;let B="",E=this._start;function s(){if(B.length>0){const A={};let e=!1;i.forEach(((t,n)=>{e=!0,A[n]=t}));const t={insert:B};e&&(t.attributes=A),n.push(t),B=""}}const r=()=>{for(;null!==E;){if(ac(E,A)||void 0!==e&&ac(E,e))switch(E.content.constructor){case $g:{const n=i.get("ychange");void 0===A||ac(E,A)?void 0===e||ac(E,e)?void 0!==n&&(s(),i.delete("ychange")):void 0!==n&&n.user===E.id.client&&"added"===n.type||(s(),i.set("ychange",t?t("added",E.id):{type:"added"})):void 0!==n&&n.user===E.id.client&&"removed"===n.type||(s(),i.set("ychange",t?t("removed",E.id):{type:"removed"})),B+=E.content.str;break}case ra:case Kg:{s();const A={insert:E.content.getContent()[0]};if(i.size>0){const e={};A.attributes=e,i.forEach(((A,t)=>{e[t]=A}))}n.push(A);break}case Wg:ac(E,A)&&(s(),Fg(i,E.content))}E=E.right}s()};return A||e?fc(this.doc,(t=>{A&&Qc(t,A),e&&Qc(t,e),r()}),"cleanup"):r(),n}insert(A,e,t){if(e.length<=0)return;const n=this.doc;null!==n?fc(n,(n=>{const i=kg(n,this,A,!t);t||(t={},i.currentAttributes.forEach(((A,e)=>{t[e]=A}))),fg(n,this,i,e,t)})):this._pending.push((()=>this.insert(A,e,t)))}insertEmbed(A,e,t){const n=this.doc;null!==n?fc(n,(n=>{const i=kg(n,this,A,!t);fg(n,this,i,e,t||{})})):this._pending.push((()=>this.insertEmbed(A,e,t||{})))}delete(A,e){if(0===e)return;const t=this.doc;null!==t?fc(t,(t=>{bg(t,kg(t,this,A,!0),e)})):this._pending.push((()=>this.delete(A,e)))}format(A,e,t){if(0===e)return;const n=this.doc;null!==n?fc(n,(n=>{const i=kg(n,this,A,!1);null!==i.right&&Ng(n,this,i,e,t)})):this._pending.push((()=>this.format(A,e,t)))}removeAttribute(A){null!==this.doc?fc(this.doc,(e=>{gg(e,this,A)})):this._pending.push((()=>this.removeAttribute(A)))}setAttribute(A,e){null!==this.doc?fc(this.doc,(t=>{ag(t,this,A,e)})):this._pending.push((()=>this.setAttribute(A,e)))}getAttribute(A){return Qg(this,A)}getAttributes(){return lg(this)}_write(A){A.writeTypeRef(na)}}class zg{constructor(A,e=(()=>!0)){this._filter=e,this._root=A,this._currentNode=A._start,this._firstCall=!0}[Symbol.iterator](){return this}next(){let A=this._currentNode,e=A&&A.content&&A.content.type;if(null!==A&&(!this._firstCall||A.deleted||!this._filter(e)))do{if(e=A.content.type,A.deleted||e.constructor!==pg&&e.constructor!==xg||null===e._start)for(;null!==A;){if(null!==A.right){A=A.right;break}A=A.parent===this._root?null:A.parent._item}else A=e._start}while(null!==A&&(A.deleted||!this._filter(A.content.type)));return this._firstCall=!1,null===A?{value:void 0,done:!0}:(this._currentNode=A,{value:A.content.type,done:!1})}}class xg extends $c{constructor(){super(),this._prelimContent=[]}get firstChild(){const A=this._first;return A?A.content.getContent()[0]:null}_integrate(A,e){super._integrate(A,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new xg}clone(){const A=new xg;return A.insert(0,this.toArray().map((A=>A instanceof $c?A.clone():A))),A}get length(){return null===this._prelimContent?this._length:this._prelimContent.length}createTreeWalker(A){return new zg(this,A)}querySelector(A){A=A.toUpperCase();const e=new zg(this,(e=>e.nodeName&&e.nodeName.toUpperCase()===A)).next();return e.done?null:e.value}querySelectorAll(A){return A=A.toUpperCase(),Ys(new zg(this,(e=>e.nodeName&&e.nodeName.toUpperCase()===A)))}_callObserver(A,e){qc(this,A,new Jg(this,e,A))}toString(){return ig(this,(A=>A.toString())).join("")}toJSON(){return this.toString()}toDOM(A=document,e={},t){const n=A.createDocumentFragment();return void 0!==t&&t._createAssociation(n,this),ng(this,(i=>{n.insertBefore(i.toDOM(A,e,t),null)})),n}insert(A,e){null!==this.doc?fc(this.doc,(t=>{og(t,this,A,e)})):this._prelimContent.splice(A,0,...e)}insertAfter(A,e){if(null!==this.doc)fc(this.doc,(t=>{sg(t,this,A&&A instanceof $c?A._item:A,e)}));else{const t=this._prelimContent,n=null===A?0:t.findIndex((e=>e===A))+1;if(0===n&&null!==A)throw Qr("Reference item not found");t.splice(n,0,...e)}}delete(A,e=1){null!==this.doc?fc(this.doc,(t=>{cg(t,this,A,e)})):this._prelimContent.splice(A,e)}toArray(){return eg(this)}push(A){this.insert(this.length,A)}unshift(A){this.insert(0,A)}get(A){return Eg(this,A)}slice(A=0,e=this.length){return Ag(this,A,e)}forEach(A){ng(this,A)}_write(A){A.writeTypeRef(Ba)}}class pg extends xg{constructor(A="UNDEFINED"){super(),this.nodeName=A,this._prelimAttrs=new Map}get nextSibling(){const A=this._item?this._item.next:null;return A?A.content.type:null}get prevSibling(){const A=this._item?this._item.prev:null;return A?A.content.type:null}_integrate(A,e){super._integrate(A,e),this._prelimAttrs.forEach(((A,e)=>{this.setAttribute(e,A)})),this._prelimAttrs=null}_copy(){return new pg(this.nodeName)}clone(){const A=new pg(this.nodeName);return((A,e)=>{for(const t in A)e(A[t],t)})(this.getAttributes(),((e,t)=>{"string"==typeof e&&A.setAttribute(t,e)})),A.insert(0,this.toArray().map((A=>A instanceof $c?A.clone():A))),A}toString(){const A=this.getAttributes(),e=[],t=[];for(const e in A)t.push(e);t.sort();const n=t.length;for(let i=0;i0?" "+e.join(" "):""}>${super.toString()}`}removeAttribute(A){null!==this.doc?fc(this.doc,(e=>{gg(e,this,A)})):this._prelimAttrs.delete(A)}setAttribute(A,e){null!==this.doc?fc(this.doc,(t=>{ag(t,this,A,e)})):this._prelimAttrs.set(A,e)}getAttribute(A){return Qg(this,A)}hasAttribute(A){return hg(this,A)}getAttributes(A){return A?((A,e)=>{const t={};return this._map.forEach(((A,n)=>{let i=A;for(;null!==i&&(!e.sv.has(i.id.client)||i.id.clock>=(e.sv.get(i.id.client)||0));)i=i.left;null!==i&&ac(i,e)&&(t[n]=i.content.getContent()[i.length-1])})),t})(0,A):lg(this)}toDOM(A=document,e={},t){const n=A.createElement(this.nodeName),i=this.getAttributes();for(const A in i){const e=i[A];"string"==typeof e&&n.setAttribute(A,e)}return ng(this,(i=>{n.appendChild(i.toDOM(A,e,t))})),void 0!==t&&t._createAssociation(n,this),n}_write(A){A.writeTypeRef(ia),A.writeKey(this.nodeName)}}class Jg extends Lc{constructor(A,e,t){super(A,t),this.childListChanged=!1,this.attributesChanged=new Set,e.forEach((A=>{null===A?this.childListChanged=!0:this.attributesChanged.add(A)}))}}class jg extends ug{constructor(A){super(),this.hookName=A}_copy(){return new jg(this.hookName)}clone(){const A=new jg(this.hookName);return this.forEach(((e,t)=>{A.set(t,e)})),A}toDOM(A=document,e={},t){const n=e[this.hookName];let i;return i=void 0!==n?n.createDom(this):document.createElement(this.hookName),i.setAttribute("data-yjs-hook",this.hookName),void 0!==t&&t._createAssociation(i,this),i}_write(A){A.writeTypeRef(Ea),A.writeKey(this.hookName)}}class Zg extends Tg{get nextSibling(){const A=this._item?this._item.next:null;return A?A.content.type:null}get prevSibling(){const A=this._item?this._item.prev:null;return A?A.content.type:null}_copy(){return new Zg}clone(){const A=new Zg;return A.applyDelta(this.toDelta()),A}toDOM(A=document,e,t){const n=A.createTextNode(this.toString());return void 0!==t&&t._createAssociation(n,this),n}toString(){return this.toDelta().map((A=>{const e=[];for(const t in A.attributes){const n=[];for(const e in A.attributes[t])n.push({key:e,value:A.attributes[t][e]});n.sort(((A,e)=>A.keyA.nodeName=0;A--)t+=``;return t})).join("")}toJSON(){return this.toString()}_write(A){A.writeTypeRef(sa)}}class Pg{constructor(A,e){this.id=A,this.length=e}get deleted(){throw lr()}mergeWith(A){return!1}write(A,e,t){throw lr()}integrate(A,e){throw lr()}}class Vg extends Pg{get deleted(){return!0}delete(){}mergeWith(A){return this.constructor===A.constructor&&(this.length+=A.length,!0)}integrate(A,e){e>0&&(this.id.clock+=e,this.length-=e),wc(A.doc.store,this)}write(A,e){A.writeInfo(0),A.writeLen(this.length-e)}getMissing(A,e){return null}}class Lg{constructor(A){this.content=A}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new Lg(this.content)}splice(A){throw lr()}mergeWith(A){return!1}integrate(A,e){}delete(A){}gc(A){}write(A,e){A.writeBuf(this.content)}getRef(){return 3}}class vg{constructor(A){this.len=A}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new vg(this.len)}splice(A){const e=new vg(this.len-A);return this.len=A,e}mergeWith(A){return this.len+=A.len,!0}integrate(A,e){Uo(A.deleteSet,e.id.client,e.id.clock,this.len),e.markDeleted()}delete(A){}gc(A){}write(A,e){A.writeLen(this.len-e)}getRef(){return 1}}const Og=(A,e)=>new Ho({guid:A,...e,shouldLoad:e.shouldLoad||e.autoLoad||!1});class _g{constructor(A){A._item&&console.error("This document was already integrated as a sub-document. You should create a second instance instead with the same guid."),this.doc=A;const e={};this.opts=e,A.gc||(e.gc=!1),A.autoLoad&&(e.autoLoad=!0),null!==A.meta&&(e.meta=A.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new _g(Og(this.doc.guid,this.opts))}splice(A){throw lr()}mergeWith(A){return!1}integrate(A,e){this.doc._item=e,A.subdocsAdded.add(this.doc),this.doc.shouldLoad&&A.subdocsLoaded.add(this.doc)}delete(A){A.subdocsAdded.has(this.doc)?A.subdocsAdded.delete(this.doc):A.subdocsRemoved.add(this.doc)}gc(A){}write(A,e){A.writeString(this.doc.guid),A.writeAny(this.opts)}getRef(){return 9}}class Kg{constructor(A){this.embed=A}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new Kg(this.embed)}splice(A){throw lr()}mergeWith(A){return!1}integrate(A,e){}delete(A){}gc(A){}write(A,e){A.writeJSON(this.embed)}getRef(){return 5}}class Wg{constructor(A,e){this.key=A,this.value=e}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new Wg(this.key,this.value)}splice(A){throw lr()}mergeWith(A){return!1}integrate(A,e){const t=e.parent;t._searchMarker=null,t._hasFormatting=!0}delete(A){}gc(A){}write(A,e){A.writeKey(this.key),A.writeJSON(this.value)}getRef(){return 6}}class Xg{constructor(A){this.arr=A}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new Xg(this.arr)}splice(A){const e=new Xg(this.arr.slice(A));return this.arr=this.arr.slice(0,A),e}mergeWith(A){return this.arr=this.arr.concat(A.arr),!0}integrate(A,e){}delete(A){}gc(A){}write(A,e){const t=this.arr.length;A.writeLen(t-e);for(let n=e;n=55296&&t<=56319&&(this.str=this.str.slice(0,A-1)+"�",e.str="�"+e.str.slice(1)),e}mergeWith(A){return this.str+=A.str,!0}integrate(A,e){}delete(A){}gc(A){}write(A,e){A.writeString(0===e?this.str:this.str.slice(e))}getRef(){return 4}}const Aa=[()=>new Rg,()=>new ug,()=>new Tg,A=>new pg(A.readKey()),()=>new xg,A=>new jg(A.readKey()),()=>new Zg],ea=0,ta=1,na=2,ia=3,Ba=4,Ea=5,sa=6;class ra{constructor(A){this.type=A}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new ra(this.type._copy())}splice(A){throw lr()}mergeWith(A){return!1}integrate(A,e){this.type._integrate(A.doc,e)}delete(A){let e=this.type._start;for(;null!==e;)e.deleted?e.id.clock<(A.beforeState.get(e.id.client)||0)&&A._mergeStructs.push(e):e.delete(A),e=e.right;this.type._map.forEach((e=>{e.deleted?e.id.clock<(A.beforeState.get(e.id.client)||0)&&A._mergeStructs.push(e):e.delete(A)})),A.changed.delete(this.type)}gc(A){let e=this.type._start;for(;null!==e;)e.gc(A,!0),e=e.right;this.type._start=null,this.type._map.forEach((e=>{for(;null!==e;)e.gc(A,!0),e=e.left})),this.type._map=new Map}write(A,e){this.type._write(A)}getRef(){return 7}}const oa=(A,e)=>{let t,n=e,i=0;do{i>0&&(n=ec(n.client,n.clock+i)),t=Ic(A,n),i=n.clock-t.id.clock,n=t.redone}while(null!==n&&t instanceof la);return{item:t,diff:i}},ca=(A,e)=>{for(;null!==A&&A.keep!==e;)A.keep=e,A=A.parent._item},ga=(A,e,t)=>{const{client:n,clock:i}=e.id,B=new la(ec(n,i+t),e,ec(n,i+t-1),e.right,e.rightOrigin,e.parent,e.parentSub,e.content.splice(t));return e.deleted&&B.markDeleted(),e.keep&&(B.keep=!0),null!==e.redone&&(B.redone=ec(e.redone.client,e.redone.clock+t)),e.right=B,null!==B.right&&(B.right.left=B),A._mergeStructs.push(B),null!==B.parentSub&&null===B.right&&B.parent._map.set(B.parentSub,B),e.length=t,B},aa=(A,e)=>(A=>{for(let t=0;t{const E=A.doc,s=E.store,r=E.clientID,o=e.redone;if(null!==o)return dc(A,o);let c,g=e.parent._item,a=null;if(null!==g&&!0===g.deleted){if(null===g.redone&&(!t.has(g)||null===Qa(A,g,t,n,i,B)))return null;for(;null!==g.redone;)g=dc(A,g.redone)}const Q=null===g?e.parent:g.content.type;if(null===e.parentSub){for(a=e.left,c=e;null!==a;){let e=a;for(;null!==e&&e.parent._item!==g;)e=null===e.redone?null:dc(A,e.redone);if(null!==e&&e.parent._item===g){a=e;break}a=a.left}for(;null!==c;){let e=c;for(;null!==e&&e.parent._item!==g;)e=null===e.redone?null:dc(A,e.redone);if(null!==e&&e.parent._item===g){c=e;break}c=c.right}}else if(c=null,e.right&&!i){for(a=e;null!==a&&null!==a.right&&(a.right.redone||Do(n,a.right.id)||aa(B.undoStack,a.right.id)||aa(B.redoStack,a.right.id));)for(a=a.right;a.redone;)a=dc(A,a.redone);if(a&&null!==a.right)return null}else a=Q._map.get(e.parentSub)||null;const l=Mc(s,r),h=ec(r,l),M=new la(h,a,a&&a.lastId,c,c&&c.id,Q,e.parentSub,e.content.copy());return e.redone=h,ca(M,!0),M.integrate(A,0),M};class la extends Pg{constructor(A,e,t,n,i,B,E,s){super(A,s.getLength()),this.origin=t,this.left=e,this.right=n,this.rightOrigin=i,this.parent=B,this.parentSub=E,this.redone=null,this.content=s,this.info=this.content.isCountable()?2:0}set marker(A){(8&this.info)>0!==A&&(this.info^=8)}get marker(){return(8&this.info)>0}get keep(){return(1&this.info)>0}set keep(A){this.keep!==A&&(this.info^=1)}get countable(){return(2&this.info)>0}get deleted(){return(4&this.info)>0}set deleted(A){this.deleted!==A&&(this.info^=4)}markDeleted(){this.info|=4}getMissing(A,e){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=Mc(e,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=Mc(e,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===$o&&this.id.client!==this.parent.client&&this.parent.clock>=Mc(e,this.parent.client))return this.parent.client;if(this.origin&&(this.left=Gc(A,e,this.origin),this.origin=this.left.lastId),this.rightOrigin&&(this.right=dc(A,this.rightOrigin),this.rightOrigin=this.right.id),this.left&&this.left.constructor===Vg||this.right&&this.right.constructor===Vg)this.parent=null;else if(this.parent){if(this.parent.constructor===$o){const A=Ic(e,this.parent);this.parent=A.constructor===Vg?null:A.content.type}}else this.left&&this.left.constructor===la&&(this.parent=this.left.parent,this.parentSub=this.left.parentSub),this.right&&this.right.constructor===la&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);return null}integrate(A,e){if(e>0&&(this.id.clock+=e,this.left=Gc(A,A.doc.store,ec(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(e),this.length-=e),this.parent){if(!this.left&&(!this.right||null!==this.right.left)||this.left&&this.left.right!==this.right){let e,t=this.left;if(null!==t)e=t.right;else if(null!==this.parentSub)for(e=this.parent._map.get(this.parentSub)||null;null!==e&&null!==e.left;)e=e.left;else e=this.parent._start;const n=new Set,i=new Set;for(;null!==e&&e!==this.right;){if(i.add(e),n.add(e),Ac(this.origin,e.origin)){if(e.id.client{e.p===A&&(e.p=this,!this.deleted&&this.countable&&(e.index-=this.length))})),A.keep&&(this.keep=!0),this.right=A.right,null!==this.right&&(this.right.left=this),this.length+=A.length,!0}return!1}delete(A){if(!this.deleted){const e=this.parent;this.countable&&null===this.parentSub&&(e._length-=this.length),this.markDeleted(),Uo(A.deleteSet,this.id.client,this.id.clock,this.length),Fc(A,e,this.parentSub),this.content.delete(A)}}gc(A,e){if(!this.deleted)throw hr();this.content.gc(A),e?((A,e,t)=>{const n=A.clients.get(e.id.client);n[Rc(n,e.id.clock)]=t})(A,this,new Vg(this.id,this.length)):this.content=new vg(this.length)}write(A,e){const t=e>0?ec(this.id.client,this.id.clock+e-1):this.origin,n=this.rightOrigin,i=this.parentSub,B=31&this.content.getRef()|(null===t?0:Ts)|(null===n?0:Hs)|(null===i?0:32);if(A.writeInfo(B),null!==t&&A.writeLeftID(t),null!==n&&A.writeRightID(n),null===t&&null===n){const e=this.parent;if(void 0!==e._item){const t=e._item;if(null===t){const t=tc(e);A.writeParentInfo(!0),A.writeString(t)}else A.writeParentInfo(!1),A.writeLeftID(t.id)}else e.constructor===String?(A.writeParentInfo(!0),A.writeString(e)):e.constructor===$o?(A.writeParentInfo(!1),A.writeLeftID(e)):hr();null!==i&&A.writeString(i)}this.content.write(A,e)}}const ha=(A,e)=>Ma[31&e](A),Ma=[()=>{hr()},A=>new vg(A.readLen()),A=>{const e=A.readLen(),t=[];for(let n=0;nnew Lg(A.readBuf()),A=>new $g(A.readString()),A=>new Kg(A.readJSON()),A=>new Wg(A.readKey(),A.readJSON()),A=>new ra(Aa[A.readTypeRef()](A)),A=>{const e=A.readLen(),t=[];for(let n=0;nnew _g(Og(A.readString(),A.readAny())),()=>{hr()}];class wa extends Pg{get deleted(){return!0}delete(){}mergeWith(A){return this.constructor===A.constructor&&(this.length+=A.length,!0)}integrate(A,e){hr()}write(A,e){A.writeInfo(10),Xs(A.restEncoder,this.length-e)}getMissing(A,e){return null}}const Ra="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},Ia="__ $YJS$ __";!0===Ra[Ia]&&console.error("Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438"),Ra[Ia]=!0;const ua=/[\uD800-\uDBFF]/,da=/[\uDC00-\uDFFF]/,Ga=new s("y-sync"),Ca=new s("y-undo"),ka=new s("yjs-cursor"),Da=(A,e)=>void 0===e?!A.deleted:e.sv.has(A.id.client)&&e.sv.get(A.id.client)>A.id.clock&&!Do(e.ds,A.id),Fa=[{light:"#ecd44433",dark:"#ecd444"}],Ya=(A,e,t)=>{if(!A.has(t)){if(A.sizet.add(A))),e=e.filter((A=>!t.has(A)))}A.set(t,(n=e)[Ns(yr()*n.length)])}var n;return A.get(t)},Ua=(A,e)=>({anchor:Oa(e.selection.anchor,A.type,A.mapping),head:Oa(e.selection.head,A.type,A.mapping)});class fa{constructor(A,e){this.type=A,this.prosemirrorView=e,this.mux=(()=>{let A=!0;return(e,t)=>{if(A){A=!1;try{e()}finally{A=!0}}else void 0!==t&&t()}})(),this.isDestroyed=!1,this.mapping=new Map,this._observeFunction=this._typeChanged.bind(this),this.doc=A.doc,this.beforeTransactionSelection=null,this.beforeAllTransactions=()=>{null===this.beforeTransactionSelection&&(this.beforeTransactionSelection=Ua(this,e.state))},this.afterAllTransactions=()=>{this.beforeTransactionSelection=null},this.doc.on("beforeAllTransactions",this.beforeAllTransactions),this.doc.on("afterAllTransactions",this.afterAllTransactions),A.observeDeep(this._observeFunction),this._domSelectionInView=null}get _tr(){return this.prosemirrorView.state.tr.setMeta("addToHistory",!1)}_isLocalCursorInView(){return!!this.prosemirrorView.hasFocus()&&(Or&&null===this._domSelectionInView&&(Bo(0,(()=>{this._domSelectionInView=null})),this._domSelectionInView=this._isDomSelectionInView()),this._domSelectionInView)}_isDomSelectionInView(){const A=this.prosemirrorView._root.getSelection(),e=this.prosemirrorView._root.createRange();e.setStart(A.anchorNode,A.anchorOffset),e.setEnd(A.focusNode,A.focusOffset),0===e.getClientRects().length&&e.startContainer&&e.collapsed&&e.selectNodeContents(e.startContainer);const t=e.getBoundingClientRect(),n=to.documentElement;return t.bottom>=0&&t.right>=0&&t.left<=(window.innerWidth||n.clientWidth||0)&&t.top<=(window.innerHeight||n.clientHeight||0)}renderSnapshot(A,e){e||(e=gc(fo(),new Map)),this.prosemirrorView.dispatch(this._tr.setMeta(Ga,{snapshot:A,prevSnapshot:e}))}unrenderSnapshot(){this.mapping=new Map,this.mux((()=>{const A=this.type.toArray().map((A=>Sa(A,this.prosemirrorView.state.schema,this.mapping))).filter((A=>null!==A)),e=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(x.from(A),0,0));e.setMeta(Ga,{snapshot:null,prevSnapshot:null}),this.prosemirrorView.dispatch(e)}))}_forceRerender(){this.mapping=new Map,this.mux((()=>{const A=this.type.toArray().map((A=>Sa(A,this.prosemirrorView.state.schema,this.mapping))).filter((A=>null!==A)),e=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(x.from(A),0,0));this.prosemirrorView.dispatch(e.setMeta(Ga,{isChangeOrigin:!0}))}))}_renderSnapshot(A,e,t){A||(A=(A=>gc(No(A.store),hc(A.store)))(this.doc)),this.mapping=new Map,this.mux((()=>{this.doc.transact((n=>{const i=t.permanentUserData;i&&i.dss.forEach((A=>{ko(n,A,(()=>{}))}));const B=(A,e)=>{const n="added"===A?i.getUserByClientId(e.client):i.getUserByDeletedId(e);return{user:n,type:A,color:Ya(t.colorMapping,t.colors,n)}},E=tg(this.type,new cc(e.ds,A.sv)).map((t=>!t._item.deleted||Da(t._item,A)||Da(t._item,e)?Sa(t,this.prosemirrorView.state.schema,new Map,A,e,B):null)).filter((A=>null!==A)),s=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(x.from(E),0,0));this.prosemirrorView.dispatch(s.setMeta(Ga,{isChangeOrigin:!0}))}),Ga)}))}_typeChanged(A,e){const t=Ga.getState(this.prosemirrorView.state);0!==A.length&&null==t.snapshot&&null==t.prevSnapshot?this.mux((()=>{const A=(A,e)=>this.mapping.delete(e);ko(e,e.deleteSet,(A=>{if(A.constructor===la){const e=A.content.type;e&&this.mapping.delete(e)}})),e.changed.forEach(A),e.changedParentTypes.forEach(A);const t=this.type.toArray().map((A=>Na(A,this.prosemirrorView.state.schema,this.mapping))).filter((A=>null!==A));let n=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(x.from(t),0,0));((A,e,t)=>{if(null!==e&&null!==e.anchor&&null!==e.head){const n=Ka(t.doc,t.type,e.anchor,t.mapping),i=Ka(t.doc,t.type,e.head,t.mapping);null!==n&&null!==i&&(A=A.setSelection(C.create(A.doc,n,i)))}})(n,this.beforeTransactionSelection,this),n=n.setMeta(Ga,{isChangeOrigin:!0,isUndoRedoOperation:e.origin instanceof yc}),null!==this.beforeTransactionSelection&&this._isLocalCursorInView()&&n.scrollIntoView(),this.prosemirrorView.dispatch(n)})):this.renderSnapshot(t.snapshot,t.prevSnapshot)}_prosemirrorChanged(A){this.doc.transact((()=>{Pa(this.doc,this.type,A,this.mapping),this.beforeTransactionSelection=Ua(this,this.prosemirrorView.state)}),Ga)}destroy(){this.isDestroyed=!0,this.type.unobserveDeep(this._observeFunction),this.doc.off("beforeAllTransactions",this.beforeAllTransactions),this.doc.off("afterAllTransactions",this.afterAllTransactions)}}const Na=(A,e,t,n,i,B)=>{const E=t.get(A);if(void 0===E){if(A instanceof pg)return Sa(A,e,t,n,i,B);throw lr()}return E},Sa=(A,e,t,n,i,B)=>{const E=[],s=A=>{if(A.constructor===pg){const s=Na(A,e,t,n,i,B);null!==s&&E.push(s)}else{const s=ma(A,e,t,n,i,B);null!==s&&s.forEach((A=>{null!==A&&E.push(A)}))}};void 0===n||void 0===i?A.toArray().forEach(s):tg(A,new cc(i.ds,n.sv)).forEach(s);try{const s=A.getAttributes(n);void 0!==n&&(Da(A._item,n)?Da(A._item,i)||(s.ychange=B?B("added",A._item.id):{type:"added"}):s.ychange=B?B("removed",A._item.id):{type:"removed"});const r=e.node(A.nodeName,s,E);return t.set(A,r),r}catch(e){return A.doc.transact((e=>{A._item.delete(e)}),Ga),t.delete(A),null}},ma=(A,e,t,n,i,B)=>{const E=[],s=A.toDelta(n,i,B);try{for(let A=0;A{A._item.delete(e)}),Ga),null}return E},ya=(A,e)=>A instanceof Array?((A,e)=>{const t=new Zg,n=A.map((A=>({insert:A.text,attributes:Za(A.marks)})));return t.applyDelta(n),e.set(t,A),t})(A,e):((A,e)=>{const t=new pg(A.type.name);for(const e in A.attrs){const n=A.attrs[e];null!==n&&"ychange"!==e&&t.setAttribute(e,n)}return t.insert(0,Ta(A).map((A=>ya(A,e)))),e.set(t,A),t})(A,e),ba=A=>"object"==typeof A&&null!==A,Ha=(A,e)=>{const t=Object.keys(A).filter((e=>null!==A[e]));let n=t.length===Object.keys(e).filter((A=>null!==e[A])).length;for(let i=0;i{const e=A.content.content,t=[];for(let A=0;A{const t=A.toDelta();return t.length===e.length&&t.every(((A,t)=>A.insert===e[t].text&&Zr(A.attributes||{}).length===e[t].marks.length&&e[t].marks.every((e=>Ha(A.attributes[e.type.name]||{},e.attrs)))))},xa=(A,e)=>{if(A instanceof pg&&!(e instanceof Array)&&Va(A,e)){const t=Ta(e);return A._length===t.length&&Ha(A.getAttributes(),e.attrs)&&A.toArray().every(((A,e)=>xa(A,t[e])))}return A instanceof Zg&&e instanceof Array&&za(A,e)},pa=(A,e)=>A===e||A instanceof Array&&e instanceof Array&&A.length===e.length&&A.every(((A,t)=>e[t]===A)),Ja=(A,e,t)=>{const n=A.toArray(),i=Ta(e),B=i.length,E=n.length,s=ms(E,B);let r=0,o=0,c=!1;for(;r{t.set(A,e);const{nAttrs:n,str:i}=(A=>{let e="",t=A._start;const n={};for(;null!==t;)t.deleted||(t.countable&&t.content instanceof $g?e+=t.content.str:t.content instanceof Wg&&(n[t.content.key]=null)),t=t.right;return{str:e,nAttrs:n}})(A),B=e.map((A=>({insert:A.text,attributes:Object.assign({},n,Za(A.marks))}))),{insert:E,remove:s,index:r}=((A,e)=>{let t=0,n=0;for(;t0&&ua.test(A[t-1])&&t--;n+t0&&da.test(A[A.length-n])&&n--,{index:t,remove:A.length-t-n,insert:e.slice(t,e.length-n)}})(i,B.map((A=>A.insert)).join(""));A.delete(r,s),A.insert(r,E),A.applyDelta(B.map((A=>({retain:A.insert.length,attributes:A.attributes}))))},Za=A=>{const e={};return A.forEach((A=>{"ychange"!==A.type.name&&(e[A.type.name]=A.attrs)})),e},Pa=(A,e,t,n)=>{if(e instanceof pg&&e.nodeName!==t.type.name)throw new Error("node name mismatch!");if(n.set(e,t),e instanceof pg){const A=e.getAttributes(),n=t.attrs;for(const t in n)null!==n[t]?A[t]!==n[t]&&"ychange"!==t&&e.setAttribute(t,n[t]):e.removeAttribute(t);for(const t in A)void 0===n[t]&&e.removeAttribute(t)}const i=Ta(t),B=i.length,E=e.toArray(),s=E.length,r=ms(B,s);let o=0,c=0;for(;o{for(;s-o-c>0&&B-o-c>0;){const t=E[o],r=i[o],g=E[s-c-1],a=i[B-c-1];if(t instanceof Zg&&r instanceof Array)za(t,r)||ja(t,r,n),o+=1;else{let i=t instanceof pg&&Va(t,r),B=g instanceof pg&&Va(g,a);if(i&&B){const A=Ja(t,r,n),e=Ja(g,a,n);A.foundMappedChild&&!e.foundMappedChild?B=!1:!A.foundMappedChild&&e.foundMappedChild||A.equalityFactor0&&(e.slice(o,o+t).forEach((A=>n.delete(A))),e.delete(o,t)),o+c!(e instanceof Array)&&A.nodeName===e.type.name;let La=null;const va=()=>{const A=La;La=null,A.forEach(((A,e)=>{const t=e.state.tr,n=Ga.getState(e.state);n&&n.binding&&!n.binding.isDestroyed&&(A.forEach(((A,e)=>{t.setMeta(e,A)})),e.dispatch(t))}))},Oa=(A,e,t)=>{if(0===A)return rc(e,0);let n=null===e._first?null:e._first.content.type;for(;null!==n&&e!==n;){if(n instanceof Zg){if(n._length>=A)return rc(n,A);if(A-=n._length,null!==n._item&&null!==n._item.next)n=n._item.next.content.type;else{do{n=null===n._item?null:n._item.parent,A--}while(n!==e&&null!==n&&null!==n._item&&null===n._item.next);null!==n&&n!==e&&(n=null===n._item?null:n._item.next.content.type)}}else{const i=(t.get(n)||{nodeSize:0}).nodeSize;if(null!==n._first&&A1)return new ic(null===n._item?null:n._item.id,null===n._item?tc(n):null,null);if(A-=i,null!==n._item&&null!==n._item.next)n=n._item.next.content.type;else{if(0===A)return n=null===n._item?n:n._item.parent,new ic(null===n._item?null:n._item.id,null===n._item?tc(n):null,null);do{n=n._item.parent,A--}while(n!==e&&null===n._item.next);n!==e&&(n=n._item.next.content.type)}}}if(null===n)throw hr();if(0===A&&n.constructor!==Zg&&n!==e)return _a(n._item.parent,n._item)}return rc(e,e._length)},_a=(A,e)=>{let t=null,n=null;return null===A._item?n=tc(A):t=ec(A._item.id.client,A._item.id.clock),new ic(t,n,e.id)},Ka=(A,e,t,n)=>{const i=((A,e)=>{const t=e.store,n=A.item,i=A.type,B=A.tname,E=A.assoc;let s=null,r=0;if(null!==n){if(Mc(t,n.client)<=n.clock)return null;const A=oa(t,n),e=A.item;if(!(e instanceof la))return null;if(s=e.parent,null===s._item||!s._item.deleted){r=e.deleted||!e.countable?0:A.diff+(E>=0?0:1);let t=e.left;for(;null!==t;)!t.deleted&&t.countable&&(r+=t.length),t=t.left}}else{if(null!==B)s=e.get(B);else{if(null===i)throw hr();{if(Mc(t,i.client)<=i.clock)return null;const{item:A}=oa(t,i);if(!(A instanceof la&&A.content instanceof ra))return null;s=A.content.type}}r=E>=0?s._length:0}return((A,e,t=0)=>new Ec(A,e,t))(s,r,A.assoc)})(t,A);if(null===i||i.type!==e&&!nc(e,i.type._item))return null;let B=i.type,E=0;if(B.constructor===Zg)E=i.index;else if(null===B._item||!B._item.deleted){let A=B._first,e=0;for(;eA!==e,Xa=A=>{const e=document.createElement("span");e.classList.add("ProseMirror-yjs-cursor"),e.setAttribute("style",`border-color: ${A.color}`);const t=document.createElement("div");t.setAttribute("style",`background-color: ${A.color}`),t.insertBefore(document.createTextNode(A.name),null);const n=document.createTextNode("⁠"),i=document.createTextNode("⁠");return e.insertBefore(n,null),e.insertBefore(t,null),e.insertBefore(i,null),e},qa=A=>({style:`background-color: ${A.color}70`,class:"ProseMirror-yjs-selection"}),$a=/^#[0-9a-fA-F]{6}$/,AQ=(A,e,t,n,i)=>{const B=Ga.getState(A),E=B.doc,s=[];return null!=B.snapshot||null!=B.prevSnapshot||null===B.binding?k.create(A.doc,[]):(e.getStates().forEach(((e,r)=>{if(t(E.clientID,r,e)&&null!=e.cursor){const t=e.user||{};null==t.color?t.color="#ffa500":$a.test(t.color)||console.warn("A user uses an unsupported color format",t),null==t.name&&(t.name=`User: ${r}`);let o=Ka(E,B.type,Bc(e.cursor.anchor),B.binding.mapping),c=Ka(E,B.type,Bc(e.cursor.head),B.binding.mapping);if(null!==o&&null!==c){const e=ys(A.doc.content.size-1,0);o=ms(o,e),c=ms(c,e),s.push(F.widget(c,(()=>n(t)),{key:r+"",side:10}));const B=ms(o,c),E=ys(o,c);s.push(F.inline(B,E,i(t),{inclusiveEnd:!0,inclusiveStart:!1}))}}})),k.create(A.doc,s))},eQ=(A,{awarenessStateFilter:e=Wa,cursorBuilder:t=Xa,selectionBuilder:n=qa,getSelection:i=(A=>A.selection)}={},B="cursor")=>new E({key:ka,state:{init:(i,B)=>AQ(B,A,e,t,n),apply(i,B,E,s){const r=Ga.getState(s),o=i.getMeta(ka);return r&&r.isChangeOrigin||o&&o.awarenessUpdated?AQ(s,A,e,t,n):B.map(i.mapping,i.doc)}},props:{decorations:A=>ka.getState(A)},view:e=>{const t=()=>{e.docView&&((A,e)=>{La||(La=new Map,Bo(0,va)),Cs(La,A,ds).set(e,{awarenessUpdated:!0})})(e,ka)},n=()=>{const t=Ga.getState(e.state),n=A.getLocalState()||{};if(null!=t.binding)if(e.hasFocus()){const E=i(e.state),s=Oa(E.anchor,t.type,t.binding.mapping),r=Oa(E.head,t.type,t.binding.mapping);null!=n.cursor&&oc(Bc(n.cursor.anchor),s)&&oc(Bc(n.cursor.head),r)||A.setLocalStateField(B,{anchor:s,head:r})}else null!=n.cursor&&null!==Ka(t.doc,t.type,Bc(n.cursor.anchor),t.binding.mapping)&&A.setLocalStateField(B,null)};return A.on("change",t),e.dom.addEventListener("focusin",n),e.dom.addEventListener("focusout",n),{update:n,destroy:()=>{e.dom.removeEventListener("focusin",n),e.dom.removeEventListener("focusout",n),A.off("change",t),A.setLocalStateField(B,null)}}}}),tQ=new Set(["paragraph"]),nQ=r.create({name:"collaboration",priority:1e3,addOptions:()=>({document:null,field:"default",fragment:null}),onCreate(){this.editor.extensionManager.extensions.find((A=>"history"===A.name))&&console.warn('[tiptap warn]: "@tiptap/extension-collaboration" comes with its own history support and is not compatible with "@tiptap/extension-history".')},addCommands:()=>({undo:()=>({tr:A,state:e,dispatch:t})=>(A.setMeta("preventDispatch",!0),0!==Ca.getState(e).undoManager.undoStack.length&&(!t||(A=>{const e=Ca.getState(A).undoManager;if(null!=e)return e.undo(),!0})(e))),redo:()=>({tr:A,state:e,dispatch:t})=>(A.setMeta("preventDispatch",!0),0!==Ca.getState(e).undoManager.redoStack.length&&(!t||(A=>{const e=Ca.getState(A).undoManager;if(null!=e)return e.redo(),!0})(e)))}),addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Mod-y":()=>this.editor.commands.redo(),"Shift-Mod-z":()=>this.editor.commands.redo()}},addProseMirrorPlugins(){const A=this.options.fragment?this.options.fragment:this.options.document.getXmlFragment(this.options.field),e=(({protectedNodes:A=tQ,trackedOrigins:e=[],undoManager:t=null}={})=>new E({key:Ca,state:{init:(n,i)=>{const B=Ga.getState(i),E=t||new yc(B.type,{trackedOrigins:new Set([Ga].concat(e)),deleteFilter:e=>((A,e)=>!(A instanceof la&&A.content instanceof ra&&(A.content.type instanceof Tg||A.content.type instanceof pg&&e.has(A.content.type.nodeName))&&0!==A.content.type._length))(e,A),captureTransaction:A=>!1!==A.meta.get("addToHistory")});return{undoManager:E,prevSel:null,hasUndoOps:E.undoStack.length>0,hasRedoOps:E.redoStack.length>0}},apply:(A,e,t,n)=>{const i=Ga.getState(n).binding,B=e.undoManager,E=B.undoStack.length>0,s=B.redoStack.length>0;return i?{undoManager:B,prevSel:Ua(i,t),hasUndoOps:E,hasRedoOps:s}:E!==e.hasUndoOps||s!==e.hasRedoOps?Object.assign({},e,{hasUndoOps:B.undoStack.length>0,hasRedoOps:B.redoStack.length>0}):e}},view:A=>{const e=Ga.getState(A.state),t=Ca.getState(A.state).undoManager;return t.on("stack-item-added",(({stackItem:t})=>{const n=e.binding;n&&t.meta.set(n,Ca.getState(A.state).prevSel)})),t.on("stack-item-popped",(({stackItem:A})=>{const t=e.binding;t&&(t.beforeTransactionSelection=A.meta.get(t)||t.beforeTransactionSelection)})),{destroy:()=>{t.destroy()}}}}))(),t=e.spec.view;e.spec.view=A=>{const{undoManager:e}=Ca.getState(A.state);e.restore&&(e.restore(),e.restore=()=>{});const n=t?t(A):void 0;return{destroy:()=>{const A=e.trackedOrigins.has(e),t=e._observers;e.restore=()=>{A&&e.trackedOrigins.add(e),e.doc.on("afterTransaction",e.afterTransactionHandler),e._observers=t},(null==n?void 0:n.destroy)&&n.destroy()}}};const n=this.options.onFirstRender,i=((A,{colors:e=Fa,colorMapping:t=new Map,permanentUserData:n=null,onFirstRender:i=(()=>{})}={})=>{let B,s=!1;const r=new E({props:{editable:A=>{const e=Ga.getState(A);return null==e.snapshot&&null==e.prevSnapshot}},key:Ga,state:{init:()=>({type:A,doc:A.doc,binding:null,snapshot:null,prevSnapshot:null,isChangeOrigin:!1,isUndoRedoOperation:!1,addToHistory:!0,colors:e,colorMapping:t,permanentUserData:n}),apply:(A,e)=>{const t=A.getMeta(Ga);if(void 0!==t){e=Object.assign({},e);for(const A in t)e[A]=t[A]}return e.addToHistory=!1!==A.getMeta("addToHistory"),e.isChangeOrigin=void 0!==t&&!!t.isChangeOrigin,e.isUndoRedoOperation=void 0!==t&&!!t.isChangeOrigin&&!!t.isUndoRedoOperation,null!==e.binding&&(void 0===t||null==t.snapshot&&null==t.prevSnapshot||Bo(0,(()=>{null==e.binding||e.binding.isDestroyed||(null==t.restore?e.binding._renderSnapshot(t.snapshot,t.prevSnapshot,e):(e.binding._renderSnapshot(t.snapshot,t.snapshot,e),delete e.restore,delete e.snapshot,delete e.prevSnapshot,e.binding.mux((()=>{e.binding._prosemirrorChanged(e.binding.prosemirrorView.state.doc)}))))}))),e}},view:e=>{const t=new fa(A,e);return null!=B&&B.destroy(),B=Bo(0,(()=>{t._forceRerender(),e.dispatch(e.state.tr.setMeta(Ga,{binding:t})),i()})),{update:()=>{const A=r.getState(e.state);if(null==A.snapshot&&null==A.prevSnapshot&&(s||null!==e.state.doc.content.findDiffStart(e.state.doc.type.createAndFill().content))){if(s=!0,!1===A.addToHistory&&!A.isChangeOrigin){const A=Ca.getState(e.state),t=A&&A.undoManager;t&&t.stopCapturing()}t.mux((()=>{A.doc.transact((n=>{n.meta.set("addToHistory",A.addToHistory),t._prosemirrorChanged(e.state.doc)}),Ga)}))}},destroy:()=>{B.destroy(),t.destroy()}}}});return r})(A,n?{onFirstRender:n}:{});return[i,e]}}),iQ=A=>Array.from(A.entries()).map((([A,e])=>({clientId:A,...e.user}))),BQ=()=>null,EQ=r.create({name:"collaborationCursor",addOptions:()=>({provider:null,user:{name:null,color:null},render:A=>{const e=document.createElement("span");e.classList.add("collaboration-cursor__caret"),e.setAttribute("style",`border-color: ${A.color}`);const t=document.createElement("div");return t.classList.add("collaboration-cursor__label"),t.setAttribute("style",`background-color: ${A.color}`),t.insertBefore(document.createTextNode(A.name),null),e.insertBefore(t,null),e},selectionRender:qa,onUpdate:BQ}),onCreate(){this.options.onUpdate!==BQ&&console.warn('[tiptap warn]: DEPRECATED: The "onUpdate" option is deprecated. Please use `editor.storage.collaborationCursor.users` instead. Read more: https://tiptap.dev/api/extensions/collaboration-cursor')},addStorage:()=>({users:[]}),addCommands(){return{updateUser:A=>()=>(this.options.user=A,this.options.provider.awareness.setLocalStateField("user",this.options.user),!0),user:A=>({editor:e})=>(console.warn('[tiptap warn]: DEPRECATED: The "user" command is deprecated. Please use "updateUser" instead. Read more: https://tiptap.dev/api/extensions/collaboration-cursor'),e.commands.updateUser(A))}},addProseMirrorPlugins(){return[eQ((()=>(this.options.provider.awareness.setLocalStateField("user",this.options.user),this.storage.users=iQ(this.options.provider.awareness.states),this.options.provider.awareness.on("update",(()=>{this.storage.users=iQ(this.options.provider.awareness.states)})),this.options.provider.awareness))(),{cursorBuilder:this.options.render,selectionBuilder:this.options.selectionRender})]}}),sQ=Math.floor,rQ=127,oQ=Number.MAX_SAFE_INTEGER,cQ="undefined"!=typeof TextEncoder?new TextEncoder:null,gQ=cQ?A=>cQ.encode(A):A=>{const e=unescape(encodeURIComponent(A)),t=e.length,n=new Uint8Array(t);for(let A=0;A{const t=A.cbuf.length;A.cpos===t&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(2*t),A.cpos=0),A.cbuf[A.cpos++]=e},lQ=(A,e)=>{for(;e>rQ;)QQ(A,128|rQ&e),e=sQ(e/128);QQ(A,rQ&e)},hQ=new Uint8Array(3e4),MQ=hQ.length/3,wQ=cQ&&cQ.encodeInto?(A,e)=>{if(e.length{const t=unescape(encodeURIComponent(e)),n=t.length;lQ(A,n);for(let e=0;e{lQ(A,e.byteLength),((A,e)=>{const t=A.cbuf.length,n=A.cpos,i=(B=t-n)<(E=e.length)?B:E;var B,E;const s=e.length-i;A.cbuf.set(e.subarray(0,i),n),A.cpos+=i,s>0&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(((A,e)=>A>e?A:e)(2*t,s)),A.cbuf.set(e.subarray(i)),A.cpos=s)})(A,e)},IQ=A=>new Error(A),uQ=IQ("Unexpected end of array"),dQ=IQ("Integer out of Range"),GQ=A=>A.arr[A.pos++],CQ=A=>{let e=0,t=1;const n=A.arr.length;for(;A.posoQ)throw dQ}throw uQ},kQ=aQ?A=>aQ.decode((A=>((A,e)=>{const t=new Uint8Array(A.arr.buffer,A.pos+A.arr.byteOffset,e);return A.pos+=e,t})(A,CQ(A)))(A)):A=>{let e=CQ(A);if(0===e)return"";{let t=String.fromCodePoint(GQ(A));if(--e<100)for(;e--;)t+=String.fromCodePoint(GQ(A));else for(;e>0;){const n=e<1e4?e:1e4,i=A.arr.subarray(A.pos,A.pos+n);A.pos+=n,t+=String.fromCodePoint.apply(null,i),e-=n}return decodeURIComponent(escape(t))}};var DQ;!function(A){A[A.Token=0]="Token",A[A.PermissionDenied=1]="PermissionDenied",A[A.Authenticated=2]="Authenticated"}(DQ||(DQ={}));const FQ=A=>Array.from(A.entries()).map((([A,e])=>({clientId:A,...e})));var YQ;async function UQ(A){return new Promise((e=>{setTimeout(e,A)}))}function fQ(A,e){let t=e.delay;if(0===t)return 0;if(e.factor&&(t*=Math.pow(e.factor,A.attemptNum-1),0!==e.maxDelay&&(t=Math.min(t,e.maxDelay))),e.jitter){const A=Math.ceil(e.minDelay),n=Math.floor(t);t=Math.floor(Math.random()*(n-A+1))+A}return Math.round(t)}!function(A){A[A.Connecting=0]="Connecting",A[A.Open=1]="Open",A[A.Closing=2]="Closing",A[A.Closed=3]="Closed"}(YQ||(YQ={}));const NQ=()=>new Map,SQ=(A,e,t)=>{let n=A.get(e);return void 0===n&&A.set(e,n=t()),n},mQ=()=>new Set,yQ=Array.from,bQ=String.fromCharCode,HQ=/^\s*/g,TQ=/([A-Z])/g,zQ=(A,e)=>(A=>A.replace(HQ,""))(A.replace(TQ,(A=>`${e}${(A=>A.toLowerCase())(A)}`))),xQ="undefined"!=typeof TextEncoder?new TextEncoder:null,pQ=xQ?A=>xQ.encode(A):A=>{const e=unescape(encodeURIComponent(A)),t=e.length,n=new Uint8Array(t);for(let A=0;AVQ(A).length,vQ=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),OQ=(A,e)=>{if(null==A||null==e)return((A,e)=>A===e)(A,e);if(A.constructor!==e.constructor)return!1;if(A===e)return!0;switch(A.constructor){case ArrayBuffer:A=new Uint8Array(A),e=new Uint8Array(e);case Uint8Array:if(A.byteLength!==e.byteLength)return!1;for(let t=0;t(()=>{if(void 0===WQ)if(_Q){WQ=NQ();const A=process.argv;let e=null;for(let t=0;t{if(0!==A.length){const[e,t]=A.split("=");WQ.set(`--${zQ(e,"-")}`,t),WQ.set(`-${zQ(e,"-")}`,t)}}))):WQ=NQ();return WQ})().has(A),qQ=A=>{return void 0===(e=_Q?process.env[A.toUpperCase()]:PQ.getItem(A))?null:e;var e};(A=>{XQ("--"+A)||qQ(A)})("production");const $Q=_Q&&(A=>["true","1","2"].includes(A))(process.env.FORCE_COLOR);!XQ("no-colors")&&(!_Q||process.stdout.isTTY||$Q)&&(!_Q||XQ("color")||$Q||null!==qQ("COLORTERM")||(qQ("TERM")||"").includes("color"));const Al=Math.floor,el=128,tl=127,nl=Number.MAX_SAFE_INTEGER;class il{constructor(){this.cpos=0,this.cbuf=new Uint8Array(100),this.bufs=[]}}const Bl=()=>new il,El=A=>{let e=A.cpos;for(let t=0;t{const e=new Uint8Array(El(A));let t=0;for(let n=0;n{const t=A.cbuf.length;A.cpos===t&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(2*t),A.cpos=0),A.cbuf[A.cpos++]=e},ol=(A,e)=>{for(;e>tl;)rl(A,el|tl&e),e=Al(e/128);rl(A,tl&e)},cl=new Uint8Array(3e4),gl=cl.length/3,al=xQ&&xQ.encodeInto?(A,e)=>{if(e.length{const t=unescape(encodeURIComponent(e)),n=t.length;ol(A,n);for(let e=0;e{ol(A,e.byteLength),((A,e)=>{const t=A.cbuf.length,n=A.cpos,i=(B=t-n)<(E=e.length)?B:E;var B,E;const s=e.length-i;A.cbuf.set(e.subarray(0,i),n),A.cpos+=i,s>0&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(((A,e)=>A>e?A:e)(2*t,s)),A.cbuf.set(e.subarray(i)),A.cpos=s)})(A,e)},ll=A=>new Error(A),hl=ll("Unexpected end of array"),Ml=ll("Integer out of Range");class wl{constructor(A){this.arr=A,this.pos=0}}const Rl=A=>new wl(A),Il=A=>((A,e)=>{const t=new Uint8Array(A.arr.buffer,A.pos+A.arr.byteOffset,e);return A.pos+=e,t})(A,dl(A)),ul=A=>A.arr[A.pos++],dl=A=>{let e=0,t=1;const n=A.arr.length;for(;A.posnl)throw Ml}throw hl},Gl=JQ?A=>JQ.decode(Il(A)):A=>{let e=dl(A);if(0===e)return"";{let t=String.fromCodePoint(ul(A));if(--e<100)for(;e--;)t+=String.fromCodePoint(ul(A));else for(;e>0;){const n=e<1e4?e:1e4,i=A.arr.subarray(A.pos,A.pos+n);A.pos+=n,t+=String.fromCodePoint.apply(null,i),e-=n}return decodeURIComponent(escape(t))}},Cl=KQ?A=>{let e="";for(let t=0;tBuffer.from(A.buffer,A.byteOffset,A.byteLength).toString("base64"),kl=KQ?A=>{const e=atob(A),t=new Uint8Array(e.length);for(let A=0;A{const e=Buffer.from(A,"base64");return((A,e,t)=>new Uint8Array(A,e,t))(e.buffer,e.byteOffset,e.byteLength)},Dl=new Map,Fl="undefined"==typeof BroadcastChannel?class{constructor(A){this.room=A,this.onmessage=null,this._onChange=e=>e.key===A&&null!==this.onmessage&&this.onmessage({data:kl(e.newValue||"")}),ZQ||addEventListener("storage",this._onChange)}postMessage(A){PQ.setItem(this.room,Cl(new Uint8Array(A)))}close(){ZQ||removeEventListener("storage",this._onChange)}}:BroadcastChannel,Yl=A=>SQ(Dl,A,(()=>{const e=mQ(),t=new Fl(A);return t.onmessage=A=>e.forEach((e=>e(A.data,"broadcastchannel"))),{bc:t,subs:e}})),Ul=Date.now;class fl{constructor(){this._observers=NQ()}on(A,e){SQ(this._observers,A,mQ).add(e)}once(A,e){const t=(...n)=>{this.off(A,t),e(...n)};this.on(A,t)}off(A,e){const t=this._observers.get(A);void 0!==t&&(t.delete(e),0===t.size&&this._observers.delete(A))}emit(A,e){return yQ((this._observers.get(A)||NQ()).values()).forEach((A=>A(...e)))}destroy(){this._observers=NQ()}}class Nl extends fl{constructor(A){super(),this.doc=A,this.clientID=A.clientID,this.states=new Map,this.meta=new Map,this._checkInterval=setInterval((()=>{const A=Ul();null!==this.getLocalState()&&15e3<=A-this.meta.get(this.clientID).lastUpdated&&this.setLocalState(this.getLocalState());const e=[];this.meta.forEach(((t,n)=>{n!==this.clientID&&3e4<=A-t.lastUpdated&&this.states.has(n)&&e.push(n)})),e.length>0&&Sl(this,e,"timeout")}),Al(3e3)),A.on("destroy",(()=>{this.destroy()})),this.setLocalState({})}destroy(){this.emit("destroy",[this]),this.setLocalState(null),super.destroy(),clearInterval(this._checkInterval)}getLocalState(){return this.states.get(this.clientID)||null}setLocalState(A){const e=this.clientID,t=this.meta.get(e),n=void 0===t?0:t.clock+1,i=this.states.get(e);null===A?this.states.delete(e):this.states.set(e,A),this.meta.set(e,{clock:n,lastUpdated:Ul()});const B=[],E=[],s=[],r=[];null===A?r.push(e):null==i?null!=A&&B.push(e):(E.push(e),OQ(i,A)||s.push(e)),(B.length>0||s.length>0||r.length>0)&&this.emit("change",[{added:B,updated:s,removed:r},"local"]),this.emit("update",[{added:B,updated:E,removed:r},"local"])}setLocalStateField(A,e){const t=this.getLocalState();null!==t&&this.setLocalState({...t,[A]:e})}getStates(){return this.states}}const Sl=(A,e,t)=>{const n=[];for(let t=0;t0&&(A.emit("change",[{added:[],updated:[],removed:n},t]),A.emit("update",[{added:[],updated:[],removed:n},t]))},ml=(A,e,t=A.states)=>{const n=e.length,i=Bl();ol(i,n);for(let B=0;BA.apply(this,e))),this}off(A,e){const t=this.callbacks[A];return t&&(e?this.callbacks[A]=t.filter((A=>A!==e)):delete this.callbacks[A]),this}removeAllListeners(){this.callbacks={}}}var bl,Hl;!function(A){A[A.Sync=0]="Sync",A[A.Awareness=1]="Awareness",A[A.Auth=2]="Auth",A[A.QueryAwareness=3]="QueryAwareness",A[A.Stateless=5]="Stateless",A[A.CLOSE=7]="CLOSE",A[A.SyncStatus=8]="SyncStatus"}(bl||(bl={})),function(A){A.Connecting="connecting",A.Connected="connected",A.Disconnected="disconnected"}(Hl||(Hl={}));class Tl{constructor(A){this.data=A,this.encoder=Bl(),this.decoder=Rl(new Uint8Array(this.data))}peekVarString(){return(A=>{const e=A.pos,t=Gl(A);return A.pos=e,t})(this.decoder)}readVarUint(){return dl(this.decoder)}readVarString(){return Gl(this.decoder)}readVarUint8Array(){return Il(this.decoder)}writeVarUint(A){return ol(this.encoder,A)}writeVarString(A){return al(this.encoder,A)}writeVarUint8Array(A){return Ql(this.encoder,A)}length(){return El(this.encoder)}}class zl extends yl{constructor(A){super(),this.messageQueue=[],this.configuration={url:"",document:void 0,WebSocketPolyfill:void 0,parameters:{},connect:!0,broadcast:!0,forceSyncInterval:!1,messageReconnectTimeout:3e4,delay:1e3,initialDelay:0,factor:2,maxAttempts:0,minDelay:1e3,maxDelay:3e4,jitter:!0,timeout:0,onOpen:()=>null,onConnect:()=>null,onMessage:()=>null,onOutgoingMessage:()=>null,onStatus:()=>null,onDisconnect:()=>null,onClose:()=>null,onDestroy:()=>null,onAwarenessUpdate:()=>null,onAwarenessChange:()=>null,quiet:!1,providerMap:new Map},this.webSocket=null,this.webSocketHandlers={},this.shouldConnect=!0,this.status=Hl.Disconnected,this.lastMessageReceived=0,this.identifier=0,this.intervals={forceSync:null,connectionChecker:null},this.connectionAttempt=null,this.receivedOnOpenPayload=void 0,this.receivedOnStatusPayload=void 0,this.closeTries=0,this.setConfiguration(A),this.configuration.WebSocketPolyfill=A.WebSocketPolyfill?A.WebSocketPolyfill:WebSocket,this.on("open",this.configuration.onOpen),this.on("open",this.onOpen.bind(this)),this.on("connect",this.configuration.onConnect),this.on("message",this.configuration.onMessage),this.on("outgoingMessage",this.configuration.onOutgoingMessage),this.on("status",this.configuration.onStatus),this.on("status",this.onStatus.bind(this)),this.on("disconnect",this.configuration.onDisconnect),this.on("close",this.configuration.onClose),this.on("destroy",this.configuration.onDestroy),this.on("awarenessUpdate",this.configuration.onAwarenessUpdate),this.on("awarenessChange",this.configuration.onAwarenessChange),this.on("close",this.onClose.bind(this)),this.on("message",this.onMessage.bind(this)),this.intervals.connectionChecker=setInterval(this.checkConnection.bind(this),this.configuration.messageReconnectTimeout/10),void 0!==A.connect&&(this.shouldConnect=A.connect),this.shouldConnect&&this.connect()}async onOpen(A){this.receivedOnOpenPayload=A}async onStatus(A){this.receivedOnStatusPayload=A}attach(A){let e;return this.configuration.providerMap.set(A.configuration.name,A),this.status===Hl.Disconnected&&this.shouldConnect&&(e=this.connect()),this.receivedOnOpenPayload&&A.onOpen(this.receivedOnOpenPayload),this.receivedOnStatusPayload&&A.onStatus(this.receivedOnStatusPayload),e}detach(A){this.configuration.providerMap.delete(A.configuration.name)}setConfiguration(A={}){this.configuration={...this.configuration,...A}}async connect(){if(this.status===Hl.Connected)return;this.cancelWebsocketRetry&&(this.cancelWebsocketRetry(),this.cancelWebsocketRetry=void 0),this.receivedOnOpenPayload=void 0,this.receivedOnStatusPayload=void 0,this.shouldConnect=!0;const{retryPromise:A,cancelFunc:e}=(()=>{let A=!1;const e=async function(A,e){const t=function(A){return A||(A={}),{delay:void 0===A.delay?200:A.delay,initialDelay:void 0===A.initialDelay?0:A.initialDelay,minDelay:void 0===A.minDelay?0:A.minDelay,maxDelay:void 0===A.maxDelay?0:A.maxDelay,factor:void 0===A.factor?0:A.factor,maxAttempts:void 0===A.maxAttempts?3:A.maxAttempts,timeout:void 0===A.timeout?0:A.timeout,jitter:!0===A.jitter,handleError:void 0===A.handleError?null:A.handleError,handleTimeout:void 0===A.handleTimeout?null:A.handleTimeout,beforeAttempt:void 0===A.beforeAttempt?null:A.beforeAttempt,calculateDelay:void 0===A.calculateDelay?null:A.calculateDelay}}(e);for(const A of["delay","initialDelay","minDelay","maxDelay","maxAttempts","timeout"]){const e=t[A];if(!Number.isInteger(e)||e<0)throw new Error(`Value for ${A} must be an integer greater than or equal to 0`)}if(t.factor.constructor!==Number||t.factor<0)throw new Error("Value for factor must be a number greater than or equal to 0");if(t.delay{if(t.handleError&&await t.handleError(A,n,t),n.aborted||0===n.attemptsRemaining)throw A;n.attemptNum++;const B=i(n,t);return B&&await UQ(B),e()};return n.attemptsRemaining>0&&n.attemptsRemaining--,t.timeout?new Promise(((e,i)=>{const E=setTimeout((()=>{if(t.handleTimeout)try{e(t.handleTimeout(n,t))}catch(A){i(A)}else{const A=new Error(`Retry timeout (attemptNum: ${n.attemptNum}, timeout: ${t.timeout})`);A.code="ATTEMPT_TIMEOUT",i(A)}}),t.timeout);A(n,t).then((A=>{clearTimeout(E),e(A)})).catch((A=>{clearTimeout(E),B(A).then(e).catch(i)}))})):A(n,t).catch(B)}()}(this.createWebSocketConnection.bind(this),{delay:this.configuration.delay,initialDelay:this.configuration.initialDelay,factor:this.configuration.factor,maxAttempts:this.configuration.maxAttempts,minDelay:this.configuration.minDelay,maxDelay:this.configuration.maxDelay,jitter:this.configuration.jitter,timeout:this.configuration.timeout,beforeAttempt:e=>{this.shouldConnect&&!A||e.abort()}}).catch((A=>{if(A&&"ATTEMPT_ABORTED"!==A.code)throw A}));return{retryPromise:e,cancelFunc:()=>{A=!0}}})();return this.cancelWebsocketRetry=e,A}attachWebSocketListeners(A,e){const{identifier:t}=A;this.webSocketHandlers[t]={message:A=>this.emit("message",A),close:A=>this.emit("close",{event:A}),open:A=>this.emit("open",A),error:A=>{e(A)}};const n=this.webSocketHandlers[A.identifier];Object.keys(n).forEach((e=>{A.addEventListener(e,n[e])}))}cleanupWebSocket(){if(!this.webSocket)return;const{identifier:A}=this.webSocket,e=this.webSocketHandlers[A];Object.keys(e).forEach((t=>{var n;null===(n=this.webSocket)||void 0===n||n.removeEventListener(t,e[t]),delete this.webSocketHandlers[A]})),this.webSocket.close(),this.webSocket=null}createWebSocketConnection(){return new Promise(((A,e)=>{this.webSocket&&(this.messageQueue=[],this.cleanupWebSocket()),this.lastMessageReceived=0,this.identifier+=1;const t=new this.configuration.WebSocketPolyfill(this.url);t.binaryType="arraybuffer",t.identifier=this.identifier,this.attachWebSocketListeners(t,e),this.webSocket=t,this.status=Hl.Connecting,this.emit("status",{status:Hl.Connecting}),this.connectionAttempt={resolve:A,reject:e}}))}onMessage(A){var e;this.resolveConnectionAttempt(),this.lastMessageReceived=Ul();const t=new Tl(A.data).peekVarString();null===(e=this.configuration.providerMap.get(t))||void 0===e||e.onMessage(A)}resolveConnectionAttempt(){this.connectionAttempt&&(this.connectionAttempt.resolve(),this.connectionAttempt=null,this.status=Hl.Connected,this.emit("status",{status:Hl.Connected}),this.emit("connect"),this.messageQueue.forEach((A=>this.send(A))),this.messageQueue=[])}stopConnectionAttempt(){this.connectionAttempt=null}rejectConnectionAttempt(){var A;null===(A=this.connectionAttempt)||void 0===A||A.reject(),this.connectionAttempt=null}checkConnection(){var A;this.status===Hl.Connected&&this.lastMessageReceived&&(this.configuration.messageReconnectTimeout>=Ul()-this.lastMessageReceived||(this.closeTries+=1,this.closeTries>2?(this.onClose({event:{code:4408,reason:"forced"}}),this.closeTries=0):(null===(A=this.webSocket)||void 0===A||A.close(),this.messageQueue=[])))}get serverUrl(){for(;"/"===this.configuration.url[this.configuration.url.length-1];)return this.configuration.url.slice(0,this.configuration.url.length-1);return this.configuration.url}get url(){const A=(()=>((A,e)=>{const t=[];for(const n in A)t.push(e(A[n],n));return t})(this.configuration.parameters,((A,e)=>`${encodeURIComponent(e)}=${encodeURIComponent(A)}`)).join("&"))();return`${this.serverUrl}${0===A.length?"":`?${A}`}`}disconnect(){if(this.shouldConnect=!1,null!==this.webSocket)try{this.webSocket.close(),this.messageQueue=[]}catch{}}send(A){var e;(null===(e=this.webSocket)||void 0===e?void 0:e.readyState)===YQ.Open?this.webSocket.send(A):this.messageQueue.push(A)}onClose({event:A}){this.closeTries=0,this.cleanupWebSocket(),this.status===Hl.Connected&&(this.status=Hl.Disconnected,this.emit("status",{status:Hl.Disconnected}),this.emit("disconnect",{event:A})),4401===A.code&&("Unauthorized"===A.reason?console.warn("[HocuspocusProvider] An authentication token is required, but you didn’t send one. Try adding a `token` to your HocuspocusProvider configuration. Won’t try again."):console.warn(`[HocuspocusProvider] Connection closed with status Unauthorized: ${A.reason}`),this.shouldConnect=!1),4403!==A.code||this.configuration.quiet?(1009===A.code&&(console.warn(`[HocuspocusProvider] Connection closed with status MessageTooBig: ${A.reason}`),this.shouldConnect=!1),this.connectionAttempt?this.rejectConnectionAttempt():this.shouldConnect&&this.connect(),this.shouldConnect||this.status!==Hl.Disconnected&&(this.status=Hl.Disconnected,this.emit("status",{status:Hl.Disconnected}),this.emit("disconnect",{event:A}))):console.warn("[HocuspocusProvider] The provided authentication token isn’t allowed to connect to this server. Will try again.")}destroy(){this.emit("destroy"),this.intervals.forceSync&&clearInterval(this.intervals.forceSync),clearInterval(this.intervals.connectionChecker),this.stopConnectionAttempt(),this.disconnect(),this.removeAllListeners(),this.cleanupWebSocket()}}const xl=(A,e)=>{ol(A,0);const t=(A=>((A,e=new Zo)=>(A instanceof Map?Oo(e,A):((A,e)=>{Oo(A,hc(e.store))})(e,A),e.toUint8Array()))(A,new Jo))(e);Ql(A,t)},pl=(A,e,t)=>{ol(A,1),Ql(A,((A,e)=>((A,e=new Uint8Array([0]),t=new Po)=>{((A,e,t=new Map)=>{Vo(A,e.store,t),So(A,No(e.store))})(t,A,vo(e));const n=[t.toUint8Array()];if(A.store.pendingDs&&n.push(A.store.pendingDs),A.store.pendingStructs&&n.push(pc(A.store.pendingStructs.update,e)),n.length>1){if(t.constructor===jo)return Tc(n.map(((A,e)=>0===e?A:Pc(A))));if(t.constructor===Po)return xc(n)}return n[0]})(A,e,new jo))(e,t))},Jl=(A,e,t)=>{try{((A,e,t)=>{Lo(A,e,t,zo)})(e,Il(A),t)}catch(A){console.error("Caught error while handling a Yjs update",A)}},jl=Jl;class Zl{constructor(){this.encoder=Bl()}get(A){return A.encoder}toUint8Array(){return sl(this.encoder)}}class Pl{constructor(A){this.broadcasted=!1,this.message=A}setBroadcasted(A){return this.broadcasted=A,this}apply(A,e){const{message:t}=this,n=t.readVarUint(),i=t.length();switch(n){case bl.Sync:this.applySyncMessage(A,e);break;case bl.Awareness:this.applyAwarenessMessage(A);break;case bl.Auth:this.applyAuthMessage(A);break;case bl.QueryAwareness:this.applyQueryAwarenessMessage(A);break;case bl.Stateless:A.receiveStateless(Gl(t.decoder));break;case bl.SyncStatus:this.applySyncStatusMessage(A,1===(A=>{let e=A.arr[A.pos++],t=63&e,n=64;const i=(64&e)>0?-1:1;if(!(e&el))return i*t;const B=A.arr.length;for(;A.posnl)throw Ml}throw hl})(t.decoder));break;default:throw new Error(`Can’t apply message of unknown type: ${n}`)}t.length()>i+1&&(this.broadcasted?A.broadcast(Zl,{encoder:t.encoder}):A.send(Zl,{encoder:t.encoder}))}applySyncMessage(A,e){const{message:t}=this;t.writeVarUint(bl.Sync);const n=((A,e,t,n)=>{const i=dl(A);switch(i){case 0:((A,e,t)=>{pl(e,t,Il(A))})(A,e,t);break;case 1:Jl(A,t,n);break;case 2:jl(A,t,n);break;default:throw new Error("Unknown message type")}return i})(t.decoder,t.encoder,A.document,A);e&&1===n&&(A.synced=!0)}applySyncStatusMessage(A,e){e&&A.decrementUnsyncedChanges()}applyAwarenessMessage(A){if(!A.awareness)return;const{message:e}=this;((A,e,t)=>{const n=Rl(e),i=Ul(),B=[],E=[],s=[],r=[],o=dl(n);for(let e=0;e0||s.length>0||r.length>0)&&A.emit("change",[{added:B,updated:s,removed:r},t]),(B.length>0||E.length>0||r.length>0)&&A.emit("update",[{added:B,updated:E,removed:r},t])})(A.awareness,e.readVarUint8Array(),A)}applyAuthMessage(A){const{message:e}=this;((A,e,t)=>{switch(CQ(A)){case DQ.PermissionDenied:e(kQ(A));break;case DQ.Authenticated:t(kQ(A))}})(e.decoder,A.permissionDeniedHandler.bind(A),A.authenticatedHandler.bind(A))}applyQueryAwarenessMessage(A){if(!A.awareness)return;const{message:e}=this;e.writeVarUint(bl.Awareness),e.writeVarUint8Array(ml(A.awareness,Array.from(A.awareness.getStates().keys())))}}class Vl{constructor(A,e={}){this.message=new A,this.encoder=this.message.get(e)}create(){return sl(this.encoder)}send(A){null==A||A.send(this.create())}broadcast(A){((A,e,t=null)=>{const n=Yl(A);n.bc.postMessage(e),n.subs.forEach((A=>A(e,t)))})(A,this.create())}}class Ll extends Zl{constructor(){super(...arguments),this.type=bl.Auth,this.description="Authentication"}get(A){if(void 0===A.token)throw new Error("The authentication message requires `token` as an argument.");var e,t;return al(this.encoder,A.documentName),ol(this.encoder,this.type),t=A.token,lQ(e=this.encoder,DQ.Token),wQ(e,t),this.encoder}}class vl extends Zl{constructor(){super(...arguments),this.type=bl.Awareness,this.description="Awareness states update"}get(A){if(void 0===A.awareness)throw new Error("The awareness message requires awareness as an argument");if(void 0===A.clients)throw new Error("The awareness message requires clients as an argument");let e;return al(this.encoder,A.documentName),ol(this.encoder,this.type),e=void 0===A.states?ml(A.awareness,A.clients):ml(A.awareness,A.clients,A.states),Ql(this.encoder,e),this.encoder}}class Ol extends Zl{constructor(){super(...arguments),this.type=bl.CLOSE,this.description="Ask the server to close the connection"}get(A){return al(this.encoder,A.documentName),ol(this.encoder,this.type),this.encoder}}class _l extends Zl{constructor(){super(...arguments),this.type=bl.QueryAwareness,this.description="Queries awareness states"}get(A){return al(this.encoder,A.documentName),ol(this.encoder,this.type),this.encoder}}class Kl extends Zl{constructor(){super(...arguments),this.type=bl.Stateless,this.description="A stateless message"}get(A){var e;return al(this.encoder,A.documentName),ol(this.encoder,this.type),al(this.encoder,null!==(e=A.payload)&&void 0!==e?e:""),this.encoder}}class Wl extends Zl{constructor(){super(...arguments),this.type=bl.Sync,this.description="First sync step"}get(A){if(void 0===A.document)throw new Error("The sync step one message requires document as an argument");return al(this.encoder,A.documentName),ol(this.encoder,this.type),xl(this.encoder,A.document),this.encoder}}class Xl extends Zl{constructor(){super(...arguments),this.type=bl.Sync,this.description="Second sync step"}get(A){if(void 0===A.document)throw new Error("The sync step two message requires document as an argument");return al(this.encoder,A.documentName),ol(this.encoder,this.type),pl(this.encoder,A.document),this.encoder}}class ql extends Zl{constructor(){super(...arguments),this.type=bl.Sync,this.description="A document update"}get(A){var e,t;return al(this.encoder,A.documentName),ol(this.encoder,this.type),t=A.update,ol(e=this.encoder,2),Ql(e,t),this.encoder}}class $l extends Error{constructor(){super(...arguments),this.code=1001}}class Ah extends yl{constructor(A){var e,t,n;super(),this.configuration={name:"",document:void 0,awareness:void 0,token:null,parameters:{},broadcast:!0,forceSyncInterval:!1,onAuthenticated:()=>null,onAuthenticationFailed:()=>null,onOpen:()=>null,onConnect:()=>null,onMessage:()=>null,onOutgoingMessage:()=>null,onStatus:()=>null,onSynced:()=>null,onDisconnect:()=>null,onClose:()=>null,onDestroy:()=>null,onAwarenessUpdate:()=>null,onAwarenessChange:()=>null,onStateless:()=>null,quiet:!1,connect:!0,preserveConnection:!0},this.subscribedToBroadcastChannel=!1,this.isSynced=!1,this.unsyncedChanges=0,this.status=Hl.Disconnected,this.isAuthenticated=!1,this.authorizedScope=void 0,this.mux=(()=>{let A=!0;return(e,t)=>{if(A){A=!1;try{e()}finally{A=!0}}else void 0!==t&&t()}})(),this.intervals={forceSync:null},this.isConnected=!0,this.boundBroadcastChannelSubscriber=this.broadcastChannelSubscriber.bind(this),this.boundPageUnload=this.pageUnload.bind(this),this.boundOnOpen=this.onOpen.bind(this),this.boundOnClose=this.onClose.bind(this),this.boundOnStatus=this.onStatus.bind(this),this.forwardConnect=A=>this.emit("connect",A),this.forwardOpen=A=>this.emit("open",A),this.forwardClose=A=>this.emit("close",A),this.forwardDisconnect=A=>this.emit("disconnect",A),this.forwardDestroy=A=>this.emit("destroy",A),this.setConfiguration(A),this.configuration.document=A.document?A.document:new Ho,this.configuration.awareness=void 0!==A.awareness?A.awareness:new Nl(this.document),this.on("open",this.configuration.onOpen),this.on("message",this.configuration.onMessage),this.on("outgoingMessage",this.configuration.onOutgoingMessage),this.on("synced",this.configuration.onSynced),this.on("destroy",this.configuration.onDestroy),this.on("awarenessUpdate",this.configuration.onAwarenessUpdate),this.on("awarenessChange",this.configuration.onAwarenessChange),this.on("stateless",this.configuration.onStateless),this.on("authenticated",this.configuration.onAuthenticated),this.on("authenticationFailed",this.configuration.onAuthenticationFailed),this.configuration.websocketProvider.on("connect",this.configuration.onConnect),this.configuration.websocketProvider.on("connect",this.forwardConnect),this.configuration.websocketProvider.on("open",this.boundOnOpen),this.configuration.websocketProvider.on("open",this.forwardOpen),this.configuration.websocketProvider.on("close",this.boundOnClose),this.configuration.websocketProvider.on("close",this.configuration.onClose),this.configuration.websocketProvider.on("close",this.forwardClose),this.configuration.websocketProvider.on("status",this.boundOnStatus),this.configuration.websocketProvider.on("disconnect",this.configuration.onDisconnect),this.configuration.websocketProvider.on("disconnect",this.forwardDisconnect),this.configuration.websocketProvider.on("destroy",this.configuration.onDestroy),this.configuration.websocketProvider.on("destroy",this.forwardDestroy),null===(e=this.awareness)||void 0===e||e.on("update",(()=>{this.emit("awarenessUpdate",{states:FQ(this.awareness.getStates())})})),null===(t=this.awareness)||void 0===t||t.on("change",(()=>{this.emit("awarenessChange",{states:FQ(this.awareness.getStates())})})),this.document.on("update",this.documentUpdateHandler.bind(this)),null===(n=this.awareness)||void 0===n||n.on("update",this.awarenessUpdateHandler.bind(this)),this.registerEventListeners(),this.configuration.forceSyncInterval&&(this.intervals.forceSync=setInterval(this.forceSync.bind(this),this.configuration.forceSyncInterval)),this.configuration.websocketProvider.attach(this)}onStatus({status:A}){this.status=A,this.configuration.onStatus({status:A}),this.emit("status",{status:A})}setConfiguration(A={}){!A.websocketProvider&&A.url&&(this.configuration.websocketProvider=new zl({url:A.url,connect:A.connect,parameters:A.parameters})),this.configuration={...this.configuration,...A}}get document(){return this.configuration.document}get awareness(){return this.configuration.awareness}get hasUnsyncedChanges(){return this.unsyncedChanges>0}incrementUnsyncedChanges(){this.unsyncedChanges+=1,this.emit("unsyncedChanges",this.unsyncedChanges)}decrementUnsyncedChanges(){this.unsyncedChanges-=1,0===this.unsyncedChanges&&(this.synced=!0),this.emit("unsyncedChanges",this.unsyncedChanges)}forceSync(){this.send(Wl,{document:this.document,documentName:this.configuration.name})}pageUnload(){this.awareness&&Sl(this.awareness,[this.document.clientID],"window unload")}registerEventListeners(){"undefined"!=typeof window&&window.addEventListener("unload",this.boundPageUnload)}sendStateless(A){this.send(Kl,{documentName:this.configuration.name,payload:A})}documentUpdateHandler(A,e){e!==this&&(this.incrementUnsyncedChanges(),this.send(ql,{update:A,documentName:this.configuration.name},!0))}awarenessUpdateHandler({added:A,updated:e,removed:t},n){const i=A.concat(e).concat(t);this.send(vl,{awareness:this.awareness,clients:i,documentName:this.configuration.name},!0)}get synced(){return this.isSynced}set synced(A){this.isSynced!==A&&(this.isSynced=A,this.emit("synced",{state:A}),this.emit("sync",{state:A}))}receiveStateless(A){this.emit("stateless",{payload:A})}get isAuthenticationRequired(){return!!this.configuration.token&&!this.isAuthenticated}async connect(){return this.configuration.broadcast&&this.subscribeToBroadcastChannel(),this.configuration.websocketProvider.shouldConnect=!0,this.configuration.websocketProvider.attach(this)}disconnect(){this.disconnectBroadcastChannel(),this.configuration.websocketProvider.detach(this),this.isConnected=!1,this.configuration.preserveConnection||this.configuration.websocketProvider.disconnect()}async onOpen(A){let e;this.isAuthenticated=!1,this.isConnected=!0,this.emit("open",{event:A});try{e=await this.getToken()}catch(A){return void this.permissionDeniedHandler(`Failed to get token: ${A}`)}this.isAuthenticationRequired&&this.send(Ll,{token:e,documentName:this.configuration.name}),this.startSync()}async getToken(){return"function"==typeof this.configuration.token?await this.configuration.token():this.configuration.token}startSync(){this.incrementUnsyncedChanges(),this.send(Wl,{document:this.document,documentName:this.configuration.name}),this.awareness&&null!==this.awareness.getLocalState()&&this.send(vl,{awareness:this.awareness,clients:[this.document.clientID],documentName:this.configuration.name})}send(A,e,t=!1){if(!this.isConnected)return;t&&this.mux((()=>{this.broadcast(A,e)}));const n=new Vl(A,e);this.emit("outgoingMessage",{message:n.message}),n.send(this.configuration.websocketProvider)}onMessage(A){const e=new Tl(A.data),t=e.readVarString();e.writeVarString(t),this.emit("message",{event:A,message:new Tl(A.data)}),new Pl(e).apply(this,!0)}onClose(A){this.isAuthenticated=!1,this.synced=!1,this.awareness&&Sl(this.awareness,Array.from(this.awareness.getStates().keys()).filter((A=>A!==this.document.clientID)),this)}destroy(){this.emit("destroy"),this.intervals.forceSync&&clearInterval(this.intervals.forceSync),this.awareness&&(Sl(this.awareness,[this.document.clientID],"provider destroy"),this.awareness.off("update",this.awarenessUpdateHandler),this.awareness.destroy()),this.document.off("update",this.documentUpdateHandler),this.removeAllListeners(),this.configuration.websocketProvider.off("connect",this.configuration.onConnect),this.configuration.websocketProvider.off("connect",this.forwardConnect),this.configuration.websocketProvider.off("open",this.boundOnOpen),this.configuration.websocketProvider.off("open",this.forwardOpen),this.configuration.websocketProvider.off("close",this.boundOnClose),this.configuration.websocketProvider.off("close",this.configuration.onClose),this.configuration.websocketProvider.off("close",this.forwardClose),this.configuration.websocketProvider.off("status",this.boundOnStatus),this.configuration.websocketProvider.off("disconnect",this.configuration.onDisconnect),this.configuration.websocketProvider.off("disconnect",this.forwardDisconnect),this.configuration.websocketProvider.off("destroy",this.configuration.onDestroy),this.configuration.websocketProvider.off("destroy",this.forwardDestroy),this.send(Ol,{documentName:this.configuration.name}),this.disconnect(),"undefined"!=typeof window&&window.removeEventListener("unload",this.boundPageUnload)}permissionDeniedHandler(A){this.emit("authenticationFailed",{reason:A}),this.isAuthenticated=!1,this.disconnect(),this.status=Hl.Disconnected}authenticatedHandler(A){this.isAuthenticated=!0,this.authorizedScope=A,this.emit("authenticated")}get broadcastChannel(){return`${this.configuration.name}`}broadcastChannelSubscriber(A){this.mux((()=>{const e=new Tl(A),t=e.readVarString();e.writeVarString(t),new Pl(e).setBroadcasted(!0).apply(this,!1)}))}subscribeToBroadcastChannel(){var A;this.subscribedToBroadcastChannel||(A=this.boundBroadcastChannelSubscriber,Yl(this.broadcastChannel).subs.add(A),this.subscribedToBroadcastChannel=!0),this.mux((()=>{this.broadcast(Wl,{document:this.document,documentName:this.configuration.name}),this.broadcast(Xl,{document:this.document,documentName:this.configuration.name}),this.broadcast(_l,{document:this.document,documentName:this.configuration.name}),this.awareness&&this.broadcast(vl,{awareness:this.awareness,clients:[this.document.clientID],document:this.document,documentName:this.configuration.name})}))}disconnectBroadcastChannel(){this.awareness&&this.send(vl,{awareness:this.awareness,clients:[this.document.clientID],states:new Map,documentName:this.configuration.name},!0),this.subscribedToBroadcastChannel&&(((A,e)=>{const t=Yl(A);t.subs.delete(e)&&0===t.subs.size&&(t.bc.close(),Dl.delete(A))})(this.broadcastChannel,this.boundBroadcastChannelSubscriber),this.subscribedToBroadcastChannel=!1)}broadcast(A,e){this.configuration.broadcast&&this.subscribedToBroadcastChannel&&new Vl(A,e).broadcast(this.broadcastChannel)}setAwarenessField(A,e){if(!this.awareness)throw new $l(`Cannot set awareness field "${A}" to ${JSON.stringify(e)}. You have disabled Awareness for this provider by explicitly passing awareness: null in the provider configuration.`);this.awareness.setLocalStateField(A,e)}}function eh({types:A,node:e}){return Array.isArray(A)&&A.includes(e.type)||e.type===A}crypto.getRandomValues.bind(crypto);const th=r.create({name:"trailingNode",addOptions:()=>({node:"paragraph",notAfter:["paragraph"]}),addProseMirrorPlugins(){const A=new s(this.name),e=Object.entries(this.editor.schema.nodes).map((([,A])=>A)).filter((A=>this.options.notAfter.includes(A.name)));return[new E({key:A,appendTransaction:(e,t,n)=>{const{doc:i,tr:B,schema:E}=n;if(A.getState(n))return B.insert(i.content.size,E.nodes[this.options.node].create())},state:{init:(A,t)=>!eh({node:t.tr.doc.lastChild,types:e}),apply:(A,t)=>A.docChanged?!eh({node:A.doc.lastChild,types:e}):t}})]}});function nh(A,e){return function(){return A.apply(e,arguments)}}const{toString:ih}=Object.prototype,{getPrototypeOf:Bh}=Object,Eh=(sh=Object.create(null),A=>{const e=ih.call(A);return sh[e]||(sh[e]=e.slice(8,-1).toLowerCase())});var sh;const rh=A=>(A=A.toLowerCase(),e=>Eh(e)===A),oh=A=>e=>typeof e===A,{isArray:ch}=Array,gh=oh("undefined"),ah=rh("ArrayBuffer"),Qh=oh("string"),lh=oh("function"),hh=oh("number"),Mh=A=>null!==A&&"object"==typeof A,wh=A=>{if("object"!==Eh(A))return!1;const e=Bh(A);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in A||Symbol.iterator in A)},Rh=rh("Date"),Ih=rh("File"),uh=rh("Blob"),dh=rh("FileList"),Gh=rh("URLSearchParams");function Ch(A,e,{allOwnKeys:t=!1}={}){if(null==A)return;let n,i;if("object"!=typeof A&&(A=[A]),ch(A))for(n=0,i=A.length;n0;)if(n=t[i],e===n.toLowerCase())return n;return null}const Dh="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,Fh=A=>!gh(A)&&A!==Dh,Yh=(Uh="undefined"!=typeof Uint8Array&&Bh(Uint8Array),A=>Uh&&A instanceof Uh);var Uh;const fh=rh("HTMLFormElement"),Nh=(({hasOwnProperty:A})=>(e,t)=>A.call(e,t))(Object.prototype),Sh=rh("RegExp"),mh=(A,e)=>{const t=Object.getOwnPropertyDescriptors(A),n={};Ch(t,((t,i)=>{let B;!1!==(B=e(t,i,A))&&(n[i]=B||t)})),Object.defineProperties(A,n)},yh="abcdefghijklmnopqrstuvwxyz",bh="0123456789",Hh={DIGIT:bh,ALPHA:yh,ALPHA_DIGIT:yh+yh.toUpperCase()+bh},Th=rh("AsyncFunction"),zh={isArray:ch,isArrayBuffer:ah,isBuffer:function(A){return null!==A&&!gh(A)&&null!==A.constructor&&!gh(A.constructor)&&lh(A.constructor.isBuffer)&&A.constructor.isBuffer(A)},isFormData:A=>{let e;return A&&("function"==typeof FormData&&A instanceof FormData||lh(A.append)&&("formdata"===(e=Eh(A))||"object"===e&&lh(A.toString)&&"[object FormData]"===A.toString()))},isArrayBufferView:function(A){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(A):A&&A.buffer&&ah(A.buffer),e},isString:Qh,isNumber:hh,isBoolean:A=>!0===A||!1===A,isObject:Mh,isPlainObject:wh,isUndefined:gh,isDate:Rh,isFile:Ih,isBlob:uh,isRegExp:Sh,isFunction:lh,isStream:A=>Mh(A)&&lh(A.pipe),isURLSearchParams:Gh,isTypedArray:Yh,isFileList:dh,forEach:Ch,merge:function A(){const{caseless:e}=Fh(this)&&this||{},t={},n=(n,i)=>{const B=e&&kh(t,i)||i;t[B]=wh(t[B])&&wh(n)?A(t[B],n):wh(n)?A({},n):ch(n)?n.slice():n};for(let A=0,e=arguments.length;A(Ch(e,((e,n)=>{A[n]=t&&lh(e)?nh(e,t):e}),{allOwnKeys:n}),A),trim:A=>A.trim?A.trim():A.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:A=>(65279===A.charCodeAt(0)&&(A=A.slice(1)),A),inherits:(A,e,t,n)=>{A.prototype=Object.create(e.prototype,n),A.prototype.constructor=A,Object.defineProperty(A,"super",{value:e.prototype}),t&&Object.assign(A.prototype,t)},toFlatObject:(A,e,t,n)=>{let i,B,E;const s={};if(e=e||{},null==A)return e;do{for(i=Object.getOwnPropertyNames(A),B=i.length;B-- >0;)E=i[B],n&&!n(E,A,e)||s[E]||(e[E]=A[E],s[E]=!0);A=!1!==t&&Bh(A)}while(A&&(!t||t(A,e))&&A!==Object.prototype);return e},kindOf:Eh,kindOfTest:rh,endsWith:(A,e,t)=>{A=String(A),(void 0===t||t>A.length)&&(t=A.length);const n=A.indexOf(e,t-=e.length);return-1!==n&&n===t},toArray:A=>{if(!A)return null;if(ch(A))return A;let e=A.length;if(!hh(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=A[e];return t},forEachEntry:(A,e)=>{const t=(A&&A[Symbol.iterator]).call(A);let n;for(;(n=t.next())&&!n.done;){const t=n.value;e.call(A,t[0],t[1])}},matchAll:(A,e)=>{let t;const n=[];for(;null!==(t=A.exec(e));)n.push(t);return n},isHTMLForm:fh,hasOwnProperty:Nh,hasOwnProp:Nh,reduceDescriptors:mh,freezeMethods:A=>{mh(A,((e,t)=>{if(lh(A)&&-1!==["arguments","caller","callee"].indexOf(t))return!1;lh(A[t])&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")}))}))},toObjectSet:(A,e)=>{const t={},n=A=>{A.forEach((A=>{t[A]=!0}))};return ch(A)?n(A):n(String(A).split(e)),t},toCamelCase:A=>A.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(A,e,t){return e.toUpperCase()+t})),noop:()=>{},toFiniteNumber:(A,e)=>(A=+A,Number.isFinite(A)?A:e),findKey:kh,global:Dh,isContextDefined:Fh,ALPHABET:Hh,generateString:(A=16,e=Hh.ALPHA_DIGIT)=>{let t="";const{length:n}=e;for(;A--;)t+=e[Math.random()*n|0];return t},isSpecCompliantForm:function(A){return!!(A&&lh(A.append)&&"FormData"===A[Symbol.toStringTag]&&A[Symbol.iterator])},toJSONObject:A=>{const e=new Array(10),t=(A,n)=>{if(Mh(A)){if(e.indexOf(A)>=0)return;if(!("toJSON"in A)){e[n]=A;const i=ch(A)?[]:{};return Ch(A,((A,e)=>{const B=t(A,n+1);!gh(B)&&(i[e]=B)})),e[n]=void 0,i}}return A};return t(A,0)},isAsyncFn:Th,isThenable:A=>A&&(Mh(A)||lh(A))&&lh(A.then)&&lh(A.catch)};function xh(A,e,t,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=A,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),n&&(this.request=n),i&&(this.response=i)}zh.inherits(xh,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:zh.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const ph=xh.prototype,Jh={};function jh(A){return zh.isPlainObject(A)||zh.isArray(A)}function Zh(A){return zh.endsWith(A,"[]")?A.slice(0,-2):A}function Ph(A,e,t){return A?A.concat(e).map((function(A,e){return A=Zh(A),!t&&e?"["+A+"]":A})).join(t?".":""):e}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((A=>{Jh[A]={value:A}})),Object.defineProperties(xh,Jh),Object.defineProperty(ph,"isAxiosError",{value:!0}),xh.from=(A,e,t,n,i,B)=>{const E=Object.create(ph);return zh.toFlatObject(A,E,(function(A){return A!==Error.prototype}),(A=>"isAxiosError"!==A)),xh.call(E,A.message,e,t,n,i),E.cause=A,E.name=A.name,B&&Object.assign(E,B),E};const Vh=zh.toFlatObject(zh,{},null,(function(A){return/^is[A-Z]/.test(A)}));function Lh(A,e,t){if(!zh.isObject(A))throw new TypeError("target must be an object");e=e||new FormData,t=zh.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(A,e){return!zh.isUndefined(e[A])}));const n=t.metaTokens,i=t.visitor||o,B=t.dots,E=t.indexes,s=(t.Blob||"undefined"!=typeof Blob&&Blob)&&zh.isSpecCompliantForm(e);if(!zh.isFunction(i))throw new TypeError("visitor must be a function");function r(A){if(null===A)return"";if(zh.isDate(A))return A.toISOString();if(!s&&zh.isBlob(A))throw new xh("Blob is not supported. Use a Buffer instead.");return zh.isArrayBuffer(A)||zh.isTypedArray(A)?s&&"function"==typeof Blob?new Blob([A]):Buffer.from(A):A}function o(A,t,i){let s=A;if(A&&!i&&"object"==typeof A)if(zh.endsWith(t,"{}"))t=n?t:t.slice(0,-2),A=JSON.stringify(A);else if(zh.isArray(A)&&function(A){return zh.isArray(A)&&!A.some(jh)}(A)||(zh.isFileList(A)||zh.endsWith(t,"[]"))&&(s=zh.toArray(A)))return t=Zh(t),s.forEach((function(A,n){!zh.isUndefined(A)&&null!==A&&e.append(!0===E?Ph([t],n,B):null===E?t:t+"[]",r(A))})),!1;return!!jh(A)||(e.append(Ph(i,t,B),r(A)),!1)}const c=[],g=Object.assign(Vh,{defaultVisitor:o,convertValue:r,isVisitable:jh});if(!zh.isObject(A))throw new TypeError("data must be an object");return function A(t,n){if(!zh.isUndefined(t)){if(-1!==c.indexOf(t))throw Error("Circular reference detected in "+n.join("."));c.push(t),zh.forEach(t,(function(t,B){!0===(!(zh.isUndefined(t)||null===t)&&i.call(e,t,zh.isString(B)?B.trim():B,n,g))&&A(t,n?n.concat(B):[B])})),c.pop()}}(A),e}function vh(A){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(A).replace(/[!'()~]|%20|%00/g,(function(A){return e[A]}))}function Oh(A,e){this._pairs=[],A&&Lh(A,this,e)}const _h=Oh.prototype;function Kh(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Wh(A,e,t){if(!e)return A;const n=t&&t.encode||Kh,i=t&&t.serialize;let B;if(B=i?i(e,t):zh.isURLSearchParams(e)?e.toString():new Oh(e,t).toString(n),B){const e=A.indexOf("#");-1!==e&&(A=A.slice(0,e)),A+=(-1===A.indexOf("?")?"?":"&")+B}return A}_h.append=function(A,e){this._pairs.push([A,e])},_h.toString=function(A){const e=A?function(e){return A.call(this,e,vh)}:vh;return this._pairs.map((function(A){return e(A[0])+"="+e(A[1])}),"").join("&")};const Xh=class{constructor(){this.handlers=[]}use(A,e,t){return this.handlers.push({fulfilled:A,rejected:e,synchronous:!!t&&t.synchronous,runWhen:t?t.runWhen:null}),this.handlers.length-1}eject(A){this.handlers[A]&&(this.handlers[A]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(A){zh.forEach(this.handlers,(function(e){null!==e&&A(e)}))}},qh={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},$h={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Oh,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},AM="undefined"!=typeof window&&"undefined"!=typeof document,eM=(tM="undefined"!=typeof navigator&&navigator.product,AM&&["ReactNative","NativeScript","NS"].indexOf(tM)<0);var tM;const nM="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,iM={...Object.freeze({__proto__:null,hasBrowserEnv:AM,hasStandardBrowserWebWorkerEnv:nM,hasStandardBrowserEnv:eM}),...$h};function BM(A){function e(A,t,n,i){let B=A[i++];if("__proto__"===B)return!0;const E=Number.isFinite(+B),s=i>=A.length;return B=!B&&zh.isArray(n)?n.length:B,s?(n[B]=zh.hasOwnProp(n,B)?[n[B],t]:t,!E):(n[B]&&zh.isObject(n[B])||(n[B]=[]),e(A,t,n[B],i)&&zh.isArray(n[B])&&(n[B]=function(A){const e={},t=Object.keys(A);let n;const i=t.length;let B;for(n=0;n{e(function(A){return zh.matchAll(/\w+|\[(\w*)]/g,A).map((A=>"[]"===A[0]?"":A[1]||A[0]))}(A),n,t,0)})),t}return null}const EM={transitional:qh,adapter:["xhr","http"],transformRequest:[function(A,e){const t=e.getContentType()||"",n=t.indexOf("application/json")>-1,i=zh.isObject(A);if(i&&zh.isHTMLForm(A)&&(A=new FormData(A)),zh.isFormData(A))return n?JSON.stringify(BM(A)):A;if(zh.isArrayBuffer(A)||zh.isBuffer(A)||zh.isStream(A)||zh.isFile(A)||zh.isBlob(A))return A;if(zh.isArrayBufferView(A))return A.buffer;if(zh.isURLSearchParams(A))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),A.toString();let B;if(i){if(t.indexOf("application/x-www-form-urlencoded")>-1)return function(A,e){return Lh(A,new iM.classes.URLSearchParams,Object.assign({visitor:function(A,e,t,n){return iM.isNode&&zh.isBuffer(A)?(this.append(e,A.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},e))}(A,this.formSerializer).toString();if((B=zh.isFileList(A))||t.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return Lh(B?{"files[]":A}:A,e&&new e,this.formSerializer)}}return i||n?(e.setContentType("application/json",!1),function(A){if(zh.isString(A))try{return(0,JSON.parse)(A),zh.trim(A)}catch(A){if("SyntaxError"!==A.name)throw A}return(0,JSON.stringify)(A)}(A)):A}],transformResponse:[function(A){const e=this.transitional||EM.transitional,t=e&&e.forcedJSONParsing,n="json"===this.responseType;if(A&&zh.isString(A)&&(t&&!this.responseType||n)){const t=!(e&&e.silentJSONParsing)&&n;try{return JSON.parse(A)}catch(A){if(t){if("SyntaxError"===A.name)throw xh.from(A,xh.ERR_BAD_RESPONSE,this,null,this.response);throw A}}}return A}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:iM.classes.FormData,Blob:iM.classes.Blob},validateStatus:function(A){return A>=200&&A<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};zh.forEach(["delete","get","head","post","put","patch"],(A=>{EM.headers[A]={}}));const sM=EM,rM=zh.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),oM=Symbol("internals");function cM(A){return A&&String(A).trim().toLowerCase()}function gM(A){return!1===A||null==A?A:zh.isArray(A)?A.map(gM):String(A)}function aM(A,e,t,n,i){return zh.isFunction(n)?n.call(this,e,t):(i&&(e=t),zh.isString(e)?zh.isString(n)?-1!==e.indexOf(n):zh.isRegExp(n)?n.test(e):void 0:void 0)}class QM{constructor(A){A&&this.set(A)}set(A,e,t){const n=this;function i(A,e,t){const i=cM(e);if(!i)throw new Error("header name must be a non-empty string");const B=zh.findKey(n,i);(!B||void 0===n[B]||!0===t||void 0===t&&!1!==n[B])&&(n[B||e]=gM(A))}const B=(A,e)=>zh.forEach(A,((A,t)=>i(A,t,e)));return zh.isPlainObject(A)||A instanceof this.constructor?B(A,e):zh.isString(A)&&(A=A.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(A.trim())?B((A=>{const e={};let t,n,i;return A&&A.split("\n").forEach((function(A){i=A.indexOf(":"),t=A.substring(0,i).trim().toLowerCase(),n=A.substring(i+1).trim(),!t||e[t]&&rM[t]||("set-cookie"===t?e[t]?e[t].push(n):e[t]=[n]:e[t]=e[t]?e[t]+", "+n:n)})),e})(A),e):null!=A&&i(e,A,t),this}get(A,e){if(A=cM(A)){const t=zh.findKey(this,A);if(t){const A=this[t];if(!e)return A;if(!0===e)return function(A){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=t.exec(A);)e[n[1]]=n[2];return e}(A);if(zh.isFunction(e))return e.call(this,A,t);if(zh.isRegExp(e))return e.exec(A);throw new TypeError("parser must be boolean|regexp|function")}}}has(A,e){if(A=cM(A)){const t=zh.findKey(this,A);return!(!t||void 0===this[t]||e&&!aM(0,this[t],t,e))}return!1}delete(A,e){const t=this;let n=!1;function i(A){if(A=cM(A)){const i=zh.findKey(t,A);!i||e&&!aM(0,t[i],i,e)||(delete t[i],n=!0)}}return zh.isArray(A)?A.forEach(i):i(A),n}clear(A){const e=Object.keys(this);let t=e.length,n=!1;for(;t--;){const i=e[t];A&&!aM(0,this[i],i,A,!0)||(delete this[i],n=!0)}return n}normalize(A){const e=this,t={};return zh.forEach(this,((n,i)=>{const B=zh.findKey(t,i);if(B)return e[B]=gM(n),void delete e[i];const E=A?function(A){return A.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((A,e,t)=>e.toUpperCase()+t))}(i):String(i).trim();E!==i&&delete e[i],e[E]=gM(n),t[E]=!0})),this}concat(...A){return this.constructor.concat(this,...A)}toJSON(A){const e=Object.create(null);return zh.forEach(this,((t,n)=>{null!=t&&!1!==t&&(e[n]=A&&zh.isArray(t)?t.join(", "):t)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([A,e])=>A+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(A){return A instanceof this?A:new this(A)}static concat(A,...e){const t=new this(A);return e.forEach((A=>t.set(A))),t}static accessor(A){const e=(this[oM]=this[oM]={accessors:{}}).accessors,t=this.prototype;function n(A){const n=cM(A);e[n]||(function(A,e){const t=zh.toCamelCase(" "+e);["get","set","has"].forEach((n=>{Object.defineProperty(A,n+t,{value:function(A,t,i){return this[n].call(this,e,A,t,i)},configurable:!0})}))}(t,A),e[n]=!0)}return zh.isArray(A)?A.forEach(n):n(A),this}}QM.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),zh.reduceDescriptors(QM.prototype,(({value:A},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>A,set(A){this[t]=A}}})),zh.freezeMethods(QM);const lM=QM;function hM(A,e){const t=this||sM,n=e||t,i=lM.from(n.headers);let B=n.data;return zh.forEach(A,(function(A){B=A.call(t,B,i.normalize(),e?e.status:void 0)})),i.normalize(),B}function MM(A){return!(!A||!A.__CANCEL__)}function wM(A,e,t){xh.call(this,null==A?"canceled":A,xh.ERR_CANCELED,e,t),this.name="CanceledError"}zh.inherits(wM,xh,{__CANCEL__:!0});const RM=iM.hasStandardBrowserEnv?{write(A,e,t,n,i,B){const E=[A+"="+encodeURIComponent(e)];zh.isNumber(t)&&E.push("expires="+new Date(t).toGMTString()),zh.isString(n)&&E.push("path="+n),zh.isString(i)&&E.push("domain="+i),!0===B&&E.push("secure"),document.cookie=E.join("; ")},read(A){const e=document.cookie.match(new RegExp("(^|;\\s*)("+A+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(A){this.write(A,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function IM(A,e){return A&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(A,e){return e?A.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):A}(A,e):e}const uM=iM.hasStandardBrowserEnv?function(){const A=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let t;function n(t){let n=t;return A&&(e.setAttribute("href",n),n=e.href),e.setAttribute("href",n),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return t=n(window.location.href),function(A){const e=zh.isString(A)?n(A):A;return e.protocol===t.protocol&&e.host===t.host}}():function(){return!0};function dM(A,e){let t=0;const n=function(A,e){A=A||10;const t=new Array(A),n=new Array(A);let i,B=0,E=0;return e=void 0!==e?e:1e3,function(s){const r=Date.now(),o=n[E];i||(i=r),t[B]=s,n[B]=r;let c=E,g=0;for(;c!==B;)g+=t[c++],c%=A;if(B=(B+1)%A,B===E&&(E=(E+1)%A),r-i{const B=i.loaded,E=i.lengthComputable?i.total:void 0,s=B-t,r=n(s);t=B;const o={loaded:B,total:E,progress:E?B/E:void 0,bytes:s,rate:r||void 0,estimated:r&&E&&B<=E?(E-B)/r:void 0,event:i};o[e?"download":"upload"]=!0,A(o)}}const GM="undefined"!=typeof XMLHttpRequest&&function(A){return new Promise((function(e,t){let n=A.data;const i=lM.from(A.headers).normalize();let B,E,{responseType:s,withXSRFToken:r}=A;function o(){A.cancelToken&&A.cancelToken.unsubscribe(B),A.signal&&A.signal.removeEventListener("abort",B)}if(zh.isFormData(n))if(iM.hasStandardBrowserEnv||iM.hasStandardBrowserWebWorkerEnv)i.setContentType(!1);else if(!1!==(E=i.getContentType())){const[A,...e]=E?E.split(";").map((A=>A.trim())).filter(Boolean):[];i.setContentType([A||"multipart/form-data",...e].join("; "))}let c=new XMLHttpRequest;if(A.auth){const e=A.auth.username||"",t=A.auth.password?unescape(encodeURIComponent(A.auth.password)):"";i.set("Authorization","Basic "+btoa(e+":"+t))}const g=IM(A.baseURL,A.url);function a(){if(!c)return;const n=lM.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());!function(A,e,t){const n=t.config.validateStatus;t.status&&n&&!n(t.status)?e(new xh("Request failed with status code "+t.status,[xh.ERR_BAD_REQUEST,xh.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t)):A(t)}((function(A){e(A),o()}),(function(A){t(A),o()}),{data:s&&"text"!==s&&"json"!==s?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:n,config:A,request:c}),c=null}if(c.open(A.method.toUpperCase(),Wh(g,A.params,A.paramsSerializer),!0),c.timeout=A.timeout,"onloadend"in c?c.onloadend=a:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf("file:"))&&setTimeout(a)},c.onabort=function(){c&&(t(new xh("Request aborted",xh.ECONNABORTED,A,c)),c=null)},c.onerror=function(){t(new xh("Network Error",xh.ERR_NETWORK,A,c)),c=null},c.ontimeout=function(){let e=A.timeout?"timeout of "+A.timeout+"ms exceeded":"timeout exceeded";A.timeoutErrorMessage&&(e=A.timeoutErrorMessage),t(new xh(e,(A.transitional||qh).clarifyTimeoutError?xh.ETIMEDOUT:xh.ECONNABORTED,A,c)),c=null},iM.hasStandardBrowserEnv&&(r&&zh.isFunction(r)&&(r=r(A)),r||!1!==r&&uM(g))){const e=A.xsrfHeaderName&&A.xsrfCookieName&&RM.read(A.xsrfCookieName);e&&i.set(A.xsrfHeaderName,e)}void 0===n&&i.setContentType(null),"setRequestHeader"in c&&zh.forEach(i.toJSON(),(function(A,e){c.setRequestHeader(e,A)})),zh.isUndefined(A.withCredentials)||(c.withCredentials=!!A.withCredentials),s&&"json"!==s&&(c.responseType=A.responseType),"function"==typeof A.onDownloadProgress&&c.addEventListener("progress",dM(A.onDownloadProgress,!0)),"function"==typeof A.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",dM(A.onUploadProgress)),(A.cancelToken||A.signal)&&(B=e=>{c&&(t(!e||e.type?new wM(null,A,c):e),c.abort(),c=null)},A.cancelToken&&A.cancelToken.subscribe(B),A.signal&&(A.signal.aborted?B():A.signal.addEventListener("abort",B)));const Q=function(A){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(A);return e&&e[1]||""}(g);Q&&-1===iM.protocols.indexOf(Q)?t(new xh("Unsupported protocol "+Q+":",xh.ERR_BAD_REQUEST,A)):c.send(n||null)}))},CM={http:null,xhr:GM};zh.forEach(CM,((A,e)=>{if(A){try{Object.defineProperty(A,"name",{value:e})}catch(A){}Object.defineProperty(A,"adapterName",{value:e})}}));const kM=A=>`- ${A}`,DM=A=>zh.isFunction(A)||null===A||!1===A,FM=A=>{A=zh.isArray(A)?A:[A];const{length:e}=A;let t,n;const i={};for(let B=0;B`adapter ${A} `+(!1===e?"is not supported by the environment":"is not available in the build")));throw new xh("There is no suitable adapter to dispatch the request "+(e?A.length>1?"since :\n"+A.map(kM).join("\n"):" "+kM(A[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return n};function YM(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new wM(null,A)}function UM(A){return YM(A),A.headers=lM.from(A.headers),A.data=hM.call(A,A.transformRequest),-1!==["post","put","patch"].indexOf(A.method)&&A.headers.setContentType("application/x-www-form-urlencoded",!1),FM(A.adapter||sM.adapter)(A).then((function(e){return YM(A),e.data=hM.call(A,A.transformResponse,e),e.headers=lM.from(e.headers),e}),(function(e){return MM(e)||(YM(A),e&&e.response&&(e.response.data=hM.call(A,A.transformResponse,e.response),e.response.headers=lM.from(e.response.headers))),Promise.reject(e)}))}const fM=A=>A instanceof lM?{...A}:A;function NM(A,e){e=e||{};const t={};function n(A,e,t){return zh.isPlainObject(A)&&zh.isPlainObject(e)?zh.merge.call({caseless:t},A,e):zh.isPlainObject(e)?zh.merge({},e):zh.isArray(e)?e.slice():e}function i(A,e,t){return zh.isUndefined(e)?zh.isUndefined(A)?void 0:n(void 0,A,t):n(A,e,t)}function B(A,e){if(!zh.isUndefined(e))return n(void 0,e)}function E(A,e){return zh.isUndefined(e)?zh.isUndefined(A)?void 0:n(void 0,A):n(void 0,e)}function s(t,i,B){return B in e?n(t,i):B in A?n(void 0,t):void 0}const r={url:B,method:B,data:B,baseURL:E,transformRequest:E,transformResponse:E,paramsSerializer:E,timeout:E,timeoutMessage:E,withCredentials:E,withXSRFToken:E,adapter:E,responseType:E,xsrfCookieName:E,xsrfHeaderName:E,onUploadProgress:E,onDownloadProgress:E,decompress:E,maxContentLength:E,maxBodyLength:E,beforeRedirect:E,transport:E,httpAgent:E,httpsAgent:E,cancelToken:E,socketPath:E,responseEncoding:E,validateStatus:s,headers:(A,e)=>i(fM(A),fM(e),!0)};return zh.forEach(Object.keys(Object.assign({},A,e)),(function(n){const B=r[n]||i,E=B(A[n],e[n],n);zh.isUndefined(E)&&B!==s||(t[n]=E)})),t}const SM={};["object","boolean","number","function","string","symbol"].forEach(((A,e)=>{SM[A]=function(t){return typeof t===A||"a"+(e<1?"n ":" ")+A}}));const mM={};SM.transitional=function(A,e,t){function n(A,e){return"[Axios v1.6.8] Transitional option '"+A+"'"+e+(t?". "+t:"")}return(t,i,B)=>{if(!1===A)throw new xh(n(i," has been removed"+(e?" in "+e:"")),xh.ERR_DEPRECATED);return e&&!mM[i]&&(mM[i]=!0,console.warn(n(i," has been deprecated since v"+e+" and will be removed in the near future"))),!A||A(t,i,B)}};const yM={assertOptions:function(A,e,t){if("object"!=typeof A)throw new xh("options must be an object",xh.ERR_BAD_OPTION_VALUE);const n=Object.keys(A);let i=n.length;for(;i-- >0;){const B=n[i],E=e[B];if(E){const e=A[B],t=void 0===e||E(e,B,A);if(!0!==t)throw new xh("option "+B+" must be "+t,xh.ERR_BAD_OPTION_VALUE)}else if(!0!==t)throw new xh("Unknown option "+B,xh.ERR_BAD_OPTION)}},validators:SM},bM=yM.validators;class HM{constructor(A){this.defaults=A,this.interceptors={request:new Xh,response:new Xh}}async request(A,e){try{return await this._request(A,e)}catch(A){if(A instanceof Error){let e;Error.captureStackTrace?Error.captureStackTrace(e={}):e=new Error;const t=e.stack?e.stack.replace(/^.+\n/,""):"";A.stack?t&&!String(A.stack).endsWith(t.replace(/^.+\n.+\n/,""))&&(A.stack+="\n"+t):A.stack=t}throw A}}_request(A,e){"string"==typeof A?(e=e||{}).url=A:e=A||{},e=NM(this.defaults,e);const{transitional:t,paramsSerializer:n,headers:i}=e;void 0!==t&&yM.assertOptions(t,{silentJSONParsing:bM.transitional(bM.boolean),forcedJSONParsing:bM.transitional(bM.boolean),clarifyTimeoutError:bM.transitional(bM.boolean)},!1),null!=n&&(zh.isFunction(n)?e.paramsSerializer={serialize:n}:yM.assertOptions(n,{encode:bM.function,serialize:bM.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let B=i&&zh.merge(i.common,i[e.method]);i&&zh.forEach(["delete","get","head","post","put","patch","common"],(A=>{delete i[A]})),e.headers=lM.concat(B,i);const E=[];let s=!0;this.interceptors.request.forEach((function(A){"function"==typeof A.runWhen&&!1===A.runWhen(e)||(s=s&&A.synchronous,E.unshift(A.fulfilled,A.rejected))}));const r=[];let o;this.interceptors.response.forEach((function(A){r.push(A.fulfilled,A.rejected)}));let c,g=0;if(!s){const A=[UM.bind(this),void 0];for(A.unshift.apply(A,E),A.push.apply(A,r),c=A.length,o=Promise.resolve(e);g{if(!t._listeners)return;let e=t._listeners.length;for(;e-- >0;)t._listeners[e](A);t._listeners=null})),this.promise.then=A=>{let e;const n=new Promise((A=>{t.subscribe(A),e=A})).then(A);return n.cancel=function(){t.unsubscribe(e)},n},A((function(A,n,i){t.reason||(t.reason=new wM(A,n,i),e(t.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(A){this.reason?A(this.reason):this._listeners?this._listeners.push(A):this._listeners=[A]}unsubscribe(A){if(!this._listeners)return;const e=this._listeners.indexOf(A);-1!==e&&this._listeners.splice(e,1)}static source(){let A;return{token:new zM((function(e){A=e})),cancel:A}}}const xM=zM,pM={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(pM).forEach((([A,e])=>{pM[e]=A}));const JM=pM,jM=function A(e){const t=new TM(e),n=nh(TM.prototype.request,t);return zh.extend(n,TM.prototype,t,{allOwnKeys:!0}),zh.extend(n,t,null,{allOwnKeys:!0}),n.create=function(t){return A(NM(e,t))},n}(sM);jM.Axios=TM,jM.CanceledError=wM,jM.CancelToken=xM,jM.isCancel=MM,jM.VERSION="1.6.8",jM.toFormData=Lh,jM.AxiosError=xh,jM.Cancel=jM.CanceledError,jM.all=function(A){return Promise.all(A)},jM.spread=function(A){return function(e){return A.apply(null,e)}},jM.isAxiosError=function(A){return zh.isObject(A)&&!0===A.isAxiosError},jM.mergeConfig=NM,jM.AxiosHeaders=lM,jM.formToJSON=A=>BM(zh.isHTMLForm(A)?new FormData(A):A),jM.getAdapter=FM,jM.HttpStatusCode=JM,jM.default=jM;const ZM=jM,PM=["image/jpeg","image/gif","image/png","image/jpg"];async function VM(A,e){const t=A instanceof DataTransferItem?A.getAsFile():A;return(null==e?void 0:e.options.uploadFunc)?e.options.uploadFunc(t):(null==e?void 0:e.options.uploadUrl)?async function(A,e){return(await ZM.postForm(e,{imgFile:A})).data.url||""}(t,e.options.uploadUrl):new Promise((A=>{const e=new FileReader;e.onloadend=()=>A(e.result),e.readAsDataURL(t)}))}const LM=r.create({name:"imageUploader",addCommands(){return{uploadImage:A=>()=>(VM(A,this).then((A=>{Boolean(A)&&this.editor.chain().focus().setImage({src:A}).run()})),!0)}},addOptions:()=>({uploadUrl:"",uploadFunc:null}),addProseMirrorPlugins(){return[new E({key:new s("imageUploader"),props:{handlePaste:(A,e)=>{var t;const n=Array.from((null===(t=e.clipboardData)||void 0===t?void 0:t.items)||[]);if(n.some((A=>"text/html"===A.type)))return!1;const i=n.find((A=>PM.includes(A.type)));return!!Boolean(i)&&(VM(i,this).then((A=>{Boolean(A)&&this.editor.chain().focus().setImage({src:A}).run()})),!0)},handleDrop:(A,e)=>{var t;return!!Boolean(null===(t=e.dataTransfer)||void 0===t?void 0:t.files.length)&&(VM(e.dataTransfer.files.item(0),this).then((A=>{Boolean(A)&&this.editor.chain().focus().setImage({src:A}).run()})),!0)}}})]}}),vM=[9,13,16,20,24,36,48],OM=r.create({name:"fontSize",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:A=>{var e;return parseInt(null===(e=A.style.fontSize)||void 0===e?void 0:e.replace(/px$/,""))},renderHTML:A=>A.fontSize?{style:`font-size: ${A.fontSize}px`}:{}}}}]},addCommands:()=>({setFontSize:A=>({chain:e})=>e().setMark("textStyle",{fontSize:A}).run(),unsetFontSize:()=>({chain:A})=>A().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run(),scaleFontSize:(A="upscale")=>({state:e})=>{const{doc:t,selection:n}=e,{from:i,to:B}=n;return t.slice(i,B).content.descendants(((t,n)=>{var B;if(t.isText){const E=(null===(B=t.marks.find((A=>"textStyle"===A.type.name)))||void 0===B?void 0:B.attrs.fontSize)||13,s=vM.reduce(((A,e)=>Math.abs(e-E)({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{lineHeight:{default:null,parseHTML:A=>parseInt(A.style.lineHeight),renderHTML:A=>A.lineHeight?{style:`line-height: ${A.lineHeight}`}:{}}}}]},addCommands:()=>({setLineHeight:A=>({chain:e})=>e().selectParentNode().setMark("textStyle",{lineHeight:A}).run(),unsetLineHeight:()=>({chain:A})=>A().selectParentNode().setMark("textStyle",{lineHeight:null}).removeEmptyTextStyle().run()})}),WM={"Sans-serif":'"Source Han Sans CN", PingFangSC, "Microsoft YaHei", HiraginoSansGB, Roboto, Helvetica, Tahoma, sans-serif',Serif:'SimSun, STSong, Georgia, "Times New Roman", Times, serif',Cursive:"FangSong, KaiTi, cursive",Monospace:'"Source Code Pro", Menlo, Monaco, Consolas, "Courier New", monospace'},XM=r.create({name:"defaultTextStyle",addProseMirrorPlugins:()=>[new E({appendTransaction(A,e,t){if(1!==A.length||1!==A[0].steps.length)return;const n=A[0].doc.type.schema,i=n.marks.textStyle.create({fontFamily:WM["Sans-serif"]}),B=n.marks.textStyle.create({fontFamily:WM["Sans-serif"],fontSize:13});let E=t.tr;return A.forEach((A=>{A.steps.forEach((A=>{A.getMap().forEach(((A,e,n,s)=>{t.doc.nodesBetween(n,s,((A,e)=>{"heading"===A.type.name&&A.forEach(((A,t)=>{A.isText&&!Boolean(A.marks.find((A=>"textStyle"===A.type.name)))&&(E=E.addMark(e+t,e+t+A.nodeSize+1,i))})),"paragraph"===A.type.name&&A.forEach(((A,t)=>{A.isText&&!Boolean(A.marks.find((A=>"textStyle"===A.type.name)))&&(E=E.addMark(e+t,e+t+A.nodeSize+1,B))}))}))}))}))})),E}})]});var qM,$M;if("undefined"!=typeof WeakMap){let A=new WeakMap;qM=e=>A.get(e),$M=(e,t)=>(A.set(e,t),t)}else{const A=[],e=10;let t=0;qM=e=>{for(let t=0;t(t==e&&(t=0),A[t++]=n,A[t++]=i)}var Aw=class{constructor(A,e,t,n){this.width=A,this.height=e,this.map=t,this.problems=n}findCell(A){for(let e=0;en&&(B+=i.attrs.colspan)}}for(let A=0;A1&&(t=!0)}-1==e?e=B:e!=B&&(e=Math.max(e,B))}return e}(A),t=A.childCount,n=[];let i=0,B=null;const E=[];for(let A=0,i=e*t;A=t){(B||(B=[])).push({type:"overlong_rowspan",pos:r,n:a-A});break}const o=i+A*e;for(let A=0;A0;e--)if("row"==A.node(e).type.spec.tableRole)return A.node(0).resolve(A.before(e+1));return null}function Bw(A){const e=A.selection.$head;for(let A=e.depth;A>0;A--)if("row"==e.node(A).type.spec.tableRole)return!0;return!1}function Ew(A){const e=A.selection;if("$anchorCell"in e&&e.$anchorCell)return e.$anchorCell.pos>e.$headCell.pos?e.$anchorCell:e.$headCell;if("node"in e&&e.node&&"cell"==e.node.type.spec.tableRole)return e.$anchor;const t=iw(e.$head)||function(A){for(let e=A.nodeAfter,t=A.pos;e;e=e.firstChild,t++){const n=e.type.spec.tableRole;if("cell"==n||"header_cell"==n)return A.doc.resolve(t)}for(let e=A.nodeBefore,t=A.pos;e;e=e.lastChild,t--){const n=e.type.spec.tableRole;if("cell"==n||"header_cell"==n)return A.doc.resolve(t-e.nodeSize)}}(e.$head);if(t)return t;throw new RangeError(`No cell found around position ${e.head}`)}function sw(A){return"row"==A.parent.type.spec.tableRole&&!!A.nodeAfter}function rw(A,e){return A.depth==e.depth&&A.pos>=e.start(-1)&&A.pos<=e.end(-1)}function ow(A,e,t){const n=A.node(-1),i=Aw.get(n),B=A.start(-1),E=i.nextCell(A.pos-B,e,t);return null==E?null:A.node(0).resolve(B+E)}function cw(A,e,t=1){const n={...A,colspan:A.colspan-t};return n.colwidth&&(n.colwidth=n.colwidth.slice(),n.colwidth.splice(e,t),n.colwidth.some((A=>A>0))||(n.colwidth=null)),n}function gw(A,e,t=1){const n={...A,colspan:A.colspan+t};if(n.colwidth){n.colwidth=n.colwidth.slice();for(let A=0;AA!=e.pos-i));s.unshift(e.pos-i);const r=s.map((A=>{const e=t.nodeAt(A);if(!e)throw RangeError(`No cell with offset ${A} found`);const n=i+A+1;return new V(E.resolve(n),E.resolve(n+e.content.size))}));super(r[0].$from,r[0].$to,r),this.$anchorCell=A,this.$headCell=e}map(e,t){const n=e.resolve(t.map(this.$anchorCell.pos)),i=e.resolve(t.map(this.$headCell.pos));if(sw(n)&&sw(i)&&rw(n,i)){const e=this.$anchorCell.node(-1)!=n.node(-1);return e&&this.isRowSelection()?A.rowSelection(n,i):e&&this.isColSelection()?A.colSelection(n,i):new A(n,i)}return C.between(n,i)}content(){const A=this.$anchorCell.node(-1),e=Aw.get(A),t=this.$anchorCell.start(-1),n=e.rectBetween(this.$anchorCell.pos-t,this.$headCell.pos-t),i={},B=[];for(let t=n.top;t0||c>0){let A=r.attrs;if(o>0&&(A=cw(A,0,o)),c>0&&(A=cw(A,A.colspan-c,c)),s.leftn.bottom){const A={...r.attrs,rowspan:Math.min(s.bottom,n.bottom)-Math.max(s.top,n.top)};r=s.top0)&&Math.max(A+this.$anchorCell.nodeAfter.attrs.rowspan,e+this.$headCell.nodeAfter.attrs.rowspan)==this.$headCell.node(-1).childCount}static colSelection(e,t=e){const n=e.node(-1),i=Aw.get(n),B=e.start(-1),E=i.findCell(e.pos-B),s=i.findCell(t.pos-B),r=e.node(0);return E.top<=s.top?(E.top>0&&(e=r.resolve(B+i.map[E.left])),s.bottom0&&(t=r.resolve(B+i.map[s.left])),E.bottom0)&&Math.max(n+this.$anchorCell.nodeAfter.attrs.colspan,i+this.$headCell.nodeAfter.attrs.colspan)==e.width}eq(e){return e instanceof A&&e.$anchorCell.pos==this.$anchorCell.pos&&e.$headCell.pos==this.$headCell.pos}static rowSelection(e,t=e){const n=e.node(-1),i=Aw.get(n),B=e.start(-1),E=i.findCell(e.pos-B),s=i.findCell(t.pos-B),r=e.node(0);return E.left<=s.left?(E.left>0&&(e=r.resolve(B+i.map[E.top*i.width])),s.right0&&(t=r.resolve(B+i.map[s.top*i.width])),E.right{e.push(F.node(t,t+A.nodeSize,{class:"selectedCell"}))})),k.create(A.doc,e)}var hw=new s("fix-tables");function Mw(A,e,t,n){const i=A.childCount,B=e.childCount;A:for(let E=0,s=0;E{"table"==e.type.spec.tableRole&&(t=function(A,e,t,n){const i=Aw.get(e);if(!i.problems)return n;n||(n=A.tr);const B=[];for(let A=0;A0){let e="cell";t.firstChild&&(e=t.firstChild.type.spec.tableRole);const B=[];for(let t=0;te.width)for(let B=0,c=0;Be.height){const c=[];for(let A=0,n=(e.height-1)*e.width;A=e.width)&&t.nodeAt(e.map[n+A]).type==s.header_cell;c.push(i?o||(o=s.header_cell.createAndFill()):r||(r=s.cell.createAndFill()))}const g=s.row.create(null,x.from(c)),a=[];for(let A=e.height;A{if(!i)return!1;const B=t.selection;if(B instanceof aw)return Cw(t,n,b.near(B.$headCell,e));if("horiz"!=A&&!B.empty)return!1;const E=Nw(i,A,e);if(null==E)return!1;if("horiz"==A)return Cw(t,n,b.near(t.doc.resolve(B.head+e),e));{const i=t.doc.resolve(E),B=ow(i,A,e);let s;return s=B?b.near(B,1):e<0?b.near(t.doc.resolve(i.before(-1)),-1):b.near(t.doc.resolve(i.after(-1)),1),Cw(t,n,s)}}}function Dw(A,e){return(t,n,i)=>{if(!i)return!1;const B=t.selection;let E;if(B instanceof aw)E=B;else{const n=Nw(i,A,e);if(null==n)return!1;E=new aw(t.doc.resolve(n))}const s=ow(E.$headCell,A,e);return!!s&&Cw(t,n,new aw(E.$anchorCell,s))}}function Fw(A,e){const t=A.selection;if(!(t instanceof aw))return!1;if(e){const n=A.tr,i=tw(A.schema).cell.createAndFill().content;t.forEachCell(((A,e)=>{A.content.eq(i)||n.replace(n.mapping.map(e+1),n.mapping.map(e+A.nodeSize-1),new H(i,0,0))})),n.docChanged&&e(n)}return!0}function Yw(A,e){const t=iw(A.state.doc.resolve(e));return!!t&&(A.dispatch(A.state.tr.setSelection(new aw(t))),!0)}function Uw(A,e,t){if(!Bw(A.state))return!1;let n=function(A){if(!A.size)return null;let{content:e,openStart:t,openEnd:n}=A;for(;1==e.childCount&&(t>0&&n>0||"table"==e.child(0).type.spec.tableRole);)t--,n--,e=e.child(0).content;const i=e.child(0),B=i.type.spec.tableRole,E=i.type.schema,s=[];if("row"==B)for(let A=0;A=0;e--){const{rowspan:i,colspan:B}=n.child(e).attrs;for(let e=A;e=e.length&&e.push(x.empty),t[i]n&&(s=s.type.createChecked(cw(s.attrs,s.attrs.colspan,t+s.attrs.colspan-n),s.content)),E.push(s),t+=s.attrs.colspan;for(let t=1;ti&&(e=e.type.create({...e.attrs,rowspan:Math.max(1,i-e.attrs.rowspan)},e.content)),E.push(e)}A.push(x.from(E))}t=A,e=i}return{width:A,height:e,rows:t}}(n,E.right-E.left,E.bottom-E.top),dw(A.state,A.dispatch,B,E,n),!0}if(n){const e=Ew(A.state),t=e.start(-1);return dw(A.state,A.dispatch,t,Aw.get(e.node(-1)).findCell(e.pos-t),n),!0}return!1}function fw(A,e){var t;if(e.ctrlKey||e.metaKey)return;const n=Sw(A,e.target);let i;if(e.shiftKey&&A.state.selection instanceof aw)B(A.state.selection.$anchorCell,e),e.preventDefault();else if(e.shiftKey&&n&&null!=(i=iw(A.state.selection.$anchor))&&(null==(t=mw(A,e))?void 0:t.pos)!=i.pos)B(i,e),e.preventDefault();else if(!n)return;function B(e,t){let n=mw(A,t);const i=null==nw.getState(A.state);if(!n||!rw(e,n)){if(!i)return;n=e}const B=new aw(e,n);if(i||!A.state.selection.eq(B)){const t=A.state.tr.setSelection(B);i&&t.setMeta(nw,e.pos),A.dispatch(t)}}function E(){A.root.removeEventListener("mouseup",E),A.root.removeEventListener("dragstart",E),A.root.removeEventListener("mousemove",s),null!=nw.getState(A.state)&&A.dispatch(A.state.tr.setMeta(nw,-1))}function s(t){const i=t,s=nw.getState(A.state);let r;if(null!=s)r=A.state.doc.resolve(s);else if(Sw(A,i.target)!=n&&(r=mw(A,e),!r))return E();r&&B(r,i)}A.root.addEventListener("mouseup",E),A.root.addEventListener("dragstart",E),A.root.addEventListener("mousemove",s)}function Nw(A,e,t){if(!(A.state.selection instanceof C))return null;const{$head:n}=A.state.selection;for(let i=n.depth-1;i>=0;i--){const B=n.node(i);if((t<0?n.index(i):n.indexAfter(i))!=(t<0?0:B.childCount))return null;if("cell"==B.type.spec.tableRole||"header_cell"==B.type.spec.tableRole){const B=n.before(i);return A.endOfTextblock("vert"==e?t>0?"down":"up":t>0?"right":"left")?B:null}}return null}function Sw(A,e){for(;e&&e!=A.dom;e=e.parentNode)if("TD"==e.nodeName||"TH"==e.nodeName)return e;return null}function mw(A,e){const t=A.posAtCoords({left:e.clientX,top:e.clientY});return t&&t?iw(A.state.doc.resolve(t.pos)):null}var yw=class{constructor(A,e){this.node=A,this.cellMinWidth=e,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.colgroup=this.table.appendChild(document.createElement("colgroup")),bw(A,this.colgroup,this.table,e),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(A){return A.type==this.node.type&&(this.node=A,bw(A,this.colgroup,this.table,this.cellMinWidth),!0)}ignoreMutation(A){return"attributes"==A.type&&(A.target==this.table||this.colgroup.contains(A.target))}};function bw(A,e,t,n,i,B){var E;let s=0,r=!0,o=e.firstChild;const c=A.firstChild;if(c){for(let A=0,t=0;A(i.spec.props.nodeViews[tw(n.schema).table.name]=(A,n)=>new t(A,e,n),new zw(-1,!1)),apply:(A,e)=>e.apply(A)},props:{attributes:A=>{const e=Hw.getState(A);return e&&e.activeHandle>-1?{class:"resize-cursor"}:{}},handleDOMEvents:{mousemove:(e,t)=>{!function(A,e,t,n,i){const B=Hw.getState(A.state);if(B&&!B.dragging){const n=function(A){for(;A&&"TD"!=A.nodeName&&"TH"!=A.nodeName;)A=A.classList&&A.classList.contains("ProseMirror")?null:A.parentNode;return A}(e.target);let E=-1;if(n){const{left:i,right:B}=n.getBoundingClientRect();e.clientX-i<=t?E=xw(A,e,"left",t):B-e.clientX<=t&&(E=xw(A,e,"right",t))}if(E!=B.activeHandle){if(!i&&-1!==E){const e=A.state.doc.resolve(E),t=e.node(-1),n=Aw.get(t),i=e.start(-1);if(n.colCount(e.pos-i)+e.nodeAfter.attrs.colspan-1==n.width-1)return}Jw(A,E)}}}(e,t,A,0,n)},mouseleave:A=>{!function(A){const e=Hw.getState(A.state);e&&e.activeHandle>-1&&!e.dragging&&Jw(A,-1)}(A)},mousedown:(A,t)=>{!function(A,e,t){var n;const i=null!=(n=A.dom.ownerDocument.defaultView)?n:window,B=Hw.getState(A.state);if(!B||-1==B.activeHandle||B.dragging)return!1;const E=A.state.doc.nodeAt(B.activeHandle),s=function(A,e,{colspan:t,colwidth:n}){const i=n&&n[n.length-1];if(i)return i;const B=A.domAtPos(e);let E=B.node.childNodes[B.offset].offsetWidth,s=t;if(n)for(let A=0;A{const e=Hw.getState(A);if(e&&e.activeHandle>-1)return function(A,e){const t=[],n=A.doc.resolve(e),i=n.node(-1);if(!i)return k.empty;const B=Aw.get(i),E=n.start(-1),s=B.colCount(n.pos-E)+n.nodeAfter.attrs.colspan;for(let A=0;A-1&&e.docChanged){let n=e.mapping.map(t.activeHandle,-1);return sw(e.doc.resolve(n))||(n=-1),new A(n,t.dragging)}return t}};function xw(A,e,t,n){const i=A.posAtCoords({left:e.clientX+("right"==t?-n:n),top:e.clientY});if(!i)return-1;const{pos:B}=i,E=iw(A.state.doc.resolve(B));if(!E)return-1;if("right"==t)return E.pos;const s=Aw.get(E.node(-1)),r=E.start(-1),o=s.map.indexOf(E.pos-r);return o%s.width==0?-1:r+s.map[o-1]}function pw(A,e,t){return Math.max(t,A.startWidth+(e.clientX-A.startX))}function Jw(A,e){A.dispatch(A.state.tr.setMeta(Hw,{setHandle:e}))}function jw(A){const e=A.selection,t=Ew(A),n=t.node(-1),i=t.start(-1),B=Aw.get(n);return{...e instanceof aw?B.rectBetween(e.$anchorCell.pos-i,e.$headCell.pos-i):B.findCell(t.pos-i),tableStart:i,map:B,table:n}}function Zw(A,{map:e,tableStart:t,table:n},i){let B=i>0?-1:0;(function(A,e,t){const n=tw(e.type.schema).header_cell;for(let i=0;i0&&i0&&e.map[s-1]==r||i0?-1:0;(function(A,e,t){var n;const i=tw(e.type.schema).header_cell;for(let B=0;B0&&i0&&o==e.map[E-e.width]){const e=t.nodeAt(o).attrs;A.setNodeMarkup(A.mapping.slice(s).map(o+n),null,{...e,rowspan:e.rowspan-1}),B+=e.colspan-1}else if(i0&&t[B]==t[B-1]||n.right0&&t[i]==t[i-A]||n.bottomt[A.type.spec.tableRole],(A,e)=>{var t;const i=A.selection;let B,E;if(i instanceof aw){if(i.$anchorCell.pos!=i.$headCell.pos)return!1;B=i.$anchorCell.nodeAfter,E=i.$anchorCell.pos}else{if(B=function(A){for(let e=A.depth;e>0;e--){const t=A.node(e).type.spec.tableRole;if("cell"===t||"header_cell"===t)return A.node(e)}return null}(i.$from),!B)return!1;E=null==(t=iw(i.$from))?void 0:t.pos}if(null==B||null==E)return!1;if(1==B.attrs.colspan&&1==B.attrs.rowspan)return!1;if(e){let t=B.attrs;const s=[],r=t.colwidth;t.rowspan>1&&(t={...t,rowspan:1}),t.colspan>1&&(t={...t,colspan:1});const o=jw(A),c=A.tr;for(let A=0;Ai.table.nodeAt(A)));for(let A=0;A{const e=A+i.tableStart,t=B.doc.nodeAt(e);t&&B.setNodeMarkup(e,o,t.attrs)})),t(B)}return!0}}Ww("row",{useDeprecatedLogic:!0}),Ww("column",{useDeprecatedLogic:!0});var Xw=Ww("cell",{useDeprecatedLogic:!0});function qw(A){return function(e,t){if(!Bw(e))return!1;const n=function(A,e){if(e<0){const e=A.nodeBefore;if(e)return A.pos-e.nodeSize;for(let e=A.index(-1)-1,t=A.before();e>=0;e--){const n=A.node(-1).child(e),i=n.lastChild;if(i)return t-1-i.nodeSize;t-=n.nodeSize}}else{if(A.index()null,apply(A,e){const t=A.getMeta(nw);if(null!=t)return-1==t?null:t;if(null==e||!A.docChanged)return e;const{deleted:n,pos:i}=A.mapping.mapResult(e);return n?null:i}},props:{decorations:lw,handleDOMEvents:{mousedown:fw},createSelectionBetween:A=>null!=nw.getState(A.state)?A.state.selection:null,handleTripleClick:Yw,handleKeyDown:Gw,handlePaste:Uw},appendTransaction:(e,t,n)=>function(A,e,t){const n=(e||A).selection,i=(e||A).doc;let B,E;if(n instanceof T&&(E=n.node.type.spec.tableRole)){if("cell"==E||"header_cell"==E)B=aw.create(i,n.from);else if("row"==E){const A=i.resolve(n.from+1);B=aw.rowSelection(A,A)}else if(!t){const A=Aw.get(n.node),e=n.from+1;B=aw.create(i,e+1,e+A.map[A.width*A.height-1])}}else n instanceof C&&function({$from:A,$to:e}){if(A.pos==e.pos||A.pos=0&&!(A.after(i+1)=0&&!(e.before(A+1)>e.start(A));A--,n--);return t==n&&/row|table/.test(A.node(i).type.spec.tableRole)}(n)?B=C.create(i,n.from):n instanceof C&&function({$from:A,$to:e}){let t,n;for(let e=A.depth;e>0;e--){const n=A.node(e);if("cell"===n.type.spec.tableRole||"header_cell"===n.type.spec.tableRole){t=n;break}}for(let A=e.depth;A>0;A--){const t=e.node(A);if("cell"===t.type.spec.tableRole||"header_cell"===t.type.spec.tableRole){n=t;break}}return t!==n&&0===e.parentOffset}(n)&&(B=C.create(i,n.$from.start(),n.$from.end()));return B&&(e||(e=A.tr)).setSelection(B),e}(n,ww(n,t),A)})}function AR(A,e,t,n,i,B){let E=0,s=!0,r=e.firstChild;const o=A.firstChild;for(let A=0,t=0;A{const{selection:e}=A.state;if(!function(A){return A instanceof aw}(e))return!1;let t=0;const n=v(e.ranges[0].$from,(A=>"table"===A.type.name));return null==n||n.node.descendants((A=>{if("table"===A.type.name)return!1;["tableCell","tableHeader"].includes(A.type.name)&&(t+=1)})),t===e.ranges.length&&(A.commands.deleteTable(),!0)},iR=R.create({name:"table",addOptions:()=>({HTMLAttributes:{},resizable:!1,handleWidth:5,cellMinWidth:25,View:eR,lastColumnResizable:!0,allowTableNodeSelection:!1}),content:"tableRow+",tableRole:"table",isolating:!0,group:"block",parseHTML:()=>[{tag:"table"}],renderHTML({node:A,HTMLAttributes:e}){const{colgroup:t,tableWidth:n,tableMinWidth:i}=function(A,e){let t=0,n=!0;const i=[],B=A.firstChild;if(!B)return{};for(let A=0,E=0;A({insertTable:({rows:A=3,cols:e=3,withHeaderRow:t=!0}={})=>({tr:n,dispatch:i,editor:B})=>{const E=function(A,e,t,n,i){const B=function(A){if(A.cached.tableNodeTypes)return A.cached.tableNodeTypes;const e={};return Object.keys(A.nodes).forEach((t=>{const n=A.nodes[t];n.spec.tableRole&&(e[n.spec.tableRole]=n)})),A.cached.tableNodeTypes=e,e}(A),E=[],s=[];for(let A=0;A({state:A,dispatch:e})=>function(A,e){if(!Bw(A))return!1;if(e){const t=jw(A);e(Zw(A.tr,t,t.left))}return!0}(A,e),addColumnAfter:()=>({state:A,dispatch:e})=>function(A,e){if(!Bw(A))return!1;if(e){const t=jw(A);e(Zw(A.tr,t,t.right))}return!0}(A,e),deleteColumn:()=>({state:A,dispatch:e})=>function(A,e){if(!Bw(A))return!1;if(e){const t=jw(A),n=A.tr;if(0==t.left&&t.right==t.map.width)return!1;for(let A=t.right-1;Pw(n,t,A),A!=t.left;A--){const A=t.tableStart?n.doc.nodeAt(t.tableStart-1):n.doc;if(!A)throw RangeError("No table found");t.table=A,t.map=Aw.get(A)}e(n)}return!0}(A,e),addRowBefore:()=>({state:A,dispatch:e})=>function(A,e){if(!Bw(A))return!1;if(e){const t=jw(A);e(Vw(A.tr,t,t.top))}return!0}(A,e),addRowAfter:()=>({state:A,dispatch:e})=>function(A,e){if(!Bw(A))return!1;if(e){const t=jw(A);e(Vw(A.tr,t,t.bottom))}return!0}(A,e),deleteRow:()=>({state:A,dispatch:e})=>function(A,e){if(!Bw(A))return!1;if(e){const t=jw(A),n=A.tr;if(0==t.top&&t.bottom==t.map.height)return!1;for(let A=t.bottom-1;Lw(n,t,A),A!=t.top;A--){const A=t.tableStart?n.doc.nodeAt(t.tableStart-1):n.doc;if(!A)throw RangeError("No table found");t.table=A,t.map=Aw.get(t.table)}e(n)}return!0}(A,e),deleteTable:()=>({state:A,dispatch:e})=>function(A,e){const t=A.selection.$anchor;for(let n=t.depth;n>0;n--)if("table"==t.node(n).type.spec.tableRole)return e&&e(A.tr.delete(t.before(n),t.after(n)).scrollIntoView()),!0;return!1}(A,e),mergeCells:()=>({state:A,dispatch:e})=>Ow(A,e),splitCell:()=>({state:A,dispatch:e})=>_w(A,e),toggleHeaderColumn:()=>({state:A,dispatch:e})=>Ww("column")(A,e),toggleHeaderRow:()=>({state:A,dispatch:e})=>Ww("row")(A,e),toggleHeaderCell:()=>({state:A,dispatch:e})=>Xw(A,e),mergeOrSplit:()=>({state:A,dispatch:e})=>!!Ow(A,e)||_w(A,e),setCellAttribute:(A,e)=>({state:t,dispatch:n})=>function(A,e){return function(t,n){if(!Bw(t))return!1;const i=Ew(t);if(i.nodeAfter.attrs[A]===e)return!1;if(n){const B=t.tr;t.selection instanceof aw?t.selection.forEachCell(((t,n)=>{t.attrs[A]!==e&&B.setNodeMarkup(n,null,{...t.attrs,[A]:e})})):B.setNodeMarkup(i.pos,null,{...i.nodeAfter.attrs,[A]:e}),n(B)}return!0}}(A,e)(t,n),goToNextCell:()=>({state:A,dispatch:e})=>qw(1)(A,e),goToPreviousCell:()=>({state:A,dispatch:e})=>qw(-1)(A,e),fixTables:()=>({state:A,dispatch:e})=>(e&&ww(A),!0),setCellSelection:A=>({tr:e,dispatch:t})=>{if(t){const t=aw.create(e.doc,A.anchorCell,A.headCell);e.setSelection(t)}return!0}}),addKeyboardShortcuts(){return{Tab:()=>!!this.editor.commands.goToNextCell()||!!this.editor.can().addRowAfter()&&this.editor.chain().addRowAfter().goToNextCell().run(),"Shift-Tab":()=>this.editor.commands.goToPreviousCell(),Backspace:nR,"Mod-Backspace":nR,Delete:nR,"Mod-Delete":nR}},addProseMirrorPlugins(){return[...this.options.resizable&&this.editor.isEditable?[Tw({handleWidth:this.options.handleWidth,cellMinWidth:this.options.cellMinWidth,View:this.options.View,lastColumnResizable:this.options.lastColumnResizable})]:[],$w({allowTableNodeSelection:this.options.allowTableNodeSelection})]},extendNodeSchema:A=>({tableRole:p(J(A,"tableRole",{name:A.name,options:A.options,storage:A.storage}))})}),BR=R.create({name:"tableCell",addOptions:()=>({HTMLAttributes:{}}),content:"block+",addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null}}}),tableRole:"cell",isolating:!0,parseHTML:()=>[{tag:"td"}],renderHTML({HTMLAttributes:A}){return["td",l(this.options.HTMLAttributes,A),0]}}),ER=R.create({name:"tableHeader",addOptions:()=>({HTMLAttributes:{}}),content:"block+",addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null}}}),tableRole:"header_cell",isolating:!0,parseHTML:()=>[{tag:"th"}],renderHTML({HTMLAttributes:A}){return["th",l(this.options.HTMLAttributes,A),0]}}),sR=R.create({name:"tableRow",addOptions:()=>({HTMLAttributes:{}}),content:"(tableCell | tableHeader)*",tableRole:"row",parseHTML:()=>[{tag:"tr"}],renderHTML({HTMLAttributes:A}){return["tr",l(this.options.HTMLAttributes,A),0]}}),rR=BR.extend({addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null},renderHTML:A=>A.colwidth?{style:`width: ${A.colwidth[0]}px;`}:{}}}),renderHTML({HTMLAttributes:A}){return["td",l(this.options.HTMLAttributes,A,{style:"border: 1px solid black; padding: 5px;"}),0]}}),oR=ER.extend({addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null},renderHTML:A=>A.colwidth?{style:`width: ${A.colwidth[0]}px;`}:{}}}),renderHTML({HTMLAttributes:A}){return["th",l(this.options.HTMLAttributes,A,{style:"border: 1px solid black; padding: 5px;"}),0]}}),cR=iR.extend({renderHTML({HTMLAttributes:A}){return["table",l(this.options.HTMLAttributes,A,{style:"border-collapse: collapse; border: 1px solid black;"}),["tbody",0]]}});var gR;!function(A){A[A.compact=0]="compact",A[A.full=1]="full"}(gR||(gR={}));const aR=R.create({name:"iframe",group:"block",atom:!0,addOptions:()=>({HTMLAttributes:{class:"iframe-wrapper"}}),addAttributes:()=>({src:{default:null},frameborder:{default:0},width:{default:null},height:{default:null}}),parseHTML:()=>[{tag:"iframe"}],renderHTML({HTMLAttributes:A}){return["div",this.options.HTMLAttributes,["iframe",A]]},addCommands(){return{setIframe:A=>({tr:e,dispatch:t})=>{const{selection:n}=e,i=this.type.create(A);return t&&e.replaceRangeWith(n.from,n.to,i),!0}}}}),QR=TE.extend({addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak(),Enter:()=>{const{state:A}=this.editor,{selection:e}=A,{$from:t}=e;if("paragraph"===t.parent.type.name){const{nodeBefore:A}=t;return A&&"hardBreak"===A.type.name?(this.editor.commands.deleteRange({from:t.pos-1,to:t.pos}),!1):this.editor.commands.setHardBreak()}}}}});class lR extends O{constructor(){super(...arguments),this.contentComponent=null}}const hR=class{constructor(A){e(this,A),this.editorDidLoad=B(this,"editorDidLoad",7),this.toggleMonaco=async()=>{if(this.isMonaco){const A=await this.monacoEditor.getValue();this.editor.chain().setContent(A).run()}this.isMonaco=!this.isMonaco},this.name="",this.readonly=!1,this.uploadUrl="",this.placeholder="",this.initialContent="",this.resizable=!1,this.exposeEditor=!1,this.size="sm",this.hideUI=!1,this.hideMenubar=void 0,this.menubarMode="full",this.extraMenubarItems="",this.bubbleMenu=!1,this.preferHardBreak=!1,this.locale=void 0,this.styles=void 0,this.collaborative=!1,this.hocuspocus="",this.docName="",this.username="",this.userColor="#ffcc00",this.updateInputValue=void 0,this.fullscreenable=!1,this.toggleFullscreen=void 0,this.isFullscreen=!1,this.value=void 0,this.editor=null,this.forceUpdateCounter=0,this.isMonaco=!1}forceUpdate(){this.forceUpdateCounter>1e3?this.forceUpdateCounter=0:this.forceUpdateCounter++}onLocaleChanage(){void 0!==this.locale&&(A.setLocale(this.locale),this.forceUpdate())}connectedCallback(){void 0!==this.locale&&A.setLocale(this.locale),setTimeout((()=>{const{lowlight:A}=li;this.ydoc=this.collaborative?new Ho:null;const e=this.collaborative?[nQ.configure({document:this.ydoc}),EQ.configure({provider:new Ah({url:this.hocuspocus,name:this.docName,document:this.ydoc}),user:{name:this.username,color:this.userColor}})]:[];this.editor=new lR({extensions:[us.configure(Object.assign(Object.assign({history:{depth:50,newGroupDelay:500},codeBlock:!1},this.collaborative?{history:!1}:{}),this.preferHardBreak?{}:{hardBreak:!1})),tA,BA,iA,$,EA,sA.extend({priority:1e3}),rE,OM,oE,XM,KM,ue.configure({lowlight:A}),cR.configure({resizable:!0}),sR,oR,rR,Mi.configure({inline:!0}),tE,nE,iE,BE.configure({types:["heading","paragraph"]}),th,W,LM.configure({uploadUrl:this.uploadUrl}),EE.configure({placeholder:this.placeholder}),sE,aR,...e,...this.preferHardBreak?[QR]:[]],editorProps:{attributes:{spellcheck:"false"},handleDOMEvents:{mouseup:A=>{requestAnimationFrame((()=>{const e=A.pluginViews.find((A=>{var e;return"BubbleMenuView"===(null===(e=A.constructor)||void 0===e?void 0:e.name)}));null==e||e.update(A)}))}},editable:()=>!this.readonly},content:this.value||this.initialContent}),this.editorDidLoad.emit(this.editor),this.editor.on("transaction",(()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{this.forceUpdate()}))}))})),this.editor.on("blur",(()=>{requestAnimationFrame((()=>{this.updateInputValue()}))})),this.updateInputValue(),this.exposeEditor&&(window.$zenEditors||(window.$zenEditors={}),window.$zenEditors[this.name||"ze"]=this.editor)}),0)}componentDidLoad(){Boolean(this.styles)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles])}disconnectedCallback(){this.editor.destroy()}render(){return Boolean(this.editor)?t("div",{class:`editor${this.isFullscreen?" is-fullscreen":""}${this.resizable?" resizable":""}${"full"===this.size?" full":""}${this.hideUI?" hide-ui":""}`},!this.hideUI&&t(n,null,t("zen-editor-bubble-menu",{editor:this.editor,menuProps:{tippyOptions:{duration:100}},disabled:!this.bubbleMenu}),this.hideMenubar?null:t("zen-editor-menubar",{editor:this.editor,menubarMode:gR[this.menubarMode],toggleMonaco:this.toggleMonaco,toggleFullscreen:this.fullscreenable&&this.toggleFullscreen,states:{isMonaco:this.isMonaco,isCollaborative:this.collaborative,isFullscreen:this.isFullscreen},forceUpdateCounter:this.forceUpdateCounter,styles:this.styles,extraMenubarItems:this.extraMenubarItems}),this.isMonaco&&t("monaco-editor",{class:`monaco-editor ${this.size}`,ref:A=>this.monacoEditor=A,options:{language:"html",ariaContainerElement:null,value:this.editor.getHTML()},tiptapEditor:this.editor,updateInputValue:this.updateInputValue})),t("zen-editor-content",{class:`editor__content ${this.size}`,editor:this.editor,styles:this.styles,style:{display:this.isMonaco?"none":""}})):null}get element(){return i(this)}static get watchers(){return{locale:["onLocaleChanage"]}}};hR.style='button,input,select{font-size:inherit;font-family:inherit;color:#333333;margin:0.1em;border:1px solid #333333;border-radius:0.25em;padding:0.1em 0.4em;background:white;accent-color:black}button[disabled],input[disabled],select[disabled]{opacity:0.3}.editor{font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;background-color:#fff;border:1px solid #a6a39e;border-radius:0.25em;color:#0d0d0d;display:flex;flex-direction:column;min-height:10em;max-height:96vh}.editor.resizable{resize:vertical;overflow:hidden}.editor.is-fullscreen{height:100% !important;max-height:unset;resize:none}.editor.full{min-height:100%}.editor.hide-ui{border:none}.hide-ui .editor__content{cursor:unset}.editor__content{flex:1 1 auto;overflow-x:hidden;overflow-y:auto;padding:0.25em 0.75em 1.25em 1em;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;cursor:text}.editor__content.sm{min-height:3.5em}.editor__content.lg{min-height:14em}.editor__content.full{min-height:100%}.editor__content.narrow{padding:0 0 0 0.5em}.editor__content .collaboration-cursor__caret{border-left:1px solid #0d0d0d;border-right:1px solid #0d0d0d;margin-left:-1px;margin-right:-1px;pointer-events:none;position:relative;word-break:normal}.editor__content .collaboration-cursor__label{border-radius:3px 3px 3px 0;color:#0d0d0d;font-size:12px;font-style:normal;font-weight:600;left:-1px;line-height:normal;padding:0.1em 0.3em;position:absolute;top:-1.4em;user-select:none;white-space:nowrap}.editor__footer{align-items:center;border-top:1px solid #a6a39e;color:#6e6e6e;display:flex;flex:0 0 auto;font-size:12px;flex-wrap:wrap;font-weight:600;justify-content:space-between;padding:0.25em 0.75em;white-space:nowrap}.editor ::-webkit-scrollbar{width:14px;height:14px}.editor ::-webkit-scrollbar-track{border:4px solid transparent;background-clip:padding-box;border-radius:8px;background-color:transparent}.editor ::-webkit-scrollbar-thumb{border:4px solid rgba(0, 0, 0, 0);background-clip:padding-box;border-radius:8px;background-color:rgba(0, 0, 0, 0)}.editor :hover::-webkit-scrollbar-thumb{background-color:rgba(0, 0, 0, 0.1)}.editor ::-webkit-scrollbar-thumb:hover{background-color:rgba(0, 0, 0, 0.15)}.editor ::-webkit-scrollbar-button{display:none;width:0;height:0}.editor ::-webkit-scrollbar-corner{background-color:transparent}.editor .monaco-editor{height:100%;min-height:10em}.editor .monaco-editor.sm{min-height:3.5em}.editor .monaco-editor.lg{min-height:14em}.editor .monaco-editor.full{min-height:100%}';const MR=class{constructor(A){e(this,A),this.itemProps=void 0,this.menubarMode=void 0,this.styles=void 0}updateMenu(){if(this.menuTippy){const{menuItems:A}=this.itemProps;this.menuContent=document.createElement("div"),this.menuContent.style.padding="0.1em",this.menuContent.style.borderRadius="0.3em",this.menuContent.style.backgroundColor="#fff",this.menuContent.style.border="1px solid #a6a39e",A.forEach((A=>{const e=document.createElement("zen-editor-menu-item"),{menuModeLevel:t}=A;t&&t>this.menubarMode||(e.itemProps=Object.assign(Object.assign({},A),{action:A.action?()=>{A.action(),this.menuTippy.hide()}:null}),this.menuContent.append(e))})),this.menuTippy.setContent(this.menuContent)}}componentDidLoad(){var A;const{menuItems:e}=this.itemProps;e&&(this.menuTippy=a(null!==(A=this.menuTippyTarget)&&void 0!==A?A:this.el,{placement:"bottom-start",trigger:"click",interactive:!0,animation:!1,appendTo:()=>{var A,e,t;return null!==(t=null===(e=null===(A=document.fullscreenElement)||void 0===A?void 0:A.shadowRoot)||void 0===e?void 0:e.querySelector(".editor"))&&void 0!==t?t:document.body}}),this.updateMenu())}componentDidUpdate(){this.menuTippy&&this.updateMenu()}render(){const{icon:A,label:e,title:i,action:B,menuItems:E,isDisabled:s=null,isActive:r=null,flip:o="none"}=this.itemProps;return t(n,{key:"5de5d304ccbbc40c3f931caee1f4b8660f791f9a"},t("button",{key:"f83f7ab2f767c18e18e522dcd55cb73590a87c49",class:`menu-item${s&&s()?" is-disabled":""}${r&&r()?" is-active":""}${"none"!==o?` flip-${o}`:""}${E&&B?" has-submenu":""}`,onClick:s&&s()?null:B,title:i},A&&(A.startsWith("ci")?t("i",{class:`coolicons ${A}`}):t("i",{class:A})),e&&t("span",{key:"25894f3ec2b799247a9ca7b0f2d1d91af3670db9",class:"label"},e),E&&!B?t("i",{class:"coolicons ci-caret_down_sm"}):null),E&&B&&t("button",{key:"796c4a7ceb09f50f8f4ed2cb455b26310099fe8c",class:"menu-item",ref:A=>this.menuTippyTarget=A},t("i",{key:"50b462eb37f42f070dd6c622e8725303290938d0",class:"coolicons ci-caret_down_sm"})))}get el(){return i(this)}};MR.style='@font-face{font-family:\'coolicons\';src:url(data:application/font-woff;base64,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BAAAgAQAAIAEAACABAAAgAQAAKsEAACrBAAA1QQAAKsEAACrBAAAqwQAAKsEAACrBAAAqwQAAKsEAACABAAAqwQAAKsEAACrBAAAVQQAAIAEAACABAAAVQQAAIAEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAACrBAAAZwQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAQAEAABVBAAAVQQAAG0EAAEzBAAARgQAAIAEAACABAAAKwQAAIAEAACABAAAgAQAAIAEAABVBAAAVQQAAFUEAAA0BAABKwQAACsEAACABAAAKwQAAFUEAABVBAAAqwQAAdUEAAHVBAAB1QQAAdUEAACABAAAVQQAAFUEAAErBAAAlAQAAFUEAACABAAAgAQAAH8EAABVBAAAqwQAAKsEAACABAAAgAQAAIAEAABVBAAAVQQAAFUEAABVBAAANAQAAKsEAABVBAAAqQQAAKsEAACrBAAAqwQAAKsEAACrBAAAVQQAAKsEAAEABAABAAQAAIAEAACABAAAVQQAAKsEAAErBAAAqwQAAasEAADVBAAAVQQAAVUEAABVBAAAVQQAAG8EAACABAAAgAQAAIAEAACABAAAVQQAAFUEAABVBAAAVQQAAFUEAABIBAAAKwQAAJcEAAEABAAAVQQAAFUEAACABAAAVQQAADAEAABVBAAAqwQAAFUEAABVBAAAgAQAAIAEAACABAAAVQQAAIAEAABVBAAA1QQAAFUEAACABAAAcAQAAFUEAABVBAAAVQQAAGQEAAArBAAAVQQAAIAEAACABAAAgAQAAIAEAABVBAAAZwQAAFUEAABVBAAARgQAAKsEAABVBAABgAQAAYAEAAEABAAA1QQAAFUEAABVBAAAVQQAAIAEAACABAAAVQQAAFUEAABVBAAAVQQAAEcEAABVBAAAVQQAAKsEAACABAAAVQQAACsEAABVBAAAKwQAACsEAABVBAAAVQQAAIAEAABVBAAAgAQAAJEEAABVBAAAgAQAAIAEAACABAAAgAQAANUEAABVBAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAABZBAAAWQQAAFkEAADVBAAAqwQAASsEAAErBAAAqwQAAIAEAADV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)\n format(\'woff\');font-weight:normal;font-style:normal;font-display:block}i.coolicons{font-family:\'coolicons\' !important;speak:never;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ci-add_column:before{content:"\\e900"}.ci-add_minus_square:before{content:"\\e901"}.ci-add_plus_circle:before{content:"\\e902"}.ci-add_plus_square:before{content:"\\e903"}.ci-add_plus:before{content:"\\e904"}.ci-add_row:before{content:"\\e905"}.ci-add_to_queue:before{content:"\\e906"}.ci-airplay:before{content:"\\e907"}.ci-alarm:before{content:"\\e908"}.ci-archive:before{content:"\\e909"}.ci-arrow_circle_down_left:before{content:"\\e90a"}.ci-arrow_circle_down_right:before{content:"\\e90b"}.ci-arrow_circle_down:before{content:"\\e90c"}.ci-arrow_circle_left:before{content:"\\e90d"}.ci-arrow_circle_right:before{content:"\\e90e"}.ci-arrow_circle_up_left:before{content:"\\e90f"}.ci-arrow_circle_up_right:before{content:"\\e910"}.ci-arrow_circle_up:before{content:"\\e911"}.ci-arrow_down_left_lg:before{content:"\\e912"}.ci-arrow_down_left_md:before{content:"\\e913"}.ci-arrow_down_left_sm:before{content:"\\e914"}.ci-arrow_down_lg:before{content:"\\e915"}.ci-arrow_down_md:before{content:"\\e916"}.ci-arrow_down_right_lg:before{content:"\\e917"}.ci-arrow_down_right_md:before{content:"\\e918"}.ci-arrow_down_right_sm:before{content:"\\e919"}.ci-arrow_down_sm:before{content:"\\e91a"}.ci-arrow_down_up:before{content:"\\e91b"}.ci-arrow_left_lg:before{content:"\\e91c"}.ci-arrow_left_md:before{content:"\\e91d"}.ci-arrow_left_right:before{content:"\\e91e"}.ci-arrow_left_sm:before{content:"\\e91f"}.ci-arrow_reload_02:before{content:"\\e920"}.ci-arrow_right_lg:before{content:"\\e921"}.ci-arrow_right_md:before{content:"\\e922"}.ci-arrow_right_sm:before{content:"\\e923"}.ci-arrow_sub_down_left:before{content:"\\e924"}.ci-arrow_sub_down_right:before{content:"\\e925"}.ci-arrow_sub_left_down:before{content:"\\e926"}.ci-arrow_sub_left_up:before{content:"\\e927"}.ci-arrow_sub_right_down:before{content:"\\e928"}.ci-arrow_sub_right_up:before{content:"\\e929"}.ci-arrow_sub_up_left:before{content:"\\e92a"}.ci-arrow_sub_up_right:before{content:"\\e92b"}.ci-arrow_undo_down_left:before{content:"\\e92c"}.ci-arrow_undo_down_right:before{content:"\\e92d"}.ci-arrow_undo_up_left:before{content:"\\e92e"}.ci-arrow_undo_up_right:before{content:"\\e92f"}.ci-arrow_up_left_lg:before{content:"\\e930"}.ci-arrow_up_left_md:before{content:"\\e931"}.ci-arrow_up_left_sm:before{content:"\\e932"}.ci-arrow_up_lg:before{content:"\\e933"}.ci-arrow_up_md:before{content:"\\e934"}.ci-arrow_up_right_lg:before{content:"\\e935"}.ci-arrow_up_right_md:before{content:"\\e936"}.ci-arrow_up_right_sm:before{content:"\\e937"}.ci-arrow_up_sm:before{content:"\\e938"}.ci-arrows_reload_01:before{content:"\\e939"}.ci-bar_bottom:before{content:"\\e93a"}.ci-bar_left:before{content:"\\e93b"}.ci-bar_right:before{content:"\\e93c"}.ci-bar_top:before{content:"\\e93d"}.ci-bell_add:before{content:"\\e93e"}.ci-bell_close:before{content:"\\e93f"}.ci-bell_notification:before{content:"\\e940"}.ci-bell_off:before{content:"\\e941"}.ci-bell_remove:before{content:"\\e942"}.ci-bell_ring:before{content:"\\e943"}.ci-bell:before{content:"\\e944"}.ci-bold:before{content:"\\e945"}.ci-book_open:before{content:"\\e946"}.ci-book:before{content:"\\e947"}.ci-bookmark:before{content:"\\e948"}.ci-building_01:before{content:"\\e949"}.ci-building_02:before{content:"\\e94a"}.ci-building_03:before{content:"\\e94b"}.ci-building_04:before{content:"\\e94c"}.ci-bulb:before{content:"\\e94d"}.ci-calendar_add:before{content:"\\e94e"}.ci-calendar_check:before{content:"\\e94f"}.ci-calendar_close:before{content:"\\e950"}.ci-calendar_days:before{content:"\\e951"}.ci-calendar_event:before{content:"\\e952"}.ci-calendar_remove:before{content:"\\e953"}.ci-calendar_week:before{content:"\\e954"}.ci-calendar:before{content:"\\e955"}.ci-camera:before{content:"\\e956"}.ci-car_auto:before{content:"\\e957"}.ci-caret_circle_down:before{content:"\\e958"}.ci-caret_circle_left:before{content:"\\e959"}.ci-caret_circle_right:before{content:"\\e95a"}.ci-caret_circle_up:before{content:"\\e95b"}.ci-caret_down_md:before{content:"\\e95c"}.ci-caret_down_sm:before{content:"\\e95d"}.ci-caret_left_sm:before{content:"\\e95e"}.ci-caret_right_sm:before{content:"\\e95f"}.ci-caret_up_md:before{content:"\\e960"}.ci-caret_up_sm:before{content:"\\e961"}.ci-chart_bar_horizontal_01:before{content:"\\e962"}.ci-chart_bar_vertical_01:before{content:"\\e963"}.ci-chart_line:before{content:"\\e964"}.ci-chart_pie:before{content:"\\e965"}.ci-chat_add:before{content:"\\e966"}.ci-chat_check:before{content:"\\e967"}.ci-chat_circle_add:before{content:"\\e968"}.ci-chat_circle_check:before{content:"\\e969"}.ci-chat_circle_close:before{content:"\\e96a"}.ci-chat_circle_dots:before{content:"\\e96b"}.ci-chat_circle_remove:before{content:"\\e96c"}.ci-chat_circle:before{content:"\\e96d"}.ci-chat_close:before{content:"\\e96e"}.ci-chat_conversation_circle:before{content:"\\e96f"}.ci-chat_conversation:before{content:"\\e970"}.ci-chat_dots:before{content:"\\e971"}.ci-chat_remove:before{content:"\\e972"}.ci-chat:before{content:"\\e973"}.ci-check_all_big:before{content:"\\e974"}.ci-check_all:before{content:"\\e975"}.ci-check_big:before{content:"\\e976"}.ci-check:before{content:"\\e977"}.ci-checkbox_check:before{content:"\\e978"}.ci-checkbox_fill:before{content:"\\e979"}.ci-checkbox_unchecked:before{content:"\\e97a"}.ci-chevron_down_duo:before{content:"\\e97b"}.ci-chevron_down:before{content:"\\e97c"}.ci-chevron_left_duo:before{content:"\\e97d"}.ci-chevron_left_md:before{content:"\\e97e"}.ci-chevron_left:before{content:"\\e97f"}.ci-chevron_right_duo:before{content:"\\e980"}.ci-chevron_right_md:before{content:"\\e981"}.ci-chevron_right:before{content:"\\e982"}.ci-chevron_up_duo:before{content:"\\e983"}.ci-chevron_up:before{content:"\\e984"}.ci-chromecast:before{content:"\\e985"}.ci-circle_check:before{content:"\\e986"}.ci-circle_help:before{content:"\\e987"}.ci-circle_warning:before{content:"\\e988"}.ci-circle:before{content:"\\e989"}.ci-clock:before{content:"\\e98a"}.ci-close_circle:before{content:"\\e98b"}.ci-close_lg:before{content:"\\e98c"}.ci-close_md:before{content:"\\e98d"}.ci-close_sm:before{content:"\\e98e"}.ci-close_square:before{content:"\\e98f"}.ci-cloud_add:before{content:"\\e990"}.ci-cloud_check:before{content:"\\e991"}.ci-cloud_close:before{content:"\\e992"}.ci-cloud_download:before{content:"\\e993"}.ci-cloud_off:before{content:"\\e994"}.ci-cloud_remove:before{content:"\\e995"}.ci-cloud_upload:before{content:"\\e996"}.ci-cloud:before{content:"\\e997"}.ci-code:before{content:"\\e998"}.ci-coffe_to_go:before{content:"\\e999"}.ci-coffee:before{content:"\\e99a"}.ci-columns:before{content:"\\e99b"}.ci-combine_cells:before{content:"\\e99c"}.ci-command:before{content:"\\e99d"}.ci-compass:before{content:"\\e99e"}.ci-cookie:before{content:"\\e99f"}.ci-copy:before{content:"\\e9a0"}.ci-credit_card_01:before{content:"\\e9a1"}.ci-credit_card_02:before{content:"\\e9a2"}.ci-crop:before{content:"\\e9a3"}.ci-cupcake:before{content:"\\e9a4"}.ci-cylinder:before{content:"\\e9a5"}.ci-data:before{content:"\\e9a6"}.ci-delete_column:before{content:"\\e9a7"}.ci-delete_row:before{content:"\\e9a8"}.ci-desktop_tower:before{content:"\\e9a9"}.ci-desktop:before{content:"\\e9aa"}.ci-devices:before{content:"\\e9ab"}.ci-double_quotes_l:before{content:"\\e9ac"}.ci-double_quotes_r:before{content:"\\e9ad"}.ci-download_package:before{content:"\\e9ae"}.ci-download:before{content:"\\e9af"}.ci-drag_horizontal:before{content:"\\e9b0"}.ci-drag_vertical:before{content:"\\e9b1"}.ci-dummy_circle_small:before{content:"\\e9b2"}.ci-dummy_circle:before{content:"\\e9b3"}.ci-dummy_square_small:before{content:"\\e9b4"}.ci-dummy_square:before{content:"\\e9b5"}.ci-edit_pencil_01:before{content:"\\e9b6"}.ci-edit_pencil_02:before{content:"\\e9b7"}.ci-edit_pencil_line_01:before{content:"\\e9b8"}.ci-edit_pencil_line_02:before{content:"\\e9b9"}.ci-exit:before{content:"\\e9ba"}.ci-expand:before{content:"\\e9bb"}.ci-external_link:before{content:"\\e9bc"}.ci-figma:before{content:"\\e9bd"}.ci-file_add:before{content:"\\e9be"}.ci-file_blank:before{content:"\\e9bf"}.ci-file_check:before{content:"\\e9c0"}.ci-file_close:before{content:"\\e9c1"}.ci-file_code:before{content:"\\e9c2"}.ci-file_document:before{content:"\\e9c3"}.ci-file_download:before{content:"\\e9c4"}.ci-file_edit:before{content:"\\e9c5"}.ci-file_remove:before{content:"\\e9c6"}.ci-file_search:before{content:"\\e9c7"}.ci-file_upload:before{content:"\\e9c8"}.ci-files:before{content:"\\e9c9"}.ci-filter_off:before{content:"\\e9ca"}.ci-filter:before{content:"\\e9cb"}.ci-first_aid:before{content:"\\e9cc"}.ci-flag:before{content:"\\e9cd"}.ci-folder_add:before{content:"\\e9ce"}.ci-folder_check:before{content:"\\e9cf"}.ci-folder_close:before{content:"\\e9d0"}.ci-folder_code:before{content:"\\e9d1"}.ci-folder_document:before{content:"\\e9d2"}.ci-folder_download:before{content:"\\e9d3"}.ci-folder_edit:before{content:"\\e9d4"}.ci-folder_open:before{content:"\\e9d5"}.ci-folder_remove:before{content:"\\e9d6"}.ci-folder_search:before{content:"\\e9d7"}.ci-folder_upload:before{content:"\\e9d8"}.ci-folder:before{content:"\\e9d9"}.ci-folders:before{content:"\\e9da"}.ci-font:before{content:"\\e9db"}.ci-forward:before{content:"\\e9dc"}.ci-gift:before{content:"\\e9dd"}.ci-globe:before{content:"\\e9de"}.ci-hamburger_lg:before{content:"\\e9df"}.ci-hamburger_md:before{content:"\\e9e0"}.ci-handbag:before{content:"\\e9e1"}.ci-heading_h1:before{content:"\\e9e2"}.ci-heading_h2:before{content:"\\e9e3"}.ci-heading_h3:before{content:"\\e9e4"}.ci-heading_h4:before{content:"\\e9e5"}.ci-heading_h5:before{content:"\\e9e6"}.ci-heading_h6:before{content:"\\e9e7"}.ci-heading:before{content:"\\e9e8"}.ci-headphones:before{content:"\\e9e9"}.ci-heart_01:before{content:"\\e9ea"}.ci-heart_02:before{content:"\\e9eb"}.ci-help:before{content:"\\e9ec"}.ci-hide:before{content:"\\e9ed"}.ci-house_01:before{content:"\\e9ee"}.ci-house_02:before{content:"\\e9ef"}.ci-house_03:before{content:"\\e9f0"}.ci-house_add:before{content:"\\e9f1"}.ci-house_check:before{content:"\\e9f2"}.ci-house_close:before{content:"\\e9f3"}.ci-house_remove:before{content:"\\e9f4"}.ci-image_01:before{content:"\\e9f5"}.ci-image_02:before{content:"\\e9f6"}.ci-info:before{content:"\\e9f7"}.ci-instance:before{content:"\\e9f8"}.ci-italic:before{content:"\\e9f9"}.ci-keyboard:before{content:"\\e9fa"}.ci-label:before{content:"\\e9fb"}.ci-laptop:before{content:"\\e9fc"}.ci-layer:before{content:"\\e9fd"}.ci-layers:before{content:"\\e9fe"}.ci-leaf:before{content:"\\e9ff"}.ci-line_l:before{content:"\\ea00"}.ci-line_m:before{content:"\\ea01"}.ci-line_s:before{content:"\\ea02"}.ci-line_xl:before{content:"\\ea03"}.ci-link_break:before{content:"\\ea04"}.ci-link_horizontal_off:before{content:"\\ea05"}.ci-link_horizontal:before{content:"\\ea06"}.ci-link_vertical:before{content:"\\ea07"}.ci-link:before{content:"\\ea08"}.ci-list_add:before{content:"\\ea09"}.ci-list_check:before{content:"\\ea0a"}.ci-list_checklist:before{content:"\\ea0b"}.ci-list_ordered:before{content:"\\ea0c"}.ci-list_remove:before{content:"\\ea0d"}.ci-list_unordered:before{content:"\\ea0e"}.ci-loading:before{content:"\\ea0f"}.ci-lock_open:before{content:"\\ea10"}.ci-lock:before{content:"\\ea11"}.ci-log_out:before{content:"\\ea12"}.ci-magnifying_glass_minus:before{content:"\\ea13"}.ci-magnifying_glass_plus:before{content:"\\ea14"}.ci-mail_open:before{content:"\\ea15"}.ci-mail:before{content:"\\ea16"}.ci-main_component:before{content:"\\ea17"}.ci-map_pin:before{content:"\\ea18"}.ci-map:before{content:"\\ea19"}.ci-mention:before{content:"\\ea1a"}.ci-menu_alt_01:before{content:"\\ea1b"}.ci-menu_alt_02:before{content:"\\ea1c"}.ci-menu_alt_03:before{content:"\\ea1d"}.ci-menu_alt_04:before{content:"\\ea1e"}.ci-menu_alt_05:before{content:"\\ea1f"}.ci-menu_duo_lg:before{content:"\\ea20"}.ci-menu_duo_md:before{content:"\\ea21"}.ci-mobile_button:before{content:"\\ea22"}.ci-mobile:before{content:"\\ea23"}.ci-monitor_play:before{content:"\\ea24"}.ci-monitor:before{content:"\\ea25"}.ci-moon:before{content:"\\ea26"}.ci-more_grid_big:before{content:"\\ea27"}.ci-more_grid_small:before{content:"\\ea28"}.ci-more_horizontal:before{content:"\\ea29"}.ci-more_vertical:before{content:"\\ea2a"}.ci-mouse:before{content:"\\ea2b"}.ci-move_horizontal:before{content:"\\ea2c"}.ci-move_vertical:before{content:"\\ea2d"}.ci-move:before{content:"\\ea2e"}.ci-moving_desk:before{content:"\\ea2f"}.ci-navigation:before{content:"\\ea30"}.ci-note_edit:before{content:"\\ea31"}.ci-note_search:before{content:"\\ea32"}.ci-note:before{content:"\\ea33"}.ci-notebook:before{content:"\\ea34"}.ci-octagon_check:before{content:"\\ea35"}.ci-octagon_help:before{content:"\\ea36"}.ci-octagon_warning:before{content:"\\ea37"}.ci-octagon:before{content:"\\ea38"}.ci-option:before{content:"\\ea39"}.ci-paper_plane:before{content:"\\ea3a"}.ci-paperclip_attechment_horizontal:before{content:"\\ea3b"}.ci-paperclip_attechment_tilt:before{content:"\\ea3c"}.ci-paragraph:before{content:"\\ea3d"}.ci-path:before{content:"\\ea3e"}.ci-pause_circle:before{content:"\\ea3f"}.ci-pause:before{content:"\\ea40"}.ci-phone:before{content:"\\ea41"}.ci-planet:before{content:"\\ea42"}.ci-play_circle:before{content:"\\ea43"}.ci-play:before{content:"\\ea44"}.ci-printer:before{content:"\\ea45"}.ci-puzzle:before{content:"\\ea46"}.ci-qr_code:before{content:"\\ea47"}.ci-radio_fill:before{content:"\\ea48"}.ci-radio_unchecked:before{content:"\\ea49"}.ci-rainbow:before{content:"\\ea4a"}.ci-redo:before{content:"\\ea4b"}.ci-remove_minus_circle:before{content:"\\ea4c"}.ci-remove_minus:before{content:"\\ea4d"}.ci-rewind:before{content:"\\ea4e"}.ci-rows:before{content:"\\ea4f"}.ci-ruler:before{content:"\\ea50"}.ci-save:before{content:"\\ea51"}.ci-search_magnifying_glass:before{content:"\\ea52"}.ci-select_multiple:before{content:"\\ea53"}.ci-settings_future:before{content:"\\ea54"}.ci-settings:before{content:"\\ea55"}.ci-share_android:before{content:"\\ea56"}.ci-share_ios_export:before{content:"\\ea57"}.ci-shield_check:before{content:"\\ea58"}.ci-shield_warning:before{content:"\\ea59"}.ci-shield:before{content:"\\ea5a"}.ci-shopping_bag_01:before{content:"\\ea5b"}.ci-shopping_bag_02:before{content:"\\ea5c"}.ci-shopping_cart_01:before{content:"\\ea5d"}.ci-shopping_cart_02:before{content:"\\ea5e"}.ci-show:before{content:"\\ea5f"}.ci-shrink:before{content:"\\ea60"}.ci-shuffle:before{content:"\\ea61"}.ci-single_quotes_l:before{content:"\\ea62"}.ci-single_quotes_r:before{content:"\\ea63"}.ci-skip_back:before{content:"\\ea64"}.ci-skip_forward:before{content:"\\ea65"}.ci-slider_01:before{content:"\\ea66"}.ci-slider_02:before{content:"\\ea67"}.ci-slider_03:before{content:"\\ea68"}.ci-sort_ascending:before{content:"\\ea69"}.ci-sort_descending:before{content:"\\ea6a"}.ci-square_check:before{content:"\\ea6b"}.ci-square_help:before{content:"\\ea6c"}.ci-square_warning:before{content:"\\ea6d"}.ci-square:before{content:"\\ea6e"}.ci-star:before{content:"\\ea6f"}.ci-stop_circle:before{content:"\\ea70"}.ci-stop_sign:before{content:"\\ea71"}.ci-stop:before{content:"\\ea72"}.ci-strikethrough:before{content:"\\ea73"}.ci-suitcase:before{content:"\\ea74"}.ci-sun:before{content:"\\ea75"}.ci-swatches_palette:before{content:"\\ea76"}.ci-swicht_left:before{content:"\\ea77"}.ci-swicht_right:before{content:"\\ea78"}.ci-table_add:before{content:"\\ea79"}.ci-table_remove:before{content:"\\ea7a"}.ci-table:before{content:"\\ea7b"}.ci-tablet_button:before{content:"\\ea7c"}.ci-tablet:before{content:"\\ea7d"}.ci-tag:before{content:"\\ea7e"}.ci-terminal:before{content:"\\ea7f"}.ci-text_align_center:before{content:"\\ea80"}.ci-text_align_justify:before{content:"\\ea81"}.ci-text_align_left:before{content:"\\ea82"}.ci-text_align_right:before{content:"\\ea83"}.ci-text:before{content:"\\ea84"}.ci-ticket_voucher:before{content:"\\ea85"}.ci-timer_add:before{content:"\\ea86"}.ci-timer_close:before{content:"\\ea87"}.ci-timer_remove:before{content:"\\ea88"}.ci-timer:before{content:"\\ea89"}.ci-trash_empty:before{content:"\\ea8a"}.ci-trash_full:before{content:"\\ea8b"}.ci-trending_down:before{content:"\\ea8c"}.ci-trending_up:before{content:"\\ea8d"}.ci-triangle_check:before{content:"\\ea8e"}.ci-triangle_warning:before{content:"\\ea8f"}.ci-triangle:before{content:"\\ea90"}.ci-underline:before{content:"\\ea91"}.ci-undo:before{content:"\\ea92"}.ci-unfold_less:before{content:"\\ea93"}.ci-unfold_more:before{content:"\\ea94"}.ci-user_01:before{content:"\\ea95"}.ci-user_02:before{content:"\\ea96"}.ci-user_03:before{content:"\\ea97"}.ci-user_add:before{content:"\\ea98"}.ci-user_card_id:before{content:"\\ea99"}.ci-user_check:before{content:"\\ea9a"}.ci-user_circle:before{content:"\\ea9b"}.ci-user_close:before{content:"\\ea9c"}.ci-user_remove:before{content:"\\ea9d"}.ci-user_square:before{content:"\\ea9e"}.ci-user_voice:before{content:"\\ea9f"}.ci-users_group:before{content:"\\eaa0"}.ci-users:before{content:"\\eaa1"}.ci-volume_max:before{content:"\\eaa2"}.ci-volume_min:before{content:"\\eaa3"}.ci-volume_minus:before{content:"\\eaa4"}.ci-volume_off_02:before{content:"\\eaa5"}.ci-volume_off:before{content:"\\eaa6"}.ci-volume_plus:before{content:"\\eaa7"}.ci-warning:before{content:"\\eaa8"}.ci-water_drop:before{content:"\\eaa9"}.ci-wavy_check:before{content:"\\eaaa"}.ci-wavy_help:before{content:"\\eaab"}.ci-wavy_warning:before{content:"\\eaac"}.ci-wavy:before{content:"\\eaad"}.ci-wifi_high:before{content:"\\eaae"}.ci-wifi_low:before{content:"\\eaaf"}.ci-wifi_medium:before{content:"\\eab0"}.ci-wifi_none:before{content:"\\eab1"}.ci-wifi_off:before{content:"\\eab2"}.ci-wifi_problem:before{content:"\\eab3"}.ci-window_check:before{content:"\\eab4"}.ci-window_close:before{content:"\\eab5"}.ci-window_code_block:before{content:"\\eab6"}.ci-window_sidebar:before{content:"\\eab7"}.ci-window_terminal:before{content:"\\eab8"}.ci-window:before{content:"\\eab9"}zen-editor-menu-item .menu-item{background-color:transparent;border:none;border-radius:0.4em;color:#525252;height:1.75em;margin-right:0.25em;padding:0.25em;min-width:1.75em;cursor:pointer}zen-editor-menu-item .menu-item i{font-size:1.25em}zen-editor-menu-item .menu-item.flip-h{transform:scaleX(-1)}zen-editor-menu-item .menu-item.flip-v{transform:scaleY(-1)}zen-editor-menu-item .menu-item.is-disabled{opacity:0.5;cursor:unset}zen-editor-menu-item .menu-item.is-disabled:hover{background-color:transparent;color:#525252}zen-editor-menu-item .menu-item:hover,zen-editor-menu-item .menu-item.is-active{background-color:#525252;color:#fff}zen-editor-menu-item .menu-item.has-submenu+.menu-item>i.ci-caret_down_sm{margin:0 -0.25em}zen-editor-menu-item .menu-item.has-submenu{margin-right:0}zen-editor-menu-item .menu-item.has-submenu:hover{border-radius:0.4em 0 0 0.4em}zen-editor-menu-item .menu-item.has-submenu+.menu-item{border-radius:0 0.4em 0.4em 0;margin-left:0;padding:0.25em 0;min-width:0.75em}zen-editor-menu-item .menu-item i.color-crimson{color:crimson}zen-editor-menu-item .menu-item i.color-deeppink{color:deeppink}zen-editor-menu-item .menu-item i.color-darkorange{color:darkorange}zen-editor-menu-item .menu-item i.color-darkviolet{color:darkviolet}zen-editor-menu-item .menu-item i.color-forestgreen{color:forestgreen}zen-editor-menu-item .menu-item i.color-royalblue{color:royalblue}zen-editor-menu-item .menu-item i.color-saddlebrown{color:saddlebrown}zen-editor-menu-item .menu-item i.color-dimgray{color:dimgray}zen-editor-menu-item .menu-item:has(.color):hover,zen-editor-menu-item .menu-item:has(.color).is-active{background-color:transparent;box-shadow:inset 0 0 0 1px #525252}zen-editor-menu-item:hover .menu-item.has-submenu{border-radius:0.4em 0 0 0.4em}zen-editor-menu-item:last-of-type .menu-item{margin-right:0}';const wR=["Crimson","DeepPink","DarkOrange","DarkViolet","ForestGreen","RoyalBlue","SaddleBrown","DimGray"];const RR=[1,2,3,4],IR=class{constructor(A){e(this,A),this.editor=void 0,this.menubarMode=void 0,this.extraMenubarItems="",this.forceUpdateCounter=void 0,this.states=void 0,this.toggleMonaco=void 0,this.toggleFullscreen=void 0,this.styles=void 0}componentDidLoad(){Boolean(this.styles)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles])}getMonacoToggler(){return[[{icon:"ci-edit_pencil_line_01",title:A.getString("menu.source"),action:()=>{var A;return null===(A=this.toggleMonaco)||void 0===A?void 0:A.call(this)},isActive:()=>{var A;return null===(A=this.states)||void 0===A?void 0:A.isMonaco},isHidden:()=>{var A;return null===(A=this.states)||void 0===A?void 0:A.isCollaborative},menuModeLevel:gR.full}]]}getMenuItems(e){return[[{icon:"ci-text_align_left",title:A.getString("menu.align.left"),action:()=>e.chain().focus().setTextAlign("left").run(),isActive:()=>e.isActive({textAlign:"left"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:gR.full},{icon:"ci-text_align_center",title:A.getString("menu.align.center"),action:()=>e.chain().focus().setTextAlign("center").run(),isActive:()=>e.isActive({textAlign:"center"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:gR.full},{icon:"ci-text_align_right",title:A.getString("menu.align.right"),action:()=>e.chain().focus().setTextAlign("right").run(),isActive:()=>e.isActive({textAlign:"right"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:gR.full},{icon:"ci-text_align_justify",title:A.getString("menu.align.justify"),action:()=>e.chain().focus().setTextAlign("justify").run(),isActive:()=>e.isActive({textAlign:"justify"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:gR.full}],[{icon:"ci-text",title:A.getString("menu.font.family"),menuItems:Object.keys(WM).map((t=>({label:A.getString(`menu.font.family.${t.toLowerCase().replace(/[^\w]/g,"")}`),action:()=>e.chain().focus().setFontFamily(WM[t]).run(),isActive:()=>e.isActive("textStyle",{fontFamily:WM[t]})}))),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:gR.full},{icon:"ci-font",title:A.getString("menu.font.size"),menuItems:vM.map((t=>({label:A.format("menu.font.size.format.px",t.toString()),action:()=>e.chain().focus().setFontSize(t).run(),isActive:()=>e.isActive({fontSize:t})}))),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-swatches_palette",title:A.getString("menu.font.color"),menuItems:[...wR.map((t=>({icon:`ci-text color color-${t.toLowerCase()}`,title:A.getString(`menu.font.color.${t.toLowerCase()}`),action:()=>e.chain().focus().setColor(t).run(),isActive:()=>e.isActive("textStyle",{color:t})}))),{icon:"ci-close_md",title:A.getString("menu.font.color.none"),action:()=>e.chain().focus().unsetColor().run()}],isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-bold",title:A.getString("menu.font.weight.bold"),action:()=>e.chain().focus().toggleBold().run(),isActive:()=>e.isActive("bold"),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-italic",title:A.getString("menu.font.italic"),action:()=>e.chain().focus().toggleItalic().run(),isActive:()=>e.isActive("italic"),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-underline",title:A.getString("menu.font.decoration.underline"),action:()=>{e.isActive("strike")?e.chain().focus().toggleStrike().run():e.chain().focus().toggleUnderline().run()},isActive:()=>e.isActive("underline")||e.isActive("strike"),menuItems:[{icon:"ci-underline",title:A.getString("menu.font.decoration.underline"),action:()=>e.chain().focus().toggleUnderline().run(),isActive:()=>e.isActive("underline")},{icon:"ci-strikethrough",title:A.getString("menu.font.decoration.strike"),action:()=>e.chain().focus().toggleStrike().run(),isActive:()=>e.isActive("strike")}],isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-bulb",title:A.getString("menu.font.highlight"),action:()=>e.chain().focus().toggleHighlight().run(),isActive:()=>e.isActive("highlight"),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:gR.full},{icon:"ci-link",title:A.getString("menu.link"),action:()=>{const A=e.isActive("link")?e.getAttributes("link").href:"",t=prompt("Enter URL",A);null!==t&&(t?e.chain().focus().setLink({href:t}).run():e.chain().focus().unsetLink().run())},isActive:()=>e.isActive("link"),menuItems:[{icon:"ci-bar_top",title:A.getString("menu.iframe"),action:()=>{const A=prompt("Enter URL");A&&e.chain().focus().setIframe({src:A}).run()},menuModeLevel:gR.full},{icon:"ci-link",title:A.getString("menu.link"),action:()=>{const A=e.isActive("link")?e.getAttributes("link").href:"",t=prompt("Enter URL",A);null!==t&&(t?e.chain().focus().setLink({href:t}).run():e.chain().focus().unsetLink().run())}},{icon:"ci-link_break",title:A.getString("menu.link.remove"),action:()=>e.chain().focus().unsetLink().run(),isDisabled:()=>!e.isActive("link")}],isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-menu_duo_md",title:A.getString("menu.line.spacing"),menuItems:_M.map((t=>({label:A.format("menu.line.spacing.format",t.toString()),action:()=>e.chain().focus().setLineHeight(t).run(),isActive:()=>e.isActive({lineHeight:t})}))),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:gR.full}],[{icon:"ci-heading",title:A.getString("menu.heading"),isActive:()=>e.isActive("heading"),menuItems:RR.map((t=>({icon:`ci-heading_h${t}`,title:A.getString(`menu.heading.${t}`),action:()=>e.chain().focus().toggleHeading({level:t}).unsetFontSize().run(),isActive:()=>e.isActive("heading",{level:t})})))},{icon:"ci-paragraph",title:A.getString("menu.paragraph"),action:()=>e.chain().focus().setParagraph().run(),isActive:()=>e.isActive("paragraph")},{icon:"ci-code",title:A.getString("menu.code"),action:()=>{e.isActive("code")?e.chain().focus().toggleCode().run():e.chain().focus().toggleCodeBlock().run()},isActive:()=>e.isActive("code")||e.isActive("codeBlock"),menuItems:[{icon:"ci-window_code_block",title:A.getString("menu.code.block"),action:()=>e.chain().focus().toggleCodeBlock().run(),isActive:()=>e.isActive("codeBlock")},{icon:"ci-code",title:A.getString("menu.code"),action:()=>e.chain().focus().toggleCode().run(),isActive:()=>e.isActive("code")}]}],[{icon:"ci-list_unordered",title:A.getString("menu.list.bullet"),action:()=>{e.isActive("bulletList")?e.chain().focus().toggleBulletList().run():e.isActive("orderedList")?e.chain().focus().toggleOrderedList().run():e.isActive("taskList")?e.chain().focus().toggleTaskList().run():e.chain().focus().toggleBulletList().run()},menuItems:[{icon:"ci-list_unordered",title:A.getString("menu.list.bullet"),action:()=>e.chain().focus().toggleBulletList().run(),isActive:()=>e.isActive("bulletList")},{icon:"ci-list_ordered",title:A.getString("menu.list.ordered"),action:()=>e.chain().focus().toggleOrderedList().run(),isActive:()=>e.isActive("orderedList")},{icon:"ci-list_checklist",title:A.getString("menu.list.task"),action:()=>e.chain().focus().toggleTaskList().run(),isActive:()=>e.isActive("taskList"),menuModeLevel:gR.full}],isActive:()=>e.isActive("bulletList")||e.isActive("orderedList")||e.isActive("taskList")},{icon:"ci-image_02",title:A.getString("menu.image"),action:()=>{const A=document.createElement("input");A.setAttribute("type","file"),A.setAttribute("accept","image/jpeg,image/gif,image/png,image/jpg"),A.onchange=A=>{const{files:t}=A.target;Boolean(t.length)&&e.chain().focus().uploadImage(t.item(0)).run()},A.click()}}],[{icon:"ci-double_quotes_l",title:A.getString("menu.quote"),action:()=>e.chain().focus().toggleBlockquote().run(),isActive:()=>e.isActive("blockquote"),menuModeLevel:gR.full},{icon:"ci-remove_minus",title:A.getString("menu.hr"),action:()=>e.chain().focus().setHorizontalRule().run(),menuModeLevel:gR.full}],[{icon:"ci-table",title:A.getString("menu.table"),menuItems:[{icon:"ci-table",title:A.getString("menu.table"),action:()=>e.chain().focus().insertTable({rows:4,cols:3,withHeaderRow:!1}).run(),isDisabled:()=>e.isActive("table")},{icon:"ci-combine_cells",title:A.getString("menu.table.cell.merge"),action:()=>e.chain().focus().mergeOrSplit().run(),isActive:()=>e.can().splitCell(),isDisabled:()=>!e.can().mergeOrSplit()},{icon:"ci-add_row",flip:"v",title:A.getString("menu.table.row.insert.before"),action:()=>e.chain().focus().addRowBefore().run(),isDisabled:()=>!e.can().addRowBefore()},{icon:"ci-add_row",title:A.getString("menu.table.row.insert.after"),action:()=>e.chain().focus().addRowAfter().run(),isDisabled:()=>!e.can().addRowAfter()},{icon:"ci-add_column",flip:"h",title:A.getString("menu.table.column.insert.before"),action:()=>e.chain().focus().addColumnBefore().run(),isDisabled:()=>!e.can().addColumnBefore()},{icon:"ci-add_column",title:A.getString("menu.table.column.insert.after"),action:()=>e.chain().focus().addColumnAfter().run(),isDisabled:()=>!e.can().addColumnAfter()},{icon:"ci-delete_row",title:A.getString("menu.table.row.remove"),action:()=>e.chain().focus().deleteRow().run(),isDisabled:()=>!e.can().deleteRow()},{icon:"ci-delete_column",title:A.getString("menu.table.column.remove"),action:()=>e.chain().focus().deleteColumn().run(),isDisabled:()=>!e.can().deleteColumn()},{icon:"ci-table_remove",title:A.getString("menu.table.remove"),action:()=>e.chain().focus().deleteTable().run(),isDisabled:()=>!e.can().deleteTable()}]}],[{icon:"ci-close_circle",title:A.getString("menu.format.clear"),action:()=>e.chain().focus().clearNodes().unsetAllMarks().run(),menuModeLevel:gR.full}],[{icon:"ci-undo",title:A.getString("menu.undo"),action:()=>e.chain().focus().undo().run(),isDisabled:()=>!e.can().undo(),menuModeLevel:gR.full},{icon:"ci-redo",title:A.getString("menu.redo"),action:()=>e.chain().focus().redo().run(),isDisabled:()=>!e.can().redo(),menuModeLevel:gR.full}],[{icon:"ci-bar_top",title:A.getString("menu.fullscreen"),action:()=>{var A;return null===(A=this.toggleFullscreen)||void 0===A?void 0:A.call(this)},isActive:()=>{var A;return null===(A=this.states)||void 0===A?void 0:A.isFullscreen},isHidden:()=>!Boolean(this.toggleFullscreen)}],...this.getMonacoToggler()]}render(){const{editor:A,states:e}=this,{isMonaco:n}=e,i=(n?this.getMonacoToggler():this.getMenuItems(A)).map((A=>{const e=A.map((A=>{const{isHidden:e,menuModeLevel:n}=A,i=function(A,e){var t={};for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&e.indexOf(n)<0&&(t[n]=A[n]);if(null!=A&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(A);ithis.menubarMode?null:t("zen-editor-menu-item",{itemProps:Object.assign({},i),menubarMode:this.menubarMode})}));return Boolean(e.filter((A=>Boolean(A))).length)?t("div",{class:"menu-item-group"},e):null}));return t("div",{class:"menubar"},i,this.extraMenubarItems&&t("div",{className:"menu-item-group extra-menubar-items",innerHTML:this.extraMenubarItems}))}get element(){return i(this)}};IR.style='.menubar{align-items:center;border-bottom:1px solid #a6a39e;display:flex;flex:0 0 auto;flex-wrap:wrap;padding:0.25em}.menu-item-group{margin-right:0.5em}.menu-item-group:not(:last-child):not(:has(+.extra-menubar-items))::after{content:"";display:inline-block;background-color:rgba(0, 0, 0, 0.1);height:1.25em;margin:0 -0.1em -0.1em 0.4em;width:1px}.menu-item-group:empty{display:none}';export{X as zen_editor_bubble_menu,q as zen_editor_content,hR as zen_editor_core,MR as zen_editor_menu_item,IR as zen_editor_menubar} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-9b6d6782.js b/www/js/zui3/zen-editor/p-9b6d6782.js new file mode 100644 index 0000000000..25ef086d76 --- /dev/null +++ b/www/js/zui3/zen-editor/p-9b6d6782.js @@ -0,0 +1,7 @@ +import{m as e}from"./p-01de9657.js";import"./p-7900c24a.js"; +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/var t=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,n=(e,n,l,a)=>{if(n&&"object"==typeof n||"function"==typeof n)for(let d of o(n))r.call(e,d)||d===l||t(e,d,{get:()=>n[d],enumerable:!(a=i(n,d))||a.enumerable});return e},l={};n(l,e,"default");var a=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],d={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,brackets:[["\x3c!--","--\x3e"],["<",">"],["{{","}}"],["{%","%}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"%",close:"%"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${a.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:l.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${a.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:l.languages.IndentAction.Indent}}]},s={defaultToken:"",tokenPostfix:"",builtinTags:["if","else","elseif","endif","render","assign","capture","endcapture","case","endcase","comment","endcomment","cycle","decrement","for","endfor","include","increment","layout","raw","endraw","render","tablerow","endtablerow","unless","endunless"],builtinFilters:["abs","append","at_least","at_most","capitalize","ceil","compact","date","default","divided_by","downcase","escape","escape_once","first","floor","join","json","last","lstrip","map","minus","modulo","newline_to_br","plus","prepend","remove","remove_first","replace","replace_first","reverse","round","rstrip","size","slice","sort","sort_natural","split","strip","strip_html","strip_newlines","times","truncate","truncatewords","uniq","upcase","url_decode","url_encode","where"],constants:["true","false"],operators:["==","!=",">","<",">=","<="],symbol:/[=>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)([\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[//,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],liquidState:[[/\{\{/,"delimiter.output.liquid"],[/\}\}/,{token:"delimiter.output.liquid",switchTo:"@$S2.$S3"}],[/\{\%/,"delimiter.tag.liquid"],[/raw\s*\%\}/,"delimiter.tag.liquid","@liquidRaw"],[/\%\}/,{token:"delimiter.tag.liquid",switchTo:"@$S2.$S3"}],{include:"liquidRoot"}],liquidRaw:[[/^(?!\{\%\s*endraw\s*\%\}).+/],[/\{\%/,"delimiter.tag.liquid"],[/@identifier/],[/\%\}/,{token:"delimiter.tag.liquid",next:"@root"}]],liquidRoot:[[/\d+(\.\d+)?/,"number.liquid"],[/"[^"]*"/,"string.liquid"],[/'[^']*'/,"string.liquid"],[/\s+/],[/@symbol/,{cases:{"@operators":"operator.liquid","@default":""}}],[/\./],[/@identifier/,{cases:{"@constants":"keyword.liquid","@builtinFilters":"predefined.liquid","@builtinTags":"predefined.liquid","@default":"variable.liquid"}}],[/[^}|%]/,"variable.liquid"]]}};export{d as conf,s as language} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-9ef0a448.js b/www/js/zui3/zen-editor/p-9ef0a448.js new file mode 100644 index 0000000000..5da4f7ed74 --- /dev/null +++ b/www/js/zui3/zen-editor/p-9ef0a448.js @@ -0,0 +1,7 @@ +import{conf as e,language as t}from"./p-70739e54.js";import"./p-01de9657.js";import"./p-7900c24a.js"; +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/var s=e,i={defaultToken:"invalid",tokenPostfix:".js",keywords:["break","case","catch","class","continue","const","constructor","debugger","default","delete","do","else","export","extends","false","finally","for","from","function","get","if","import","in","instanceof","let","new","null","return","set","static","super","switch","symbol","this","throw","true","try","typeof","undefined","var","void","while","with","yield","async","await","of"],typeKeywords:[],operators:t.operators,symbols:t.symbols,escapes:t.escapes,digits:t.digits,octaldigits:t.octaldigits,binarydigits:t.binarydigits,hexdigits:t.hexdigits,regexpctl:t.regexpctl,regexpesc:t.regexpesc,tokenizer:t.tokenizer};export{s as conf,i as language} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-b1ce1928.js b/www/js/zui3/zen-editor/p-b1ce1928.js new file mode 100644 index 0000000000..8f0ce27824 --- /dev/null +++ b/www/js/zui3/zen-editor/p-b1ce1928.js @@ -0,0 +1,7 @@ +import{m as e}from"./p-01de9657.js";import"./p-7900c24a.js"; +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,s=(e,s,r,d)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let p of o(s))i.call(e,p)||p===r||t(e,p,{get:()=>s[p],enumerable:!(d=n(s,p))||d.enumerable});return e},r={};s(r,e,"default");var d={comments:{blockComment:["{/*","*/}"]},brackets:[["{","}"]],autoClosingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"“",close:"”"},{open:"‘",close:"’"},{open:"`",close:"`"},{open:"{",close:"}"},{open:"(",close:")"},{open:"_",close:"_"},{open:"**",close:"**"},{open:"<",close:">"}],onEnterRules:[{beforeText:/^\s*- .+/,action:{indentAction:r.languages.IndentAction.None,appendText:"- "}},{beforeText:/^\s*\+ .+/,action:{indentAction:r.languages.IndentAction.None,appendText:"+ "}},{beforeText:/^\s*\* .+/,action:{indentAction:r.languages.IndentAction.None,appendText:"* "}},{beforeText:/^> /,action:{indentAction:r.languages.IndentAction.None,appendText:"> "}},{beforeText:/<\w+/,action:{indentAction:r.languages.IndentAction.Indent}},{beforeText:/\s+>\s*$/,action:{indentAction:r.languages.IndentAction.Indent}},{beforeText:/<\/\w+>/,action:{indentAction:r.languages.IndentAction.Outdent}},...Array.from({length:100},((e,t)=>({beforeText:new RegExp(`^${t}\\. .+`),action:{indentAction:r.languages.IndentAction.None,appendText:`${t+1}. `}})))]},p={defaultToken:"",tokenPostfix:".mdx",control:/[!#()*+.[\\\]_`{}\-]/,escapes:/\\@control/,tokenizer:{root:[[/^---$/,{token:"meta.content",next:"@frontmatter",nextEmbedded:"yaml"}],[/^\s*import/,{token:"keyword",next:"@import",nextEmbedded:"js"}],[/^\s*export/,{token:"keyword",next:"@export",nextEmbedded:"js"}],[/<\w+/,{token:"type.identifier",next:"@jsx"}],[/<\/?\w+>/,"type.identifier"],[/^(\s*)(>*\s*)(#{1,6}\s)/,[{token:"white"},{token:"comment"},{token:"keyword",next:"@header"}]],[/^(\s*)(>*\s*)([*+-])(\s+)/,["white","comment","keyword","white"]],[/^(\s*)(>*\s*)(\d{1,9}\.)(\s+)/,["white","comment","number","white"]],[/^(\s*)(>*\s*)(\d{1,9}\.)(\s+)/,["white","comment","number","white"]],[/^(\s*)(>*\s*)(-{3,}|\*{3,}|_{3,})$/,["white","comment","keyword"]],[/`{3,}(\s.*)?$/,{token:"string",next:"@codeblock_backtick"}],[/~{3,}(\s.*)?$/,{token:"string",next:"@codeblock_tilde"}],[/`{3,}(\S+).*$/,{token:"string",next:"@codeblock_highlight_backtick",nextEmbedded:"$1"}],[/~{3,}(\S+).*$/,{token:"string",next:"@codeblock_highlight_tilde",nextEmbedded:"$1"}],[/^(\s*)(-{4,})$/,["white","comment"]],[/^(\s*)(>+)/,["white","comment"]],{include:"content"}],content:[[/(\[)(.+)(]\()(.+)(\s+".*")(\))/,["","string.link","","type.identifier","string.link",""]],[/(\[)(.+)(]\()(.+)(\))/,["","type.identifier","","string.link",""]],[/(\[)(.+)(]\[)(.+)(])/,["","type.identifier","","type.identifier",""]],[/(\[)(.+)(]:\s+)(\S*)/,["","type.identifier","","string.link"]],[/(\[)(.+)(])/,["","type.identifier",""]],[/`.*`/,"variable.source"],[/_/,{token:"emphasis",next:"@emphasis_underscore"}],[/\*(?!\*)/,{token:"emphasis",next:"@emphasis_asterisk"}],[/\*\*/,{token:"strong",next:"@strong"}],[/{/,{token:"delimiter.bracket",next:"@expression",nextEmbedded:"js"}]],import:[[/'\s*(;|$)/,{token:"string",next:"@pop",nextEmbedded:"@pop"}]],expression:[[/{/,{token:"delimiter.bracket",next:"@expression"}],[/}/,{token:"delimiter.bracket",next:"@pop",nextEmbedded:"@pop"}]],export:[[/^\s*$/,{token:"delimiter.bracket",next:"@pop",nextEmbedded:"@pop"}]],jsx:[[/\s+/,""],[/(\w+)(=)("(?:[^"\\]|\\.)*")/,["attribute.name","operator","string"]],[/(\w+)(=)('(?:[^'\\]|\\.)*')/,["attribute.name","operator","string"]],[/(\w+(?=\s|>|={|$))/,["attribute.name"]],[/={/,{token:"delimiter.bracket",next:"@expression",nextEmbedded:"js"}],[/>/,{token:"type.identifier",next:"@pop"}]],header:[[/.$/,{token:"keyword",next:"@pop"}],{include:"content"},[/./,{token:"keyword"}]],strong:[[/\*\*/,{token:"strong",next:"@pop"}],{include:"content"},[/./,{token:"strong"}]],emphasis_underscore:[[/_/,{token:"emphasis",next:"@pop"}],{include:"content"},[/./,{token:"emphasis"}]],emphasis_asterisk:[[/\*(?!\*)/,{token:"emphasis",next:"@pop"}],{include:"content"},[/./,{token:"emphasis"}]],frontmatter:[[/^---$/,{token:"meta.content",nextEmbedded:"@pop",next:"@pop"}]],codeblock_highlight_backtick:[[/\s*`{3,}\s*$/,{token:"string",next:"@pop",nextEmbedded:"@pop"}],[/.*$/,"variable.source"]],codeblock_highlight_tilde:[[/\s*~{3,}\s*$/,{token:"string",next:"@pop",nextEmbedded:"@pop"}],[/.*$/,"variable.source"]],codeblock_backtick:[[/\s*`{3,}\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]],codeblock_tilde:[[/\s*~{3,}\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]]}};export{d as conf,p as language} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-b398216b.js b/www/js/zui3/zen-editor/p-b398216b.js new file mode 100644 index 0000000000..a361fa4523 --- /dev/null +++ b/www/js/zui3/zen-editor/p-b398216b.js @@ -0,0 +1,7 @@ +import{m as t}from"./p-01de9657.js";import"./p-7900c24a.js"; +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,e=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o=(t,o,u,s)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let c of e(o))i.call(t,c)||c===u||n(t,c,{get:()=>o[c],enumerable:!(s=r(o,c))||s.enumerable});return t},u={};o(u,t,"default");var s,c,a,f,h,v,d,l,g,m,w,b,p,j,x,k,I,y,O,E,_,T,R,S,C,D,N,W,L,A,M,F,z,U,H,$,q,P,V,B,G,J,K,Q,X,Y,Z,tt,nt,rt=class{_defaults;_idleCheckInterval;_lastUsedTime;_configChangeListener;_worker;_client;constructor(t){this._defaults=t,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval((()=>this._checkIfIdle()),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange((()=>this._stopWorker()))}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=u.editor.createWebWorker({moduleId:"vs/language/css/cssWorker",label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...t){let n;return this._getClient().then((t=>{n=t})).then((()=>{if(this._worker)return this._worker.withSyncedResources(t)})).then((()=>n))}};(c=s||(s={})).MIN_VALUE=-2147483648,c.MAX_VALUE=2147483647,(f=a||(a={})).MIN_VALUE=0,f.MAX_VALUE=2147483647,(v=h||(h={})).create=function(t,n){return t===Number.MAX_VALUE&&(t=a.MAX_VALUE),n===Number.MAX_VALUE&&(n=a.MAX_VALUE),{line:t,character:n}},v.is=function(t){var n=t;return rn.objectLiteral(n)&&rn.uinteger(n.line)&&rn.uinteger(n.character)},(l=d||(d={})).create=function(t,n,r,e){if(rn.uinteger(t)&&rn.uinteger(n)&&rn.uinteger(r)&&rn.uinteger(e))return{start:h.create(t,n),end:h.create(r,e)};if(h.is(t)&&h.is(n))return{start:t,end:n};throw new Error("Range#create called with invalid arguments["+t+", "+n+", "+r+", "+e+"]")},l.is=function(t){var n=t;return rn.objectLiteral(n)&&h.is(n.start)&&h.is(n.end)},(m=g||(g={})).create=function(t,n){return{uri:t,range:n}},m.is=function(t){var n=t;return rn.defined(n)&&d.is(n.range)&&(rn.string(n.uri)||rn.undefined(n.uri))},(b=w||(w={})).create=function(t,n,r,e){return{targetUri:t,targetRange:n,targetSelectionRange:r,originSelectionRange:e}},b.is=function(t){var n=t;return rn.defined(n)&&d.is(n.targetRange)&&rn.string(n.targetUri)&&(d.is(n.targetSelectionRange)||rn.undefined(n.targetSelectionRange))&&(d.is(n.originSelectionRange)||rn.undefined(n.originSelectionRange))},(j=p||(p={})).create=function(t,n,r,e){return{red:t,green:n,blue:r,alpha:e}},j.is=function(t){var n=t;return rn.numberRange(n.red,0,1)&&rn.numberRange(n.green,0,1)&&rn.numberRange(n.blue,0,1)&&rn.numberRange(n.alpha,0,1)},(k=x||(x={})).create=function(t,n){return{range:t,color:n}},k.is=function(t){var n=t;return d.is(n.range)&&p.is(n.color)},(y=I||(I={})).create=function(t,n,r){return{label:t,textEdit:n,additionalTextEdits:r}},y.is=function(t){var n=t;return rn.string(n.label)&&(rn.undefined(n.textEdit)||U.is(n))&&(rn.undefined(n.additionalTextEdits)||rn.typedArray(n.additionalTextEdits,U.is))},(E=O||(O={})).Comment="comment",E.Imports="imports",E.Region="region",(T=_||(_={})).create=function(t,n,r,e,i){var o={startLine:t,endLine:n};return rn.defined(r)&&(o.startCharacter=r),rn.defined(e)&&(o.endCharacter=e),rn.defined(i)&&(o.kind=i),o},T.is=function(t){var n=t;return rn.uinteger(n.startLine)&&rn.uinteger(n.startLine)&&(rn.undefined(n.startCharacter)||rn.uinteger(n.startCharacter))&&(rn.undefined(n.endCharacter)||rn.uinteger(n.endCharacter))&&(rn.undefined(n.kind)||rn.string(n.kind))},(S=R||(R={})).create=function(t,n){return{location:t,message:n}},S.is=function(t){var n=t;return rn.defined(n)&&g.is(n.location)&&rn.string(n.message)},(D=C||(C={})).Error=1,D.Warning=2,D.Information=3,D.Hint=4,(W=N||(N={})).Unnecessary=1,W.Deprecated=2,(L||(L={})).is=function(t){return null!=t&&rn.string(t.href)},(M=A||(A={})).create=function(t,n,r,e,i,o){var u={range:t,message:n};return rn.defined(r)&&(u.severity=r),rn.defined(e)&&(u.code=e),rn.defined(i)&&(u.source=i),rn.defined(o)&&(u.relatedInformation=o),u},M.is=function(t){var n,r=t;return rn.defined(r)&&d.is(r.range)&&rn.string(r.message)&&(rn.number(r.severity)||rn.undefined(r.severity))&&(rn.integer(r.code)||rn.string(r.code)||rn.undefined(r.code))&&(rn.undefined(r.codeDescription)||rn.string(null===(n=r.codeDescription)||void 0===n?void 0:n.href))&&(rn.string(r.source)||rn.undefined(r.source))&&(rn.undefined(r.relatedInformation)||rn.typedArray(r.relatedInformation,R.is))},(z=F||(F={})).create=function(t,n){for(var r=[],e=2;e0&&(i.arguments=r),i},z.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.title)&&rn.string(n.command)},(H=U||(U={})).replace=function(t,n){return{range:t,newText:n}},H.insert=function(t,n){return{range:{start:t,end:t},newText:n}},H.del=function(t){return{range:t,newText:""}},H.is=function(t){var n=t;return rn.objectLiteral(n)&&rn.string(n.newText)&&d.is(n.range)},(q=$||($={})).create=function(t,n,r){var e={label:t};return void 0!==n&&(e.needsConfirmation=n),void 0!==r&&(e.description=r),e},q.is=function(t){var n=t;return void 0!==n&&rn.objectLiteral(n)&&rn.string(n.label)&&(rn.boolean(n.needsConfirmation)||void 0===n.needsConfirmation)&&(rn.string(n.description)||void 0===n.description)},(P||(P={})).is=function(t){return"string"==typeof t},(B=V||(V={})).replace=function(t,n,r){return{range:t,newText:n,annotationId:r}},B.insert=function(t,n,r){return{range:{start:t,end:t},newText:n,annotationId:r}},B.del=function(t,n){return{range:t,newText:"",annotationId:n}},B.is=function(t){var n=t;return U.is(n)&&($.is(n.annotationId)||P.is(n.annotationId))},(J=G||(G={})).create=function(t,n){return{textDocument:t,edits:n}},J.is=function(t){var n=t;return rn.defined(n)&&st.is(n.textDocument)&&Array.isArray(n.edits)},(Q=K||(K={})).create=function(t,n,r){var e={kind:"create",uri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(e.options=n),void 0!==r&&(e.annotationId=r),e},Q.is=function(t){var n=t;return n&&"create"===n.kind&&rn.string(n.uri)&&(void 0===n.options||(void 0===n.options.overwrite||rn.boolean(n.options.overwrite))&&(void 0===n.options.ignoreIfExists||rn.boolean(n.options.ignoreIfExists)))&&(void 0===n.annotationId||P.is(n.annotationId))},(Y=X||(X={})).create=function(t,n,r,e){var i={kind:"rename",oldUri:t,newUri:n};return void 0===r||void 0===r.overwrite&&void 0===r.ignoreIfExists||(i.options=r),void 0!==e&&(i.annotationId=e),i},Y.is=function(t){var n=t;return n&&"rename"===n.kind&&rn.string(n.oldUri)&&rn.string(n.newUri)&&(void 0===n.options||(void 0===n.options.overwrite||rn.boolean(n.options.overwrite))&&(void 0===n.options.ignoreIfExists||rn.boolean(n.options.ignoreIfExists)))&&(void 0===n.annotationId||P.is(n.annotationId))},(tt=Z||(Z={})).create=function(t,n,r){var e={kind:"delete",uri:t};return void 0===n||void 0===n.recursive&&void 0===n.ignoreIfNotExists||(e.options=n),void 0!==r&&(e.annotationId=r),e},tt.is=function(t){var n=t;return n&&"delete"===n.kind&&rn.string(n.uri)&&(void 0===n.options||(void 0===n.options.recursive||rn.boolean(n.options.recursive))&&(void 0===n.options.ignoreIfNotExists||rn.boolean(n.options.ignoreIfNotExists)))&&(void 0===n.annotationId||P.is(n.annotationId))},(nt||(nt={})).is=function(t){return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(t){return rn.string(t.kind)?K.is(t)||X.is(t)||Z.is(t):G.is(t)})))};var et,it,ot,ut,st,ct,at,ft,ht,vt,dt,lt,gt,mt,wt,bt,pt,jt,xt,kt,It,yt,Ot,Et,_t,Tt,Rt,St,Ct,Dt,Nt,Wt,Lt,At,Mt,Ft,zt,Ut,Ht,$t,qt,Pt,Vt,Bt,Gt,Jt,Kt,Qt,Xt,Yt,Zt,tn=function(){function t(t,n){this.edits=t,this.changeAnnotations=n}return t.prototype.insert=function(t,n,r){var e,i;if(void 0===r?e=U.insert(t,n):P.is(r)?(i=r,e=V.insert(t,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),e=V.insert(t,n,i)),this.edits.push(e),void 0!==i)return i},t.prototype.replace=function(t,n,r){var e,i;if(void 0===r?e=U.replace(t,n):P.is(r)?(i=r,e=V.replace(t,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),e=V.replace(t,n,i)),this.edits.push(e),void 0!==i)return i},t.prototype.delete=function(t,n){var r,e;if(void 0===n?r=U.del(t):P.is(n)?(e=n,r=V.del(t,n)):(this.assertChangeAnnotations(this.changeAnnotations),e=this.changeAnnotations.manage(n),r=V.del(t,e)),this.edits.push(r),void 0!==e)return e},t.prototype.add=function(t){this.edits.push(t)},t.prototype.all=function(){return this.edits},t.prototype.clear=function(){this.edits.splice(0,this.edits.length)},t.prototype.assertChangeAnnotations=function(t){if(void 0===t)throw new Error("Text edit change is not configured to manage change annotations.")},t}(),nn=function(){function t(t){this._annotations=void 0===t?Object.create(null):t,this._counter=0,this._size=0}return t.prototype.all=function(){return this._annotations},Object.defineProperty(t.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),t.prototype.manage=function(t,n){var r;if(P.is(t)?r=t:(r=this.nextId(),n=t),void 0!==this._annotations[r])throw new Error("Id "+r+" is already in use.");if(void 0===n)throw new Error("No annotation provided for id "+r);return this._annotations[r]=n,this._size++,r},t.prototype.nextId=function(){return this._counter++,this._counter.toString()},t}();!function(){function t(t){var n=this;this._textEditChanges=Object.create(null),void 0!==t?(this._workspaceEdit=t,t.documentChanges?(this._changeAnnotations=new nn(t.changeAnnotations),t.changeAnnotations=this._changeAnnotations.all(),t.documentChanges.forEach((function(t){if(G.is(t)){var r=new tn(t.edits,n._changeAnnotations);n._textEditChanges[t.textDocument.uri]=r}}))):t.changes&&Object.keys(t.changes).forEach((function(r){var e=new tn(t.changes[r]);n._textEditChanges[r]=e}))):this._workspaceEdit={}}Object.defineProperty(t.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(this._workspaceEdit.changeAnnotations=0===this._changeAnnotations.size?void 0:this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),t.prototype.getTextEditChange=function(t){if(st.is(t)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var n={uri:t.uri,version:t.version};return(r=this._textEditChanges[n.uri])||(this._workspaceEdit.documentChanges.push({textDocument:n,edits:e=[]}),r=new tn(e,this._changeAnnotations),this._textEditChanges[n.uri]=r),r}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var r,e;return(r=this._textEditChanges[t])||(this._workspaceEdit.changes[t]=e=[],r=new tn(e),this._textEditChanges[t]=r),r},t.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new nn,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},t.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},t.prototype.createFile=function(t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var e,i,o;if($.is(n)||P.is(n)?e=n:r=n,void 0===e?i=K.create(t,r):(o=P.is(e)?e:this._changeAnnotations.manage(e),i=K.create(t,r,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},t.prototype.renameFile=function(t,n,r,e){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,u;if($.is(r)||P.is(r)?i=r:e=r,void 0===i?o=X.create(t,n,e):(u=P.is(i)?i:this._changeAnnotations.manage(i),o=X.create(t,n,e,u)),this._workspaceEdit.documentChanges.push(o),void 0!==u)return u},t.prototype.deleteFile=function(t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var e,i,o;if($.is(n)||P.is(n)?e=n:r=n,void 0===e?i=Z.create(t,r):(o=P.is(e)?e:this._changeAnnotations.manage(e),i=Z.create(t,r,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o}}(),(it=et||(et={})).create=function(t){return{uri:t}},it.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)},(ut=ot||(ot={})).create=function(t,n){return{uri:t,version:n}},ut.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)&&rn.integer(n.version)},(ct=st||(st={})).create=function(t,n){return{uri:t,version:n}},ct.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)&&(null===n.version||rn.integer(n.version))},(ft=at||(at={})).create=function(t,n,r,e){return{uri:t,languageId:n,version:r,text:e}},ft.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)&&rn.string(n.languageId)&&rn.integer(n.version)&&rn.string(n.text)},(vt=ht||(ht={})).PlainText="plaintext",vt.Markdown="markdown",function(t){t.is=function(n){return n===t.PlainText||n===t.Markdown}}(ht||(ht={})),(dt||(dt={})).is=function(t){var n=t;return rn.objectLiteral(t)&&ht.is(n.kind)&&rn.string(n.value)},(gt=lt||(lt={})).Text=1,gt.Method=2,gt.Function=3,gt.Constructor=4,gt.Field=5,gt.Variable=6,gt.Class=7,gt.Interface=8,gt.Module=9,gt.Property=10,gt.Unit=11,gt.Value=12,gt.Enum=13,gt.Keyword=14,gt.Snippet=15,gt.Color=16,gt.File=17,gt.Reference=18,gt.Folder=19,gt.EnumMember=20,gt.Constant=21,gt.Struct=22,gt.Event=23,gt.Operator=24,gt.TypeParameter=25,(wt=mt||(mt={})).PlainText=1,wt.Snippet=2,(bt||(bt={})).Deprecated=1,(jt=pt||(pt={})).create=function(t,n,r){return{newText:t,insert:n,replace:r}},jt.is=function(t){var n=t;return n&&rn.string(n.newText)&&d.is(n.insert)&&d.is(n.replace)},(kt=xt||(xt={})).asIs=1,kt.adjustIndentation=2,(It||(It={})).create=function(t){return{label:t}},(yt||(yt={})).create=function(t,n){return{items:t||[],isIncomplete:!!n}},(Et=Ot||(Ot={})).fromPlainText=function(t){return t.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},Et.is=function(t){var n=t;return rn.string(n)||rn.objectLiteral(n)&&rn.string(n.language)&&rn.string(n.value)},(_t||(_t={})).is=function(t){var n=t;return!!n&&rn.objectLiteral(n)&&(dt.is(n.contents)||Ot.is(n.contents)||rn.typedArray(n.contents,Ot.is))&&(void 0===t.range||d.is(t.range))},(Tt||(Tt={})).create=function(t,n){return n?{label:t,documentation:n}:{label:t}},(Rt||(Rt={})).create=function(t,n){for(var r=[],e=2;e=0;u--){var s=i[u],c=t.offsetAt(s.range.start),a=t.offsetAt(s.range.end);if(!(a<=o))throw new Error("Overlapping edit");e=e.substring(0,c)+s.newText+e.substring(a,e.length),o=c}return e}}(Zt||(Zt={}));var rn,en,on,un=function(){function t(t,n,r,e){this._uri=t,this._languageId=n,this._version=r,this._content=e,this._lineOffsets=void 0}return Object.defineProperty(t.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),t.prototype.getText=function(t){if(t){var n=this.offsetAt(t.start),r=this.offsetAt(t.end);return this._content.substring(n,r)}return this._content},t.prototype.update=function(t,n){this._content=t.text,this._version=n,this._lineOffsets=void 0},t.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var t=[],n=this._content,r=!0,e=0;e0&&t.push(n.length),this._lineOffsets=t}return this._lineOffsets},t.prototype.positionAt=function(t){t=Math.max(Math.min(t,this._content.length),0);var n=this.getLineOffsets(),r=0,e=n.length;if(0===e)return h.create(0,t);for(;rt?e=i:r=i+1}var o=r-1;return h.create(o,t-n[o])},t.prototype.offsetAt=function(t){var n=this.getLineOffsets();if(t.line>=n.length)return this._content.length;if(t.line<0)return 0;var r=n[t.line];return Math.max(Math.min(r+t.character,t.line+1{let n,r=t.getLanguageId();r===this._languageId&&(this._listener[t.uri.toString()]=t.onDidChangeContent((()=>{window.clearTimeout(n),n=window.setTimeout((()=>this._doValidate(t.uri,r)),500)})),this._doValidate(t.uri,r))},i=t=>{u.editor.setModelMarkers(t,this._languageId,[]);let n=t.uri.toString(),r=this._listener[n];r&&(r.dispose(),delete this._listener[n])};this._disposables.push(u.editor.onDidCreateModel(e)),this._disposables.push(u.editor.onWillDisposeModel(i)),this._disposables.push(u.editor.onDidChangeModelLanguage((t=>{i(t.model),e(t.model)}))),this._disposables.push(r((()=>{u.editor.getModels().forEach((t=>{t.getLanguageId()===this._languageId&&(i(t),e(t))}))}))),this._disposables.push({dispose:()=>{u.editor.getModels().forEach(i);for(let t in this._listener)this._listener[t].dispose()}}),u.editor.getModels().forEach(e)}_disposables=[];_listener=Object.create(null);dispose(){this._disposables.forEach((t=>t&&t.dispose())),this._disposables.length=0}_doValidate(t,n){this._worker(t).then((n=>n.doValidation(t.toString()))).then((r=>{const e=r.map((t=>function(t,n){let r="number"==typeof n.code?String(n.code):n.code;return{severity:cn(n.severity),startLineNumber:n.range.start.line+1,startColumn:n.range.start.character+1,endLineNumber:n.range.end.line+1,endColumn:n.range.end.character+1,message:n.message,code:r,source:n.source}}(0,t)));let i=u.editor.getModel(t);i&&i.getLanguageId()===n&&u.editor.setModelMarkers(i,n,e)})).then(void 0,(t=>{console.error(t)}))}};function cn(t){switch(t){case C.Error:return u.MarkerSeverity.Error;case C.Warning:return u.MarkerSeverity.Warning;case C.Information:return u.MarkerSeverity.Info;case C.Hint:return u.MarkerSeverity.Hint;default:return u.MarkerSeverity.Info}}var an=class{constructor(t,n){this._worker=t,this._triggerCharacters=n}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.doComplete(i.toString(),fn(n)))).then((r=>{if(!r)return;const e=t.getWordUntilPosition(n),i=new u.Range(n.lineNumber,e.startColumn,n.lineNumber,e.endColumn),o=r.items.map((t=>{const n={label:t.label,insertText:t.insertText||t.label,sortText:t.sortText,filterText:t.filterText,documentation:t.documentation,detail:t.detail,command:(r=t.command,r&&"editor.action.triggerSuggest"===r.command?{id:r.command,title:r.title,arguments:r.arguments}:void 0),range:i,kind:dn(t.kind)};var r,e;return t.textEdit&&(n.range=void 0!==(e=t.textEdit).insert&&void 0!==e.replace?{insert:vn(t.textEdit.insert),replace:vn(t.textEdit.replace)}:vn(t.textEdit.range),n.insertText=t.textEdit.newText),t.additionalTextEdits&&(n.additionalTextEdits=t.additionalTextEdits.map(ln)),t.insertTextFormat===mt.Snippet&&(n.insertTextRules=u.languages.CompletionItemInsertTextRule.InsertAsSnippet),n}));return{isIncomplete:r.isIncomplete,suggestions:o}}))}};function fn(t){if(t)return{character:t.column-1,line:t.lineNumber-1}}function hn(t){if(t)return{start:{line:t.startLineNumber-1,character:t.startColumn-1},end:{line:t.endLineNumber-1,character:t.endColumn-1}}}function vn(t){if(t)return new u.Range(t.start.line+1,t.start.character+1,t.end.line+1,t.end.character+1)}function dn(t){const n=u.languages.CompletionItemKind;switch(t){case lt.Text:return n.Text;case lt.Method:return n.Method;case lt.Function:return n.Function;case lt.Constructor:return n.Constructor;case lt.Field:return n.Field;case lt.Variable:return n.Variable;case lt.Class:return n.Class;case lt.Interface:return n.Interface;case lt.Module:return n.Module;case lt.Property:return n.Property;case lt.Unit:return n.Unit;case lt.Value:return n.Value;case lt.Enum:return n.Enum;case lt.Keyword:return n.Keyword;case lt.Snippet:return n.Snippet;case lt.Color:return n.Color;case lt.File:return n.File;case lt.Reference:return n.Reference}return n.Property}function ln(t){if(t)return{range:vn(t.range),text:t.newText}}var gn=class{constructor(t){this._worker=t}provideHover(t,n,r){let e=t.uri;return this._worker(e).then((t=>t.doHover(e.toString(),fn(n)))).then((t=>{if(t)return{range:vn(t.range),contents:wn(t.contents)}}))}};function mn(t){return"string"==typeof t?{value:t}:(n=t)&&"object"==typeof n&&"string"==typeof n.kind?"plaintext"===t.kind?{value:t.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}:{value:t.value}:{value:"```"+t.language+"\n"+t.value+"\n```\n"};var n}function wn(t){if(t)return Array.isArray(t)?t.map(mn):[mn(t)]}var bn=class{constructor(t){this._worker=t}provideDocumentHighlights(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.findDocumentHighlights(e.toString(),fn(n)))).then((t=>{if(t)return t.map((t=>({range:vn(t.range),kind:pn(t.kind)})))}))}};function pn(t){switch(t){case St.Read:return u.languages.DocumentHighlightKind.Read;case St.Write:return u.languages.DocumentHighlightKind.Write;case St.Text:return u.languages.DocumentHighlightKind.Text}return u.languages.DocumentHighlightKind.Text}var jn=class{constructor(t){this._worker=t}provideDefinition(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.findDefinition(e.toString(),fn(n)))).then((t=>{if(t)return[xn(t)]}))}};function xn(t){return{uri:u.Uri.parse(t.uri),range:vn(t.range)}}var kn=class{constructor(t){this._worker=t}provideReferences(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.findReferences(i.toString(),fn(n)))).then((t=>{if(t)return t.map(xn)}))}},In=class{constructor(t){this._worker=t}provideRenameEdits(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.doRename(i.toString(),fn(n),r))).then((t=>function(t){if(!t||!t.changes)return;let n=[];for(let r in t.changes){const e=u.Uri.parse(r);for(let i of t.changes[r])n.push({resource:e,versionId:void 0,textEdit:{range:vn(i.range),text:i.newText}})}return{edits:n}}(t)))}},yn=class{constructor(t){this._worker=t}provideDocumentSymbols(t,n){const r=t.uri;return this._worker(r).then((t=>t.findDocumentSymbols(r.toString()))).then((t=>{if(t)return t.map((t=>({name:t.name,detail:"",containerName:t.containerName,kind:On(t.kind),range:vn(t.location.range),selectionRange:vn(t.location.range),tags:[]})))}))}};function On(t){let n=u.languages.SymbolKind;switch(t){case Nt.File:return n.Array;case Nt.Module:return n.Module;case Nt.Namespace:return n.Namespace;case Nt.Package:return n.Package;case Nt.Class:return n.Class;case Nt.Method:return n.Method;case Nt.Property:return n.Property;case Nt.Field:return n.Field;case Nt.Constructor:return n.Constructor;case Nt.Enum:return n.Enum;case Nt.Interface:return n.Interface;case Nt.Function:return n.Function;case Nt.Variable:return n.Variable;case Nt.Constant:return n.Constant;case Nt.String:return n.String;case Nt.Number:return n.Number;case Nt.Boolean:return n.Boolean;case Nt.Array:return n.Array}return n.Function}var En=class{constructor(t){this._worker=t}provideLinks(t,n){const r=t.uri;return this._worker(r).then((t=>t.findDocumentLinks(r.toString()))).then((t=>{if(t)return{links:t.map((t=>({range:vn(t.range),url:t.target})))}}))}},_n=class{constructor(t){this._worker=t}provideDocumentFormattingEdits(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.format(e.toString(),null,Rn(n)).then((t=>{if(t&&0!==t.length)return t.map(ln)}))))}},Tn=class{constructor(t){this._worker=t}canFormatMultipleRanges=!1;provideDocumentRangeFormattingEdits(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.format(i.toString(),hn(n),Rn(r)).then((t=>{if(t&&0!==t.length)return t.map(ln)}))))}};function Rn(t){return{tabSize:t.tabSize,insertSpaces:t.insertSpaces}}var Sn=class{constructor(t){this._worker=t}provideDocumentColors(t,n){const r=t.uri;return this._worker(r).then((t=>t.findDocumentColors(r.toString()))).then((t=>{if(t)return t.map((t=>({color:t.color,range:vn(t.range)})))}))}provideColorPresentations(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.getColorPresentations(e.toString(),n.color,hn(n.range)))).then((t=>{if(t)return t.map((t=>{let n={label:t.label};return t.textEdit&&(n.textEdit=ln(t.textEdit)),t.additionalTextEdits&&(n.additionalTextEdits=t.additionalTextEdits.map(ln)),n}))}))}},Cn=class{constructor(t){this._worker=t}provideFoldingRanges(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.getFoldingRanges(e.toString(),n))).then((t=>{if(t)return t.map((t=>{const n={start:t.startLine+1,end:t.endLine+1};return void 0!==t.kind&&(n.kind=function(t){switch(t){case O.Comment:return u.languages.FoldingRangeKind.Comment;case O.Imports:return u.languages.FoldingRangeKind.Imports;case O.Region:return u.languages.FoldingRangeKind.Region}}(t.kind)),n}))}))}},Dn=class{constructor(t){this._worker=t}provideSelectionRanges(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.getSelectionRanges(e.toString(),n.map(fn)))).then((t=>{if(t)return t.map((t=>{const n=[];for(;t;)n.push({range:vn(t.range)}),t=t.parent;return n}))}))}};function Nn(t){const n=[],r=[],e=new rt(t);n.push(e);const i=(...t)=>e.getLanguageServiceWorker(...t);return function(){const{languageId:n,modeConfiguration:e}=t;Ln(r),e.completionItems&&r.push(u.languages.registerCompletionItemProvider(n,new an(i,["/","-",":"]))),e.hovers&&r.push(u.languages.registerHoverProvider(n,new gn(i))),e.documentHighlights&&r.push(u.languages.registerDocumentHighlightProvider(n,new bn(i))),e.definitions&&r.push(u.languages.registerDefinitionProvider(n,new jn(i))),e.references&&r.push(u.languages.registerReferenceProvider(n,new kn(i))),e.documentSymbols&&r.push(u.languages.registerDocumentSymbolProvider(n,new yn(i))),e.rename&&r.push(u.languages.registerRenameProvider(n,new In(i))),e.colors&&r.push(u.languages.registerColorProvider(n,new Sn(i))),e.foldingRanges&&r.push(u.languages.registerFoldingRangeProvider(n,new Cn(i))),e.diagnostics&&r.push(new sn(n,i,t.onDidChange)),e.selectionRanges&&r.push(u.languages.registerSelectionRangeProvider(n,new Dn(i))),e.documentFormattingEdits&&r.push(u.languages.registerDocumentFormattingEditProvider(n,new _n(i))),e.documentRangeFormattingEdits&&r.push(u.languages.registerDocumentRangeFormattingEditProvider(n,new Tn(i)))}(),n.push(Wn(r)),Wn(n)}function Wn(t){return{dispose:()=>Ln(t)}}function Ln(t){for(;t.length;)t.pop().dispose()}export{an as CompletionAdapter,jn as DefinitionAdapter,sn as DiagnosticsAdapter,Sn as DocumentColorAdapter,_n as DocumentFormattingEditProvider,bn as DocumentHighlightAdapter,En as DocumentLinkAdapter,Tn as DocumentRangeFormattingEditProvider,yn as DocumentSymbolAdapter,Cn as FoldingRangeAdapter,gn as HoverAdapter,kn as ReferenceAdapter,In as RenameAdapter,Dn as SelectionRangeAdapter,rt as WorkerManager,fn as fromPosition,hn as fromRange,Nn as setupMode,vn as toRange,ln as toTextEdit} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-b9d115dd.js b/www/js/zui3/zen-editor/p-b9d115dd.js deleted file mode 100644 index 9efc1eda26..0000000000 --- a/www/js/zui3/zen-editor/p-b9d115dd.js +++ /dev/null @@ -1,2 +0,0 @@ -let e,n,t=!1,l=!1;const o="slot-fb{display:contents}slot-fb[hidden]{display:none}",s="http://www.w3.org/1999/xlink",i=["formAssociatedCallback","formResetCallback","formDisabledCallback","formStateRestoreCallback"],c={},r=e=>"object"==(e=typeof e)||"function"===e;function a(e){var n,t,l;return null!==(l=null===(t=null===(n=e.head)||void 0===n?void 0:n.querySelector('meta[name="csp-nonce"]'))||void 0===t?void 0:t.getAttribute("content"))&&void 0!==l?l:void 0}const u=(e,n,...t)=>{let l=null,o=null,s=!1,i=!1;const c=[],a=n=>{for(let t=0;te[n])).join(" "))}}if("function"==typeof e)return e(null===n?{}:n,c,v);const u=f(e,null);return u.l=n,c.length>0&&(u.o=c),u.i=o,u},f=(e,n)=>({u:0,v:e,t:n,p:null,o:null,l:null,i:null}),d={},v={forEach:(e,n)=>e.map(p).forEach(n),map:(e,n)=>e.map(p).map(n).map(y)},p=e=>({vattrs:e.l,vchildren:e.o,vkey:e.i,vname:e.m,vtag:e.v,vtext:e.t}),y=e=>{if("function"==typeof e.vtag){const n=Object.assign({},e.vattrs);return e.vkey&&(n.key=e.vkey),e.vname&&(n.name=e.vname),u(e.vtag,n,...e.vchildren||[])}const n=f(e.vtag,e.vtext);return n.l=e.vattrs,n.o=e.vchildren,n.i=e.vkey,n.m=e.vname,n},m=e=>le(e).$hostElement$,b=(e,n,t)=>{const l=m(e);return{emit:e=>h(l,n,{bubbles:!!(4&t),composed:!!(2&t),cancelable:!!(1&t),detail:e})}},h=(e,n,t)=>{const l=ve.ce(n,t);return e.dispatchEvent(l),l},$=new WeakMap,w=e=>"sc-"+e.h,k=(e,n,t,l,o,i)=>{if(t!==l){let c=ie(e,n),a=n.toLowerCase();if("class"===n){const n=e.classList,o=g(t),s=g(l);n.remove(...o.filter((e=>e&&!s.includes(e)))),n.add(...s.filter((e=>e&&!o.includes(e))))}else if("style"===n){for(const n in t)l&&null!=l[n]||(n.includes("-")?e.style.removeProperty(n):e.style[n]="");for(const n in l)t&&l[n]===t[n]||(n.includes("-")?e.style.setProperty(n,l[n]):e.style[n]=l[n])}else if("key"===n);else if("ref"===n)l&&l(e);else if(c||"o"!==n[0]||"n"!==n[1]){const u=r(l);if((c||u&&null!==l)&&!o)try{if(e.tagName.includes("-"))e[n]=l;else{const o=null==l?"":l;"list"===n?c=!1:null!=t&&e[n]==o||(e[n]=o)}}catch(e){}let f=!1;a!==(a=a.replace(/^xlink\:?/,""))&&(n=a,f=!0),null==l||!1===l?!1===l&&""!==e.getAttribute(n)||(f?e.removeAttributeNS(s,n):e.removeAttribute(n)):(!c||4&i||o)&&!u&&(l=!0===l?"":l,f?e.setAttributeNS(s,n,l):e.setAttribute(n,l))}else if(n="-"===n[2]?n.slice(3):ie(fe,a)?a.slice(2):a[2]+n.slice(3),t||l){const o=n.endsWith(S);n=n.replace(C,""),t&&ve.rel(e,n,t,o),l&&ve.ael(e,n,l,o)}}},j=/\s/,g=e=>e?e.split(j):[],S="Capture",C=RegExp(S+"$"),O=(e,n,t,l)=>{const o=11===n.p.nodeType&&n.p.host?n.p.host:n.p,s=e&&e.l||c,i=n.l||c;for(l of M(Object.keys(s)))l in i||k(o,l,s[l],void 0,t,n.u);for(l of M(Object.keys(i)))k(o,l,s[l],i[l],t,n.u)};function M(e){return e.includes("ref")?[...e.filter((e=>"ref"!==e)),"ref"]:e}const x=(l,o,s)=>{const i=o.o[s];let c,r,a=0;if(null!==i.t)c=i.p=de.createTextNode(i.t);else if(c=i.p=de.createElement(i.v),O(null,i,t),null!=e&&c["s-si"]!==e&&c.classList.add(c["s-si"]=e),i.o)for(a=0;a{let c,r=e;for(r.shadowRoot&&r.tagName===n&&(r=r.shadowRoot);s<=i;++s)o[s]&&(c=x(null,l,s),c&&(o[s].p=c,r.insertBefore(c,t)))},P=(e,n,t)=>{for(let l=n;l<=t;++l){const n=e[l];if(n){const e=n.p;D(n),e&&e.remove()}}},R=(e,n,t=!1)=>e.v===n.v&&(!!t||e.i===n.i),A=(e,n,l=!1)=>{const o=n.p=e.p,s=e.o,i=n.o,c=n.t;null===c?(O(e,n,t),null!==s&&null!==i?((e,n,t,l,o=!1)=>{let s,i,c=0,r=0,a=0,u=0,f=n.length-1,d=n[0],v=n[f],p=l.length-1,y=l[0],m=l[p];for(;c<=f&&r<=p;)if(null==d)d=n[++c];else if(null==v)v=n[--f];else if(null==y)y=l[++r];else if(null==m)m=l[--p];else if(R(d,y,o))A(d,y,o),d=n[++c],y=l[++r];else if(R(v,m,o))A(v,m,o),v=n[--f],m=l[--p];else if(R(d,m,o))A(d,m,o),e.insertBefore(d.p,v.p.nextSibling),d=n[++c],m=l[--p];else if(R(v,y,o))A(v,y,o),e.insertBefore(v.p,d.p),v=n[--f],y=l[++r];else{for(a=-1,u=c;u<=f;++u)if(n[u]&&null!==n[u].i&&n[u].i===y.i){a=u;break}a>=0?(i=n[a],i.v!==y.v?s=x(n&&n[r],t,a):(A(i,y,o),n[a]=void 0,s=i.p),y=l[++r]):(s=x(n&&n[r],t,r),y=l[++r]),s&&d.p.parentNode.insertBefore(s,d.p)}c>f?E(e,null==l[p+1]?null:l[p+1].p,t,l,r,p):r>p&&P(n,c,f)})(o,s,n,i,l):null!==i?(null!==e.t&&(o.textContent=""),E(o,null,n,i,0,i.length-1)):null!==s&&P(s,0,s.length-1)):e.t!==c&&(o.data=c)},D=e=>{e.l&&e.l.ref&&e.l.ref(null),e.o&&e.o.map(D)},L=(e,n)=>{n&&!e.$&&n["s-p"]&&n["s-p"].push(new Promise((n=>e.$=n)))},F=(e,n)=>{if(e.u|=16,!(4&e.u))return L(e,e.k),je((()=>N(e,n)));e.u|=512},N=(e,n)=>{const t=e.j;let l;return n&&(e.u|=256,e.S&&(e.S.map((([e,n])=>_(t,e,n))),e.S=void 0),l=_(t,"componentWillLoad")),T(l,(()=>W(e,t,n)))},T=(e,n)=>U(e)?e.then(n):n(),U=e=>e instanceof Promise||e&&e.then&&"function"==typeof e.then,W=async(e,n,t)=>{var l;const s=e.$hostElement$,i=s["s-rc"];t&&(e=>{const n=e.C,t=e.$hostElement$,l=n.u,s=((e,n)=>{var t;const l=w(n),s=ue.get(l);if(e=11===e.nodeType?e:de,s)if("string"==typeof s){let i,c=$.get(e=e.head||e);if(c||$.set(e,c=new Set),!c.has(l)){{i=de.createElement("style"),i.innerHTML=s;const n=null!==(t=ve.O)&&void 0!==t?t:a(de);null!=n&&i.setAttribute("nonce",n),e.insertBefore(i,e.querySelector("link"))}4&n.u&&(i.innerHTML+=o),c&&c.add(l)}}else e.adoptedStyleSheets.includes(s)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,s]);return l})(t.shadowRoot?t.shadowRoot:t.getRootNode(),n);10&l&&(t["s-sc"]=s,t.classList.add(s+"-h"),2&l&&t.classList.add(s+"-s"))})(e);H(e,n,s,t),i&&(i.map((e=>e())),s["s-rc"]=void 0);{const n=null!==(l=s["s-p"])&&void 0!==l?l:[],t=()=>q(e);0===n.length?t():(Promise.all(n).then(t),e.u|=4,n.length=0)}},H=(t,l,o,s)=>{try{l=l.render(),t.u&=-17,t.u|=2,((t,l,o=!1)=>{const s=t.$hostElement$,i=t.M||f(null,null),c=(e=>e&&e.v===d)(l)?l:u(null,null,l);if(n=s.tagName,o&&c.l)for(const e of Object.keys(c.l))s.hasAttribute(e)&&!["key","ref","style","class"].includes(e)&&(c.l[e]=s[e]);c.v=null,c.u|=4,t.M=c,c.p=i.p=s.shadowRoot||s,e=s["s-sc"],A(i,c,o)})(t,l,s)}catch(e){ce(e,t.$hostElement$)}return null},q=e=>{const n=e.$hostElement$,t=e.j,l=e.k;_(t,"componentDidRender"),64&e.u?_(t,"componentDidUpdate"):(e.u|=64,B(n),_(t,"componentDidLoad"),e.P(n),l||V()),e.R(n),e.$&&(e.$(),e.$=void 0),512&e.u&&ke((()=>F(e,!1))),e.u&=-517},z=e=>{{const n=le(e),t=n.$hostElement$.isConnected;return t&&2==(18&n.u)&&F(n,!1),t}},V=()=>{B(de.documentElement),ke((()=>h(fe,"appload",{detail:{namespace:"zen-editor"}})))},_=(e,n,t)=>{if(e&&e[n])try{return e[n](t)}catch(e){ce(e)}},B=e=>e.classList.add("hydrated"),G=(e,n,t)=>{var l;const o=e.prototype;if(64&n.u&&1&t&&i.forEach((e=>Object.defineProperty(o,e,{value(...n){const t=le(this),l=t.j;if(l){const t=l[e];"function"==typeof t&&t.call(l,...n)}else t.A.then((t=>{const l=t[e];"function"==typeof l&&l.call(t,...n)}))}}))),n.D){e.watchers&&(n.L=e.watchers);const s=Object.entries(n.D);if(s.map((([e,[l]])=>{31&l||2&t&&32&l?Object.defineProperty(o,e,{get(){return((e,n)=>le(this).F.get(n))(0,e)},set(t){((e,n,t,l)=>{const o=le(e),s=o.$hostElement$,i=o.F.get(n),c=o.u,a=o.j;if(t=((e,n)=>null==e||r(e)?e:4&n?"false"!==e&&(""===e||!!e):2&n?parseFloat(e):1&n?e+"":e)(t,l.D[n][0]),(!(8&c)||void 0===i)&&t!==i&&(!Number.isNaN(i)||!Number.isNaN(t))&&(o.F.set(n,t),a)){if(l.L&&128&c){const e=l.L[n];e&&e.map((e=>{try{a[e](t,i,n)}catch(e){ce(e,s)}}))}2==(18&c)&&F(o,!1)}})(this,e,t,n)},configurable:!0,enumerable:!0}):1&t&&64&l&&Object.defineProperty(o,e,{value(...n){var t;const l=le(this);return null===(t=null==l?void 0:l.N)||void 0===t?void 0:t.then((()=>{var t;return null===(t=l.j)||void 0===t?void 0:t[e](...n)}))}})})),1&t){const t=new Map;o.attributeChangedCallback=function(e,l,s){ve.jmp((()=>{var i;const c=t.get(e);if(this.hasOwnProperty(c))s=this[c],delete this[c];else{if(o.hasOwnProperty(c)&&"number"==typeof this[c]&&this[c]==s)return;if(null==c){const t=le(this),o=null==t?void 0:t.u;if(o&&!(8&o)&&128&o&&s!==l){const o=t.j,c=null===(i=n.L)||void 0===i?void 0:i[e];null==c||c.forEach((n=>{null!=o[n]&&o[n].call(o,s,l,e)}))}return}}this[c]=(null!==s||"boolean"!=typeof this[c])&&s}))},e.observedAttributes=Array.from(new Set([...Object.keys(null!==(l=n.L)&&void 0!==l?l:{}),...s.filter((([e,n])=>15&n[0])).map((([e,n])=>{const l=n[1]||e;return t.set(l,e),l}))]))}}return e},I=async(e,n,t)=>{let l;if(!(32&n.u)){if(n.u|=32,t.T){if(l=ae(t),l.then){const e=()=>{};l=await l,e()}l.isProxied||(t.L=l.watchers,G(l,t,2),l.isProxied=!0);const e=()=>{};n.u|=8;try{new l(n)}catch(e){ce(e)}n.u&=-9,n.u|=128,e(),J(n.j)}else l=e.constructor,customElements.whenDefined(t.h).then((()=>n.u|=128));if(l.style){let e=l.style;const n=w(t);if(!ue.has(n)){const l=()=>{};((e,n,t)=>{let l=ue.get(e);ye&&t?(l=l||new CSSStyleSheet,"string"==typeof l?l=n:l.replaceSync(n)):l=n,ue.set(e,l)})(n,e,!!(1&t.u)),l()}}}const o=n.k,s=()=>F(n,!0);o&&o["s-rc"]?o["s-rc"].push(s):s()},J=e=>{_(e,"connectedCallback")},K=e=>{_(e,"disconnectedCallback")},Q=(e,n={})=>{var t;const l=[],s=n.exclude||[],i=fe.customElements,c=de.head,r=c.querySelector("meta[charset]"),u=de.createElement("style"),f=[];let d,v=!0;Object.assign(ve,n),ve.U=new URL(n.resourcesUrl||"./",de.baseURI).href;let p=!1;if(e.map((e=>{e[1].map((n=>{var t;const o={u:n[0],h:n[1],D:n[2],W:n[3]};4&o.u&&(p=!0),o.D=n[2],o.W=n[3],o.L=null!==(t=n[4])&&void 0!==t?t:{};const c=o.h,r=class extends HTMLElement{constructor(e){super(e),se(e=this,o),1&o.u&&e.attachShadow({mode:"open"})}connectedCallback(){d&&(clearTimeout(d),d=null),v?f.push(this):ve.jmp((()=>(e=>{if(!(1&ve.u)){const n=le(e),t=n.C,l=()=>{};if(1&n.u)Y(e,n,t.W),(null==n?void 0:n.j)?J(n.j):(null==n?void 0:n.A)&&n.A.then((()=>J(n.j)));else{n.u|=1;{let t=e;for(;t=t.parentNode||t.host;)if(t["s-p"]){L(n,n.k=t);break}}t.D&&Object.entries(t.D).map((([n,[t]])=>{if(31&t&&e.hasOwnProperty(n)){const t=e[n];delete e[n],e[n]=t}})),I(e,n,t)}l()}})(this)))}disconnectedCallback(){ve.jmp((()=>(async()=>{if(!(1&ve.u)){const e=le(this);e.H&&(e.H.map((e=>e())),e.H=void 0),(null==e?void 0:e.j)?K(e.j):(null==e?void 0:e.A)&&e.A.then((()=>K(e.j)))}})()))}componentOnReady(){return le(this).A}};64&o.u&&(r.formAssociated=!0),o.T=e[0],s.includes(c)||i.get(c)||(l.push(c),i.define(c,G(r,o,1)))}))})),l.length>0&&(p&&(u.textContent+=o),u.textContent+=l+"{visibility:hidden}.hydrated{visibility:inherit}",u.innerHTML.length)){u.setAttribute("data-styles","");const e=null!==(t=ve.O)&&void 0!==t?t:a(de);null!=e&&u.setAttribute("nonce",e),c.insertBefore(u,r?r.nextSibling:c.firstChild)}v=!1,f.length?f.map((e=>e.connectedCallback())):ve.jmp((()=>d=setTimeout(V,30)))},X=(e,n)=>n,Y=(e,n,t)=>{t&&t.map((([t,l,o])=>{const s=e,i=Z(n,o),c=ee(t);ve.ael(s,l,i,c),(n.H=n.H||[]).push((()=>ve.rel(s,l,i,c)))}))},Z=(e,n)=>t=>{try{256&e.u?e.j[n](t):(e.S=e.S||[]).push([n,t])}catch(e){ce(e)}},ee=e=>({passive:!!(1&e),capture:!!(2&e)}),ne=e=>ve.O=e,te=new WeakMap,le=e=>te.get(e),oe=(e,n)=>te.set(n.j=e,n),se=(e,n)=>{const t={u:0,$hostElement$:e,C:n,F:new Map};return t.N=new Promise((e=>t.R=e)),t.A=new Promise((e=>t.P=e)),e["s-p"]=[],e["s-rc"]=[],Y(e,t,n.W),te.set(e,t)},ie=(e,n)=>n in e,ce=(e,n)=>(0,console.error)(e,n),re=new Map,ae=e=>{const n=e.h.replace(/-/g,"_"),t=e.T,l=re.get(t);return l?l[n]:import(`./${t}.entry.js`).then((e=>(re.set(t,e),e[n])),ce) -/*!__STENCIL_STATIC_IMPORT_SWITCH__*/},ue=new Map,fe="undefined"!=typeof window?window:{},de=fe.document||{head:{}},ve={u:0,U:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,n,t,l)=>e.addEventListener(n,t,l),rel:(e,n,t,l)=>e.removeEventListener(n,t,l),ce:(e,n)=>new CustomEvent(e,n)},pe=e=>Promise.resolve(e),ye=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),me=[],be=[],he=(e,n)=>t=>{e.push(t),l||(l=!0,n&&4&ve.u?ke(we):ve.raf(we))},$e=e=>{for(let n=0;n{$e(me),$e(be),(l=me.length>0)&&ve.raf(we)},ke=e=>pe().then(e),je=he(be,!0);export{X as F,d as H,Q as b,b as c,z as f,m as g,u as h,pe as p,oe as r,ne as s} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-e2273e9e.js b/www/js/zui3/zen-editor/p-e2273e9e.js new file mode 100644 index 0000000000..bdb7f19dc3 --- /dev/null +++ b/www/js/zui3/zen-editor/p-e2273e9e.js @@ -0,0 +1,7 @@ +import{m as e}from"./p-01de9657.js";import"./p-7900c24a.js"; +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) + * Released under the MIT license + * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt + *-----------------------------------------------------------------------------*/var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,m=(e,m,l,i)=>{if(m&&"object"==typeof m||"function"==typeof m)for(let o of a(m))r.call(e,o)||o===l||t(e,o,{get:()=>m[o],enumerable:!(i=n(m,o))||i.enumerable});return e},l={};m(l,e,"default");var i=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],o={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["{{!--","--}}"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{{","}}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${i.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:l.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${i.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:l.languages.IndentAction.Indent}}]},s={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/\{\{!--/,"comment.block.start.handlebars","@commentBlock"],[/\{\{!/,"comment.start.handlebars","@comment"],[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.root"}],[/)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)(\w+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/\}\}/,"comment.end.handlebars","@pop"],[/./,"comment.content.handlebars"]],commentBlock:[[/--\}\}/,"comment.block.end.handlebars","@pop"],[/./,"comment.content.handlebars"]],commentHtml:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],handlebarsInSimpleState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3"}],{include:"handlebarsRoot"}],handlebarsInEmbeddedState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],{include:"handlebarsRoot"}],handlebarsRoot:[[/"[^"]*"/,"string.handlebars"],[/[#/][^\s}]+/,"keyword.helper.handlebars"],[/else\b/,"keyword.helper.handlebars"],[/[\s]+/],[/[^}]/,"variable.parameter.handlebars"]]}};export{o as conf,s as language} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/zen-editor.esm.js b/www/js/zui3/zen-editor/zen-editor.esm.js index 293f2586cb..b920452ec2 100644 --- a/www/js/zui3/zen-editor/zen-editor.esm.js +++ b/www/js/zui3/zen-editor/zen-editor.esm.js @@ -1 +1 @@ -import{p as e,b as o}from"./p-b9d115dd.js";export{s as setNonce}from"./p-b9d115dd.js";import{g as r}from"./p-90d6b5f8.js";(()=>{const o=import.meta.url,r={};return""!==o&&(r.resourcesUrl=new URL(".",o).href),e(r)})().then((async e=>(await r(),o([["p-5306bec1",[[65,"zen-editor",{name:[1],readonly:[1028],uploadUrl:[1,"upload-url"],placeholder:[1],fullscreenable:[4],resizable:[4],exposeEditor:[4,"expose-editor"],size:[1],hideUI:[4,"hide-ui"],hideMenubar:[4,"hide-menubar"],menubarMode:[1,"menubar-mode"],bubbleMenu:[4,"bubble-menu"],preferHardBreak:[4,"prefer-hard-break"],locale:[1],css:[1],collaborative:[4],hocuspocus:[1],docName:[1,"doc-name"],username:[1],userColor:[1,"user-color"],value:[1025],editor:[32],isFullscreen:[32],rendered:[32],setHTML:[64],insertHTML:[64],getHTML:[64],getText:[64],focusEditor:[64],blurEditor:[64],setReadonly:[64]},null,{css:["onCSSChange"]}],[1,"zen-editor-core",{name:[1],readonly:[4],uploadUrl:[1,"upload-url"],placeholder:[1],initialContent:[1,"initial-content"],resizable:[4],exposeEditor:[4,"expose-editor"],size:[1],hideUI:[4,"hide-ui"],hideMenubar:[4,"hide-menubar"],menubarMode:[1,"menubar-mode"],extraMenubarItems:[1,"extra-menubar-items"],bubbleMenu:[4,"bubble-menu"],preferHardBreak:[4,"prefer-hard-break"],locale:[1],styles:[16],collaborative:[4],hocuspocus:[1],docName:[1,"doc-name"],username:[1],userColor:[1,"user-color"],updateInputValue:[16],fullscreenable:[4],toggleFullscreen:[16],isFullscreen:[4,"is-fullscreen"],value:[1],editor:[32],forceUpdateCounter:[32],isMonaco:[32]},null,{locale:["onLocaleChanage"]}],[2,"zen-editor-bubble-menu",{menuProps:[16],editor:[16],disabled:[4],element:[32]}],[1,"zen-editor-menubar",{editor:[16],menubarMode:[2,"menubar-mode"],extraMenubarItems:[1,"extra-menubar-items"],forceUpdateCounter:[2,"force-update-counter"],states:[8],toggleMonaco:[16],toggleFullscreen:[16],styles:[16]}],[0,"monaco-editor",{options:[8],initialValue:[1,"initial-value"],tiptapEditor:[16],updateInputValue:[16],setFocus:[64],getValue:[64]},null,{options:["onOptionsChange"]}],[1,"zen-editor-content",{editor:[16],styles:[16]},[[2,"click","handleClick"]]],[0,"zen-editor-menu-item",{itemProps:[8,"item-props"],menubarMode:[2,"menubar-mode"],styles:[16]}]]],["p-de75d67e",[[0,"zen-editor-floating-menu",{menuProps:[16],editor:[16],element:[32]}]]],["p-cd71f736",[[0,"zen-editor-footer",{editor:[16],forceUpdateCounter:[2,"force-update-counter"],toggleFullscreen:[16],showCharCount:[4,"show-char-count"]}]]]],e)))); \ No newline at end of file +import{p as e,b as o}from"./p-7900c24a.js";export{s as setNonce}from"./p-7900c24a.js";import{g as r}from"./p-90d6b5f8.js";(()=>{const o=import.meta.url,r={};return""!==o&&(r.resourcesUrl=new URL(".",o).href),e(r)})().then((async e=>(await r(),o([["p-6ff48369",[[65,"zen-editor",{name:[1],readonly:[1028],uploadUrl:[1,"upload-url"],placeholder:[1],fullscreenable:[4],resizable:[4],exposeEditor:[4,"expose-editor"],size:[1],hideUI:[4,"hide-ui"],hideMenubar:[4,"hide-menubar"],menubarMode:[1,"menubar-mode"],slashMenu:[4,"slash-menu"],bubbleMenu:[4,"bubble-menu"],preferHardBreak:[4,"prefer-hard-break"],neglectDefaultTextStyle:[4,"neglect-default-text-style"],locale:[1],css:[1],collaborative:[4],hocuspocus:[1],docName:[1,"doc-name"],username:[1],userColor:[1,"user-color"],value:[1025],editor:[32],isFullscreen:[32],rendered:[32],setHTML:[64],insertHTML:[64],getHTML:[64],getText:[64],focusEditor:[64],blurEditor:[64],setReadonly:[64]},null,{css:["onCSSChange"]}],[1,"zen-editor-core",{name:[1],readonly:[4],uploadUrl:[1,"upload-url"],placeholder:[1],initialContent:[1,"initial-content"],resizable:[4],exposeEditor:[4,"expose-editor"],size:[1],hideUI:[4,"hide-ui"],hideMenubar:[4,"hide-menubar"],menubarMode:[1,"menubar-mode"],extraMenubarItems:[1,"extra-menubar-items"],slashMenu:[4,"slash-menu"],bubbleMenu:[4,"bubble-menu"],preferHardBreak:[4,"prefer-hard-break"],neglectDefaultTextStyle:[4,"neglect-default-text-style"],locale:[1],styles:[16],collaborative:[4],hocuspocus:[1],docName:[1,"doc-name"],username:[1],userColor:[1,"user-color"],updateInputValue:[16],fullscreenable:[4],toggleFullscreen:[16],isFullscreen:[4,"is-fullscreen"],value:[1],editor:[32],forceUpdateCounter:[32],isMonaco:[32]},null,{locale:["onLocaleChanage"]}],[2,"zen-editor-bubble-menu",{menuProps:[16],editor:[16],disabled:[4],element:[32]}],[1,"zen-editor-menubar",{editor:[16],menubarMode:[2,"menubar-mode"],extraMenubarItems:[1,"extra-menubar-items"],forceUpdateCounter:[2,"force-update-counter"],states:[8],toggleMonaco:[16],toggleFullscreen:[16],styles:[16]}],[1,"zen-editor-slash-menu",{editor:[16],items:[1040],props:[16],currentSelectionIndex:[32]},null,{editor:["onEditorChange"],items:["onItemsChange"],props:["onPropsChange"]}],[0,"monaco-editor",{options:[8],initialValue:[1,"initial-value"],tiptapEditor:[16],updateInputValue:[16],setFocus:[64],getValue:[64]},null,{options:["onOptionsChange"]}],[1,"zen-editor-content",{editor:[16],styles:[16]},[[2,"click","handleClick"]]],[0,"zen-editor-menu-item",{itemProps:[8,"item-props"],menubarMode:[2,"menubar-mode"],styles:[16]}]]],["p-2cebaee6",[[0,"zen-editor-floating-menu",{menuProps:[16],editor:[16],element:[32]}]]],["p-45e30bc7",[[0,"zen-editor-footer",{editor:[16],forceUpdateCounter:[2,"force-update-counter"],toggleFullscreen:[16],showCharCount:[4,"show-char-count"]}]]]],e)))); \ No newline at end of file