From 60ee99054426d39a357e095e8b2b7774c75a8fe4 Mon Sep 17 00:00:00 2001 From: Alexander Bentkamp Date: Sat, 21 Oct 2023 10:38:15 +0200 Subject: [PATCH] vite --- client/public/index.production.min.js | 1 + client/public/loader.production.min.js | 1 + client/public/react-dom.production.min.js | 21 + .../react-jsx-runtime.production.min.js | 1 + client/public/react-popper.production.min.js | 1 + client/public/react.production.min.js | 1 + client/src/App.tsx | 2 +- .../abbreviation/AbbreviationProvider.ts | 1 - client/src/editor/leanclient.ts | 9 +- index.html | 28 + package-lock.json | 686 +++++++++++++++++- package.json | 4 +- server/LeanProject/lakefile.olean | Bin 0 -> 85000 bytes vite.config.ts | 16 + 14 files changed, 741 insertions(+), 31 deletions(-) create mode 100644 client/public/index.production.min.js create mode 100644 client/public/loader.production.min.js create mode 100644 client/public/react-dom.production.min.js create mode 100644 client/public/react-jsx-runtime.production.min.js create mode 100644 client/public/react-popper.production.min.js create mode 100644 client/public/react.production.min.js create mode 100644 index.html create mode 100644 server/LeanProject/lakefile.olean create mode 100644 vite.config.ts diff --git a/client/public/index.production.min.js b/client/public/index.production.min.js new file mode 100644 index 00000000..d9b6f806 --- /dev/null +++ b/client/public/index.production.min.js @@ -0,0 +1 @@ +import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import*as r from"react";import*as i from"react-dom";import o from"react-dom";import{usePopper as s}from"react-popper";var a,c,l;function u(e){return!(!e?.code||!e?.message)}!function(e){e[e.Processing=1]="Processing",e[e.FatalError=2]="FatalError"}(a||(a={})),function(e){e.copy=function(e){return{p:e.p}},e.toKey=function(e){return e.p}}(c||(c={})),function(e){e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.ServerNotInitialized=-32002]="ServerNotInitialized",e[e.UnknownErrorCode=-32001]="UnknownErrorCode",e[e.ContentModified=-32801]="ContentModified",e[e.RequestCancelled=-32800]="RequestCancelled",e[e.RpcNeedsReconnect=-32900]="RpcNeedsReconnect",e[e.WorkerExited=-32901]="WorkerExited",e[e.WorkerCrashed=-32902]="WorkerCrashed"}(l||(l={}));const d={allErrorsOnLine:!0,autoOpenShowsGoal:!0,debounceTime:50};class p{constructor(e,t){let n;this.uri=e,this.sessions=t,this.refsToRelease=[],this.sessionsAtPos=new Map,this.sessionId=(async()=>{try{return await t.iface.createRpcSession(e)}catch(e){throw this.failWithoutClosing(e),e}})(),this.sessionId.catch((()=>{})),this.finalizers=new FinalizationRegistry((e=>{if(this.failed)return;this.refsToRelease.push(e);this.refsToRelease.length>100?(this.releaseNow(),clearTimeout(n),n=void 0):void 0===n&&(n=setTimeout((()=>{this.releaseNow(),n=void 0}),100))}))}async releaseNow(){const e=await this.sessionId;this.failed||0===this.refsToRelease.length||(this.sessions.iface.release({uri:this.uri,sessionId:e,refs:this.refsToRelease}),this.refsToRelease=[])}registerRefs(e){if(e instanceof Object)if(1===Object.keys(e).length&&"p"in e&&"object"!=typeof e.p)this.finalizers.register(e,c.copy(e));else for(const t of Object.values(e))this.registerRefs(t);else if(e instanceof Array)for(const t of e)this.registerRefs(t)}failWithoutClosing(e){this.failed=e,this.sessions.sessions.get(this.uri)===this&&this.sessions.sessions.delete(this.uri)}fail(e){this.failWithoutClosing(e),this.sessionId.then((e=>this.sessions.iface.closeRpcSession(e)))}async call(e,t,n){const r=await this.sessionId;if(this.failed)throw this.failed;try{const i=await this.sessions.iface.call({method:t,params:n,sessionId:r,...e});if(this.registerRefs(i),null===i)return;return i}catch(e){throw e?.code!==l.WorkerCrashed&&e?.code!==l.WorkerExited&&e?.code!==l.RpcNeedsReconnect||this.fail(e),e}}at(e){const t=`${e.position.line}:${e.position.character}`;if(this.sessionsAtPos.has(t))return this.sessionsAtPos.get(t);const n={call:(t,n)=>this.call(e,t,n)};return this.sessionsAtPos.set(t,n),n}}class h{constructor(e){this.iface=e,this.sessions=new Map}connectCore(e){if(this.sessions.has(e))return this.sessions.get(e);const t=new p(e,this);return this.sessions.set(e,t),t}connect(e){return this.connectCore(e.textDocument.uri).at(e)}closeSessionForFile(e){this.sessions.get(e)?.fail("file closed")}closeAllSessions(){for(const e of[...this.sessions.keys()])this.closeSessionForFile(e)}dispose(){this.closeAllSessions()}}function f(e,t){return e.call("Lean.Widget.getInteractiveGoals",t)}function g(e,t){return e.call("Lean.Widget.getInteractiveTermGoal",t)}function m(e,t){return e.call("Lean.Widget.getInteractiveDiagnostics",{lineRange:t})}function y(e,t,n){return e.call("Lean.Widget.InteractiveDiagnostics.msgToInteractive",{msg:t,indent:n})}function v(e,t){return e.call("Lean.Widget.lazyTraceChildrenToInteractive",t)}function b(e,t){return e.call("Lean.Widget.InteractiveDiagnostics.infoToInteractive",t)}function k(e,t,n){return e.call("Lean.Widget.getGoToLocation",{kind:t,info:n})}function w(e,t){return e.call("Lean.Widget.getWidgets",t)}function R(e,t,n){return e.call("Lean.Widget.getWidgetSource",{pos:t,hash:n})}function T(e){const t=e=>"append"in e?e.append.reduce(((e,n)=>e+t(n)),""):"tag"in e?t(e.tag[1]):"text"in e?e.text:"";return t(e)}function x(e){return e.names.filter((e=>!e.includes("[anonymous]")))}const D=r.createContext(null),C=r.createContext(void 0),S=r.createContext(d),_=r.createContext(new Map),P=r.createContext(new Map);var q,N,E;function M(e){const t=e.split(/[\\/]/).pop();return t||""}function O(e,t,n){r.useEffect((()=>{const n=e.on(t);return()=>n.dispose()}),n)}function j(e,t){const n=t??(e=>e),[i,o]=r.useState(e.current?n(e.current):void 0);return O(e,(e=>o(e?n(e):void 0))),i}function I(e,t,n){const i=r.useContext(D);r.useEffect((()=>{i.api.subscribeServerNotifications(e).catch((t=>{console.error(`Failed subscribing to server notification '${e}': ${t}`)}));const n=i.events.gotServerNotification.on((([n,r])=>{n===e&&t(r)}));return()=>{n.dispose(),i.api.unsubscribeServerNotifications(e)}}),n)}function L(e,t,n,i){const[o,s]=r.useState(t);return I(e,(e=>{n(e).then((e=>s(e)))}),i),[o,s]}function A(e,t,n){const i=r.useContext(D);r.useEffect((()=>{i.api.subscribeClientNotifications(e).catch((t=>{console.error(`Failed subscribing to client notification '${e}': ${t}`)}));const n=i.events.sentClientNotification.on((([n,r])=>{n===e&&t(r)}));return()=>{n.dispose(),i.api.unsubscribeClientNotifications(e)}}),n)}function $(e,t,n,i){const[o,s]=r.useState(t);return A(e,(e=>{s((t=>n(t,e)))}),i),[o,s]}function F(e,t){const[n,i]=r.useState(e),o=r.useRef(t);return n||(o.current=t),[{isPaused:n,setPaused:i},o.current,o]}function z(e){return r.forwardRef(((t,n)=>{const i=r.useRef(null);return e(t,i,(e=>{i.current=e,n&&("function"==typeof n?n(e):n.current=e)}))}))}!function(e){e.isEqual=function(e,t){return e.uri===t.uri&&e.line===t.line&&e.character===t.character},e.toTdpp=function(e){return{textDocument:{uri:e.uri},position:{line:e.line,character:e.character}}},e.toString=function(e){return`${e.uri}:${e.line+1}:${e.character}`}}(q||(q={})),function(e){e.isLessThanOrEqual=function(e,t){return e.linee.end.character)return!1}return e.start.line<=t.line&&t.line<=e.end.line}}(E||(E={}));const W=r.createContext({registerDescendant:()=>()=>{}});function H(e){return u(e)?new Error(`Rpc error: ${l[e.code]}: ${e.message}`):e instanceof Error?e:new Error(`Unrecognised error ${JSON.stringify(e)}`)}function U(e){if(!u(e)||e.code!==l.MethodNotFound)throw H(e)}function V(e,t=[]){const n=r.useRef({state:"notStarted"}),i=r.useRef([]),o=r.useRef(0),[s,a]=r.useState(0),c=r.useCallback((async()=>{if("loading"===n.current.state||"resolved"===n.current.state)return;o.current+=1,n.current={state:"loading"},a(o.current),o.current+=1;const t=o.current,r=e=>{o.current===t&&(n.current=e,a(o.current))};return e().then((e=>r({state:"resolved",value:e})),(e=>r({state:"rejected",error:e})))}),t);return i.current.length===t.length&&i.current.every(((e,n)=>Object.is(e,t[n])))||(o.current+=1,n.current={state:"notStarted"},i.current=t,a(o.current)),[n.current,c]}function K(e,t=[]){const[n,r]=V(e,t);return"notStarted"===n.state?(r(),{state:"loading"}):n}function B(e,t=[]){const[n,i]=r.useState(void 0),o=K((async()=>{const t=await e();return i(t),t}),t);return"loading"===o.state&&void 0!==n?{state:"resolved",value:n}:o}const Z=r.createContext(void 0);function J({children:t}){const n=r.useContext(D),[i]=r.useState((()=>new h({createRpcSession:e=>n.api.createRpcSession(e),closeRpcSession:e=>n.api.closeRpcSession(e),call:e=>n.api.sendClientRequest(e.textDocument.uri,"$/lean/rpc/call",e),release:e=>{n.api.sendClientNotification(e.uri,"$/lean/rpc/release",e)}})));return r.useEffect((()=>()=>i.dispose()),[]),A("textDocument/didClose",(e=>{i.closeSessionForFile(e.textDocument.uri)}),[]),O(n.events.serverRestarted,(()=>i.closeAllSessions())),e(Z.Provider,{value:i,children:t})}const G={call:async()=>{throw new Error("no rpc context set")}};function Q(e){return function(e){return r.useContext(Z)?.connect(e)||G}(q.toTdpp(e))}const X=r.createContext(G),Y=r.createContext("top"),ee=z(((n,o,a)=>{const{reference:c,mkTooltipContent:l,placement:u,onFirstUpdate:d,...p}=n,h=r.useContext(Y),f=u||h,[g,m]=r.useState(f),y=r.useCallback((e=>{e.placement&&m(e.placement),d&&d(e)}),[d]),[v,b]=r.useState(null),{styles:k,attributes:w,update:R}=s(c,o.current,{modifiers:[{name:"arrow",options:{element:v}},{name:"offset",options:{offset:[0,8]}}],placement:f,onFirstUpdate:y}),T=r.useCallback((()=>R?.()),[R]),x=r.useContext(W),D=t("div",{ref:e=>{a(e),x.registerDescendant(e)},style:k.popper,className:"tooltip",...p,...w.popper,children:[e(Y.Provider,{value:g,children:l(T)}),e("div",{ref:b,style:k.arrow,className:"tooltip-arrow"})]});return i.createPortal(D,document.body)})),te=z(((t,n,i)=>{const{setHoverState:o,...s}=t,a=(e,t)=>{if(n.current&&t.target instanceof Node&&n.current.contains(t.target)){if("_DetectHoverSpanSeen"in t)return;t._DetectHoverSpanSeen={},e?t.ctrlKey||t.metaKey?o("ctrlOver"):o("over"):o("off")}};return r.useEffect((()=>{const e=e=>{"Control"!==e.key&&"Meta"!==e.key||o((e=>"over"===e?"ctrlOver":e))},t=e=>{"Control"!==e.key&&"Meta"!==e.key||o((e=>"ctrlOver"===e?"over":e))};return document.addEventListener("keydown",e),document.addEventListener("keyup",t),()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",t)}}),[]),e("span",{...s,ref:i,onPointerOver:e=>{a(!0,e),s.onPointerOver&&s.onPointerOver(e)},onPointerOut:e=>{a(!1,e),s.onPointerOut&&s.onPointerOut(e)},onPointerMove:e=>{e.ctrlKey||e.metaKey?o((e=>"over"===e?"ctrlOver":e)):o((e=>"ctrlOver"===e?"over":e)),s.onPointerMove&&s.onPointerMove(e)},children:s.children})})),ne=r.createContext({pinParent:()=>{}}),re=z(((n,i,o)=>{const{mkTooltipContent:s,...a}=n,[c,l]=r.useState("hide"),u="hide"!==c,d=r.useContext(ne);r.useEffect((()=>{"pin"===c&&d.pinParent()}),[c,d]);const p=r.useMemo((()=>({pinParent:()=>{l("pin"),d.pinParent()}})),[d]),h=e=>i.current&&e instanceof Node&&i.current.contains(e),[f,g]=function(e){const t=r.useContext(W);r.useEffect((()=>{if(e.current){const n=t.registerDescendant(e.current);return()=>n()}}),[e,t]);const n=r.useRef(new Set),i=t=>{if(e.current&&e.current.contains(t))return!0;for(const e of n.current)if(e.contains(t))return!0;return!1},o=e=>{const r=t.registerDescendant(e);return e&&n.current.add(e),()=>{e&&n.current.delete(e),r()}};return[r.useMemo((()=>({contains:i})),[e]),r.useMemo((()=>({registerDescendant:o})),[t])]}(i),m=r.useRef(),y=()=>{m.current&&(window.clearTimeout(m.current),m.current=void 0)},v=e=>e.altKey||e.ctrlKey||e.shiftKey||e.metaKey,b=e=>{y(),l((e=>"pin"===e?"hide":"pin"))};!function(e,t){r.useEffect((()=>{const n=n=>{n.target instanceof Node&&!e.contains(n.target)&&(n.target instanceof Element&&"HTML"===n.target.tagName||t(n))};return document.addEventListener("pointerdown",n),()=>document.removeEventListener("pointerdown",n)}),[e,t])}(f,r.useCallback((()=>{y(),l("hide")}),[]));const k=r.useRef(!1),w=()=>{y(),m.current=window.setTimeout((()=>{l((e=>"hide"===e?"show":e)),m.current=void 0}),500)},R=()=>{y(),m.current=window.setTimeout((()=>{k.current||l((e=>"show"===e?"hide":e)),m.current=void 0}),300)},T=(e,t)=>{"_WithTooltipOnHoverSeen"in t||h(t.target)&&(t._WithTooltipOnHoverSeen={},e())};return e(W.Provider,{value:g,children:t("span",{...a,ref:o,onClick:e=>{h(e.target)&&(e.stopPropagation(),void 0!==a.onClick?a.onClick(e,b):b())},onPointerDown:e=>{v(e)&&e.preventDefault()},onPointerOver:e=>{v(e)||T(w,e),void 0!==a.onPointerOver&&a.onPointerOver(e)},onPointerOut:e=>{T(R,e),void 0!==a.onPointerOut&&a.onPointerOut(e)},children:[u&&e(ne.Provider,{value:p,children:e(ee,{reference:i.current,onPointerEnter:e=>{k.current=!0,y()},onPointerLeave:e=>{k.current=!1,R()},mkTooltipContent:s})}),a.children]})})}));function ie(){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,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}let oe={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,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};const se=/[&<>"']/,ae=new RegExp(se.source,"g"),ce=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,le=new RegExp(ce.source,"g"),ue={"&":"&","<":"<",">":">",'"':""","'":"'"},de=e=>ue[e];function pe(e,t){if(t){if(se.test(e))return e.replace(ae,de)}else if(ce.test(e))return e.replace(le,de);return e}const he=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function fe(e){return e.replace(he,((e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""))}const ge=/(^|[^\[])\^/g;function me(e,t){e="string"==typeof e?e:e.source,t=t||"";const n={replace:(t,r)=>(r=(r=r.source||r).replace(ge,"$1"),e=e.replace(t,r),n),getRegex:()=>new RegExp(e,t)};return n}const ye=/[^\w:]/g,ve=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function be(e,t,n){if(e){let e;try{e=decodeURIComponent(fe(n)).replace(ye,"").toLowerCase()}catch(e){return null}if(0===e.indexOf("javascript:")||0===e.indexOf("vbscript:")||0===e.indexOf("data:"))return null}t&&!ve.test(n)&&(n=function(e,t){ke[" "+e]||(we.test(e)?ke[" "+e]=e+"/":ke[" "+e]=Se(e,"/",!0));const n=-1===(e=ke[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(Re,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(Te,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(e){return null}return n}const ke={},we=/^[^:]+:\/*[^/]*$/,Re=/^([^:]+:)[\s\S]*$/,Te=/^([^:]+:\/*[^/]*)[\s\S]*$/;const xe={exec:function(){}};function De(e){let t,n,r=1;for(;r{let r=!1,i=t;for(;--i>=0&&"\\"===n[i];)r=!r;return r?"|":" |"})).split(/ \|/);let r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),n.length>t)n.splice(t);else for(;n.length1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}function qe(e,t,n,r){const i=t.href,o=t.title?pe(t.title):null,s=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){r.state.inLink=!0;const e={type:"link",raw:n,href:i,title:o,text:s,tokens:r.inlineTokens(s)};return r.state.inLink=!1,e}return{type:"image",raw:n,href:i,title:o,text:pe(s)}}class Ne{constructor(e){this.options=e||oe}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:Se(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\s+)(?:```)/);if(null===n)return t;const r=n[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=r.length?e.slice(r.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline._escapes,"$1"):t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=Se(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){const e=t[0].replace(/^ *>[ \t]?/gm,"");return{type:"blockquote",raw:t[0],tokens:this.lexer.blockTokens(e,[]),text:e}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n,r,i,o,s,a,c,l,u,d,p,h,f=t[1].trim();const g=f.length>1,m={type:"list",raw:"",ordered:g,start:g?+f.slice(0,-1):"",loose:!1,items:[]};f=g?`\\d{1,9}\\${f.slice(-1)}`:`\\${f}`,this.options.pedantic&&(f=g?f:"[*+-]");const y=new RegExp(`^( {0,3}${f})((?:[\t ][^\\n]*)?(?:\\n|$))`);for(;e&&(h=!1,t=y.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),l=t[2].split("\n",1)[0],u=e.split("\n",1)[0],this.options.pedantic?(o=2,p=l.trimLeft()):(o=t[2].search(/[^ ]/),o=o>4?1:o,p=l.slice(o),o+=t[1].length),a=!1,!l&&/^ *$/.test(u)&&(n+=u+"\n",e=e.substring(u.length+1),h=!0),!h){const t=new RegExp(`^ {0,${Math.min(3,o-1)}}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))`),r=new RegExp(`^ {0,${Math.min(3,o-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),i=new RegExp(`^ {0,${Math.min(3,o-1)}}(?:\`\`\`|~~~)`),s=new RegExp(`^ {0,${Math.min(3,o-1)}}#`);for(;e&&(d=e.split("\n",1)[0],l=d,this.options.pedantic&&(l=l.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!i.test(l))&&!s.test(l)&&!t.test(l)&&!r.test(e);){if(l.search(/[^ ]/)>=o||!l.trim())p+="\n"+l.slice(o);else{if(a)break;p+="\n"+l}a||l.trim()||(a=!0),n+=d+"\n",e=e.substring(d.length+1)}}m.loose||(c?m.loose=!0:/\n *\n *$/.test(n)&&(c=!0)),this.options.gfm&&(r=/^\[[ xX]\] /.exec(p),r&&(i="[ ] "!==r[0],p=p.replace(/^\[[ xX]\] +/,""))),m.items.push({type:"list_item",raw:n,task:!!r,checked:i,loose:!1,text:p}),m.raw+=n}m.items[m.items.length-1].raw=n.trimRight(),m.items[m.items.length-1].text=p.trimRight(),m.raw=m.raw.trimRight();const v=m.items.length;for(s=0;s"space"===e.type)),t=e.every((e=>{const t=e.raw.split("");let n=0;for(const e of t)if("\n"===e&&(n+=1),n>1)return!0;return!1}));!m.loose&&e.length&&t&&(m.loose=!0,m.items[s].loose=!0)}return m}}html(e){const t=this.rules.block.html.exec(e);if(t){const e={type:"html",raw:t[0],pre:!this.options.sanitizer&&("pre"===t[1]||"script"===t[1]||"style"===t[1]),text:t[0]};if(this.options.sanitize){const n=this.options.sanitizer?this.options.sanitizer(t[0]):pe(t[0]);e.type="paragraph",e.text=n,e.tokens=this.lexer.inline(n)}return e}}def(e){const t=this.rules.block.def.exec(e);if(t){const e=t[1].toLowerCase().replace(/\s+/g," "),n=t[2]?t[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline._escapes,"$1"):"",r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline._escapes,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:n,title:r}}}table(e){const t=this.rules.block.table.exec(e);if(t){const e={type:"table",header:Ce(t[1]).map((e=>({text:e}))),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(e.header.length===e.align.length){e.raw=t[0];let n,r,i,o,s=e.align.length;for(n=0;n({text:e})));for(s=e.header.length,r=0;r/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):pe(t[0]):t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const t=Se(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{const e=function(e,t){if(-1===e.indexOf(t[1]))return-1;const n=e.length;let r=0,i=0;for(;i-1){const n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],r="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^$/.test(e)?n.slice(1):n.slice(1,-1)),qe(t,{href:n?n.replace(this.rules.inline._escapes,"$1"):n,title:r?r.replace(this.rules.inline._escapes,"$1"):r},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=(n[2]||n[1]).replace(/\s+/g," ");if(e=t[e.toLowerCase()],!e){const e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return qe(n,e,n[0],this.lexer)}}emStrong(e,t,n=""){let r=this.rules.inline.emStrong.lDelim.exec(e);if(!r)return;if(r[3]&&n.match(/[\p{L}\p{N}]/u))return;const i=r[1]||r[2]||"";if(!i||i&&(""===n||this.rules.inline.punctuation.exec(n))){const n=r[0].length-1;let i,o,s=n,a=0;const c="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+n);null!=(r=c.exec(t));){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i)continue;if(o=i.length,r[3]||r[4]){s+=o;continue}if((r[5]||r[6])&&n%3&&!((n+o)%3)){a+=o;continue}if(s-=o,s>0)continue;o=Math.min(o,o+s+a);const t=e.slice(0,n+r.index+(r[0].length-i.length)+o);if(Math.min(n,o)%2){const e=t.slice(1,-1);return{type:"em",raw:t,text:e,tokens:this.lexer.inlineTokens(e)}}const c=t.slice(2,-2);return{type:"strong",raw:t,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const n=/[^ ]/.test(e),r=/^ /.test(e)&&/ $/.test(e);return n&&r&&(e=e.substring(1,e.length-1)),e=pe(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e,t){const n=this.rules.inline.autolink.exec(e);if(n){let e,r;return"@"===n[2]?(e=pe(this.options.mangle?t(n[1]):n[1]),r="mailto:"+e):(e=pe(n[1]),r=e),{type:"link",raw:n[0],text:e,href:r,tokens:[{type:"text",raw:e,text:e}]}}}url(e,t){let n;if(n=this.rules.inline.url.exec(e)){let e,r;if("@"===n[2])e=pe(this.options.mangle?t(n[0]):n[0]),r="mailto:"+e;else{let t;do{t=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(t!==n[0]);e=pe(n[0]),r="www."===n[1]?"http://"+e:e}return{type:"link",raw:n[0],text:e,href:r,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e,t){const n=this.rules.inline.text.exec(e);if(n){let e;return e=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):pe(n[0]):n[0]:pe(this.options.smartypants?t(n[0]):n[0]),{type:"text",raw:n[0],text:e}}}}const Ee={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 *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:xe,lheading:/^((?:.|\n(?!\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?'|\([^()]*\))/};Ee.def=me(Ee.def).replace("label",Ee._label).replace("title",Ee._title).getRegex(),Ee.bullet=/(?:[*+-]|\d{1,9}[.)])/,Ee.listItemStart=me(/^( *)(bull) */).replace("bull",Ee.bullet).getRegex(),Ee.list=me(Ee.list).replace(/bull/g,Ee.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Ee.def.source+")").getRegex(),Ee._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",Ee._comment=/|$)/,Ee.html=me(Ee.html,"i").replace("comment",Ee._comment).replace("tag",Ee._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Ee.paragraph=me(Ee._paragraph).replace("hr",Ee.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",Ee._tag).getRegex(),Ee.blockquote=me(Ee.blockquote).replace("paragraph",Ee.paragraph).getRegex(),Ee.normal=De({},Ee),Ee.gfm=De({},Ee.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Ee.gfm.table=me(Ee.gfm.table).replace("hr",Ee.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",Ee._tag).getRegex(),Ee.gfm.paragraph=me(Ee._paragraph).replace("hr",Ee.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",Ee.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",Ee._tag).getRegex(),Ee.pedantic=De({},Ee.normal,{html:me("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Ee._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:xe,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:me(Ee.normal._paragraph).replace("hr",Ee.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Ee.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});const Me={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:xe,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:xe,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}Me._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",Me.punctuation=me(Me.punctuation).replace(/punctuation/g,Me._punctuation).getRegex(),Me.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Me.escapedEmSt=/(?:^|[^\\])(?:\\\\)*\\[*_]/g,Me._comment=me(Ee._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Me.emStrong.lDelim=me(Me.emStrong.lDelim).replace(/punct/g,Me._punctuation).getRegex(),Me.emStrong.rDelimAst=me(Me.emStrong.rDelimAst,"g").replace(/punct/g,Me._punctuation).getRegex(),Me.emStrong.rDelimUnd=me(Me.emStrong.rDelimUnd,"g").replace(/punct/g,Me._punctuation).getRegex(),Me._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Me._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Me._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])?)+(?![-_])/,Me.autolink=me(Me.autolink).replace("scheme",Me._scheme).replace("email",Me._email).getRegex(),Me._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Me.tag=me(Me.tag).replace("comment",Me._comment).replace("attribute",Me._attribute).getRegex(),Me._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Me._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Me._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Me.link=me(Me.link).replace("label",Me._label).replace("href",Me._href).replace("title",Me._title).getRegex(),Me.reflink=me(Me.reflink).replace("label",Me._label).replace("ref",Ee._label).getRegex(),Me.nolink=me(Me.nolink).replace("ref",Ee._label).getRegex(),Me.reflinkSearch=me(Me.reflinkSearch,"g").replace("reflink",Me.reflink).replace("nolink",Me.nolink).getRegex(),Me.normal=De({},Me),Me.pedantic=De({},Me.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:me(/^!?\[(label)\]\((.*?)\)/).replace("label",Me._label).getRegex(),reflink:me(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Me._label).getRegex()}),Me.gfm=De({},Me.normal,{escape:me(Me.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]*?(?:(?=[\\t+" ".repeat(n.length)));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((r=>!!(n=r.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.space(e))e=e.substring(n.raw.length),1===n.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(n);else if(n=this.tokenizer.code(e))e=e.substring(n.raw.length),r=t[t.length-1],!r||"paragraph"!==r.type&&"text"!==r.type?t.push(n):(r.raw+="\n"+n.raw,r.text+="\n"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=r.text);else if(n=this.tokenizer.fences(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.heading(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.hr(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.blockquote(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.list(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.html(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.def(e))e=e.substring(n.raw.length),r=t[t.length-1],!r||"paragraph"!==r.type&&"text"!==r.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(r.raw+="\n"+n.raw,r.text+="\n"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text);else if(n=this.tokenizer.table(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.lheading(e))e=e.substring(n.raw.length),t.push(n);else{if(i=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const n=e.slice(1);let r;this.options.extensions.startBlock.forEach((function(e){r=e.call({lexer:this},n),"number"==typeof r&&r>=0&&(t=Math.min(t,r))})),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(this.state.top&&(n=this.tokenizer.paragraph(i)))r=t[t.length-1],o&&"paragraph"===r.type?(r.raw+="\n"+n.raw,r.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(n),o=i.length!==e.length,e=e.substring(n.raw.length);else if(n=this.tokenizer.text(e))e=e.substring(n.raw.length),r=t[t.length-1],r&&"text"===r.type?(r.raw+="\n"+n.raw,r.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n,r,i,o,s,a,c=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(o=this.tokenizer.rules.inline.reflinkSearch.exec(c));)e.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(c=c.slice(0,o.index)+"["+Pe("a",o[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(o=this.tokenizer.rules.inline.blockSkip.exec(c));)c=c.slice(0,o.index)+"["+Pe("a",o[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(o=this.tokenizer.rules.inline.escapedEmSt.exec(c));)c=c.slice(0,o.index+o[0].length-2)+"++"+c.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex),this.tokenizer.rules.inline.escapedEmSt.lastIndex--;for(;e;)if(s||(a=""),s=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((r=>!!(n=r.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.escape(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.tag(e))e=e.substring(n.raw.length),r=t[t.length-1],r&&"text"===n.type&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(n=this.tokenizer.link(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(n.raw.length),r=t[t.length-1],r&&"text"===n.type&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(n=this.tokenizer.emStrong(e,c,a))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.codespan(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.br(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.del(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.autolink(e,je))e=e.substring(n.raw.length),t.push(n);else if(this.state.inLink||!(n=this.tokenizer.url(e,je))){if(i=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const n=e.slice(1);let r;this.options.extensions.startInline.forEach((function(e){r=e.call({lexer:this},n),"number"==typeof r&&r>=0&&(t=Math.min(t,r))})),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(n=this.tokenizer.inlineText(i,Oe))e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(a=n.raw.slice(-1)),s=!0,r=t[t.length-1],r&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(n.raw.length),t.push(n);return t}}class Le{constructor(e){this.options=e||oe}code(e,t,n){const r=(t||"").match(/\S*/)[0];if(this.options.highlight){const t=this.options.highlight(e,r);null!=t&&t!==e&&(n=!0,e=t)}return e=e.replace(/\n$/,"")+"\n",r?'
'+(n?e:pe(e,!0))+"
\n":"
"+(n?e:pe(e,!0))+"
\n"}blockquote(e){return`
\n${e}
\n`}html(e){return e}heading(e,t,n,r){if(this.options.headerIds){return`${e}\n`}return`${e}\n`}hr(){return this.options.xhtml?"
\n":"
\n"}list(e,t,n){const r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"}listitem(e){return`
  • ${e}
  • \n`}checkbox(e){return" "}paragraph(e){return`

    ${e}

    \n`}table(e,t){return t&&(t=`${t}`),"\n\n"+e+"\n"+t+"
    \n"}tablerow(e){return`\n${e}\n`}tablecell(e,t){const n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`\n`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return this.options.xhtml?"
    ":"
    "}del(e){return`${e}`}link(e,t,n){if(null===(e=be(this.options.sanitize,this.options.baseUrl,e)))return n;let r='",r}image(e,t,n){if(null===(e=be(this.options.sanitize,this.options.baseUrl,e)))return n;let r=`${n}":">",r}text(e){return e}}class Ae{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,n){return""+n}image(e,t,n){return""+n}br(){return""}}class $e{constructor(){this.seen={}}serialize(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(e,t){let n=e,r=0;if(this.seen.hasOwnProperty(n)){r=this.seen[e];do{r++,n=e+"-"+r}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=r,this.seen[n]=0),n}slug(e,t={}){const n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)}}class Fe{constructor(e){this.options=e||oe,this.options.renderer=this.options.renderer||new Le,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Ae,this.slugger=new $e}static parse(e,t){return new Fe(t).parse(e)}static parseInline(e,t){return new Fe(t).parseInline(e)}parse(e,t=!0){let n,r,i,o,s,a,c,l,u,d,p,h,f,g,m,y,v,b,k,w="";const R=e.length;for(n=0;n0&&"paragraph"===m.tokens[0].type?(m.tokens[0].text=b+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=b+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:b}):g+=b),g+=this.parse(m.tokens,f),u+=this.renderer.listitem(g,v,y);w+=this.renderer.list(u,p,h);continue;case"html":w+=this.renderer.html(d.text);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(d.tokens));continue;case"text":for(u=d.tokens?this.parseInline(d.tokens):d.text;n+1{r(e.text,e.lang,(function(t,n){if(t)return o(t);null!=n&&n!==e.text&&(e.text=n,e.escaped=!0),s--,0===s&&o()}))}),0))})),void(0===s&&o())}function r(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"

    An error occurred:

    "+pe(e.message+"",!0)+"
    ";throw e}try{const n=Ie.lex(e,t);if(t.walkTokens){if(t.async)return Promise.all(ze.walkTokens(n,t.walkTokens)).then((()=>Fe.parse(n,t))).catch(r);ze.walkTokens(n,t.walkTokens)}return Fe.parse(n,t)}catch(e){r(e)}}var We,He;ze.options=ze.setOptions=function(e){var t;return De(ze.defaults,e),t=ze.defaults,oe=t,ze},ze.getDefaults=ie,ze.defaults=oe,ze.use=function(...e){const t=ze.defaults.extensions||{renderers:{},childTokens:{}};e.forEach((e=>{const n=De({},e);if(n.async=ze.defaults.async||n.async,e.extensions&&(e.extensions.forEach((e=>{if(!e.name)throw new Error("extension name required");if(e.renderer){const n=t.renderers[e.name];t.renderers[e.name]=n?function(...t){let r=e.renderer.apply(this,t);return!1===r&&(r=n.apply(this,t)),r}:e.renderer}if(e.tokenizer){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");t[e.level]?t[e.level].unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}e.childTokens&&(t.childTokens[e.name]=e.childTokens)})),n.extensions=t),e.renderer){const t=ze.defaults.renderer||new Le;for(const n in e.renderer){const r=t[n];t[n]=(...i)=>{let o=e.renderer[n].apply(t,i);return!1===o&&(o=r.apply(t,i)),o}}n.renderer=t}if(e.tokenizer){const t=ze.defaults.tokenizer||new Ne;for(const n in e.tokenizer){const r=t[n];t[n]=(...i)=>{let o=e.tokenizer[n].apply(t,i);return!1===o&&(o=r.apply(t,i)),o}}n.tokenizer=t}if(e.walkTokens){const t=ze.defaults.walkTokens;n.walkTokens=function(n){let r=[];return r.push(e.walkTokens.call(this,n)),t&&(r=r.concat(t.call(this,n))),r}}ze.setOptions(n)}))},ze.walkTokens=function(e,t){let n=[];for(const r of e)switch(n=n.concat(t.call(ze,r)),r.type){case"table":for(const e of r.header)n=n.concat(ze.walkTokens(e.tokens,t));for(const e of r.rows)for(const r of e)n=n.concat(ze.walkTokens(r.tokens,t));break;case"list":n=n.concat(ze.walkTokens(r.items,t));break;default:ze.defaults.extensions&&ze.defaults.extensions.childTokens&&ze.defaults.extensions.childTokens[r.type]?ze.defaults.extensions.childTokens[r.type].forEach((function(e){n=n.concat(ze.walkTokens(r[e],t))})):r.tokens&&(n=n.concat(ze.walkTokens(r.tokens,t)))}return n},ze.parseInline=function(e,t){if(null==e)throw new Error("marked.parseInline(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");_e(t=De({},ze.defaults,t||{}));try{const n=Ie.lexInline(e,t);return t.walkTokens&&ze.walkTokens(n,t.walkTokens),Fe.parseInline(n,t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"

    An error occurred:

    "+pe(e.message+"",!0)+"
    ";throw e}},ze.Parser=Fe,ze.parser=Fe.parse,ze.Renderer=Le,ze.TextRenderer=Ae,ze.Lexer=Ie,ze.lexer=Ie.lex,ze.Tokenizer=Ne,ze.Slugger=$e,ze.parse=ze,ze.options,ze.setOptions,ze.use,ze.walkTokens,ze.parseInline,Fe.parse,Ie.lex,function(e){e.isEqual=function(e,t){return"hyp"in e?"hyp"in t&&e.hyp===t.hyp:"hypType"in e?"hypType"in t&&(e.hypType[0]===t.hypType[0]&&e.hypType[1]===t.hypType[1]):"hypValue"in e?"hypValue"in t&&(e.hypValue[0]===t.hypValue[0]&&e.hypValue[1]===t.hypValue[1]):"target"in e&&("target"in t&&e.target===t.target)},e.withSubexprPos=function(e,t){if("hyp"in e)return e;if("hypType"in e)return{hypType:[e.hypType[0],t]};if("hypValue"in e)return{hypValue:[e.hypValue[0],t]};if("target"in e)return{target:t};throw new Error(`unrecognized GoalLocation variant ${JSON.stringify(e)}`)}}(We||(We={})),function(e){e.isEqual=function(e,t){return e.mvarId===t.mvarId&&We.isEqual(e.loc,t.loc)},e.withSubexprPos=function(e,t){return{...e,loc:We.withSubexprPos(e.loc,t)}}}(He||(He={}));const Ue=r.createContext(void 0);function Ve(t){const{locs:n,loc:i,alwaysHighlight:o,setHoverState:s,...a}=t,c=o||!!n&&!!i,[l,u]=r.useState("off");let d="";c&&(d+="highlightable ","off"!==l&&(d+="highlight "),a.className&&(d+=a.className));const p="highlightable "+(n&&i&&n.isSelected(i)?"highlight-selected ":"");return e(te,{...a,setHoverState:e=>{u(e),s&&s(e)},className:d,onClick:e=>{e.shiftKey&&n&&i&&(n.setSelected(i,(e=>!e)),e.stopPropagation()),a.onClick&&a.onClick(e)},onPointerDown:e=>{e.shiftKey&&e.preventDefault(),a.onPointerDown&&a.onPointerDown(e)},children:e("span",{className:p,children:a.children})})}function Ke({fmt:t,InnerTagUi:r}){if("text"in t)return e(n,{children:t.text});if("append"in t)return e(n,{children:t.append.map(((t,n)=>e(Ke,{fmt:t,InnerTagUi:r},n)))});if("tag"in t)return e(r,{fmt:t.tag[1],tag:t.tag[0]});throw new Error(`malformed 'TaggedText': '${t}'`)}function Be({contents:t}){const n=new ze.Renderer;n.code=(e,t)=>`
    ${e}
    `,n.codespan=e=>`${e}`;const r={sanitizer:e=>"",sanitize:!0,silent:!0};r.renderer=n;const i=ze.parse(t,r);return e("div",{dangerouslySetInnerHTML:{__html:i}})}function Ze({info:i,redrawTooltip:o}){const s=r.useContext(X),a=K((()=>b(s,i.info)),[s,i.info]);return r.useEffect((()=>{o()}),[a.state,a?.value,a?.error,o]),e(Ue.Provider,{value:void 0,children:e("div",{className:"tooltip-code-content",children:"resolved"===a.state?t(n,{children:[t("div",{className:"font-code tl pre-wrap",children:[a.value.exprExplicit&&e(Xe,{fmt:a.value.exprExplicit})," : ",a.value.type&&e(Xe,{fmt:a.value.type})]}),a.value.doc&&t(n,{children:[e("hr",{}),e(Be,{contents:a.value.doc})]}),i.diffStatus&&t(n,{children:[e("hr",{}),e("div",{children:Ge[i.diffStatus]})]})]}):"rejected"===a.state?t(n,{children:["Error: ",H(a.error).message]}):e(n,{children:"Loading.."})})})}const Je={wasChanged:"inserted-text",willChange:"removed-text",wasInserted:"inserted-text",willInsert:"inserted-text",willDelete:"removed-text",wasDeleted:"removed-text"},Ge={wasChanged:"This subexpression has been modified.",willChange:"This subexpression will be modified.",wasInserted:"This subexpression has been inserted.",willInsert:"This subexpression will be inserted.",wasDeleted:"This subexpression has been removed.",willDelete:"This subexpression will be deleted."};function Qe({tag:t,fmt:n}){const i=r.useCallback((n=>e(Ze,{info:t,redrawTooltip:n})),[t.info]),o=r.useContext(X),s=r.useContext(D),[a,c]=r.useState("off"),[l,u]=r.useState(void 0),d=r.useCallback((async()=>{if(void 0!==l)return l;try{const e=await k(o,"definition",t.info);if(e.length>0){const t={uri:e[0].targetUri,range:e[0].targetSelectionRange};return u(t),t}}catch(e){console.error("Error in go-to-definition: ",JSON.stringify(e))}}),[o,t.info,l]);r.useEffect((()=>{"ctrlOver"===a&&d()}),[a]);const p=r.useContext(Ue),h=p&&p.subexprTemplate&&t.subexprPos?He.withSubexprPos(p.subexprTemplate,t.subexprPos):void 0;let f="ctrlOver"===a&&void 0!==l?"underline ":"";return t.diffStatus&&(f+=Je[t.diffStatus]+" "),e(re,{mkTooltipContent:i,onClick:(e,t)=>{e.ctrlKey||e.metaKey?(c((e=>"over"===e?"ctrlOver":e)),d().then((e=>{void 0!==e&&s.revealPosition({uri:e.uri,...e.range.start})}))):e.shiftKey||t(e)},children:e(Ve,{setHoverState:c,className:f,locs:p,loc:h,alwaysHighlight:!0,children:e(Xe,{fmt:n})})})}function Xe(t){return e("span",{className:"font-code",children:e(Ke,{...t,InnerTagUi:Qe})})}function Ye(e){return e.indexOf("✝")>=0}function et(e){let t="";e.userName&&(t+=`case ${e.userName}\n`);for(const n of e.hyps){t+=`${x(n).join(" ")} : ${T(n.type)}`,n.val&&(t+=` := ${T(n.val)}`),t+="\n"}return t+=`⊢ ${T(e.type)}`,t}function tt(e){return e.goals.map(et).join("\n\n")}function nt({hyp:n,mvarId:i}){const o=r.useContext(Ue),s="mr1 "+(n.isInserted?"inserted-text ":"")+(n.isRemoved?"removed-text ":""),a=x(n).map(((t,r)=>e("span",{className:s+(Ye(t)?"goal-inaccessible ":""),children:e(Ve,{locs:o,loc:i&&n.fvarIds&&n.fvarIds.length>r?{mvarId:i,loc:{hyp:n.fvarIds[r]}}:void 0,alwaysHighlight:!1,children:t})},r))),c=r.useMemo((()=>o&&i&&n.fvarIds&&n.fvarIds.length>0?{...o,subexprTemplate:{mvarId:i,loc:{hypType:[n.fvarIds[0],""]}}}:void 0),[o,i,n.fvarIds]),l=r.useMemo((()=>n.val&&o&&i&&n.fvarIds&&n.fvarIds.length>0?{...o,subexprTemplate:{mvarId:i,loc:{hypValue:[n.fvarIds[0],""]}}}:void 0),[n.val,o,i,n.fvarIds]);return t("div",{children:[e("strong",{className:"goal-hyp",children:a}),": ",e(Ue.Provider,{value:c,children:e(Xe,{fmt:n.type})}),n.val&&t(Ue.Provider,{value:l,children:[" := ",e(Xe,{fmt:n.val})]})]})}const rt=r.memo((n=>{const{goal:i,filter:o}=n,s=i.goalPrefix??"⊢ ",a=function(e,t){return e.reduce(((e,n)=>{if(n.isInstance&&!t.showInstance)return e;if(n.isType&&!t.showType)return e;const r=t.showHiddenAssumption?n.names:n.names.filter((e=>!Ye(e))),i=t.showLetValue?{...n,names:r}:{...n,names:r,val:void 0};return 0!==r.length&&e.push(i),e}),[])}(i.hyps,o),c=o.reverse?a.slice().reverse():a,l=r.useContext(Ue),u=r.useMemo((()=>l&&i.mvarId?{...l,subexprTemplate:{mvarId:i.mvarId,loc:{target:""}}}:void 0),[l,i.mvarId]),d=t("div",{children:[e("strong",{className:"goal-vdash",children:s}),e(Ue.Provider,{value:u,children:e(Xe,{fmt:i.type})})]},"goal");let p="font-code tl pre-wrap bl bw1 pl1 b--transparent ";return n.goal.isInserted&&(p+="b--inserted "),n.goal.isRemoved&&(p+="b--removed "),i.userName?t("details",{open:!0,className:p,children:[t("summary",{className:"mv1 pointer",children:[e("strong",{className:"goal-case",children:"case "}),i.userName]}),o.reverse&&d,c.map(((t,n)=>e(nt,{hyp:t,mvarId:i.mvarId},n))),!o.reverse&&d]}):t("div",{className:p,children:[o.reverse&&d,c.map(((t,n)=>e(nt,{hyp:t,mvarId:i.mvarId},n))),!o.reverse&&d]})}));function it({goals:t,filter:r}){return 0===t.goals.length?e(n,{children:"No goals"}):e(n,{children:t.goals.map(((t,n)=>e(rt,{goal:t,filter:r},n)))})}const ot=r.memo((({headerChildren:n,goals:i})=>{const o=r.useContext(D),s=e("a",{className:"link pointer mh2 dim codicon codicon-quote","data-id":"copy-goal-to-comment",onClick:e=>{e.preventDefault(),i&&o.copyToComment(tt(i))},title:"copy state to comment"}),[a,c]=r.useState({reverse:!1,showType:!0,showInstance:!0,showHiddenAssumption:!0,showLetValue:!0}),l="link pointer mh2 dim codicon "+(a.reverse?"codicon-arrow-up ":"codicon-arrow-down "),u=e("a",{className:l,title:"reverse list",onClick:e=>c((e=>({...e,reverse:!e.reverse})))}),d=(n,r,i)=>t("a",{className:"link pointer tooltip-menu-content",onClick:e=>{c(n)},children:[e("span",{className:"tooltip-menu-icon codicon "+(r(a)?"codicon-check ":"codicon-blank "),children:" "}),e("span",{className:"tooltip-menu-text ",children:i})]}),p=t("span",{children:[d((e=>({...e,showType:!e.showType})),(e=>e.showType),"types"),e("br",{}),d((e=>({...e,showInstance:!e.showInstance})),(e=>e.showInstance),"instances"),e("br",{}),d((e=>({...e,showHiddenAssumption:!e.showHiddenAssumption})),(e=>e.showHiddenAssumption),"hidden assumptions"),e("br",{}),d((e=>({...e,showLetValue:!e.showLetValue})),(e=>e.showLetValue),"let-values")]}),h=!(a.showInstance&&a.showType&&a.showHiddenAssumption&&a.showLetValue),f=e(re,{mkTooltipContent:()=>p,children:e("a",{className:"link pointer mh2 dim codicon "+(h?"codicon-filter-filled ":"codicon-filter ")})});return e("div",{style:{display:void 0!==i?"block":"none"},children:t("details",{open:!0,children:[t("summary",{className:"mv2 pointer",children:[n,t("span",{className:"fr",children:[s,u,f]})]}),e("div",{className:"ml1",children:i&&e(it,{goals:i,filter:a})})]})})}));function st({col:i,cls:o,msg:s}){const a=r.useContext(X),[c,l]=V((()=>y(a,s,i)),[a,s,i]),[u,d]=r.useState(!1);return u?"resolved"===c.state?t(n,{children:[t("span",{className:"underline-hover pointer",onClick:e=>{d(!1),e.stopPropagation()},children:["[",o,"] ∨"]}),e(ht,{fmt:c.value})]}):"rejected"===c.state?t(n,{children:[t("span",{className:"underline-hover pointer",onClick:e=>{l(),e.stopPropagation()},children:["[",o,"] Error (click to retry):"]})," ",H(c.error)]}):t("span",{children:["[",o,"] Loading.."]}):t("span",{className:"underline-hover pointer",onClick:e=>{l(),d(!0),e.stopPropagation()},children:["[",o,"] >"]})}const at=r.createContext("");function ct({indent:n,cls:i,msg:o,icon:s}){const a=" ".repeat(n),c=function(e,t){const n=e.split("."),r=t.split(".");let i=0;for(;i"strict"in a?a.strict:v(c,a.lazy)),[c,a]),[d,p]=r.useState(!s);d&&"notStarted"===l.state&&u();let h=d?"▼":"▶";"loading"===l.state&&(h+=" ⋯");const f=r.useCallback((e=>{e.stopPropagation(),d||u(),p((e=>!e))}),[d]);return t("div",{children:[e("div",{className:"pointer",onClick:f,children:e(ct,{...i,icon:h})}),e("div",{style:{display:d?"block":"none"},children:e(at.Provider,{value:o,children:"resolved"===l.state?l.value.map(((t,n)=>e(ht,{fmt:t},n))):"rejected"===l.state?H(l.error).toString():e(n,{})})})]})}function dt(t){const n="strict"in t.children&&0===t.children.strict.length;return e(n?lt:ut,{...t})}function pt({tag:n}){return"expr"in n?e(Xe,{fmt:n.expr}):"goal"in n?e(rt,{goal:n.goal,filter:{reverse:!1,showType:!0,showInstance:!0,showHiddenAssumption:!0,showLetValue:!0}}):"lazyTrace"in n?e(st,{col:n.lazyTrace[0],cls:n.lazyTrace[1],msg:n.lazyTrace[2]}):"trace"in n?e(dt,{...n.trace}):t("div",{children:["malformed MsgEmbed: ",JSON.stringify(n)]})}function ht({fmt:e}){return Ke({fmt:e,InnerTagUi:pt})}class ft{api;events;constructor(e,t){this.api=e,this.events=t}async revealLocation(e){const t={uri:e.uri,selection:e.range};await this.api.showDocument(t)}async revealPosition(e){const t={uri:e.uri,range:{start:e,end:e}};await this.revealLocation(t)}async copyToComment(e){await this.api.insertText(`/-\n${e}\n-/`,"above")}requestPlainGoal(e){const t=q.toTdpp(e);return this.api.sendClientRequest(e.uri,"$/lean/plainGoal",t)}requestPlainTermGoal(e){const t=q.toTdpp(e);return this.api.sendClientRequest(e.uri,"$/lean/plainTermGoal",t)}}class gt{major;minor;patch;constructor(e){const t=e.split(".");if(2===t.length)this.major=parseInt(t[0]),this.minor=parseInt(t[1]),this.patch=0;else{if(3!==t.length)throw new Error(`cannot parse Lean server version '${e}'`);this.major=parseInt(t[0]),this.minor=parseInt(t[1]),this.patch=parseInt(t[2])}}}class mt extends r.Component{constructor(e){super(e),this.state={error:void 0}}static getDerivedStateFromError(e){return{error:e.toString()}}componentDidCatch(e,t){}render(){return this.state.error?t("div",{children:[e("h1",{children:"Error:"}),this.state.error,e("br",{}),e("br",{}),e("a",{className:"link pointer dim ",onClick:()=>this.setState({error:void 0}),children:"Click to reload."})]}):this.props.children}}const yt=new Map;async function vt(e,t,n){if(yt.has(n))return yt.get(n);const r=await R(e,t,n),i=await async function(e,t){const n=new File([t],`widget_${e}.js`,{type:"text/javascript"}),r=URL.createObjectURL(n);return await import(r)}(n,r.sourcetext);return yt.set(n,i),i}function bt(n){const{pos:i,hash:o,props:s,children:a}=n,c=r.useContext(X),l=B((()=>vt(c,i,o)),[c,i,o]);return e(r.Suspense,{fallback:`Loading component '${o}'..`,children:t(mt,{children:["resolved"===l.state&&r.createElement(l.value.default,s,a),"rejected"===l.state&&t("span",{className:"red",children:["Error: ",H(l.error).message]})]})})}function kt({pos:t,goals:n,termGoal:r,selectedLocations:i,widget:o}){const s={pos:t,goals:n,termGoal:r,selectedLocations:i,...o.props};return e(bt,{pos:t,hash:o.javascriptHash,props:s})}var wt,Rt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Tt(e){var t=e.default;if("function"==typeof t){var n=function e(){if(this instanceof e){var n=[null];n.push.apply(n,arguments);var r=Function.bind.apply(t,n);return new r}return t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})})),n}var xt=o;wt=xt.createRoot,xt.hydrateRoot;var Dt={},Ct={exports:{}},St={},_t={},Pt={};let qt;function Nt(){if(void 0===qt)throw new Error("No runtime abstraction layer installed");return qt}Object.defineProperty(Pt,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");qt=e}}(Nt||(Nt={})),Pt.default=Nt;var Et,Mt={};Et=Mt,Object.defineProperty(Et,"__esModule",{value:!0}),Et.Disposable=void 0,(Et.Disposable||(Et.Disposable={})).create=function(e){return{dispose:e}};var Ot={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Emitter=e.Event=void 0;const t=Pt;!function(e){const t={dispose(){}};e.None=function(){return t}}(e.Event||(e.Event={}));class n{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let r=0,i=this._callbacks.length;r{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const o={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),o.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(i)&&i.push(o),o}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}e.Emitter=r,r._noop=function(){}}(Ot);var jt={};Object.defineProperty(jt,"__esModule",{value:!0}),jt.AbstractMessageBuffer=void 0;jt.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,r=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const r=this._chunks[0];if(r.byteLength>e){const i=r.slice(0,e);t.set(i,n),n+=e,this._chunks[0]=r.slice(e),this._totalLength-=e,e-=e}else t.set(r,n),n+=r.byteLength,this._chunks.shift(),this._totalLength-=r.byteLength,e-=r.byteLength}return t}},Object.defineProperty(_t,"__esModule",{value:!0});const It=Pt,Lt=Mt,At=Ot,$t=jt;class Ft extends $t.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return Ft.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}Ft.emptyBuffer=new Uint8Array(0);class zt{constructor(e){this.socket=e,this._onData=new At.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}),(()=>{(0,It.default)().console.error("Converting blob to array buffer failed.")}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),Lt.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),Lt.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),Lt.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class Wt{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),Lt.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),Lt.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),Lt.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const Ht=new TextEncoder,Ut=Object.freeze({messageBuffer:Object.freeze({create:e=>new Ft(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t.charset}`);return Promise.resolve(Ht.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new zt(e),asWritableStream:e=>new Wt(e)}),console:console,timer:Object.freeze({setTimeout(e,t,...n){const r=setTimeout(e,t,...n);return{dispose:()=>clearTimeout(r)}},setImmediate(e,...t){const n=setTimeout(e,0,...t);return{dispose:()=>clearTimeout(n)}},setInterval(e,t,...n){const r=setInterval(e,t,...n);return{dispose:()=>clearInterval(r)}}})});function Vt(){return Ut}!function(e){e.install=function(){It.default.install(Ut)}}(Vt||(Vt={})),_t.default=Vt;var Kt,Bt,Zt={},Jt={},Gt={};function Qt(){if(Kt)return Gt;function e(e){return"string"==typeof e||e instanceof String}function t(e){return Array.isArray(e)}return Kt=1,Object.defineProperty(Gt,"__esModule",{value:!0}),Gt.stringArray=Gt.array=Gt.func=Gt.error=Gt.number=Gt.string=Gt.boolean=void 0,Gt.boolean=function(e){return!0===e||!1===e},Gt.string=e,Gt.number=function(e){return"number"==typeof e||e instanceof Number},Gt.error=function(e){return e instanceof Error},Gt.func=function(e){return"function"==typeof e},Gt.array=t,Gt.stringArray=function(n){return t(n)&&n.every((t=>e(t)))},Gt}function Xt(){return Bt||(Bt=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Message=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType=e.RequestType0=e.AbstractMessageSignature=e.ParameterStructures=e.ResponseError=e.ErrorCodes=void 0;const t=Qt();var n,r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=-32099,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.PendingResponseRejected=-32097,e.ConnectionInactive=-32096,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=-32e3}(n=e.ErrorCodes||(e.ErrorCodes={}));class i extends Error{constructor(e,r,o){super(r),this.code=t.number(e)?e:n.UnknownErrorCode,this.data=o,Object.setPrototypeOf(this,i.prototype)}toJson(){const e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data),e}}e.ResponseError=i;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}e.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class s{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}e.AbstractMessageSignature=s;e.RequestType0=class extends s{constructor(e){super(e,0)}};e.RequestType=class extends s{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};e.RequestType1=class extends s{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};e.RequestType2=class extends s{constructor(e){super(e,2)}};e.RequestType3=class extends s{constructor(e){super(e,3)}};e.RequestType4=class extends s{constructor(e){super(e,4)}};e.RequestType5=class extends s{constructor(e){super(e,5)}};e.RequestType6=class extends s{constructor(e){super(e,6)}};e.RequestType7=class extends s{constructor(e){super(e,7)}};e.RequestType8=class extends s{constructor(e){super(e,8)}};e.RequestType9=class extends s{constructor(e){super(e,9)}};e.NotificationType=class extends s{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};e.NotificationType0=class extends s{constructor(e){super(e,0)}};e.NotificationType1=class extends s{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};e.NotificationType2=class extends s{constructor(e){super(e,2)}};e.NotificationType3=class extends s{constructor(e){super(e,3)}};e.NotificationType4=class extends s{constructor(e){super(e,4)}};e.NotificationType5=class extends s{constructor(e){super(e,5)}};e.NotificationType6=class extends s{constructor(e){super(e,6)}};e.NotificationType7=class extends s{constructor(e){super(e,7)}};e.NotificationType8=class extends s{constructor(e){super(e,8)}};e.NotificationType9=class extends s{constructor(e){super(e,9)}},(r=e.Message||(e.Message={})).isRequest=function(e){const n=e;return n&&t.string(n.method)&&(t.string(n.id)||t.number(n.id))},r.isNotification=function(e){const n=e;return n&&t.string(n.method)&&void 0===e.id},r.isResponse=function(e){const n=e;return n&&(void 0!==n.result||!!n.error)&&(t.string(n.id)||t.number(n.id)||null===n.id)}}(Jt)),Jt}var Yt,en={};function tn(){return Yt||(Yt=1,function(e){var t,n;Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=e.LinkedMap=e.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=e.Touch||(e.Touch={}));class r{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=n.None){const r=this._map.get(e);if(r)return t!==n.None&&this.touch(r,t),r.value}set(e,t,r=n.None){let i=this._map.get(e);if(i)i.value=t,r!==n.None&&this.touch(i,r);else{switch(i={key:e,value:t,next:void 0,previous:void 0},r){case n.None:this.addItemLast(i);break;case n.First:this.addItemFirst(i);break;case n.Last:default:this.addItemLast(i)}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let r=this._head;for(;r;){if(t?e.bind(t)(r.value,r.key,this):e(r.value,r.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");r=r.next}}keys(){const e=this._state;let t=this._head;const n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:t.key,done:!1};return t=t.next,e}return{value:void 0,done:!0}}};return n}values(){const e=this._state;let t=this._head;const n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:t.value,done:!1};return t=t.next,e}return{value:void 0,done:!0}}};return n}entries(){const e=this._state;let t=this._head;const n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:[t.key,t.value],done:!1};return t=t.next,e}return{value:void 0,done:!0}}};return n}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}e.LinkedMap=r;e.LRUCache=class extends r{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}}(en)),en}var nn,rn={};function on(){return nn||(nn=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;const t=Pt,n=Qt(),r=Ot;var i;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None}),e.is=function(t){const r=t;return r&&(r===e.None||r===e.Cancelled||n.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}}(i=e.CancellationToken||(e.CancellationToken={}));const o=Object.freeze((function(e,n){const r=(0,t.default)().timer.setTimeout(e.bind(n),0);return{dispose(){r.dispose()}}}));class s{constructor(){this._isCancelled=!1}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?o:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}e.CancellationTokenSource=class{get token(){return this._token||(this._token=new s),this._token}cancel(){this._token?this._token.cancel():this._token=i.Cancelled}dispose(){this._token?this._token instanceof s&&this._token.dispose():this._token=i.None}}}(rn)),rn}var sn,an={};var cn,ln,un={},dn={};function pn(){return ln||(ln=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=void 0;const t=Pt,n=Qt(),r=function(){if(cn)return dn;cn=1,Object.defineProperty(dn,"__esModule",{value:!0}),dn.Semaphore=void 0;const e=Pt;return dn.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&(0,e.default)().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}},dn}(),i=Ot;var o;(e.MessageWriter||(e.MessageWriter={})).is=function(e){let t=e;return t&&n.func(t.dispose)&&n.func(t.onClose)&&n.func(t.onError)&&n.func(t.write)};class s{constructor(){this.errorEmitter=new i.Emitter,this.closeEmitter=new i.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${n.string(e.message)?e.message:"unknown"}`)}}e.AbstractMessageWriter=s,function(e){e.fromOptions=function(e){return void 0===e||"string"==typeof e?{charset:e??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:e.charset??"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:e.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}}(o||(o={}));e.WriteableStreamMessageWriter=class extends s{constructor(e,t){super(),this.writable=e,this.options=o.fromOptions(t),this.errorCount=0,this.writeSemaphore=new r.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}}(un)),un}var hn,fn,gn={};function mn(){return hn||(hn=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.ConnectionOptions=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.ConnectionStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=e.NullLogger=e.ProgressType=e.ProgressToken=void 0;const t=Pt,n=Qt(),r=Xt(),i=tn(),o=Ot,s=on();var a,c,l,u,d,p,h,f,g,m,y,v,b,k,w;!function(e){e.type=new r.NotificationType("$/cancelRequest")}(a||(a={})),function(e){e.is=function(e){return"string"==typeof e||"number"==typeof e}}(c=e.ProgressToken||(e.ProgressToken={})),function(e){e.type=new r.NotificationType("$/progress")}(l||(l={}));e.ProgressType=class{constructor(){}},function(e){e.is=function(e){return n.func(e)}}(u||(u={})),e.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Compact=2]="Compact",e[e.Verbose=3]="Verbose"}(d=e.Trace||(e.Trace={})),(p=e.TraceValues||(e.TraceValues={})).Off="off",p.Messages="messages",p.Compact="compact",p.Verbose="verbose",function(e){e.fromString=function(t){if(!n.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":default:return e.Off;case"messages":return e.Messages;case"compact":return e.Compact;case"verbose":return e.Verbose}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Compact:return"compact";case e.Verbose:return"verbose";default:return"off"}}}(d=e.Trace||(e.Trace={})),function(e){e.Text="text",e.JSON="json"}(e.TraceFormat||(e.TraceFormat={})),function(e){e.fromString=function(t){return n.string(t)&&"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=e.TraceFormat||(e.TraceFormat={})),function(e){e.type=new r.NotificationType("$/setTrace")}(f=e.SetTraceNotification||(e.SetTraceNotification={})),function(e){e.type=new r.NotificationType("$/logTrace")}(g=e.LogTraceNotification||(e.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(m=e.ConnectionErrors||(e.ConnectionErrors={}));class R extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,R.prototype)}}e.ConnectionError=R,function(e){e.is=function(e){const t=e;return t&&n.func(t.cancelUndispatched)}}(y=e.ConnectionStrategy||(e.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new s.CancellationTokenSource}),e.is=function(e){const t=e;return t&&n.func(t.createCancellationTokenSource)}}(v=e.CancellationReceiverStrategy||(e.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation:(e,t)=>e.sendNotification(a.type,{id:t}),cleanup(e){}}),e.is=function(e){const t=e;return t&&n.func(t.sendCancellation)&&n.func(t.cleanup)}}(b=e.CancellationSenderStrategy||(e.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:v.Message,sender:b.Message}),e.is=function(e){const t=e;return t&&v.is(t.receiver)&&b.is(t.sender)}}(k=e.CancellationStrategy||(e.CancellationStrategy={})),(e.ConnectionOptions||(e.ConnectionOptions={})).is=function(e){const t=e;return t&&(k.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(w||(w={})),e.createMessageConnection=function(p,y,v,b){const T=void 0!==v?v:e.NullLogger;let x=0,D=0,C=0;const S="2.0";let _;const P=new Map;let q;const N=new Map,E=new Map;let M,O,j=new i.LinkedMap,I=new Map,L=new Set,A=new Map,$=d.Off,F=h.Text,z=w.New;const W=new o.Emitter,H=new o.Emitter,U=new o.Emitter,V=new o.Emitter,K=new o.Emitter,B=b&&b.cancellationStrategy?b.cancellationStrategy:k.Message;function Z(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function J(e,t){var n;r.Message.isRequest(t)?e.set(Z(t.id),t):r.Message.isResponse(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++D).toString(),t)}function G(e){}function Q(){return z===w.Listening}function X(){return z===w.Closed}function Y(){return z===w.Disposed}function ee(){z!==w.New&&z!==w.Listening||(z=w.Closed,H.fire(void 0))}function te(){M||0===j.size||(M=(0,t.default)().timer.setImmediate((()=>{M=void 0,function(){if(0===j.size)return;const e=j.shift();try{r.Message.isRequest(e)?function(e){if(Y())return;function t(t,n,i){const o={jsonrpc:S,id:e.id};t instanceof r.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ie(o,n,i),y.write(o).catch((()=>T.error("Sending response failed.")))}function i(t,n,r){const i={jsonrpc:S,id:e.id,error:t.toJson()};ie(i,n,r),y.write(i).catch((()=>T.error("Sending response failed.")))}function o(t,n,r){void 0===t&&(t=null);const i={jsonrpc:S,id:e.id,result:t};ie(i,n,r),y.write(i).catch((()=>T.error("Sending response failed.")))}!function(e){if($===d.Off||!O)return;if(F===h.Text){let t;$!==d.Verbose&&$!==d.Compact||!e.params||(t=`Params: ${re(e.params)}\n\n`),O.log(`Received request '${e.method} - (${e.id})'.`,t)}else se("receive-request",e)}(e);const s=P.get(e.method);let a,c;s&&(a=s.type,c=s.handler);const l=Date.now();if(c||_){const s=e.id??String(Date.now()),u=B.receiver.createCancellationTokenSource(s);null!==e.id&&L.has(e.id)&&u.cancel(),null!==e.id&&A.set(s,u);try{let d;if(c)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but received none.`),e.method,l);d=c(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===r.ParameterStructures.byName)return void i(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,l);d=c(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===r.ParameterStructures.byPosition)return void i(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,l);d=c(e.params,u.token)}else _&&(d=_(e.method,e.params,u.token));const p=d;d?p.then?p.then((n=>{A.delete(s),t(n,e.method,l)}),(t=>{A.delete(s),t instanceof r.ResponseError?i(t,e.method,l):t&&n.string(t.message)?i(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,l):i(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,l)})):(A.delete(s),t(d,e.method,l)):(A.delete(s),o(d,e.method,l))}catch(o){A.delete(s),o instanceof r.ResponseError?t(o,e.method,l):o&&n.string(o.message)?i(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${o.message}`),e.method,l):i(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,l)}}else i(new r.ResponseError(r.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,l)}(e):r.Message.isNotification(e)?function(e){if(Y())return;let t,n;if(e.method===a.type.method){const t=e.params.id;return L.delete(t),void oe(e)}{const r=N.get(e.method);r&&(n=r.handler,t=r.type)}if(n||q)try{if(oe(e),n)if(void 0===e.params)void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==r.ParameterStructures.byName&&T.error(`Notification ${e.method} defines ${t.numberOfParams} params but received none.`),n();else if(Array.isArray(e.params)){const i=e.params;e.method===l.type.method&&2===i.length&&c.is(i[0])?n({token:i[0],value:i[1]}):(void 0!==t&&(t.parameterStructures===r.ParameterStructures.byName&&T.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&T.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${i.length} arguments`)),n(...i))}else void 0!==t&&t.parameterStructures===r.ParameterStructures.byPosition&&T.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params);else q&&q(e.method,e.params)}catch(t){t.message?T.error(`Notification handler '${e.method}' failed with message: ${t.message}`):T.error(`Notification handler '${e.method}' failed unexpectedly.`)}else U.fire(e)}(e):r.Message.isResponse(e)?function(e){if(Y())return;if(null===e.id)e.error?T.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):T.error("Received response message without id. No further error information provided.");else{const t=e.id,n=I.get(t);if(function(e,t){if($===d.Off||!O)return;if(F===h.Text){let n;if($!==d.Verbose&&$!==d.Compact||(e.error&&e.error.data?n=`Error data: ${re(e.error.data)}\n\n`:e.result?n=`Result: ${re(e.result)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const r=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";O.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${r}`,n)}else O.log(`Received response ${e.id} without active response promise.`,n)}else se("receive-response",e)}(e,n),void 0!==n){I.delete(t);try{if(e.error){const t=e.error;n.reject(new r.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?T.error(`Response handler '${n.method}' failed with message: ${e.message}`):T.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void T.error("Received empty message.");T.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(n.string(t.id)||n.number(t.id)){const e=t.id,n=I.get(e);n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{te()}}()})))}p.onClose(ee),p.onError((function(e){W.fire([e,void 0,void 0])})),y.onClose(ee),y.onError((function(e){W.fire(e)}));const ne=e=>{try{if(r.Message.isNotification(e)&&e.method===a.type.method){const t=e.params.id,n=Z(t),i=j.get(n);if(r.Message.isRequest(i)){const r=b?.connectionStrategy,o=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(o&&(void 0!==o.error||void 0!==o.result))return j.delete(n),A.delete(t),o.id=i.id,ie(o,e.method,Date.now()),void y.write(o).catch((()=>T.error("Sending response for canceled message failed.")))}const o=A.get(t);if(void 0!==o)return o.cancel(),void oe(e);L.add(t)}J(j,e)}finally{te()}};function re(e){if(null!=e)switch($){case d.Verbose:return JSON.stringify(e,null,4);case d.Compact:return JSON.stringify(e);default:return}}function ie(e,t,n){if($!==d.Off&&O)if(F===h.Text){let r;$!==d.Verbose&&$!==d.Compact||(e.error&&e.error.data?r=`Error data: ${re(e.error.data)}\n\n`:e.result?r=`Result: ${re(e.result)}\n\n`:void 0===e.error&&(r="No result returned.\n\n")),O.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,r)}else se("send-response",e)}function oe(e){if($!==d.Off&&O&&e.method!==g.type.method)if(F===h.Text){let t;$!==d.Verbose&&$!==d.Compact||(t=e.params?`Params: ${re(e.params)}\n\n`:"No parameters provided.\n\n"),O.log(`Received notification '${e.method}'.`,t)}else se("receive-notification",e)}function se(e,t){if(!O||$===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};O.log(n)}function ae(){if(X())throw new R(m.Closed,"Connection is closed.");if(Y())throw new R(m.Disposed,"Connection is disposed.")}function ce(e){return void 0===e?null:e}function le(e){return null===e?void 0:e}function ue(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function de(e,t){switch(e){case r.ParameterStructures.auto:return ue(t)?le(t):[ce(t)];case r.ParameterStructures.byName:if(!ue(t))throw new Error("Received parameters by name but param is not an object literal.");return le(t);case r.ParameterStructures.byPosition:return[ce(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function pe(e,t){let n;const r=e.numberOfParams;switch(r){case 0:n=void 0;break;case 1:n=de(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ae(),n.string(e)){i=e;const n=t[0];let s=0,a=r.ParameterStructures.auto;r.ParameterStructures.is(n)&&(s=1,a=n);let c=t.length;const l=c-s;switch(l){case 0:o=void 0;break;case 1:o=de(a,t[s]);break;default:if(a===r.ParameterStructures.byName)throw new Error(`Received ${l} parameters for 'by Name' notification parameter structure.`);o=t.slice(s,c).map((e=>ce(e)))}}else{const n=t;i=e.method,o=pe(e,n)}const s={jsonrpc:S,method:i,params:o};return function(e){if($!==d.Off&&O)if(F===h.Text){let t;$!==d.Verbose&&$!==d.Compact||(t=e.params?`Params: ${re(e.params)}\n\n`:"No parameters provided.\n\n"),O.log(`Sending notification '${e.method}'.`,t)}else se("send-notification",e)}(s),y.write(s).catch((()=>T.error("Sending notification failed.")))},onNotification:(e,t)=>{let r;return ae(),n.func(e)?q=e:t&&(n.string(e)?(r=e,N.set(e,{type:void 0,handler:t})):(r=e.method,N.set(e.method,{type:e,handler:t}))),{dispose:()=>{void 0!==r?N.delete(r):q=void 0}}},onProgress:(e,t,n)=>{if(E.has(t))throw new Error(`Progress handler for token ${t} already registered`);return E.set(t,n),{dispose:()=>{E.delete(t)}}},sendProgress:(e,t,n)=>he.sendNotification(l.type,{token:t,value:n}),onUnhandledProgress:V.event,sendRequest:(e,...t)=>{let i,o,a;if(ae(),function(){if(!Q())throw new Error("Call listen() first.")}(),n.string(e)){i=e;const n=t[0],c=t[t.length-1];let l=0,u=r.ParameterStructures.auto;r.ParameterStructures.is(n)&&(l=1,u=n);let d=t.length;s.CancellationToken.is(c)&&(d-=1,a=c);const p=d-l;switch(p){case 0:o=void 0;break;case 1:o=de(u,t[l]);break;default:if(u===r.ParameterStructures.byName)throw new Error(`Received ${p} parameters for 'by Name' request parameter structure.`);o=t.slice(l,d).map((e=>ce(e)))}}else{const n=t;i=e.method,o=pe(e,n);const r=e.numberOfParams;a=s.CancellationToken.is(n[r])?n[r]:void 0}const c=x++;let l;a&&(l=a.onCancellationRequested((()=>{const e=B.sender.sendCancellation(he,c);return void 0===e?(T.log(`Received no promise from cancellation strategy when cancelling id ${c}`),Promise.resolve()):e.catch((()=>{T.log(`Sending cancellation messages for id ${c} failed`)}))})));return new Promise(((e,t)=>{const n={jsonrpc:S,id:c,method:i,params:o};let s={method:i,timerStart:Date.now(),resolve:t=>{e(t),B.sender.cleanup(c),l?.dispose()},reject:e=>{t(e),B.sender.cleanup(c),l?.dispose()}};!function(e){if($!==d.Off&&O)if(F===h.Text){let t;$!==d.Verbose&&$!==d.Compact||!e.params||(t=`Params: ${re(e.params)}\n\n`),O.log(`Sending request '${e.method} - (${e.id})'.`,t)}else se("send-request",e)}(n);try{y.write(n).catch((()=>T.error("Sending request failed.")))}catch(e){s.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),s=null}s&&I.set(c,s)}))},onRequest:(e,t)=>{ae();let r=null;return u.is(e)?(r=void 0,_=e):n.string(e)?(r=null,void 0!==t&&(r=e,P.set(e,{handler:t,type:void 0}))):void 0!==t&&(r=e.method,P.set(e.method,{type:e,handler:t})),{dispose:()=>{null!==r&&(void 0!==r?P.delete(r):_=void 0)}}},hasPendingResponse:()=>I.size>0,trace:async(e,t,r)=>{let i=!1,o=h.Text;void 0!==r&&(n.boolean(r)?i=r:(i=r.sendNotification||!1,o=r.traceFormat||h.Text)),$=e,F=o,O=$===d.Off?void 0:t,!i||X()||Y()||await he.sendNotification(f.type,{value:d.toString(e)})},onError:W.event,onClose:H.event,onUnhandledNotification:U.event,onDispose:K.event,end:()=>{y.end()},dispose:()=>{if(Y())return;z=w.Disposed,K.fire(void 0);const e=new r.ResponseError(r.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const t of I.values())t.reject(e);I=new Map,A=new Map,L=new Set,j=new i.LinkedMap,n.func(y.dispose)&&y.dispose(),n.func(p.dispose)&&p.dispose()},listen:()=>{ae(),function(){if(Q())throw new R(m.AlreadyListening,"Connection is already listening")}(),z=w.Listening,p.listen(ne)},inspect:()=>{(0,t.default)().console.log("inspect")}};return he.onNotification(g.type,(e=>{if($===d.Off||!O)return;const t=$===d.Verbose||$===d.Compact;O.log(e.message,t?e.verbose:void 0)})),he.onNotification(l.type,(e=>{const t=E.get(e.token);t?t(e.value):V.fire(e)})),he}}(gn)),gn}function yn(){return fn||(fn=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TraceFormat=e.TraceValues=e.Trace=e.ProgressType=e.ProgressToken=e.createMessageConnection=e.NullLogger=e.ConnectionOptions=e.ConnectionStrategy=e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=e.CancellationToken=e.CancellationTokenSource=e.Emitter=e.Event=e.Disposable=e.LRUCache=e.Touch=e.LinkedMap=e.ParameterStructures=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.ErrorCodes=e.ResponseError=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType0=e.RequestType=e.Message=e.RAL=void 0,e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=void 0;const t=Xt();Object.defineProperty(e,"Message",{enumerable:!0,get:function(){return t.Message}}),Object.defineProperty(e,"RequestType",{enumerable:!0,get:function(){return t.RequestType}}),Object.defineProperty(e,"RequestType0",{enumerable:!0,get:function(){return t.RequestType0}}),Object.defineProperty(e,"RequestType1",{enumerable:!0,get:function(){return t.RequestType1}}),Object.defineProperty(e,"RequestType2",{enumerable:!0,get:function(){return t.RequestType2}}),Object.defineProperty(e,"RequestType3",{enumerable:!0,get:function(){return t.RequestType3}}),Object.defineProperty(e,"RequestType4",{enumerable:!0,get:function(){return t.RequestType4}}),Object.defineProperty(e,"RequestType5",{enumerable:!0,get:function(){return t.RequestType5}}),Object.defineProperty(e,"RequestType6",{enumerable:!0,get:function(){return t.RequestType6}}),Object.defineProperty(e,"RequestType7",{enumerable:!0,get:function(){return t.RequestType7}}),Object.defineProperty(e,"RequestType8",{enumerable:!0,get:function(){return t.RequestType8}}),Object.defineProperty(e,"RequestType9",{enumerable:!0,get:function(){return t.RequestType9}}),Object.defineProperty(e,"ResponseError",{enumerable:!0,get:function(){return t.ResponseError}}),Object.defineProperty(e,"ErrorCodes",{enumerable:!0,get:function(){return t.ErrorCodes}}),Object.defineProperty(e,"NotificationType",{enumerable:!0,get:function(){return t.NotificationType}}),Object.defineProperty(e,"NotificationType0",{enumerable:!0,get:function(){return t.NotificationType0}}),Object.defineProperty(e,"NotificationType1",{enumerable:!0,get:function(){return t.NotificationType1}}),Object.defineProperty(e,"NotificationType2",{enumerable:!0,get:function(){return t.NotificationType2}}),Object.defineProperty(e,"NotificationType3",{enumerable:!0,get:function(){return t.NotificationType3}}),Object.defineProperty(e,"NotificationType4",{enumerable:!0,get:function(){return t.NotificationType4}}),Object.defineProperty(e,"NotificationType5",{enumerable:!0,get:function(){return t.NotificationType5}}),Object.defineProperty(e,"NotificationType6",{enumerable:!0,get:function(){return t.NotificationType6}}),Object.defineProperty(e,"NotificationType7",{enumerable:!0,get:function(){return t.NotificationType7}}),Object.defineProperty(e,"NotificationType8",{enumerable:!0,get:function(){return t.NotificationType8}}),Object.defineProperty(e,"NotificationType9",{enumerable:!0,get:function(){return t.NotificationType9}}),Object.defineProperty(e,"ParameterStructures",{enumerable:!0,get:function(){return t.ParameterStructures}});const n=tn();Object.defineProperty(e,"LinkedMap",{enumerable:!0,get:function(){return n.LinkedMap}}),Object.defineProperty(e,"LRUCache",{enumerable:!0,get:function(){return n.LRUCache}}),Object.defineProperty(e,"Touch",{enumerable:!0,get:function(){return n.Touch}});const r=Mt;Object.defineProperty(e,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const i=Ot;Object.defineProperty(e,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(e,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const o=on();Object.defineProperty(e,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(e,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const s=(sn||(sn=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=void 0;const t=Pt,n=Qt(),r=Ot;var i;(e.MessageReader||(e.MessageReader={})).is=function(e){let t=e;return t&&n.func(t.listen)&&n.func(t.dispose)&&n.func(t.onError)&&n.func(t.onClose)&&n.func(t.onPartialMessage)};class o{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${n.string(e.message)?e.message:"unknown"}`)}}e.AbstractMessageReader=o,function(e){e.fromOptions=function(e){let n,r;const i=new Map;let o;const s=new Map;if(void 0===e||"string"==typeof e)n=e??"utf-8";else{if(n=e.charset??"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,i.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)i.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,s.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)s.set(t.name,t)}return void 0===o&&(o=(0,t.default)().applicationJson.decoder,s.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:i,contentTypeDecoder:o,contentTypeDecoders:s}}}(i||(i={})),e.ReadableStreamMessageReader=class extends o{constructor(e,n){super(),this.readable=e,this.options=i.fromOptions(n),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=(0,t.default)().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}}(an)),an);Object.defineProperty(e,"MessageReader",{enumerable:!0,get:function(){return s.MessageReader}}),Object.defineProperty(e,"AbstractMessageReader",{enumerable:!0,get:function(){return s.AbstractMessageReader}}),Object.defineProperty(e,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return s.ReadableStreamMessageReader}});const a=pn();Object.defineProperty(e,"MessageWriter",{enumerable:!0,get:function(){return a.MessageWriter}}),Object.defineProperty(e,"AbstractMessageWriter",{enumerable:!0,get:function(){return a.AbstractMessageWriter}}),Object.defineProperty(e,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return a.WriteableStreamMessageWriter}});const c=mn();Object.defineProperty(e,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(e,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(e,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(e,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(e,"ProgressToken",{enumerable:!0,get:function(){return c.ProgressToken}}),Object.defineProperty(e,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(e,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(e,"TraceValues",{enumerable:!0,get:function(){return c.TraceValues}}),Object.defineProperty(e,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(e,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(e,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(e,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(e,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(e,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(e,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(e,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const l=Pt;e.RAL=l.default}(Zt)),Zt}!function(e){var t=Rt&&Rt.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=Rt&&Rt.__exportStar||function(e,n){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.BrowserMessageWriter=e.BrowserMessageReader=void 0;_t.default.install();const r=yn();n(yn(),e);class i extends r.AbstractMessageReader{constructor(e){super(),this._onData=new r.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}e.BrowserMessageReader=i;class o extends r.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}e.BrowserMessageWriter=o,e.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=r.NullLogger),r.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,r.createMessageConnection)(e,t,n,i)}}(St),Ct.exports=St;var vn,bn,kn,wn,Rn,Tn,xn,Dn,Cn,Sn,_n,Pn,qn,Nn,En,Mn,On,jn,In,Ln,An,$n,Fn,zn,Wn,Hn,Un,Vn,Kn={};!function(e){e.is=function(e){return"string"==typeof e}}(vn||(vn={})),function(e){e.is=function(e){return"string"==typeof e}}(bn||(bn={})),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647,e.is=function(t){return"number"==typeof t&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}}(kn||(kn={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647,e.is=function(t){return"number"==typeof t&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}}(wn||(wn={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=wn.MAX_VALUE),t===Number.MAX_VALUE&&(t=wn.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return zr.objectLiteral(t)&&zr.uinteger(t.line)&&zr.uinteger(t.character)}}(Rn||(Rn={})),function(e){e.create=function(e,t,n,r){if(zr.uinteger(e)&&zr.uinteger(t)&&zr.uinteger(n)&&zr.uinteger(r))return{start:Rn.create(e,t),end:Rn.create(n,r)};if(Rn.is(e)&&Rn.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments[".concat(e,", ").concat(t,", ").concat(n,", ").concat(r,"]"))},e.is=function(e){var t=e;return zr.objectLiteral(t)&&Rn.is(t.start)&&Rn.is(t.end)}}(Tn||(Tn={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return zr.objectLiteral(t)&&Tn.is(t.range)&&(zr.string(t.uri)||zr.undefined(t.uri))}}(xn||(xn={})),function(e){e.create=function(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}},e.is=function(e){var t=e;return zr.objectLiteral(t)&&Tn.is(t.targetRange)&&zr.string(t.targetUri)&&Tn.is(t.targetSelectionRange)&&(Tn.is(t.originSelectionRange)||zr.undefined(t.originSelectionRange))}}(Dn||(Dn={})),function(e){e.create=function(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}},e.is=function(e){var t=e;return zr.objectLiteral(t)&&zr.numberRange(t.red,0,1)&&zr.numberRange(t.green,0,1)&&zr.numberRange(t.blue,0,1)&&zr.numberRange(t.alpha,0,1)}}(Cn||(Cn={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return zr.objectLiteral(t)&&Tn.is(t.range)&&Cn.is(t.color)}}(Sn||(Sn={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return zr.objectLiteral(t)&&zr.string(t.label)&&(zr.undefined(t.textEdit)||Ln.is(t))&&(zr.undefined(t.additionalTextEdits)||zr.typedArray(t.additionalTextEdits,Ln.is))}}(_n||(_n={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(Pn||(Pn={})),function(e){e.create=function(e,t,n,r,i,o){var s={startLine:e,endLine:t};return zr.defined(n)&&(s.startCharacter=n),zr.defined(r)&&(s.endCharacter=r),zr.defined(i)&&(s.kind=i),zr.defined(o)&&(s.collapsedText=o),s},e.is=function(e){var t=e;return zr.objectLiteral(t)&&zr.uinteger(t.startLine)&&zr.uinteger(t.startLine)&&(zr.undefined(t.startCharacter)||zr.uinteger(t.startCharacter))&&(zr.undefined(t.endCharacter)||zr.uinteger(t.endCharacter))&&(zr.undefined(t.kind)||zr.string(t.kind))}}(qn||(qn={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return zr.defined(t)&&xn.is(t.location)&&zr.string(t.message)}}(Nn||(Nn={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(En||(En={})),function(e){e.Unnecessary=1,e.Deprecated=2}(Mn||(Mn={})),function(e){e.is=function(e){var t=e;return zr.objectLiteral(t)&&zr.string(t.href)}}(On||(On={})),function(e){e.create=function(e,t,n,r,i,o){var s={range:e,message:t};return zr.defined(n)&&(s.severity=n),zr.defined(r)&&(s.code=r),zr.defined(i)&&(s.source=i),zr.defined(o)&&(s.relatedInformation=o),s},e.is=function(e){var t,n=e;return zr.defined(n)&&Tn.is(n.range)&&zr.string(n.message)&&(zr.number(n.severity)||zr.undefined(n.severity))&&(zr.integer(n.code)||zr.string(n.code)||zr.undefined(n.code))&&(zr.undefined(n.codeDescription)||zr.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(zr.string(n.source)||zr.undefined(n.source))&&(zr.undefined(n.relatedInformation)||zr.typedArray(n.relatedInformation,Nn.is))}}(jn||(jn={})),function(e){e.create=function(e,t){for(var n=[],r=2;r0&&(i.arguments=n),i},e.is=function(e){var t=e;return zr.defined(t)&&zr.string(t.title)&&zr.string(t.command)}}(In||(In={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return zr.objectLiteral(t)&&zr.string(t.newText)&&Tn.is(t.range)}}(Ln||(Ln={})),function(e){e.create=function(e,t,n){var r={label:e};return void 0!==t&&(r.needsConfirmation=t),void 0!==n&&(r.description=n),r},e.is=function(e){var t=e;return zr.objectLiteral(t)&&zr.string(t.label)&&(zr.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(zr.string(t.description)||void 0===t.description)}}(An||(An={})),function(e){e.is=function(e){var t=e;return zr.string(t)}}($n||($n={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return Ln.is(t)&&(An.is(t.annotationId)||$n.is(t.annotationId))}}(Fn||(Fn={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return zr.defined(t)&&Jn.is(t.textDocument)&&Array.isArray(t.edits)}}(zn||(zn={})),function(e){e.create=function(e,t,n){var r={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},e.is=function(e){var t=e;return t&&"create"===t.kind&&zr.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||zr.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||zr.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||$n.is(t.annotationId))}}(Wn||(Wn={})),function(e){e.create=function(e,t,n,r){var i={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i},e.is=function(e){var t=e;return t&&"rename"===t.kind&&zr.string(t.oldUri)&&zr.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||zr.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||zr.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||$n.is(t.annotationId))}}(Hn||(Hn={})),function(e){e.create=function(e,t,n){var r={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},e.is=function(e){var t=e;return t&&"delete"===t.kind&&zr.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||zr.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||zr.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||$n.is(t.annotationId))}}(Un||(Un={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return zr.string(e.kind)?Wn.is(e)||Hn.is(e)||Un.is(e):zn.is(e)})))}}(Vn||(Vn={}));var Bn,Zn,Jn,Gn,Qn,Xn,Yn,er,tr,nr,rr,ir,or,sr,ar,cr,lr,ur,dr,pr,hr,fr,gr,mr,yr,vr,br,kr,wr,Rr,Tr,xr,Dr,Cr,Sr,_r,Pr,qr,Nr,Er,Mr,Or,jr,Ir,Lr=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var r,i;if(void 0===n?r=Ln.insert(e,t):$n.is(n)?(i=n,r=Fn.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=Fn.insert(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.replace=function(e,t,n){var r,i;if(void 0===n?r=Ln.replace(e,t):$n.is(n)?(i=n,r=Fn.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=Fn.replace(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.delete=function(e,t){var n,r;if(void 0===t?n=Ln.del(e):$n.is(t)?(r=t,n=Fn.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(t),n=Fn.del(e,r)),this.edits.push(n),void 0!==r)return r},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),Ar=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if($n.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id ".concat(n," is already in use."));if(void 0===t)throw new Error("No annotation provided for id ".concat(n));return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),$r=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Ar(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(zn.is(e)){var n=new Lr(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var r=new Lr(e.changes[n]);t._textEditChanges[n]=r}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(Jn.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(r=this._textEditChanges[t.uri])){var n={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(n),r=new Lr(i,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var r;if(!(r=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,r=new Lr(i),this._textEditChanges[e]=r}return r},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new Ar,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(An.is(t)||$n.is(t)?r=t:n=t,void 0===r?i=Wn.create(e,n):(o=$n.is(r)?r:this._changeAnnotations.manage(r),i=Wn.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},e.prototype.renameFile=function(e,t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,s;if(An.is(n)||$n.is(n)?i=n:r=n,void 0===i?o=Hn.create(e,t,r):(s=$n.is(i)?i:this._changeAnnotations.manage(i),o=Hn.create(e,t,r,s)),this._workspaceEdit.documentChanges.push(o),void 0!==s)return s},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(An.is(t)||$n.is(t)?r=t:n=t,void 0===r?i=Un.create(e,n):(o=$n.is(r)?r:this._changeAnnotations.manage(r),i=Un.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return zr.defined(t)&&zr.string(t.uri)}}(Bn||(Bn={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return zr.defined(t)&&zr.string(t.uri)&&zr.integer(t.version)}}(Zn||(Zn={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return zr.defined(t)&&zr.string(t.uri)&&(null===t.version||zr.integer(t.version))}}(Jn||(Jn={})),function(e){e.create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},e.is=function(e){var t=e;return zr.defined(t)&&zr.string(t.uri)&&zr.string(t.languageId)&&zr.integer(t.version)&&zr.string(t.text)}}(Gn||(Gn={})),function(e){e.PlainText="plaintext",e.Markdown="markdown",e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(Qn||(Qn={})),function(e){e.is=function(e){var t=e;return zr.objectLiteral(e)&&Qn.is(t.kind)&&zr.string(t.value)}}(Xn||(Xn={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(Yn||(Yn={})),function(e){e.PlainText=1,e.Snippet=2}(er||(er={})),function(e){e.Deprecated=1}(tr||(tr={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&zr.string(t.newText)&&Tn.is(t.insert)&&Tn.is(t.replace)}}(nr||(nr={})),function(e){e.asIs=1,e.adjustIndentation=2}(rr||(rr={})),function(e){e.is=function(e){var t=e;return t&&(zr.string(t.detail)||void 0===t.detail)&&(zr.string(t.description)||void 0===t.description)}}(ir||(ir={})),function(e){e.create=function(e){return{label:e}}}(or||(or={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(sr||(sr={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return zr.string(t)||zr.objectLiteral(t)&&zr.string(t.language)&&zr.string(t.value)}}(ar||(ar={})),function(e){e.is=function(e){var t=e;return!!t&&zr.objectLiteral(t)&&(Xn.is(t.contents)||ar.is(t.contents)||zr.typedArray(t.contents,ar.is))&&(void 0===e.range||Tn.is(e.range))}}(cr||(cr={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(lr||(lr={})),function(e){e.create=function(e,t){for(var n=[],r=2;r=0;s--){var a=i[s],c=e.offsetAt(a.range.start),l=e.offsetAt(a.range.end);if(!(l<=o))throw new Error("Overlapping edit");r=r.substring(0,c)+a.newText+r.substring(l,r.length),o=c}return r}}(Fr||(Fr={}));var zr,Wr=function(){function e(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,r=0;r0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return Rn.create(0,e);for(;ne?r=i:n=i+1}var o=n-1;return Rn.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1Br(e)))},Kr.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},Kr.objectLiteral=function(e){return null!==e&&"object"==typeof e};var Jr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ImplementationRequest=void 0;const t=Ur;var n;(n=e.ImplementationRequest||(e.ImplementationRequest={})).method="textDocument/implementation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(Jr);var Gr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeDefinitionRequest=void 0;const t=Ur;var n;(n=e.TypeDefinitionRequest||(e.TypeDefinitionRequest={})).method="textDocument/typeDefinition",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(Gr);var Qr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=void 0;const t=Ur;var n,r;(n=e.WorkspaceFoldersRequest||(e.WorkspaceFoldersRequest={})).method="workspace/workspaceFolders",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType0(n.method),(r=e.DidChangeWorkspaceFoldersNotification||(e.DidChangeWorkspaceFoldersNotification={})).method="workspace/didChangeWorkspaceFolders",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolNotificationType(r.method)}(Qr);var Xr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationRequest=void 0;const t=Ur;var n;(n=e.ConfigurationRequest||(e.ConfigurationRequest={})).method="workspace/configuration",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)}(Xr);var Yr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPresentationRequest=e.DocumentColorRequest=void 0;const t=Ur;var n,r;(n=e.DocumentColorRequest||(e.DocumentColorRequest={})).method="textDocument/documentColor",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method),(r=e.ColorPresentationRequest||(e.ColorPresentationRequest={})).method="textDocument/colorPresentation",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method)}(Yr);var ei={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingRangeRequest=void 0;const t=Ur;var n;(n=e.FoldingRangeRequest||(e.FoldingRangeRequest={})).method="textDocument/foldingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(ei);var ti={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DeclarationRequest=void 0;const t=Ur;var n;(n=e.DeclarationRequest||(e.DeclarationRequest={})).method="textDocument/declaration",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(ti);var ni={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionRangeRequest=void 0;const t=Ur;var n;(n=e.SelectionRangeRequest||(e.SelectionRangeRequest={})).method="textDocument/selectionRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(ni);var ri={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=void 0;const t=St,n=Ur;var r,i,o;(r=e.WorkDoneProgress||(e.WorkDoneProgress={})).type=new t.ProgressType,r.is=function(e){return e===r.type},(i=e.WorkDoneProgressCreateRequest||(e.WorkDoneProgressCreateRequest={})).method="window/workDoneProgress/create",i.messageDirection=n.MessageDirection.serverToClient,i.type=new n.ProtocolRequestType(i.method),(o=e.WorkDoneProgressCancelNotification||(e.WorkDoneProgressCancelNotification={})).method="window/workDoneProgress/cancel",o.messageDirection=n.MessageDirection.clientToServer,o.type=new n.ProtocolNotificationType(o.method)}(ri);var ii={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.CallHierarchyPrepareRequest=void 0;const t=Ur;var n,r,i;(n=e.CallHierarchyPrepareRequest||(e.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method),(r=e.CallHierarchyIncomingCallsRequest||(e.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method),(i=e.CallHierarchyOutgoingCallsRequest||(e.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)}(ii);var oi={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.SemanticTokensRegistrationType=e.TokenFormat=void 0;const t=Ur;var n,r,i,o,s;(e.TokenFormat||(e.TokenFormat={})).Relative="relative",function(e){e.method="textDocument/semanticTokens",e.type=new t.RegistrationType(e.method)}(n=e.SemanticTokensRegistrationType||(e.SemanticTokensRegistrationType={})),(r=e.SemanticTokensRequest||(e.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method),r.registrationMethod=n.method,(i=e.SemanticTokensDeltaRequest||(e.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method),i.registrationMethod=n.method,(o=e.SemanticTokensRangeRequest||(e.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),o.registrationMethod=n.method,(s=e.SemanticTokensRefreshRequest||(e.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType0(s.method)}(oi);var si={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ShowDocumentRequest=void 0;const t=Ur;var n;(n=e.ShowDocumentRequest||(e.ShowDocumentRequest={})).method="window/showDocument",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)}(si);var ai={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedEditingRangeRequest=void 0;const t=Ur;var n;(n=e.LinkedEditingRangeRequest||(e.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)}(ai);var ci={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.DidRenameFilesNotification=e.WillRenameFilesRequest=e.DidCreateFilesNotification=e.WillCreateFilesRequest=e.FileOperationPatternKind=void 0;const t=Ur;var n,r,i,o,s,a,c;(n=e.FileOperationPatternKind||(e.FileOperationPatternKind={})).file="file",n.folder="folder",(r=e.WillCreateFilesRequest||(e.WillCreateFilesRequest={})).method="workspace/willCreateFiles",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method),(i=e.DidCreateFilesNotification||(e.DidCreateFilesNotification={})).method="workspace/didCreateFiles",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolNotificationType(i.method),(o=e.WillRenameFilesRequest||(e.WillRenameFilesRequest={})).method="workspace/willRenameFiles",o.messageDirection=t.MessageDirection.clientToServer,o.type=new t.ProtocolRequestType(o.method),(s=e.DidRenameFilesNotification||(e.DidRenameFilesNotification={})).method="workspace/didRenameFiles",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolNotificationType(s.method),(a=e.DidDeleteFilesNotification||(e.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolNotificationType(a.method),(c=e.WillDeleteFilesRequest||(e.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method)}(ci);var li={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=void 0;const t=Ur;var n,r,i;(n=e.UniquenessLevel||(e.UniquenessLevel={})).document="document",n.project="project",n.group="group",n.scheme="scheme",n.global="global",(r=e.MonikerKind||(e.MonikerKind={})).$import="import",r.$export="export",r.local="local",(i=e.MonikerRequest||(e.MonikerRequest={})).method="textDocument/moniker",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)}(li);var ui={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHierarchySubtypesRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchyPrepareRequest=void 0;const t=Ur;var n,r,i;(n=e.TypeHierarchyPrepareRequest||(e.TypeHierarchyPrepareRequest={})).method="textDocument/prepareTypeHierarchy",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method),(r=e.TypeHierarchySupertypesRequest||(e.TypeHierarchySupertypesRequest={})).method="typeHierarchy/supertypes",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method),(i=e.TypeHierarchySubtypesRequest||(e.TypeHierarchySubtypesRequest={})).method="typeHierarchy/subtypes",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType(i.method)}(ui);var di={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlineValueRefreshRequest=e.InlineValueRequest=void 0;const t=Ur;var n,r;(n=e.InlineValueRequest||(e.InlineValueRequest={})).method="textDocument/inlineValue",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method),(r=e.InlineValueRefreshRequest||(e.InlineValueRefreshRequest={})).method="workspace/inlineValue/refresh",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType0(r.method)}(di);var pi={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=void 0;const t=Ur;var n,r,i;(n=e.InlayHintRequest||(e.InlayHintRequest={})).method="textDocument/inlayHint",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method),(r=e.InlayHintResolveRequest||(e.InlayHintResolveRequest={})).method="inlayHint/resolve",r.messageDirection=t.MessageDirection.clientToServer,r.type=new t.ProtocolRequestType(r.method),(i=e.InlayHintRefreshRequest||(e.InlayHintRefreshRequest={})).method="workspace/inlayHint/refresh",i.messageDirection=t.MessageDirection.clientToServer,i.type=new t.ProtocolRequestType0(i.method)}(pi);var hi={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=void 0;const t=St,n=Kr,r=Ur;var i,o,s,a;(e.DiagnosticServerCancellationData||(e.DiagnosticServerCancellationData={})).is=function(e){const t=e;return t&&n.boolean(t.retriggerRequest)},(i=e.DocumentDiagnosticReportKind||(e.DocumentDiagnosticReportKind={})).Full="full",i.Unchanged="unchanged",(o=e.DocumentDiagnosticRequest||(e.DocumentDiagnosticRequest={})).method="textDocument/diagnostic",o.messageDirection=r.MessageDirection.clientToServer,o.type=new r.ProtocolRequestType(o.method),o.partialResult=new t.ProgressType,(s=e.WorkspaceDiagnosticRequest||(e.WorkspaceDiagnosticRequest={})).method="workspace/diagnostic",s.messageDirection=r.MessageDirection.clientToServer,s.type=new r.ProtocolRequestType(s.method),s.partialResult=new t.ProgressType,(a=e.DiagnosticRefreshRequest||(e.DiagnosticRefreshRequest={})).method="workspace/diagnostic/refresh",a.messageDirection=r.MessageDirection.clientToServer,a.type=new r.ProtocolRequestType0(a.method)}(hi);var fi={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=void 0;const t=Hr,n=Kr,r=Ur;var i,o,s,a,c,l,u,d,p,h;!function(e){e.Markup=1,e.Code=2,e.is=function(e){return 1===e||2===e}}(i=e.NotebookCellKind||(e.NotebookCellKind={})),function(e){e.create=function(e,t){const n={executionOrder:e};return!0!==t&&!1!==t||(n.success=t),n},e.is=function(e){const r=e;return n.objectLiteral(r)&&t.uinteger.is(r.executionOrder)&&(void 0===r.success||n.boolean(r.success))},e.equals=function(e,t){return e===t||null!=e&&null!=t&&(e.executionOrder===t.executionOrder&&e.success===t.success)}}(o=e.ExecutionSummary||(e.ExecutionSummary={})),function(e){function r(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;const i=Array.isArray(e),o=Array.isArray(t);if(i!==o)return!1;if(i&&o){if(e.length!==t.length)return!1;for(let n=0;n0},(e.TextDocumentRegistrationOptions||(e.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||S.is(t.documentSelector))},(M=e.WorkDoneProgressOptions||(e.WorkDoneProgressOptions={})).is=function(e){const t=e;return r.objectLiteral(t)&&(void 0===t.workDoneProgress||r.boolean(t.workDoneProgress))},M.hasWorkDoneProgress=function(e){const t=e;return t&&r.boolean(t.workDoneProgress)},(O=e.InitializeRequest||(e.InitializeRequest={})).method="initialize",O.messageDirection=t.MessageDirection.clientToServer,O.type=new t.ProtocolRequestType(O.method),(e.InitializeErrorCodes||(e.InitializeErrorCodes={})).unknownProtocolVersion=1,(j=e.InitializedNotification||(e.InitializedNotification={})).method="initialized",j.messageDirection=t.MessageDirection.clientToServer,j.type=new t.ProtocolNotificationType(j.method),(I=e.ShutdownRequest||(e.ShutdownRequest={})).method="shutdown",I.messageDirection=t.MessageDirection.clientToServer,I.type=new t.ProtocolRequestType0(I.method),(L=e.ExitNotification||(e.ExitNotification={})).method="exit",L.messageDirection=t.MessageDirection.clientToServer,L.type=new t.ProtocolNotificationType0(L.method),(A=e.DidChangeConfigurationNotification||(e.DidChangeConfigurationNotification={})).method="workspace/didChangeConfiguration",A.messageDirection=t.MessageDirection.clientToServer,A.type=new t.ProtocolNotificationType(A.method),($=e.MessageType||(e.MessageType={})).Error=1,$.Warning=2,$.Info=3,$.Log=4,(F=e.ShowMessageNotification||(e.ShowMessageNotification={})).method="window/showMessage",F.messageDirection=t.MessageDirection.serverToClient,F.type=new t.ProtocolNotificationType(F.method),(z=e.ShowMessageRequest||(e.ShowMessageRequest={})).method="window/showMessageRequest",z.messageDirection=t.MessageDirection.serverToClient,z.type=new t.ProtocolRequestType(z.method),(W=e.LogMessageNotification||(e.LogMessageNotification={})).method="window/logMessage",W.messageDirection=t.MessageDirection.serverToClient,W.type=new t.ProtocolNotificationType(W.method),(H=e.TelemetryEventNotification||(e.TelemetryEventNotification={})).method="telemetry/event",H.messageDirection=t.MessageDirection.serverToClient,H.type=new t.ProtocolNotificationType(H.method),(U=e.TextDocumentSyncKind||(e.TextDocumentSyncKind={})).None=0,U.Full=1,U.Incremental=2,(V=e.DidOpenTextDocumentNotification||(e.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",V.messageDirection=t.MessageDirection.clientToServer,V.type=new t.ProtocolNotificationType(V.method),(K=e.TextDocumentContentChangeEvent||(e.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},K.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(B=e.DidChangeTextDocumentNotification||(e.DidChangeTextDocumentNotification={})).method="textDocument/didChange",B.messageDirection=t.MessageDirection.clientToServer,B.type=new t.ProtocolNotificationType(B.method),(Z=e.DidCloseTextDocumentNotification||(e.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Z.messageDirection=t.MessageDirection.clientToServer,Z.type=new t.ProtocolNotificationType(Z.method),(J=e.DidSaveTextDocumentNotification||(e.DidSaveTextDocumentNotification={})).method="textDocument/didSave",J.messageDirection=t.MessageDirection.clientToServer,J.type=new t.ProtocolNotificationType(J.method),(G=e.TextDocumentSaveReason||(e.TextDocumentSaveReason={})).Manual=1,G.AfterDelay=2,G.FocusOut=3,(Q=e.WillSaveTextDocumentNotification||(e.WillSaveTextDocumentNotification={})).method="textDocument/willSave",Q.messageDirection=t.MessageDirection.clientToServer,Q.type=new t.ProtocolNotificationType(Q.method),(X=e.WillSaveTextDocumentWaitUntilRequest||(e.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",X.messageDirection=t.MessageDirection.clientToServer,X.type=new t.ProtocolRequestType(X.method),(Y=e.DidChangeWatchedFilesNotification||(e.DidChangeWatchedFilesNotification={})).method="workspace/didChangeWatchedFiles",Y.messageDirection=t.MessageDirection.clientToServer,Y.type=new t.ProtocolNotificationType(Y.method),(ee=e.FileChangeType||(e.FileChangeType={})).Created=1,ee.Changed=2,ee.Deleted=3,(e.RelativePattern||(e.RelativePattern={})).is=function(e){const t=e;return r.objectLiteral(t)&&(n.URI.is(t.baseUri)||n.WorkspaceFolder.is(t.baseUri))&&r.string(t.pattern)},(te=e.WatchKind||(e.WatchKind={})).Create=1,te.Change=2,te.Delete=4,(ne=e.PublishDiagnosticsNotification||(e.PublishDiagnosticsNotification={})).method="textDocument/publishDiagnostics",ne.messageDirection=t.MessageDirection.serverToClient,ne.type=new t.ProtocolNotificationType(ne.method),(re=e.CompletionTriggerKind||(e.CompletionTriggerKind={})).Invoked=1,re.TriggerCharacter=2,re.TriggerForIncompleteCompletions=3,(ie=e.CompletionRequest||(e.CompletionRequest={})).method="textDocument/completion",ie.messageDirection=t.MessageDirection.clientToServer,ie.type=new t.ProtocolRequestType(ie.method),(oe=e.CompletionResolveRequest||(e.CompletionResolveRequest={})).method="completionItem/resolve",oe.messageDirection=t.MessageDirection.clientToServer,oe.type=new t.ProtocolRequestType(oe.method),(se=e.HoverRequest||(e.HoverRequest={})).method="textDocument/hover",se.messageDirection=t.MessageDirection.clientToServer,se.type=new t.ProtocolRequestType(se.method),(ae=e.SignatureHelpTriggerKind||(e.SignatureHelpTriggerKind={})).Invoked=1,ae.TriggerCharacter=2,ae.ContentChange=3,(ce=e.SignatureHelpRequest||(e.SignatureHelpRequest={})).method="textDocument/signatureHelp",ce.messageDirection=t.MessageDirection.clientToServer,ce.type=new t.ProtocolRequestType(ce.method),(le=e.DefinitionRequest||(e.DefinitionRequest={})).method="textDocument/definition",le.messageDirection=t.MessageDirection.clientToServer,le.type=new t.ProtocolRequestType(le.method),(ue=e.ReferencesRequest||(e.ReferencesRequest={})).method="textDocument/references",ue.messageDirection=t.MessageDirection.clientToServer,ue.type=new t.ProtocolRequestType(ue.method),(de=e.DocumentHighlightRequest||(e.DocumentHighlightRequest={})).method="textDocument/documentHighlight",de.messageDirection=t.MessageDirection.clientToServer,de.type=new t.ProtocolRequestType(de.method),(pe=e.DocumentSymbolRequest||(e.DocumentSymbolRequest={})).method="textDocument/documentSymbol",pe.messageDirection=t.MessageDirection.clientToServer,pe.type=new t.ProtocolRequestType(pe.method),(he=e.CodeActionRequest||(e.CodeActionRequest={})).method="textDocument/codeAction",he.messageDirection=t.MessageDirection.clientToServer,he.type=new t.ProtocolRequestType(he.method),(fe=e.CodeActionResolveRequest||(e.CodeActionResolveRequest={})).method="codeAction/resolve",fe.messageDirection=t.MessageDirection.clientToServer,fe.type=new t.ProtocolRequestType(fe.method),(ge=e.WorkspaceSymbolRequest||(e.WorkspaceSymbolRequest={})).method="workspace/symbol",ge.messageDirection=t.MessageDirection.clientToServer,ge.type=new t.ProtocolRequestType(ge.method),(me=e.WorkspaceSymbolResolveRequest||(e.WorkspaceSymbolResolveRequest={})).method="workspaceSymbol/resolve",me.messageDirection=t.MessageDirection.clientToServer,me.type=new t.ProtocolRequestType(me.method),(ye=e.CodeLensRequest||(e.CodeLensRequest={})).method="textDocument/codeLens",ye.messageDirection=t.MessageDirection.clientToServer,ye.type=new t.ProtocolRequestType(ye.method),(ve=e.CodeLensResolveRequest||(e.CodeLensResolveRequest={})).method="codeLens/resolve",ve.messageDirection=t.MessageDirection.clientToServer,ve.type=new t.ProtocolRequestType(ve.method),(be=e.CodeLensRefreshRequest||(e.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",be.messageDirection=t.MessageDirection.serverToClient,be.type=new t.ProtocolRequestType0(be.method),(ke=e.DocumentLinkRequest||(e.DocumentLinkRequest={})).method="textDocument/documentLink",ke.messageDirection=t.MessageDirection.clientToServer,ke.type=new t.ProtocolRequestType(ke.method),(we=e.DocumentLinkResolveRequest||(e.DocumentLinkResolveRequest={})).method="documentLink/resolve",we.messageDirection=t.MessageDirection.clientToServer,we.type=new t.ProtocolRequestType(we.method),(Re=e.DocumentFormattingRequest||(e.DocumentFormattingRequest={})).method="textDocument/formatting",Re.messageDirection=t.MessageDirection.clientToServer,Re.type=new t.ProtocolRequestType(Re.method),(Te=e.DocumentRangeFormattingRequest||(e.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",Te.messageDirection=t.MessageDirection.clientToServer,Te.type=new t.ProtocolRequestType(Te.method),(xe=e.DocumentOnTypeFormattingRequest||(e.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",xe.messageDirection=t.MessageDirection.clientToServer,xe.type=new t.ProtocolRequestType(xe.method),(e.PrepareSupportDefaultBehavior||(e.PrepareSupportDefaultBehavior={})).Identifier=1,(De=e.RenameRequest||(e.RenameRequest={})).method="textDocument/rename",De.messageDirection=t.MessageDirection.clientToServer,De.type=new t.ProtocolRequestType(De.method),(Ce=e.PrepareRenameRequest||(e.PrepareRenameRequest={})).method="textDocument/prepareRename",Ce.messageDirection=t.MessageDirection.clientToServer,Ce.type=new t.ProtocolRequestType(Ce.method),(Se=e.ExecuteCommandRequest||(e.ExecuteCommandRequest={})).method="workspace/executeCommand",Se.messageDirection=t.MessageDirection.clientToServer,Se.type=new t.ProtocolRequestType(Se.method),(_e=e.ApplyWorkspaceEditRequest||(e.ApplyWorkspaceEditRequest={})).method="workspace/applyEdit",_e.messageDirection=t.MessageDirection.serverToClient,_e.type=new t.ProtocolRequestType("workspace/applyEdit")}(Vr);var gi={};Object.defineProperty(gi,"__esModule",{value:!0}),gi.createProtocolConnection=void 0;const mi=St;gi.createProtocolConnection=function(e,t,n,r){return mi.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,mi.createMessageConnection)(e,t,n,r)},function(e){var t=Rt&&Rt.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=Rt&&Rt.__exportStar||function(e,n){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.LSPErrorCodes=e.createProtocolConnection=void 0,n(St,e),n(Hr,e),n(Ur,e),n(Vr,e);var r,i=gi;Object.defineProperty(e,"createProtocolConnection",{enumerable:!0,get:function(){return i.createProtocolConnection}}),(r=e.LSPErrorCodes||(e.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,r.RequestFailed=-32803,r.ServerCancelled=-32802,r.ContentModified=-32801,r.RequestCancelled=-32800,r.lspReservedErrorRangeEnd=-32800}(Kn),function(e){var t=Rt&&Rt.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=Rt&&Rt.__exportStar||function(e,n){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;const r=Ct.exports;n(Ct.exports,e),n(Kn,e),e.createProtocolConnection=function(e,t,n,i){return(0,r.createMessageConnection)(e,t,n,i)}}(Dt);var yi="undefined"!=typeof Element,vi="function"==typeof Map,bi="function"==typeof Set,ki="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function wi(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;var n,r,i,o;if(Array.isArray(e)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(!wi(e[r],t[r]))return!1;return!0}if(vi&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!wi(r.value[1],t.get(r.value[0])))return!1;return!0}if(bi&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(ki&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if((n=(i=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(yi&&e instanceof Element)return!1;for(r=n;0!=r--;)if(("_owner"!==i[r]&&"__v"!==i[r]&&"__o"!==i[r]||!e.$$typeof)&&!wi(e[i[r]],t[i[r]]))return!1;return!0}return e!=e&&t!=t}function Ri({initiallyOpen:e,children:[n,...i],setOpenRef:o}){const[s,a]=r.useState(void 0!==e&&e),c=r.useCallback((e=>{null!=e&&e.addEventListener("toggle",(()=>a(e.open)))}),[]);return o&&(o.current=a),t("details",{ref:c,open:s,children:[n,s&&i]})}const Ti=r.memo((({uri:n,diag:i})=>{const o=r.useContext(D),s=M(n).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'");const{line:a,character:c}=i.range.start,l={uri:n,range:i.range},u=T(i.message),d=i.severity?{[Dt.DiagnosticSeverity.Error]:"error",[Dt.DiagnosticSeverity.Warning]:"warning",[Dt.DiagnosticSeverity.Information]:"information",[Dt.DiagnosticSeverity.Hint]:"hint"}[i.severity]:"";return t("details",{open:!0,children:[t("summary",{className:d+" mv2 pointer",children:[`${s}:${a+1}:${c}`,t("span",{className:"fr",children:[e("a",{className:"link pointer mh2 dim codicon codicon-go-to-file",onClick:e=>{e.preventDefault(),o.revealLocation(l)},title:"reveal file location"}),e("a",{className:"link pointer mh2 dim codicon codicon-quote","data-id":"copy-to-comment",onClick:e=>{e.preventDefault(),o.copyToComment(u)},title:"copy message to comment"}),e("a",{className:"link pointer mh2 dim codicon codicon-clippy",onClick:e=>{e.preventDefault(),o.api.copyToClipboard(u)},title:"copy message to clipboard"})]})]}),e("div",{className:"ml1",children:e("pre",{className:"font-code pre-wrap",children:e(ht,{fmt:i.message})})})]})}),(function(e,t){try{return wi(e,t)}catch(e){if((e.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw e}}));function xi(e,t){const n=t.sort(((e,t)=>{const n=e.fullRange?.end||e.range.end,r=t.fullRange?.end||t.range.end;return n.line===r.line?n.character-r.character:n.line-r.line})).map((t=>({uri:e,diag:t})));return function(e,t){const n={};return e.map((e=>{const r=t(e);return n[r]=(n[r]||0)+1,{key:`${r}:${n[r]}`,...e}}))}(n,(e=>q.toString({uri:e.uri,...e.diag.range.start})))}const Di=r.memo((({uri:t,messages:r})=>0===r.length?e(n,{children:"No messages."}):e("div",{className:"ml1",children:xi(t,r).map((t=>e(Ti,{...t})))})));function Ci({uri:n}){const i=r.useContext(D),o=r.useContext(C),s=Q({uri:n,line:0,character:0}),a=r.useContext(_),c=r.useContext(S),u=a.get(n)||[],d=r.useMemo((()=>function(e){let t;return()=>(t||(t={t:e()}),t.t)}((async()=>{try{const e=await m(s);if(e.length>0)return e}catch(e){e?.code===l.ContentModified||console.log("getInteractiveDiagnostics error ",e)}return u.map((e=>({...e,message:{text:e.message}})))}))),[o,s,n,u]),[{isPaused:p,setPaused:h},[f,g,y,v],b]=F(!1,[n,s,u,d]);r.useEffect((()=>{p&&v()}),[v,p]);const k=r.useRef();return O(i.events.requestedAction,(e=>{"toggleAllMessages"===e.kind&&void 0!==k.current&&k.current((e=>!e))})),e(X.Provider,{value:g,children:t(Ri,{setOpenRef:k,initiallyOpen:!c.autoOpenShowsGoal,children:[t("summary",{className:"mv2 pointer",children:["All Messages (",y.length,")",e("span",{className:"fr",children:e("a",{className:"link pointer mh2 dim codicon "+(p?"codicon-debug-continue":"codicon-debug-pause"),onClick:e=>{e.preventDefault(),h((e=>!e))},title:p?"continue updating":"pause updating"})})]}),e(Si,{uri:f,messages:v})]})})}function Si({uri:t,messages:i}){const[o,s]=r.useState(void 0);return r.useEffect((()=>{i().then(s)}),[i]),void 0===o?e(n,{children:"Loading messages..."}):e(Di,{uri:t,messages:o})}function _i({children:t}){const[n,r]=L("textDocument/publishDiagnostics",new Map,(async e=>t=>new Map(t).set(e.uri,e.diagnostics)),[]);return e(_.Provider,{value:n,children:t})}function Pi(e){return{...e,message:{text:e.message}}}const qi=r.memo((n=>{const{kind:i,onPin:o,status:s,pos:a,isPaused:c,setPaused:l,triggerUpdate:u}=n,d=r.useContext(D),p={updating:"gold ",error:"dark-red ",ready:""}[s],h=`${M(a.uri)}:${a.line+1}:${a.character}`,f="pin"===i;return t("summary",{style:{transition:"color 0.5s ease"},className:"mv2 pointer "+p,children:[h,f&&!c&&" (pinned)",!f&&c&&" (paused)",f&&c&&" (pinned and paused)",t("span",{className:"fr",children:[f&&e("a",{className:"link pointer mh2 dim codicon codicon-go-to-file","data-id":"reveal-file-location",onClick:e=>{e.preventDefault(),d.revealPosition(a)},title:"reveal file location"}),e("a",{className:"link pointer mh2 dim codicon "+(f?"codicon-pinned ":"codicon-pin "),"data-id":"toggle-pinned",onClick:e=>{e.preventDefault(),o(a)},title:f?"unpin":"pin"}),e("a",{className:"link pointer mh2 dim codicon "+(c?"codicon-debug-continue ":"codicon-debug-pause "),"data-id":"toggle-paused",onClick:e=>{e.preventDefault(),l(!c)},title:c?"continue updating":"pause updating"}),e("a",{className:"link pointer mh2 dim codicon codicon-refresh","data-id":"update",onClick:e=>{e.preventDefault(),u()},title:"update"})]})]})})),Ni=r.memo((i=>{const{pos:o,messages:s,goals:a,termGoal:c,error:l,userWidgets:u,triggerUpdate:d,isPaused:p,setPaused:h}=i,f=u.length>0,g=!!l,m=0!==s.length,y=!(g||a||c||m||f),[v,b]=r.useState([]);r.useEffect((()=>b([])),[o.uri,o.line,o.character]);const k=r.useMemo((()=>({isSelected:e=>v.some((t=>He.isEqual(t,e))),setSelected:(e,t)=>b((n=>{const r=n.filter((t=>!He.isEqual(t,e))),i=r.length!==n.length,o="function"==typeof t?t(i):t;return o&&r.push(e),i===o?n:r})),subexprTemplate:void 0})),[v]);return t(n,{children:[g&&t("div",{className:"error",children:["Error updating:"," ",l,".",t("a",{className:"link pointer dim",onClick:e=>{e.preventDefault(),d()},children:[" ","Try again."]})]},"errors"),e(Ue.Provider,{value:k,children:e(ot,{headerChildren:"Tactic state",goals:a},"goals")}),e(ot,{headerChildren:"Expected type",goals:void 0!==c?{goals:[c]}:void 0},"term-goal"),u.map((n=>t("details",{open:!0,children:[e("summary",{className:"mv2 pointer",children:n.name}),e(kt,{pos:o,goals:a?a.goals:[],termGoal:c,selectedLocations:v,widget:n})]},`widget::${n.id}::${n.range?.toString()}`))),e("div",{style:{display:m?"block":"none"},children:t("details",{open:!0,children:[t("summary",{className:"mv2 pointer",children:["Messages (",s.length,")"]}),e("div",{className:"ml1",children:e(Di,{uri:o.uri,messages:s})})]},"messages")},"messages"),y&&(p?t("span",{children:["Updating is paused."," ",e("a",{className:"link pointer dim",onClick:e=>{e.preventDefault(),d()},children:"Refresh"})," ","or ",e("a",{className:"link pointer dim",onClick:e=>{e.preventDefault(),h(!1)},children:"resume updating"})," ","to see information."]}):"No info found.")]})}));function Ei(n){const[i,o]=r.useState(!1),[{isPaused:s,setPaused:a},c,l]=F(!1,n);i&&(l.current=n,o(!1));const u=async()=>{await n.triggerUpdate(),o(!0)},{kind:d,goals:p,rpcSess:h}=c,f=r.useContext(D),g="cursor"===d;return O(f.events.requestedAction,(e=>{g&&"copyToComment"===e.kind&&p&&f.copyToComment(tt(p))}),[p]),O(f.events.requestedAction,(e=>{g&&"togglePaused"===e.kind&&a((e=>!e))})),e(X.Provider,{value:h,children:t("details",{open:!0,children:[e(qi,{...c,triggerUpdate:u,isPaused:s,setPaused:a}),e("div",{className:"ml1",children:e(Ni,{...c,triggerUpdate:u,isPaused:s,setPaused:a})})]})})}function Mi(t){return"cursor"===t.kind?e(Oi,{...t}):e(ji,{...t,pos:t.pos})}function Oi(t){const n=r.useContext(D),[i,o]=r.useState(n.events.changedCursorLocation.current);O(n.events.changedCursorLocation,(e=>e&&o(e)),[]);const s={uri:i.uri,...i.range.start};return e(ji,{...t,pos:s})}function ji(t){const n=r.useContext(S),i=t.pos,o=Q(i),s=r.useContext(_),[a,c]=r.useState([]);r.useEffect((()=>{c((e=>{const t=(s.get(i.uri)||[]).filter((e=>E.contains(e.range,i,n.allErrorsOnLine)));return t.length===e.length&&t.every(((t,n)=>t===e[n]))?e:t}))}),[s,i.uri,i.line,i.character,n.allErrorsOnLine]);const d=function(e){const t=r.useContext(P).get(e.uri);return!!t&&t.some((t=>E.contains(t.range,e)))}(i),[p,h]=r.useState(0),[y,v]=V((()=>new Promise(((e,t)=>{const n=f(o,q.toTdpp(i)),r=g(o,q.toTdpp(i)),s=w(o,i).catch(U),c=m(o,{start:i.line,end:i.line+1}).then((e=>0===e.length?a.map(Pi):e));0===i.line&&a.length&&setTimeout((()=>e({pos:i,status:"updating",messages:a.map(Pi),goals:void 0,termGoal:void 0,error:void 0,userWidgets:[],rpcSess:o})),500),Promise.all([n,r,s,c]).then((([t,n,r,s])=>e({pos:i,status:"ready",messages:s,goals:t,termGoal:n,error:void 0,userWidgets:r?.widgets??[],rpcSess:o})),(n=>{n?.code!==l.ContentModified&&n?.code!==l.RpcNeedsReconnect||(h((e=>e+1)),t("retry"));let r="";r="string"==typeof n?n:u(n)?H(n).message:n instanceof Error?n.toString():`Unrecognized error: ${JSON.stringify(n)}`,e({pos:i,status:"error",messages:a.map(Pi),goals:void 0,termGoal:void 0,error:`Error fetching goals: ${r}`,userWidgets:[],rpcSess:o})}))}))),[p,i.uri,i.line,i.character,o,d,a]),b=r.useRef(),k=r.useCallback((()=>new Promise((e=>{b.current&&(window.clearTimeout(b.current),b.current=void 0);const t=window.setTimeout((()=>{v().then(e),b.current=void 0}),n.debounceTime);window.setTimeout(e,n.debounceTime),b.current=t}))),[v,n.debounceTime]),[R,T]=r.useState({pos:i,status:"updating",messages:[],goals:void 0,termGoal:void 0,error:void 0,userWidgets:[],rpcSess:o,triggerUpdate:k});return r.useEffect((()=>{"notStarted"===y.state?k():"loading"===y.state?T((e=>({...e,status:"updating"}))):"resolved"===y.state?T({...y.value,triggerUpdate:k}):"rejected"===y.state&&"retry"!==y.error&&console.warn("Unreachable code reached with error: ",y.error)}),[y]),e(Ei,{kind:t.kind,onPin:t.onPin,...R})}function Ii(){const n=r.useContext(D),[i,o]=$("textDocument/didChange",new Array,((e,t)=>{if(0===e.length)return e;let n=!1;const r=e.map((e=>{if(e.uri!==t.textDocument.uri)return e;const r={...e};for(const e of t.contentChanges){if(!Dt.TextDocumentContentChangeEvent.isIncremental(e))return n=!0,null;if(N.isLessThanOrEqual(r,e.range.start))continue;if(N.isLessThanOrEqual(r,e.range.end))return n=!0,null;const t={...r};let i=0,o=e.range.start.character;for(const t of e.text)"\n"===t?(i++,o=0):o++;if(i-=e.range.end.line-e.range.start.line,r.line+=i,t.linenull!==e)):e}),[]);A("textDocument/didClose",(e=>{o((t=>t.filter((t=>t.uri!==e.textDocument.uri))))}),[]);const s=j(n.events.changedCursorLocation,(e=>e?{uri:e.uri,...e.range.start}:void 0)),a=r.useRef(0),c=(e,t)=>e.some((e=>q.isEqual(e,t))),l=r.useCallback((e=>{o((t=>c(t,e)?t:(a.current+=1,[...t,{...e,key:a.current.toString()}])))}),[]),u=r.useCallback((e=>{o((t=>c(t,e)?t.filter((t=>!q.isEqual(t,e))):t))}),[]);O(n.events.requestedAction,(e=>{"togglePin"===e.kind&&s&&o((e=>c(e,s)?e.filter((e=>!q.isEqual(e,s))):(a.current+=1,[...e,{...s,key:a.current.toString()}])))}),[s?.uri,s?.line,s?.character]);const d=i.map((e=>({kind:"pin",onPin:u,pos:e,key:e.key})));return s&&d.push({kind:"cursor",onPin:l,key:"cursor"}),t("div",{children:[d.map((t=>e(Mi,{...t}))),!s&&e("p",{children:"Click somewhere in the Lean file to enable the infoview."})]})}class Li{handlers=[];current;on(e){return this.handlers.push(e),{dispose:()=>{this.handlers=this.handlers.filter((t=>t!==e))}}}fire(e){this.current=e;for(const t of this.handlers)t(e)}dispose(){this.handlers=[]}}function Ai(n){const i=r.useContext(D),o=j(i.events.changedInfoviewConfig)??d,[s,a]=L("$/lean/fileProgress",new Map,(async e=>t=>new Map(t).set(e.textDocument.uri,e.processing)),[]),c=j(i.events.changedCursorLocation,(e=>e?.uri));A("textDocument/didClose",(e=>{i.events.changedCursorLocation.current&&i.events.changedCursorLocation.current.uri===e.textDocument.uri&&i.events.changedCursorLocation.fire(void 0)}),[]);const l=j(i.events.serverRestarted,(e=>new gt(e.serverInfo?.version??""))),u=j(i.events.serverStopped);let p;return p=l?t("div",u?{children:[e("p",{children:u.message}),e("p",{className:"error",children:u.reason})]}:{className:"ma1",children:[e(Ii,{}),c&&e("div",{className:"mv2",children:e(Ci,{uri:c})})]}):e("p",{children:"Waiting for Lean server to start..."}),e(S.Provider,{value:o,children:e(C.Provider,{value:l,children:e(J,{children:e(_i,{children:e(P.Provider,{value:s,children:p})})})})})}function $i(t,n){const i={initialize:new Li,gotServerNotification:new Li,sentClientNotification:new Li,serverRestarted:new Li,serverStopped:new Li,changedCursorLocation:new Li,changedInfoviewConfig:new Li,runTestScript:new Li,requestedAction:new Li},o={initialize:async e=>i.initialize.fire(e),gotServerNotification:async(e,t)=>{i.gotServerNotification.fire([e,t])},sentClientNotification:async(e,t)=>{i.sentClientNotification.fire([e,t])},serverRestarted:async e=>i.serverRestarted.fire(e),serverStopped:async e=>{i.serverStopped.fire(e)},changedCursorLocation:async e=>i.changedCursorLocation.fire(e),changedInfoviewConfig:async e=>i.changedInfoviewConfig.fire(e),requestedAction:async e=>i.requestedAction.fire(e),runTestScript:async e=>new Function(e)(),getInfoviewHtml:async()=>document.body.innerHTML},s=new ft(t,i);i.initialize.on((e=>s.events.changedCursorLocation.fire(e)));return wt(n).render(e(r.StrictMode,{children:e(D.Provider,{value:s,children:e(Ai,{})})})),o}function Fi({msg:i}){const o=r.useContext(X),s=K((()=>y(o,i,0)),[o,i]);return"resolved"===s.state?e(ht,{fmt:s.value}):"loading"===s.state?e(n,{children:"..."}):t("div",{children:["Failed to display message:",e("span",{children:H(s.error).message})]})}export{q as DocumentPosition,bt as DynamicComponent,ft as EditorConnection,D as EditorContext,We as GoalLocation,He as GoalsLocation,Xe as InteractiveCode,b as InteractiveDiagnostics_infoToInteractive,y as InteractiveDiagnostics_msgToInteractive,x as InteractiveHypothesisBundle_nonAnonymousNames,Fi as InteractiveMessageData,a as LeanFileProgressKind,X as RpcContext,l as RpcErrorCode,c as RpcPtr,h as RpcSessions,gt as ServerVersion,T as TaggedText_stripTags,C as VersionContext,R as Widget_getWidgetSource,w as Widget_getWidgets,d as defaultInfoviewConfig,k as getGoToLocation,m as getInteractiveDiagnostics,f as getInteractiveGoals,g as getInteractiveTermGoal,vt as importWidgetModule,u as isRpcError,v as lazyTraceChildrenToInteractive,H as mapRpcError,$i as renderInfoview,K as useAsync,B as useAsyncPersistent,V as useAsyncWithTrigger,A as useClientNotificationEffect,$ as useClientNotificationState,O as useEvent,j as useEventResult,I as useServerNotificationEffect,L as useServerNotificationState}; \ No newline at end of file diff --git a/client/public/loader.production.min.js b/client/public/loader.production.min.js new file mode 100644 index 00000000..eaa82e47 --- /dev/null +++ b/client/public/loader.production.min.js @@ -0,0 +1 @@ +window.esmsInitOptions={shimMode:!0};var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e,t,r){importShim.addImportMap({imports:e}),importShim("@leanprover/infoview").then((e=>r(e.renderInfoview(...t)))).catch((e=>console.error(`Error importing '@leanprover/infoview': ${JSON.stringify(e)}`)))}!function(){const t="undefined"!=typeof window,r="undefined"!=typeof document,n=()=>{},i=r?document.querySelector("script[type=esms-options]"):void 0,s=i?JSON.parse(i.innerHTML):{};Object.assign(s,self.esmsInitOptions||{});let a=!r||!!s.shimMode;const o=w(a&&s.onimport),c=w(a&&s.resolve);let l=s.fetch?w(s.fetch):fetch;const f=s.meta?w(a&&s.meta):n,u=s.mapOverrides;let d=s.nonce;if(!d&&r){const e=document.querySelector("script[nonce]");e&&(d=e.nonce||e.getAttribute("nonce"))}const p=w(s.onerror||n),b=s.onpolyfill?w(s.onpolyfill):()=>{console.log("%c^^ Module TypeError above is polyfilled and can be ignored ^^","font-weight:900;color:#391")},{revokeBlobURLs:h,noLoadEventRetriggers:m,enforceIntegrity:k}=s;function w(e){return"string"==typeof e?self[e]:e}const y=Array.isArray(s.polyfillEnable)?s.polyfillEnable:[],g=y.includes("css-modules"),v=y.includes("json-modules"),$=!navigator.userAgentData&&!!navigator.userAgent.match(/Edge\/\d+\.\d+/),x=r?document.baseURI:`${location.protocol}//${location.host}${location.pathname.includes("/")?location.pathname.slice(0,location.pathname.lastIndexOf("/")+1):location.pathname}`,E=(e,t="text/javascript")=>URL.createObjectURL(new Blob([e],{type:t}));let{skip:S}=s;if(Array.isArray(S)){const e=S.map((e=>new URL(e,x).href));S=t=>e.some((e=>"/"===e[e.length-1]&&t.startsWith(e)||t===e))}else if("string"==typeof S){const e=new RegExp(S);S=t=>e.test(t)}const L=e=>setTimeout((()=>{throw e})),A=e=>{(self.reportError||t&&window.safari&&console.error||L)(e),p(e)};function O(e){return e?` imported from ${e}`:""}let C=!1;if(!a)if(document.querySelectorAll("script[type=module-shim],script[type=importmap-shim],link[rel=modulepreload-shim]").length)a=!0;else{let e=!1;for(const t of document.querySelectorAll("script[type=module],script[type=importmap]"))if(e){if("importmap"===t.type&&e){C=!0;break}}else"module"!==t.type||t.ep||(e=!0)}const j=/\\/g;function U(e){if(-1===e.indexOf(":"))return!1;try{return new URL(e),!0}catch(e){return!1}}function M(e,t){return I(e,t)||(U(e)?e:I("./"+e,t))}function I(e,t){const r=t.indexOf("#"),n=t.indexOf("?");if(r+n>-2&&(t=t.slice(0,-1===r?n:-1===n||n>r?r:n)),-1!==e.indexOf("\\")&&(e=e.replace(j,"/")),"/"===e[0]&&"/"===e[1])return t.slice(0,t.indexOf(":")+1)+e;if("."===e[0]&&("/"===e[1]||"."===e[1]&&("/"===e[2]||2===e.length&&(e+="/"))||1===e.length&&(e+="/"))||"/"===e[0]){const r=t.slice(0,t.indexOf(":")+1);let n;if("/"===t[r.length+1]?"file:"!==r?(n=t.slice(r.length+2),n=n.slice(n.indexOf("/")+1)):n=t.slice(8):n=t.slice(r.length+("/"===t[r.length])),"/"===e[0])return t.slice(0,t.length-n.length-1)+e;const i=n.slice(0,n.lastIndexOf("/")+1)+e,s=[];let a=-1;for(let e=0;e "${e[i]}" does not resolve`)}}let q,H=!r&&(0,eval)("u=>import(u)");const J=r&&new Promise((e=>{const t=Object.assign(document.createElement("script"),{src:E("self._d=u=>import(u)"),ep:!0});t.setAttribute("nonce",d),t.addEventListener("load",(()=>{if(!(q=!!(H=self._d))){let e;window.addEventListener("error",(t=>e=t)),H=(t,r)=>new Promise(((n,i)=>{const s=Object.assign(document.createElement("script"),{type:"module",src:E(`import*as m from'${t}';self._esmsi=m`)});function a(a){document.head.removeChild(s),self._esmsi?(n(self._esmsi,x),self._esmsi=void 0):(i(!(a instanceof Event)&&a||e&&e.error||new Error(`Error loading ${r&&r.errUrl||t} (${s.src}).`)),e=void 0)}e=void 0,s.ep=!0,d&&s.setAttribute("nonce",d),s.addEventListener("error",a),s.addEventListener("load",a),document.head.appendChild(s)}))}document.head.removeChild(t),delete self._d,e()})),document.head.appendChild(t)}));let D=!1,B=!1,F=!(!r||!HTMLScriptElement.supports)&&HTMLScriptElement.supports("importmap"),K=F;const W="import.meta",z='import"x"assert{type:"css"}',G=Promise.resolve(J).then((()=>{if(q&&(!F||g||v))return r?new Promise((e=>{const t=document.createElement("iframe");t.style.display="none",t.setAttribute("nonce",d),window.addEventListener("message",(function r({data:[n,i,s,a]}){F=n,K=i,B=s,D=a,e(),document.head.removeChild(t),window.removeEventListener("message",r,!1)}),!1);const r=` + + + diff --git a/package-lock.json b/package-lock.json index 3fc957ae..52331af6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "@fortawesome/react-fontawesome": "^0.2.0", "@leanprover/infoview": "^0.4.1", "@mui/material": "^5.13.7", + "@vitejs/plugin-react-swc": "^3.4.0", "express": "^4.18.2", "file-saver": "^2.0.5", "ip-anonymize": "^0.1.0", @@ -35,6 +36,7 @@ "react-popper": "^2.3.0", "react-split": "^2.0.14", "stream-http": "^3.2.0", + "vite": "^4.5.0", "vscode-ws-jsonrpc": "^2.0.0", "ws": "^8.9.0" }, @@ -2008,6 +2010,336 @@ "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@fontsource/roboto": { "version": "4.5.8", "resolved": "https://registry.npmjs.org/@fontsource/roboto/-/roboto-4.5.8.tgz", @@ -2067,7 +2399,7 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, + "devOptional": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -2081,7 +2413,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, + "devOptional": true, "engines": { "node": ">=6.0.0" } @@ -2090,7 +2422,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, + "devOptional": true, "engines": { "node": ">=6.0.0" } @@ -2099,7 +2431,7 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", - "dev": true, + "devOptional": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -2109,13 +2441,13 @@ "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "devOptional": true }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.18", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, + "devOptional": true, "dependencies": { "@jridgewell/resolve-uri": "3.1.0", "@jridgewell/sourcemap-codec": "1.4.14" @@ -2125,7 +2457,7 @@ "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "devOptional": true }, "node_modules/@leanprover/infoview": { "version": "0.4.3", @@ -2741,6 +3073,203 @@ "url": "https://github.com/sponsors/gregberge" } }, + "node_modules/@swc/core": { + "version": "1.3.93", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.93.tgz", + "integrity": "sha512-690GRr1wUGmGYZHk7fUduX/JUwViMF2o74mnZYIWEcJaCcd9MQfkhsxPBtjeg6tF+h266/Cf3RPYhsFBzzxXcA==", + "hasInstallScript": true, + "dependencies": { + "@swc/counter": "^0.1.1", + "@swc/types": "^0.1.5" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.3.93", + "@swc/core-darwin-x64": "1.3.93", + "@swc/core-linux-arm-gnueabihf": "1.3.93", + "@swc/core-linux-arm64-gnu": "1.3.93", + "@swc/core-linux-arm64-musl": "1.3.93", + "@swc/core-linux-x64-gnu": "1.3.93", + "@swc/core-linux-x64-musl": "1.3.93", + "@swc/core-win32-arm64-msvc": "1.3.93", + "@swc/core-win32-ia32-msvc": "1.3.93", + "@swc/core-win32-x64-msvc": "1.3.93" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.3.93", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.93.tgz", + "integrity": "sha512-gEKgk7FVIgltnIfDO6GntyuQBBlAYg5imHpRgLxB1zSI27ijVVkksc6QwISzFZAhKYaBWIsFSVeL9AYSziAF7A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.3.93", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.93.tgz", + "integrity": "sha512-ZQPxm/fXdDQtn3yrYSL/gFfA8OfZ5jTi33yFQq6vcg/Y8talpZ+MgdSlYM0FkLrZdMTYYTNFiuBQuuvkA+av+Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.3.93", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.93.tgz", + "integrity": "sha512-OYFMMI2yV+aNe3wMgYhODxHdqUB/jrK0SEMHHS44GZpk8MuBXEF+Mcz4qjkY5Q1EH7KVQqXb/gVWwdgTHpjM2A==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.3.93", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.93.tgz", + "integrity": "sha512-BT4dT78odKnJMNiq5HdjBsv29CiIdcCcImAPxeFqAeFw1LL6gh9nzI8E96oWc+0lVT5lfhoesCk4Qm7J6bty8w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.3.93", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.93.tgz", + "integrity": "sha512-yH5fWEl1bktouC0mhh0Chuxp7HEO4uCtS/ly1Vmf18gs6wZ8DOOkgAEVv2dNKIryy+Na++ljx4Ym7C8tSJTrLw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.3.93", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.93.tgz", + "integrity": "sha512-OFUdx64qvrGJhXKEyxosHxgoUVgba2ztYh7BnMiU5hP8lbI8G13W40J0SN3CmFQwPP30+3oEbW7LWzhKEaYjlg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.3.93", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.93.tgz", + "integrity": "sha512-4B8lSRwEq1XYm6xhxHhvHmKAS7pUp1Q7E33NQ2TlmFhfKvCOh86qvThcjAOo57x8DRwmpvEVrqvpXtYagMN6Ig==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.3.93", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.93.tgz", + "integrity": "sha512-BHShlxtkven8ZjjvZ5QR6sC5fZCJ9bMujEkiha6W4cBUTY7ce7qGFyHmQd+iPC85d9kD/0cCiX/Xez8u0BhO7w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.3.93", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.93.tgz", + "integrity": "sha512-nEwNWnz4JzYAK6asVvb92yeylfxMYih7eMQOnT7ZVlZN5ba9WF29xJ6kcQKs9HRH6MvWhz9+wRgv3FcjlU6HYA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.3.93", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.93.tgz", + "integrity": "sha512-jibQ0zUr4kwJaQVwgmH+svS04bYTPnPw/ZkNInzxS+wFAtzINBYcU8s2PMWbDb2NGYiRSEeoSGyAvS9H+24JFA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.2.tgz", + "integrity": "sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==" + }, + "node_modules/@swc/types": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz", + "integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==" + }, "node_modules/@testing-library/dom": { "version": "8.20.0", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.0.tgz", @@ -2982,7 +3511,7 @@ "version": "18.16.3", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz", "integrity": "sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==", - "dev": true + "devOptional": true }, "node_modules/@types/parse-json": { "version": "4.0.0", @@ -3099,6 +3628,17 @@ "@types/node": "*" } }, + "node_modules/@vitejs/plugin-react-swc": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.4.0.tgz", + "integrity": "sha512-m7UaA4Uvz82N/0EOVpZL4XsFIakRqrFKeSNxa1FBLSXGvWrWRBwmZb4qxk+ZIVAZcW3c3dn5YosomDgx62XWcQ==", + "dependencies": { + "@swc/core": "^1.3.85" + }, + "peerDependencies": { + "vite": "^4" + } + }, "node_modules/@vscode/codicons": { "version": "0.0.32", "resolved": "https://registry.npmjs.org/@vscode/codicons/-/codicons-0.0.32.tgz", @@ -3320,7 +3860,7 @@ "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true, + "devOptional": true, "bin": { "acorn": "bin/acorn" }, @@ -3739,7 +4279,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "devOptional": true }, "node_modules/builtin-status-codes": { "version": "3.0.0", @@ -4819,6 +5359,42 @@ "resolved": "https://registry.npmjs.org/es-module-shims/-/es-module-shims-1.7.2.tgz", "integrity": "sha512-/qMCBBtHPR3fFyPvUIdeqkKqjRIUaXzPgZLOtYyFaRPLOTwsE6SKQStZZ4ksV/WwHSJRXv7sRjytsFsO5cYnsw==" }, + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -5222,7 +5798,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -6613,7 +7188,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true, "funding": [ { "type": "github", @@ -7055,8 +7629,7 @@ "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -7144,10 +7717,9 @@ } }, "node_modules/postcss": { - "version": "8.4.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", - "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", - "dev": true, + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "funding": [ { "type": "opencollective", @@ -7699,6 +8271,21 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -8070,7 +8657,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -8079,7 +8665,7 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, + "devOptional": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -8089,7 +8675,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -8387,7 +8973,7 @@ "version": "5.17.1", "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", - "dev": true, + "devOptional": true, "dependencies": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -8439,7 +9025,7 @@ "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "devOptional": true }, "node_modules/thunky": { "version": "1.1.0", @@ -8772,6 +9358,60 @@ "node": ">= 0.8" } }, + "node_modules/vite": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", + "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, "node_modules/vscode": { "name": "@codingame/monaco-vscode-api", "version": "1.69.13", diff --git a/package.json b/package.json index 85f121e4..c5646682 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "@fortawesome/react-fontawesome": "^0.2.0", "@leanprover/infoview": "^0.4.1", "@mui/material": "^5.13.7", + "@vitejs/plugin-react-swc": "^3.4.0", "express": "^4.18.2", "file-saver": "^2.0.5", "ip-anonymize": "^0.1.0", @@ -31,6 +32,7 @@ "react-popper": "^2.3.0", "react-split": "^2.0.14", "stream-http": "^3.2.0", + "vite": "^4.5.0", "vscode-ws-jsonrpc": "^2.0.0", "ws": "^8.9.0" }, @@ -61,7 +63,7 @@ "scripts": { "start": "concurrently -n server,client -c blue,green \"npm run start_server\" \"npm run start_client\"", "start_server": "cd server && NODE_ENV=development nodemon ./index.js", - "start_client": "NODE_ENV=development webpack-dev-server --hot", + "start_client": "NODE_ENV=development vite", "build": "npm run build_server && npm run build_client", "build_server": "server/build.sh", "build_client": "NODE_ENV=production webpack", diff --git a/server/LeanProject/lakefile.olean b/server/LeanProject/lakefile.olean new file mode 100644 index 0000000000000000000000000000000000000000..64f7adea4a498c234415af9b708cfd3187cbd462 GIT binary patch literal 85000 zcmb@v30#!b7dJj^I_|g?EhbhLw&=K&qnVDWiCQ|PCThtbqM!&9f{wO0S{aoUl^ShI zrA97AWy!C_NXyVRvJG1d+r-MEMa9bcKj*pM?{Mb=>id7+=kw9SJ^ML#zt1w+nQ19m z(=#&Dx~R+HxNhmcEgX)@QB!Q_u&xM)<4BDBVO@mLs^}Pzm63}-9r2FH2#eRg;-RN- zddnBezdYkqLB?5{5`kA->i=WuzanK;8hLg7LFmaI_EPiA7ng4m9?@Uiu>M1lP(qjv zzH*IU{AdO~LMO_}{*=^NDKkR82wL~Y8KLsFYTNK`G0j%|B6QK$T>h{wLh4OU&CH&Y zHZA!gMYjJJeQxMU0(^1tpO2li!qo){mX}*V!)~eV`l#`wRsKo zwS)knRrU6Dh1D#)IoUJQQbW}n7H=)|Im>?U-{WAyJ`ocC6Cza}Xz%fr7vI<7mtU_E zy7OB@Lc`wF-)nAnkGT4X(8V6(A*5aAzo%wU zw^s?hkzXCU?z-je`qQ2>Dm=ckmTmp=%hYG)(H`{^n(_4!MqIkRMCd*H*NFqN?w$Ip zun0Y1*c&z@uGhj_*R2z}#7F&vq4uiULr>x3CHmODN}+e{$Wf;~we~5yJBvQb6E=nL z?3CQ}%#5jaN%UB}_T`LL`IwOQNy&{RB+S9_b z{bxRlp!bZni+|33eQg}=RT%cpz5Dvto;lrZ5AWhHmz1(isQyy6(L-KfHD6?$-2^?S-&jyU{9A_qP^y52rk~=Axtx|IuDT z)9}3Pyko-{y1iQHy`u7xeedn)w3hY~oZ<1e`suuJcLdJuN;>-i+vSq;UrqYl zJLweC(+&ACAKnr7zl|$H?T+=ye$?ctfll9%v&T@r*pUCAv*W@$Z=V_(-&ntd=D4I! zpnAO3(EG#Gfj`ZDZN!JP7uPI2-e=#b?ezJ|LHVT9U&^OV{Otar2d3RfdXgdU-}TJR zN&o&5>W6IqjQ6&K@1#a#ult?yg@$~=l<`;mQt)gk>C89Vf4lbE51hQ<>yu47=bzUv zZnGk1QT45)*BbhtKdF3Y_d%ON?Th+3KabmR#&tb!SoAaH-Oa=E(=laxOr#e1YPpB&e+ioV#;XR_-9(yI;m z&uVWAeB0{I6Yrlc(WEZj--H$_56^V`WW(RxRvr)zp(g>)`gySb=6;{;?(z@m%rD!| zdl%n+leb@!mq{-)*@_BXdE!lmac33?y?tZdq}EAF2r zEJDvW?EU@k#q*zg^{z)rr@w5Euim-*OGn?WZ;@VZ$ak7p{%hN@Bd-;@v`5YZg!DVK zj?e}O-Ct)bm4|CrE^xJvKkzQ?xq)Z>zP7J8tK!>=4W!dw&Ien*+5B78y{Y#2Vfl0D zTw$~>!b+^W6R|!m1x&ztt`M*qun6mzSj_i9z#2do<}tRD0LrC+m4JyD@6!P*0TVGU z<^z@kx-o79080TY0prlmk^svAnGYx0WdN`guolqGdIYQnOhUc`fb2h#L#bbTV72}x zv?m6uoSZ#%rtrum^=k3jS9NPuuYCq?Twi&{8oL@SdUR|Xg(u&`lWP8eh$SE8U_FuU z0>AKBxFg($5|Xbwl~^#=5fS0nZK^4GK{c$XvE;RSy&AnlZC zdWBamu~(_#B@VVT%9(L6kA$Io2C&Gp^y>L^$Ev(FyKQ&Gtm^md(bCd=q>1f;!$C-W zgL86H=7Xl|2|~|R-QS4le*P?*Mf7mJNyv5Q>{-KR`*W2h(Nhfha=_nrFIZB%;32!a zOa0aW&$z!HRCWs7ukjSD@~>9Z zqAv>Ug!Fl~JyR*7=m|o;2=ME}w^hyPob{1#SoG*}`U`!ZyqlVWKW#f4?+IDIm*r(- zP8&DhpGIb-FXXqgy~@Ly&KDf6j$a&_|JW`F*&cJ!tb?~XN}KrYhI|s>W&c*(oqu-( z*NM?V;H_NP*FSsW>@|rLEcuvf#tpvKe?0sIdF5P;fB*H-pB=1@ZeJo-2L39*QB`NH zjnwG12K~&nkKPoe(c?O(xGDc@+}YEkHM-lNulTL?kr<7hWY9l)xc$K<8a-gp*L|5d zwJGRUOvh@kp_3iSFXJzTzDI}6=y}aE=Uyp^IF=r1uPR%1oU&jzjeLAzuLa`k>Djb-Zn! zeP}0o*p3O=o|CiZrsd>hOba<>X%&5?&{GLm+wH(oU+P4=Ut9EO=Sk@A@S?@F->#-Z z$Fi4_m7O(zc6QzzGQ%GIPlVn_o{U=7=E-rP@tpGkVGQJxGiLia$coiJco$&v2eZ0ztdjiDe?r!8av(XhvzK^iI~{s9cAt<^?D=Dr*b+T$VU!SE!jYRj z-tSM#8DcfJ%pn|Lz$D_F6*nR1G}sfAh-k>mlxtJUQdS`+JYa znny&OSbq$iB3Uo_9kn`Z|6#tduv*x5s54B3=H``?;^u4%wTx83~$6PHY#V_`I zLiRUHAG}g}oSjtM34r~F{$5ae&#q^Wrzbg7n@W!t@_xV-cRsN_qWLzXSvriLxWMPDiORRRvV{e?c~?09#C$Q-L)W@Khh z<=ifMoM#|@z;*Nf+c05Zw{xk7>kvY&kCUgRO;5?oWRn(lJ5De3_yNCIKX71RX5RVK zM|nc7vyf{n3mk#Lv#5F1kbjz1x_J^KIjrbQD zuZp1O>WlCBuc+_;ZV(pH!+aAmU%A<1b8|AXW!OD>-N*Es3ufK#0QBr{H_n^%$gYX7?`SW7Sl7=@Hec>2vj4R0Gp}WkyQ|yw z{~|SdCGgDaHjel9gd1RxdQN) z0M2>yu4f`Oz2(63JoK5RollL@=+&SzUtc9{m6=U6xlW4J@k@D^;f|U*xd8YJ0WTUqBhXZ% zmjKW4=;+}dgPfpC{@6cqe!uTQ>!8@aB#sKm)d0Sc{d50jnqKEQDo(bSinfl=)YC)` zhuabDEJAzYIdLt@36L8y^`?hfR4IG>U*xLMA1RjvxkSkA+W2MLmKBsxP~;K~xgwN< zklT69Gyr9%<(LO4=YgIY$gLl9{by~8>dTd4JxRGB z^dy|C^7)%Hq9V4SzML0wL9EODDElDSx%9C&+Xm~)#etu4PRJEPZqk+}6WaOf%Ozl+ zLq97}u7KP(`JaE)-dA7FfqfdBj-L8* z1vsamTms|*klR1B`Ew_^>dRH({Eu>p&{G1rhsKXP`{elgaxR>&Qmznssv+kZ^3&$H z*!prl+()2XHO}4RyQ#c1>l87TV;QC8evWzHMQCzACl30OAkT5N0A=bBXwUx|Uhe1c zej(-Pm+)KtKRT|N@{9D%!)CuIG`Z|?4taK-r}#Ftz4spSir=PwkrThG;YR}GD3ge? z@bMDAeHvc;=KW2|>3)k{lPBoev@5~dL zToNbm7n5FP_`{}6$aUO=?3`J1tY>4>G>;$21u73?zIta`-kZ@6DSMI8Uf^kO z$M^GdY-enLA|puWy5h;dhrYbl@zXlW7Z~z++s~Luc}wRJu7?QQfr#xT(l}>mM#!q2 zr;y(j&>!zy`RJ~;satWH)`*)OiaQuNDn*M0+ zM@es2cB}4xH1A)Ko-lCnGF_hc2}qCbl6O#}$CT55z~sEgW65j5BQ3#9$n~J?zs%>Q zrC%rXQ27us*(W5Se8KPw>^+CzCGSq)(*d8I=xwUyB~&lP@ay)M7mcG|BG0^&zTm0T zyXf>X=w;pyk6m6w{Sp`36=A4-&7YH-He0+@{ewCkE*00GO|RX$`njjF~eQA@ZbioH#hm^W2|3 zD@ugNqDPk+@`K*oRHn(tRD#a^z}ELJTuECJ5A#9Dyo~YZW@Kk6P2vY-;(DsQB>(u_ zt5M%f=5t)p9^lz;9(;b!2f80V(AjT_mu)GaPVs~5bwZwpShv;EG(8ctQv`j>bI$y3 z)V6zX5gy4$x#7p=JVRMfIsRkZ zzcM8&V|v=0TxpIBTk;Yb_sgNb^~B5q@Tf=LjnU{n(79imlJ`t{6OA4Oo%_rCU)r^^sYWjXo#&GOy}K#J3A*GZ z7SR%N{zhKx#~U~q>iMXG-sY1F7td`m-JV7*dUR}`@O-$2oyo1LosTlexxn}CDXSi7 zruoD9n25+0?_sb8x<3AlU@OzjEL-~BkDU&{UUY@w&%%*WXDQFrd=vz| z2C(D#v8T4w{Gok9&WG@4L{6PM(jG$n%XP8JPfgk6Ws%dLuc1Fa;F+Hn*Y~yO0Olta z^dMm2o}0R~fENm_$Nh9Z))(C0mP78RCpul$F}}VW_tQ?ur2{(LDleC` z&CNV1w!R$q#eS@p6S3ZOL+-YDrEi}cE@rKtA|uRwim=E&&jCGt$g>?4qpYivby=B) zm;Dc)lck)#&$Doit^=;VY;-msqLFsa=X&D%srZ*HeB*w1&9dkim=)Q~ehZ4|ve|**GTVEls&?^jjkEng| z`g)M-TEgaVZfKf6Eo)j@R%&S1WBU{8-?9Bw+_gF9e=uWq!X@xG!UH_l4Zb07um144 zxuJcD4|MwY;4g1|1(SBXNyfQEu*FT2HF`{t`T@`PPu)&klCO#w#Pm5Ay+dsaCL7NYMepWHaw!9y5 z1%R(V)B8;3*S6m>-2U>j|6Q!hmq4xpaMQTB_t+;zp6`*+{(_Vwy*}$r`$`4e!f>g|2B1fBCJ0Y zK)wX<^oM`mz&)ABCpg3NlRqZyD&4;d$khPm{hM9GF+kd_*}g#hQNMmCGLgHN4p6`w*1V?MlA5Zz6qJ z!LYFQ96w0K%kehu>Eg-cwP2(3$Jp$=oK$Q@EIXlb)CYYryP7>QBnf_O~2sy!F7J0>~}s z_sU4-h<2s@nDs0)d%T5w3FPT_HOkZ>P}+}Uu!>vC(th|J4dwLqW8sc)vq;D#SbA=* ze@_1%J*@gm&zsskHG6gsIZCo#leM1Dz0fMo&a=L-Fuw=hzwRUUc!?iA%?~+WDn+^1 z|8~AhK8f4(PiPXi2mIxL^uJ2eOFd$*R>Rx%jQgdOYZm$E3*?u)@Vz3^-IvwnP4dG1 zA7NVvThBS?rRI*vnv*-U-UC6>zNs$&eMch-%0^8&sh@~j%gqp7%2xc267W@M_9ZV> zC{v&CTl$;V0$sd(r|{7{vbNh_9If8RM9{}v|kBN2G|k$U=~ z>!?8dNC%yMZ1}lsA^i}#1N3~rcRxAzV&>hVhw7~u^dEn@VJ>|Yc^Bd=2mRX_3vOdf zLazp%^asuv^BwC@=+0p(F4DIxKKF8M-j7Kz=)Jv_*{m~>Pc-OH{sILL2K}St zq4TwQJG3s#2j73s&0NcQS?YhP;SK=s!ybFB(OD1;WUc#b>>WTZ|{6S9-)ao(D zOF7z^GGH6e7(_qYEBCqIZHl^p_9YLjGeXvJYIfEft-Xc%O$F>sU3baXV{X06zBeX$ zs0E(wHUGWG>@yVRA#S+J1O52%-W{R)1>z^4muDWH^WOEc9;X}fNq|dde%nEBujy!y z)c;k*(YB0J^amhU2zcq{)F{R(^b+`A3i?y0cm0$(vFM?Cs02Ohx_fHaW<vy>I9IDcy#v|SrErGs0%L{Jl`sNMAuoGPgJauoo^n7+l+m8a!YXR5v zPrHfrCw?&3gseO5SYGr*(2jeAihFzK%Lg5~=Q4Yaw&>A5;OR$k>%O09am2)d9t0fs z{dX_WmgK7lc-G^DTX%o1)nllh%fQ#NxNmok5h5Rl_^LpUh@0W%S)O6=!qLx z54!#$$Zzd?Clr8_`{hk zE?hrzeyZrR=+ULXGZxp7G0zH3E{V&Hd{%<*nn2bNEw3@Pz%%b3RC%}Sd1bxCU7_;w zZfT#~hU(o7`t<16Ch7Ga5B*7?zxd3LH*hT|`QVsO$T{T7>}h$KX?ixo`+Fhu)waC4 z`klnhrHD7W9C+sA&qd3-*~zf}6MLL%30a@^4U&;{V+-_!>eG3piht(Owm0V=c+6f~ zN&elybNsvK=_#>M>Ki_TdJtdxU;2BTy z^d*@LNaAsWUJW?;@CDCn`HJTE5h(xX4_Vo|ymO4oM*`qOUtXB4^@o^Bzm zA3%Gn27Uje{s-G5K$*|Y{hW|wADM*xlGCf=r_Tu}Ghf0l`$!M)QkME9KOx)Du4c-X!Qb=d`gGj5_5^ zdm0pdY>R}PE2i7}l4qsOPfoi&IXCP@ebJi_eZ_!Z_`jMrazPXOOxB`DR{@`db(&)8Rgho&#o29Xy0S$$eei<$exb=FaqxZ5O6XnrXyWVCC4QRvMNY>1Qt;OThGec$_Jog@ zjQ1`LFMd}Ve(UF@!q4wYiViu~EP(u=QlIT1g&{vl*rn4Mxh zUzelwNZdZ?5sbv0kFxuvny_`F2lzt3n)AQf%eciKp3n1Kx8vLgzN0@vuYeq%7wRzh zQ+H&%^23$~o#*e}E=*n?rO|o6mCtGQ9C@8P!doZrN>cfve&61a{USBG7j){st<~1I zqd=GYseF!s?Sl7H{g8Xv?`#+CQTF)1$niM_%Ef}e0I>hxckhmIQ9?nH<8us@k-DcYSIatj`4U&wVC<)lBF{YGfg zAN`Q`L!NbAj52iyly+98;iW(F`(Bh|9)#a&579}+I5KMKN#_YoE@?09hw+nC+^wQE zU&{66l5ajQ%=6dFliO`(zK>@I$G~C!R>02H|0VPqd|;ye+~e`|^b%*ROZPYK zS{3(wL+9LdD6(Z1=%I5^jt9>^aY~1Xc%dFYFPyn`J3-iKoAtwt;Oe>QqDS(==bZUH zkmgr^9eJX8=_5+4OSe-EJI~H~@Rn!0C*KNs=sOpGPOuAk;V`|-n8 zKJ82V^n%XuFLCyg7Ll=abU*0KSF6#B2Xg$i^c<@__P(gjPN-d%K;OrY-dmcO{!(Z? z&D;>u#}w!gpy#6&dJcP2=a202j=gslf4H_Iq`qWNog&c_KSkxm1K6w06PMky@L#s; zh;-ojJ%h-{2mUf+eYZBEMeK0?BxJwVUO%z@&4-?1z!?9;@4kEOy}_bK{HOq)=fXFZ zygV%Ci|UXajuV7jnX)Wo@$j8} z(}eDFL^VwUo$aI+`;V(OeiMigChfB9#qj)>?dHI;$8L>4yRq~&G4&Ng|EP#AM_DIS zY3V;^JK_g&Bu@HL3w^(4b^11cR?=S4C3=`2Lbijtual^JQIE%`^7Y79U#ItP_3ld1 zW7&yL2cCR=&h2!H(Bu-j|5PQ%em6UR#HEUA(_@Mu&wRenrSDkklKho}&VJRr_nJGn z?y>lenUB6Or02t#qWt-3!tD6Re~if&mgDJZXx{Nc&snh-b>6Y%_RCL1Peb!gA@sc5 zH1579zv^zESxDS`uZQhx@q#-$FfTGc^Kb44#lGa5-yd;IRdN2qr zzkca@>JqveblRP8-|s8f4lTY$$BhxwlnvMk`4@n`KlVTT@9is!GC+?m0-o(+|C_hG zO%38l66j@snZKWu$u=r}v;;FD&u3)6d1ZE1$~4U(OJ4--IZ{<#R?coWY1OY6+V^ZM zdbA68`m=fY8?1IaZ&mQa3%)N_?a|N8WBiowtn{~y+4O%Fk|@9rrxaVac7M zN&Mt}BYxN6_uKz?JtC;=2t5gMyzg?(mOr~jf_^+d8d}E`LSMThu{B?>NVHE6kEf@h zbxalX>~&u7ZHuixFB6Z&U#`3Oos17Z{p=mRJu_c~dfpmZ$0VkyyhXNaSM}%vX;Wy2 z>jQp=;M0o7UX3ggs`8@%a;)D6&Kq=VRFO?~953F6);Sf>*YDZ4H?_NC!MC)-c=`V9 zIlX@l-G4ZqorcyS?&&JtCswzL)Z#6v58;zJn$#xu&ztV9}$?fwy$pSAwrqF8*{#{Z@m{bIc8YZV$Vk9t7Pv zL&cHX@2n^JJ%Db)3G{Lu>^whlC+Ftl`PtAsR|9>&Cq92p`ziAW(N7oFgY;v_SxsKj{cxu%KUuE} zx(~cp|2}9E=p4sx@At7g#?FF${^95VnChP#@pW<~;I9C@;m4R2k(yi=$hH3Yi8c;A$zit(@H;b9JY73)NsrR} zi3gtFD`|7i11CpodfP&;Ys0LLjsjH>y&lN<09%dk6CI=J4FJ#ab55=|rHMu_1fB2G zJ$>hzeoZxcDd-$u=f6F^ms6uxg3fth;hhQhHPh&|ptJtA-`@SC=Ag?tMjY}|fc6nU zIc}!Plk55Yg)NYOq`>}8h#&lvt3cTex&BEV6I#Zqdeh~6=znZ)36S$cuD7S4bt|j> z^-KJ$#rVc`N*weQLvCZse}}fN(WTV)O#G1JdpIQ=cOkcV*3-T=RrTeZhP?!o<7S~h z+36cPzFaKiSPum#S3<7Y zkiMJZy!GXZab7^Va+G6dtN7Nm8Sv66p89eg@UeaRP)>wg*Z2wFoa(ACSBrBSK0m4K2!wxc}iwD|gR1(2h?5|m3JchZ$jb54(~FP8|ue9k`|R9rQXJL|}-*E%&I=YX6O za_N8xSxSEQob1m-FGRwu>`Tn^Jt5imA8=0RgFJhDAtmy+Q^swccgAKbKIi1mU*kH^KBqPG)9)Ji;es6Pdr_thf#P?%hPTgYo#B3& zeg_P{hir7%XAz=L{LVi`$(KWK_uSvVq~8`jn!guBzlJ~7*FF=Wd^O~pex+w~<-&V7 z-`nTBhJPX_^;HbH1jtc;BFe(YOXBuvc!`_8FF`pY?$CSX2^T8Ay1cXgQSwUMWzfg> znR;EaX_6jyZL{#aMz5~?mHvo)75%wh@$K)k>P5ya^myRodn@|F@#*hyy(M%H=-x{e z{o>DS&*a`f=swDKQS|!*_s`@WLg+z5{@HIjKFT$)(2GbPpyXR@I5>%GWucdW&iAqN z-!3iZGfqOU0-f(gCtS0ul+Pvz-I1g8^8MsZOVX!sk1X_f(D}abe*dIN+)E4H13KT| z?eOad-FYS^bRXzkXLLL3q^_+ojtD(y&?^Vs=WV0Wi$Lc(=g-(`kIi&s2?=t8;YxIJ@b-zvh z;)h+&;I9It-;TV7>p4!ti{GWk@LTd_(rGsddU$__b_1Gz;gw7BRiNR;ZsjrT>iOXJ zW@arN^AYnQ^w4jbjL2|rZyVA1ayvv8(weyZY=0B9-8;bIUZI(uGgN&hP6d~IdF-b zd7r!n?XCuLpRUgA)-IkB3W}V0pPb(pNC>Dry7%{ewtZ}UIdk0R`<*_>o%7`D#T~-M ztmh`I`{YLZ7Z&Ny74WwZ^6Xa?DC?@EUsY>(=~w*SD$1GTkh{5xhxGXTh>xgK?{|sw z6<>>-t0%DEiQlGv`kes&bU^CQN0~MRir+;VUi{|oY*9}4TkM*2+O4A99^r907O1jm zH%`NgUH-0DLw2ovL>ESe>wW&+oxf41wiB_>=aG1SVeaCK!_F~FAjk87#|nPBpT3Cw3efrd(7;}c3pD+q z=Ywj%H{#22K7GB*??iFm+3SHl-F5x3H>&ttfQyp%zOS!`3!v8v`o>+J=3Eb3dK&#+ zk^L)PL$Wh7tskc52e_Z&L9w|JM!KK3HgSi9N2p3At9cA6ZQC+kE0TzZc?#zVWd)e!cwrM0;s1 zb^^d#I_+zC)70znr}z<52s-PzbZ+-2$t!dh=%s+or{!G3dKN!VgEGQXQI`8&My_?& zZ7%Vj{?$VN@*BMIi@v_6y)cOX?weJf=u@kkl6Jy`&|{K7r~iLFecmwg3cV6~1K_)9 zPxcbM9r{r}g|xG|F!Y?IHJwDZp)m`}cwqKRA50#E6^f5|GHmd z*QARcv0Di}yw63uwVHn6l}qf#2E+4FdJMagkFxfPpZno29xA+m?NaD|=p#L{>XHr2 zm(U9g`qw{gAE}QoB?kSPpFMAId=dEygT8IRlpFN@c8x)AzWemW?8A~bGd{_K-Hsp^ zyU55p%EHG>@|LLKrM_y9lQ;gZ4ZnNx_`b}R%$xXS%8M=WD<5`>4Zq4Y`?_CM8eaV3 z?`^Uj=5JpfJ|r}`#BXP3MX!b4>)Jj(fIbL4?iNMoI{lxAf7q!% z$K?i{_4RSp!hd;RQ$Lq5&(V`0w{ZD{o^033D>aUpaS6@tx9~FndHPy{GIa=)e3ff> z$rpb|m2!GLOZzhEqDSmHZ&i8VdV=x^zzZKQvFp+BVwb<$N;%!G)Kh|Sp4z`U@d4_S zdf@n41ijPJ+Fil%Li{%Mi>&w^1b-PI?N@33(T@0CtKr3O{?07rT$o2h#%@1YH*=l$ z{GGq`VY?SPzx&B`)cr$097$agH^1XT-1Ezi+VAK?e>A@n#^-j{Brku2{)+z6+f=>q zod2{VEkbwIES-)1-bH{)R2-r8RW0=Wk@n)tIXSny20tR=mnb`Yu5ZbkSIw<1ACyA6 z2Xy{!;=P-$K9c<8!Ow**esF9iWSiIDh_d2|@Ig-yu+QLw*FM`~g1w*;JsiUcsqgB` zuEeU#u9t{n$d?1o`n2N}^O_8>A6XDPHNf+^zV&Ckf5rf3t*y?YN5&EmEM>j@Il0} zHfPpk_HXf@u@F*!Xj26Lh%bY_8@@Y#&iyw}w(DK=@JySKXW$dkGBYpF&Y7Jyjb5pE z+5en(sC-=V%QfF!eBqpB!X@?Q2A=iSy*M_X8l+y5KxaGYGxPC-^ik*m&{=P}+eVJo zVr=w%=*~M; zylY?m`cu|}_?rMc=fiC?c6s@{hxChTqaG8%f5{Jj-pIbH=cfq#>EIi_ctkq;w%98) z?7cr?aU9>b2=fQ+rt0H|L-VQ7`Mggh^nCebkLmP7=%v8d0w&yh$wf|UW5IlIpU&^{ zzP|Lxw-LTNy8AAbCw}*LeaVGyMr!mV(3!8rf%4a*K$rCazXQtsTO9ZUfRno?4Qb|8 z_V~ZZ@%K2`U#bv)A>=OkYURY{9!e-Eay%C-#CXK_XDT2UoB!>(EnM~GcrF-#9QXas zr7HgaDqs1#Wqf@(o(l$hB2SnWkN*G=p{`(15I|{vboq+q3zi$gZKwfEQ z{M`T_^wu1eo^4p;aAh>*4l8_ZwROlA+6&L9Pn$XyBHW9UGA6caLBEs37#6 z2g$#q0PzDxw(2zZq&oQ+k3r99x^v{o8r=sv>;LYe5huriF8$W*UqX_8>p^=BLY{r1 z2xZ17{L*hrX~!yCv_t0#!MX^Yu_}(rZVDEhr=atE1%rS!ZdES3M8Uv71#19ZgH<`< zG6nr!1&hZk=(|S2nu)+qQm`sZ!NP0>3;YWDaR0OtumJZX6LCMI3@{Go^%a1LIB$x_ zxaz|BO*x z#aHr5v(-%^PVOpoA@#y%fe3@qimxI@!E~pB+`s#whu^K_eFZ+p!~4VhE^B2AC7<6? z!5ZjKYNpDyfc%bS0_^d-wuO){hdjR*>u#mwtD7qr2R(eQhWCe(AkXJ@3c<&HF7nXm zd;eM1tMB&j?#vk$;2PJ?Ye!|b@Bszin&P{$S556M<~3gau&#Lff9n}X%v;P08E2nkm`Ekot{@ZtdqD$*x%in{( z(Akodd5Qf*@TUU`P3&`yBjlWzl9`brRiBnMhqpn(>=#1Mf1?8nI{cGm{|<>AXCrpF zRv_fFK`D8GtJ6}oAT7W2I2|igoEZn!ezk07PkSFFc3i-pXgpcj@&;d?1QRl*+ewGM z^P=DQ?bLgV?0c$Wr?3$_oI43Q7pLS}KXW@ZFE`D|o#b1$R{_0WobuOw6{YL!_l(4z z^FbA_85i?K$bIyX?AdUq`i5>xY%x3k-nl}TdS^Q$EZ2ZLk%^ z9AULD@!JnQ1%R)eepTVaAMNNR4B|KYo25H+37-95$6J3N;vSQ*3VLe+MTy9lp&VPN z@*;TgpY4^9?KU+tWzMnMtrvO;%pW21*pM~dP9gLSjef?tWvBBB+9_|u4)qdpyc0WSSJCY_9#-+p z@4h+5l{zAgb{blL>Fv!6Ir3LGaGy>1InM+Q{sgS2^mZ%!Z098!zqDtr3klOfF9a;t z_-(r=S7~@@*IZK*a(uDogPH1<^yOJ2vZiN;1~Dr@$rtbQCOo3@6}w^9xp&PRZ{H&k zdp_XJ`e(l<eB5LLf@pqQ^(AEwekny5Ig0K*kS)6Wc$vT?axe` zot9(=hK&RX0wH18BQVvqGs$Z>7N)#9nT^!!yp&)zTRtf;vw+a89c{#g%%tdD7F zshQRZvtI3Xew>e~yd(gY{Ji4APWRt9Q!KiyU*Rq2r|6b$`)UjdQSupp9zCBHz6sY~ zCZ6jq9WQo${lo3@yw|iZcCCF===XwICcl&|nR@*zex=gy0xXDAW#N}NY7mD9bis=q z&Yvi^$k*rz)_#w4j)#8G3k^Q{N4`qfD>nFe)L5IJ;&?}X7x>sdr9H^_#&aI>3tsv&`3Q}E)};J2Ww%JPFXJlvz354>zPCfa2`lLb z72AAu^APKy41Cp^eyLCDVO;s3$37LF2cBCoF6woIPctv$SquJ-i})>NJ>G`w7C=vt zVb@$2(9e`MN54o5%5zTm4*uAg7=!)!0{#ftBEd2)i!4JdY`z3}{x_UW$=d}f|p zXVvAop}dqr&ddwX1x-8Ujo9J$C&kZ(?8HBf{22M?`KW2f1%5pq>+gE!E^J?V{Y!oD zcewMRhklv$Q35*KIr*rU`Q><3uIZEdFxM;OuW7)4yPe?NoAHW0!SlOK$Me^>?!?+p zBKQJ;Vn_Tn#}E2j1U^0A;+NSkMUT`2^FzpSg!RCEjquxXpP~GYT_4^a&GFd-`tjDs zj4#R1$NJ^?QH!{O1|R(x9G&&Wd{uzY%$Lc}_<0UbJ;d`I-o*19UdM|+ z?z2_?XqWRe%Zy9(%es&LN?GcS`6gt2vHnRGCp%% zC}ml{alK;t&-Dc3@N5ikFO*|k37~roK69Pphd=oSAMI0L68K6CKGQF@mr8?=dI-6G zaXb?qhq=!2z;1%U$M#8m3E=Y@e5_CMv3~>%K69PJ^;(g^$9_b8oR7*4KGqZYxNfS^ z_@v$PeiGX=`Qx4qZ_m;`gum>ha6H?$358$UogaFrANVHb{33Yi2Rz>*H2VSNo$#Xq z`UNlTnf*k{GT)hbtp$HNa>$>kUsZ-*=DwePIiCx!SNg^KqPkxaAK&9*J_s2XA@n!`(66s^8;Y+Oe8-#j zec&qt6g%RVd2Yn`s=;UY)r9wJ_4uSdc;8jWTe9`$SH|5~J54-A<<d}d560^Oy-MSg{Fw6>`JFE`T>s{|pyausb)*mS=6aR)L6}F{3p8L)`fp*I z@I0AuRWxG9Ja?j`-0=?y$erx~OgyS3MEys(9p8;EbG}IqCPbPq0{MGB<^vkR9NuJH~ zNBS9{eNl)@>Yv|@7nE*?autv>+nG5|k-w?|JJP?+{hHVld|bTBi$1T2A7-AtFDX8= zKA30bh3k=Y@HZBh8}tH=Px5E3PZ?J!__XS?{pWKe>~FM3zbGHOS^0mW<46MdMW6U( zu8*nL3qIYihT0Y5JyH9`hJ8L?!#HWbq5=DMeK%9_lE1OMB$O(?6P;f@;AdXUa|rsC z4n93E;+MJpqF-!3lrMw4+3tDYm~oN6vJrdc`2p>j?ZfrI|Fb+Kf}eRX=TG|O2cMn? z>Gw%Jls)=m#$OIOGk$a3L_3v@*s1JtY&))(72ULx)I#CSJbS>e$0PNc?hNN|EUv;v z?D6>)(_Tpf_8J-|>A!g{Vy<_XFXt=DUp)?~m-v$vzA^uOkfS};f1%OeXvg1x9m$uO zU)nRzeUdQ?son|K{Xn^665kyT}MW&rl0}flr2?I&jy4 zJnG}~5QN;f=ZQY!fezd6Ey~|Sz<*~9z3;|v%2v_u0Pv>YeEx=z=N#j+a?(;#(^IBq zrd^hkl9igCHb+$1m+pTF^yX|R{i)lf-*yoO$p_C>2&sR1UY7mAiLrUJXQ$+3q-l@c z+IgvlKIiKyo)!6BlV`;|GEnr2-O`Q>gWAw zLhAK_k8u+Je+yX;g!GU1sRNpSGCpzsb!@HkTkt$Lr$5l+;Qb~O&wYZ4=Q_&7^IXfs z^L~Vh=efU$=Xte`m-fVQiSYkbzL`&+6W17d<2u#5Ej*t*=VE;`pFC$W@jRbl{~|xn zCG>cuzIc9MwtMdPO@8h-nHTEk{?O#-{>sF2e`Dgg?=bOP_nYx@eQxHB>tmCj>seDj z*GDFv>qN7ibDd}Mb6sZQxh~TEk@glZ3AC04xS9 z1FQs0N4p9F76O(4mIGD+)&j=9iE$dx1DFKp2h0a70xSir0IUXdyruNT0lEMa0VNI6 zEeHz}%SEJv5%1N7%mzk0?A}gbA5oE6;FuxXTS9S+XeCvzUpNBt1J7vHd^H!sF zrsid2=4M!r@-||p7W&G451-tu$>rzLPQu&DzG;W^2O;P8A!Ds4Y(?0*Bo02u?}MIU z_jg*;>h`zK6uRVv-$fu~`?H=078d&wJ^7F?25jSa@sG))x9t-K$$Ld3esY~b7D`6)JiwcIVIBw>*Oh5?zl5vTZvc9> z_L{k}+khFLihjvU-MfNVZ+p|y%f6=_AMj>=*j@;krz=x( zQ`1G*y7V{-p=Z#Nmv6YVCV7<5B|lt`6LQ|Os#1T2NZ4(CWzbUvIQ#8Mt1t7v(M{;b z(r2~92KB}6RB^iiM-IPYbMWJTLhmK{fH&i3J0xU#oGtNtQ*!G+1+V;Pdn|tF7e-P|Bcw=^Y4VTE8jz_--1M&vd4Dhd`HDO>gX#Ie|)0a-j>+o9Pnm*eEyA) z?RZ++^b~9F)o{aAX2a?|0R6k%fuiT%zvTvD5xb?0*kwB+WWT#&$mq+V-qz3Ys0Mnz zzv5uO80Q70!Xxc~?>Q0je0OTfoKP2#_8IrC%8MKDzOUEZ-1NE4=THyZHzEB>&dbWU z9uA2f%cgw=q36KePpsQHvTt8OTJ*?b;5jblKACj$YY*mx#!uo2d4DuHp!7md$WAr% zy%=%&-z}Q$o=H2g@1Y+o3x-3Z!|vX!fP&&`#G*^7#*8K&Z3UMn@aoQLJ3Tuj(q z@z-j6dfr+8SIisN^QTv~UMhYFoqm(PY{C66jhMdgd7(?b^yl5guIGJa#|OxK1yQD6 z=8NOmrAMO9@0<6}zogSH>0K8dzH-YoyZg|td7q>d`YR2)wT;;2dC9E&x99C@_RRlG zyQKHd$onw+`H}C!ZY1MDIf8bjEcM2AN$CGTn){H};!kK)J9U1Oe(J`jvYNiI%$~=j zzp$MNzm%CTmg$F-B`%H|gthR;`Jsw04p8_dPQGWsJS1pziL(^)m4Jn}DLqLVpB^XY zqbClWw|d;jk_=_1E>6;atj=lm{^Y%P2wm!j-$`Ma-xHFu#Km?-SOxnvVSYqK@qHzJ z&&aW>u3jacBJh_1^7}Ih8lN5y&+YCR)$z{RUGJMG{s^7@mh`o=?{IF3Tx`!x7CoBZ znd0}Ns=D1dUS#F6=rJX*NBc|1e7>1=X2sj+cat(xhvisP*EFR`{cq_D%?CBmyZ-YZ zw{Gn>${vQrpZJed9xUDV_2!B~F3)U#Dj??pU%!-y=Q-y}{m@SlmUhTIO4-tRh`fYB z!(M?=7CC8uiTTPe=BWsLLYMmT!>vQdHC-HC|5q>GN-Lp(Tq%85Wt_Xb}t2q3CK|tY`IL-Ij3N*UJ8IQ6Dkl*Pm z)A%gEV#p_YW&KnIy7QB|b}sl@xBOX{nxKP7&u z@_Kae{~ms0Y|T31lJ@2Yp7sA`?XF3|U%GTBoxdZ@b>0Yo2M$kZ`$GeEbSs^HR-!=$`+x^@At-iru?V=+C)`u`1gCQb~-}QE!+0h z*m{fW9_mYn9TAdts`n>pkNKdNXnb;Cf%97d;;IF7gRe~EmvPM9KHNXghK-?>vGlW` zL1()VzwG%8?TzavXQk4Y00{pb`ulDo$9b3Q6#mYaUz3yi;`~JDM}Oe_EBeJxJ|EBZ zMX{zw>~UV_`oh^=`B|ayi9N1Y3Az5_Jb$8)ewoip#qCyhg>L81SP$gGuXK&is(*)h zKbi9d=UuKZOEfu&$NFbqgq$}7Y3I$@4^(UN;vdIp&KGR=&d=-O5dX~Q&p57nFrLys zuO_F@Gd#b!@IckROCLX}-aJEkUd_PsukG9EZ1LZ+8$ml#wqmRoZ+V!#sHjqx@|*dn z)aVj#KFY;_T<6wme7fJ<$G=@%^W?-YHv7a6p>sV$dXHB>`(#Y+KOUhsci@zaB{50Ldzr19x~ay%1$`TLfIYP$c`%2~24=DW79{4;g$G4zHm$>3l_5d=j5{*xftBWYM zuFUBXuLZY0wO0Pt<05@iTkrf8>zCU1=Oe87p64}$oR96_%oZiqW$6j6pWS;@Ja2p+ zbxYTc9qjM_TJ&fi@Z4AYxvi2WB|nXRA2{@JTEk8e^!aCByt4M`HMYO<{n2vZT~{eT z_}xwK==h12ov_RDD<%m3YQXZ9FP*|RC-vY;ReD$t=6qO-e8)jP?rX*G1{8ymXP#r6 z1rPq)bnTuG#=N?ZboLL@H#d7G_YUt9Q-m(De0qH6DsztZJGSRPx%E7| ze+!-U!}#AAcloPV&;QKcj$5|t`Dw0KOh0{lRs3Sk?$0QD0O@B?&B@DeuI+ z&}#ctt3{9QC*v4Z82@P{6_hEYW&)> zPZ_;FRX8kqv>SM~uSKt&u@&M%5B<({68KJWT>iS{hkaS~9m(~tAf(KGh;jt`7t5?q zmgBYjSb7ifoSKm1Y$5Cy1C|2ve5V}cNCA&KE)JntAFoiLsBplPP}-o$ZYEds6v?J>7E0@f;|+G+yar4%^1<=Pe&g-a0Sr z5>7YAt9%$oDU()Bl)rU98OND#PhG$JsmRbejdq0J^0nT0 z#re+vot~elC_Y!t_<|Z;^6Wy{3s{YF(PE8H&vOrPz`EMrnmY24olR~3bpILO$R_TQ zk9Fv1A8$0|FWZsXug!gk>-)NR#NQhD6$?D)=_HL$_qV5V*D-4Mq0bk3D(rQc?l0px zlJcN?>!us+er@#|hxxp25%iYmo61U5R6xen0;HC11$j zy5Ec|qf3XJVTYf2Na*4>?MPYtj*>sDi;(s0!~7n*FFX!&eHO3LC5{UCTLZ{?_iB84 z9QF+^%l@tN^5zcww9`l8iyjB#bnX5nxNKtf3ZYBAoA1XLLVqbB>%FoOyLLrex@sOA zHhop~nM*~lZkK*NI=J)7b7!^k3tjR@J5rYXS^w;d&|4jzFSFi#8eQ@gi?R!l^&Zst z^n6_cd(&QjyXU`s#@#PP-EYQ~-=~!?=ZBWx3*GXq(RJpylsU76M=ncG-MqJ7#qruL z$*!hi55z>-v~>3W4Xkxx!I0 zP?L`-1)clWwugqDXW6$e@q_oL2sv3?WX?J|;hK}kDhyOOfybG?3E4L!Ahj7#`sysEu2JYMHd zsw{MAx8-P`)qv&DA zi93jSj`|b7{k%E%WD+;=!Y^?$=Y&=8rzmXSTYvvtqxmiI1t|wu1{n8qT^{uK28jdK zb?-gfBR<^OXN3H%$H(}`Uw-bIy}vx3C3LAL+F_Y_m9oUcHbNMR2Y!@<`BQ)YT&B?_ zE+5K4K*m+0@#%357DudWn0Lsn-`(<u~<39I>^5l^z5810|iHqk;A}eLC6IteZ zhGni7Smr#!GX0ja)Cvi3jvD({aB}zqFfFrcBCJe-)*SW=#o!2 z%1MCk%amQuFLmw2ia&;YqF2tfeW2%Se1eaKo&E&dc^9#1gvHCRu14156iBm-ZLJo^p26Zm`s@58#h$iNq2pHXVyYq77b zFz|7}R~z^w?(=KHPLz4SXE%0R!*Dxod%ePvAMNfiJ`P zb(w+B2fot4*WmoW#=r-Gcm5WhheY7x!|@T7xUb^Y@Y27nJ{h{?ejA@_CZ7F*`!X-& z)2WAymKN!E&I^@4L{m7fr2jTY2`$o?0h*R^+%1yodINaBBzjmTf{1?B> z`#4paJ;}Rye<>e+x&Em0-)avI^L#k!iu;{FVe)2o%m zzIh*sar!hqiIeLSLhieGA5QEw)J_UDJz|gdg?Rso`>isAkMl9__cV0=A^LcJ@54An z|MmM>;=lFJz6g1)AxQDty#JJRur6<6hxa{re}(-wpz(%yEGCAA%T%si(}) z!|#YTribUuystn#&O>#6i$DDCXk&VKZpU+R>hT(S_?^9J(%*QYifN!;dhZ3&0#@?y6`;~bE`dzGm1i5))YOz8Vq>EZom-nZp_ z!g9=i0j!HSo^d_Ta|*8Wc)rQ=a`SwX=bY5X_G*3ywm|b+;^X?Y80!-L4pu^KT^?ke zM?TRj>!(D}{TiR()1g0T;2pph8u(JwSBZi517B|76M(NW@Kxv+wFbTr_}C+L@ra); z;1dkI6L^n-ufn*KWZ?b4`we^z#^rnipAUSIf%gJmYT!#TPgNLrKk(HCK9Td1;Hm+#r?a#B zETIY+U-`T3Zuo$k&AFi46VzF7+(=@b*eQ9{17kcJOM8 zOTvElF9~!$7kWqQYX)$wV~vxM#EVYLMx*PYLg*1biI30e(ywBTF73cv{{=v=(D=k2 z+an?8A+9$$57Dmq9A@0VDt@7hU31;X=L-`xKA9iLCvx^Y0D6JOC-@rpTV&w*yk)6@ zk7b+&z8v*hZQ%L5rQ^T4IK(cWw~RCJeBRP!;Q72|qJ}?_=PiBUXFclu$-*`M9J94P zpKkr|kmQe-jBETI=2GZ&Uf2JMZr41$NqB@_4LpDMc}f33sf z2L)kW9j@4wchS*rhREMC?j?YJV&k6m{K5U<;{oRb(PytGFpl&2#YE^20Fuuf*BaY* zn)}m+_nnc^#j)Xjwe5R>eXmXI$v71oq4L0SYVF`T*RqZ*Sg)Uw#(k&KQ@6h*-3z^p z%iJfsKo4kqVvo-!60)CipLC*-ewq8*GR>aUi@ERS{x&vJ<%Ry6<0$iWyyp_R&ZR%* zel}>>G55`Ee?vj(y+ne!xT&O)! z&*5_x&S#sD`sJKJNE+Aup*$Jww#e|u+}{R4FW30Q9>;q^+T(s8h%yKGVNbzp3)K#7X*fg0QZ;p1oyHav;in)>@}eR%FM@eVZPy zx^DZEQq<`aK;L<=$rCSJG=7Z~WgISneXbt}r>-e_(#liVrR%c;5FPDb81dTbGkz3C z(dTHQ;-wzKhV%)40qj=*#zX%0Pk(!WZJ167zu)lJ3;w8#+;7+hb$+kGA0+>wdTRqUYIuV8_B8d1U7$H^<67`r=KZB$#XgUW&II0R*%I7e>KXVKJ-lchUzij;E!{v{B*x^Rcu4` zm~QYVg8$&5%VwGNXw}WJe_s|4q3HEp41K4+f9Y3?E;?p! zHGoP_U47dXWFZ4J1$*aSeV+YzfnMLXVT*o!=Q|G$dA!T(ly{*W&k}@nb*%Whvh!KL zj+MWqz5>nu&-z`G!C#1SL-lpseD)GA>~5?(_`_~ax z`{X@$!WiiBj<>!fg1;?2q5D9IEmYo4erV<0B~SeH5bQ+zfwy$p*Gan)-@>1EyGQ`N z0FeE7QPtr#l+pQ};43lsr>_|FMMM3#8udcGRgimQ{HTEq_2Y7bKenZc>*mEDyl?hn zY1hRDzX$wN!6?Rb95^wbZ8!`}A;&m5WK zJkO=`;h!J;)qqM*UB5p|nRbksdT{WPw=P&qI{Wp#pif$MSCca5eFsgtJuz6wvTM4u zKR5TkY?FQ$8bG#-#@bJT!580J*=wx*_ziw9_#10KUV}df{{LU?r;kdK-hQf}uXnp2 z2PM9l@tJT)`*F5WaWvL`ct64g|4N`I0dh)DUHj>(OgnZ@b+5ku+b8yu&i3;N=;ciY zy#I5r9otO0Jz!YKt9>(;{JJRWR+G+sdils6&)@Q9r+VY$a_E0@-P6UxNBw`DT?=@W z)tMe{nj*p|AOk2Hg_WQvvuGtQV8bOLtfB)18I($fWJpGn%s5GKSW%~5YU)~zF0`X; zYjmI16bd`m6|-B{os}*-URG0=O6amReX1BQXhf=EDZ1zT&->1tIhj%1c^-IkzVn^$ zb}s+<&pH49w>WE8X8Up`-il}Pf3G;@d$ZF{bC>qxcI!B>9S{r6Bl_XL*D4p;<$E&U z_|px3%B@DZ_vW`wcAS9S0%A|n;%^84s5?#x<{N+7E&devr#N1UfA!Jx>z*FJA}&eM*8zPeJD$hEpR(*MG@iS` z=L7Zw7yk0pt@-+6Kk9?+rg)r=NA1Gv{~=$0?6&xQ;P0H#J~Ll`2% zyiSx<+%oflB;+mqn}wnBGuBNK2I-GIptDWe^8xNtaz8T;{sExKQDqChM|VLa(h#Z% zw1hSWh1L0qUDQ`LUdQG4}$~I`h}gv{vyA`VIs8CHH-~Pt5ax_I|P0BJu0C?CeKc@}
    IS(JsuO*RR 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